// =========================================================================== // Asshat-Gaming Roleplay // https://github.com/VortrexFTW/gtac_asshat_rp // Copyright (c) 2020 Asshat-Gaming (https://asshatgaming.com) // --------------------------------------------------------------------------- // FILE: core.js // DESC: Provides core data structures, function, and operations // TYPE: Server (JavaScript) // =========================================================================== let scriptVersion = "1.0"; let serverStartTime = new Date().getTime(); // ---------------------------------------------------------------------------- let serverData = { saveDataIntervalTimer: false, vehicles: [], clients: new Array(128), businesses: [], houses: [], families: [], factions: [], translation: { translationBaseURL: "http://api.mymemory.translated.net/get?de=example@example.com&q={0}&langpair={1}|{2}", languages: [ ["Abkhazian", "AB"], ["Afar", "AA"], ["Afrikaans", "AF"], ["Albanian", "SQ"], ["Amharic", "AM"], ["Arabic", "AR"], ["Armenian", "HY"], ["Assamese", "AS"], ["Aymara", "AY"], ["Azerbaijani", "AZ"], ["Bashkir", "BA"], ["Basque", "EU"], ["Bengali, Bangla", "BN"], ["Bhutani", "DZ"], ["Bihari", "BH"], ["Bislama", "BI"], ["Breton", "BR"], ["Bulgarian", "BG"], ["Burmese", "MY"], ["Byelorussian", "BE"], ["Cambodian", "KM"], ["Catalan", "CA"], ["Chinese", "ZH"], ["Corsican", "CO"], ["Croatian", "HR"], ["Czech", "CS"], ["Danish", "DA"], ["Dutch", "NL"], ["English", "EN"], ["Esperanto", "EO"], ["Estonian", "ET"], ["Faeroese", "FO"], ["Fiji", "FJ"], ["Finnish", "FI"], ["French", "FR"], ["Frisian", "FY"], ["Gaelic (Scots Gaelic)", "GD"], ["Galician", "GL"], ["Georgian", "KA"], ["German", "DE"], ["Greek", "EL"], ["Greenlandic", "KL"], ["Guarani", "GN"], ["Gujarati", "GU"], ["Hausa", "HA"], ["Hebrew", "IW"], ["Hindi", "HI"], ["Hungarian", "HU"], ["Icelandic", "IS"], ["Indonesian", "IN"], ["Interlingua", "IA"], ["Interlingue", "IE"], ["Inupiak", "IK"], ["Irish", "GA"], ["Italian", "IT"], ["Japanese", "JA"], ["Javanese", "JW"], ["Kannada", "KN"], ["Kashmiri", "KS"], ["Kazakh", "KK"], ["Kinyarwanda", "RW"], ["Kirghiz", "KY"], ["Kirundi", "RN"], ["Korean", "KO"], ["Kurdish", "KU"], ["Laothian", "LO"], ["Latin", "LA"], ["Latvian, Lettish", "LV"], ["Lingala", "LN"], ["Lithuanian", "LT"], ["Macedonian", "MK"], ["Malagasy", "MG"], ["Malay", "MS"], ["Malayalam", "ML"], ["Maltese", "MT"], ["Maori", "MI"], ["Marathi", "MR"], ["Moldavian", "MO"], ["Mongolian", "MN"], ["Nauru", "NA"], ["Nepali", "NE"], ["Norwegian", "NO"], ["Occitan", "OC"], ["Oriya", "OR"], ["Oromo, Afan", "OM"], ["Pashto, Pushto", "PS"], ["Persian", "FA"], ["Polish", "PL"], ["Portuguese", "PT"], ["Punjabi", "PA"], ["Quechua", "QU"], ["Rhaeto-Romance", "RM"], ["Romanian", "RO"], ["Russian", "RU"], ["Samoan", "SM"], ["Sangro", "SG"], ["Sanskrit", "SA"], ["Serbian", "SR"], ["Serbo-Croatian", "SH"], ["Sesotho", "ST"], ["Setswana", "TN"], ["Shona", "SN"], ["Sindhi", "SD"], ["Singhalese", "SI"], ["Siswati", "SS"], ["Slovak", "SK"], ["Slovenian", "SL"], ["Somali", "SO"], ["Spanish", "ES"], ["Sudanese", "SU"], ["Swahili", "SW"], ["Swedish", "SV"], ["Tagalog", "TL"], ["Tajik", "TG"], ["Tamil", "TA"], ["Tatar", "TT"], ["Tegulu", "TE"], ["Thai", "TH"], ["Tibetan", "BO"], ["Tigrinya", "TI"], ["Tonga", "TO"], ["Tsonga", "TS"], ["Turkish", "TR"], ["Turkmen", "TK"], ["Twi", "TW"], ["Ukrainian", "UK"], ["Urdu", "UR"], ["Uzbek", "UZ"], ["Vietnamese", "VI"], ["Volapuk", "VO"], ["Welsh", "CY"], ["Wolof", "WO"], ["Xhosa", "XH"], ["Yiddish", "JI"], ["Yoruba", "YO"], ["Zulu", "ZU"] ], cache: null, }, commands: {}, policeStations: [ false, [ // GTA 3 { position: toVector3(1143.875, -675.1875, 14.97), heading: 1.5, blip: false, name: "Portland", }, { position: toVector3(340.25, -1123.375, 25.98), heading: 3.14, blip: false, name: "Staunton Island", }, { position: toVector3(-1253.0, -138.1875, 58.75), heading: 1.5, blip: false, name: "Shoreside Vale", }, ], [ // GTA VC { position: toVector3(399.77, -468.90, 11.73), heading: 0.0, blip: false, name: "Washington Beach", }, { position: toVector3(508.96, 512.07, 12.10), heading: 0.0, blip: false, name: "Vice Point", }, { position: toVector3(-657.43, 762.31, 11.59), heading: 0.0, blip: false, name: "Downtown", }, { position: toVector3(-885.08, -470.44, 13.11), heading: 0.0, blip: false, name: "Little Havana", }, ], [ // GTA SA { position: toVector3(1545.53, -1675.64, 13.561), heading: -1.575, blip: false, name: "Los Santos", }, ], [ // GTA UG ], [ // GTA IV { position: toVector3(894.99, -357.39, 18.185), heading: 2.923, blip: false, name: "Broker", }, { position: toVector3(435.40, 1592.29, 17.353), heading: 3.087, blip: false, name: "South Bohan", }, { position: toVector3(974.93, 1870.45, 23.073), heading: -1.621, blip: false, name: "Northern Gardens", }, { position: toVector3(1233.25, -89.13, 28.034), heading: 1.568, blip: false, name: "South Slopes", }, { position: toVector3(50.12, 679.88, 15.316), heading: 1.569, blip: false, name: "Middle Park East", }, { position: toVector3(85.21, 1189.82, 14.755), heading: 3.127, blip: false, name: "East Holland", }, { position: toVector3(2170.87, 448.87, 6.085), heading: 1.501, blip: false, name: "Francis International Airport", }, { position: toVector3(213.12, -211.70, 10.752), heading: 0.200, blip: false, name: "Chinatown", }, { position: toVector3(-1714.95, 276.31, 22.134), heading: 1.127, blip: false, name: "Acter", }, { position: toVector3(-1220.73, -231.53, 3.024), heading: 2.210, blip: false, name: "Port Tudor", }, { position: toVector3(-927.66, 1263.63, 24.587), heading: -0.913, blip: false, name: "Leftwood", }, ] ], fireStations: [ false, [ // GTA 3 { position: toVector3(1103.70, -52.45, 7.49), heading: 1.5, blip: false, name: "Portland", }, { position: toVector3(-78.48, -436.80, 16.17), heading: 3.14, blip: false, name: "Staunton Island", }, { position: toVector3(-1202.10, -14.67, 53.20), heading: 1.5, blip: false, name: "Shoreside Vale", }, ], [ // GTA VC ], [ // GTA SA ], [ // GTA UG ], [ // GTA IV { position: toVector3(953.13, 95.90, 35.004), heading: 1.595, blip: false, name: "Broker", }, { position: toVector3(-271.02, 1542.15, 20.420), heading: -1.160, blip: false, name: "Northwood", }, { position: toVector3(1120.47, 1712.36, 10.534), heading: -0.682, blip: false, name: "Northern Gardens", }, { position: toVector3(2364.87, 166.83, 5.813), heading: 0.156, blip: false, name: "Francis International Airport", }, { position: toVector3(295.40, -336.88, 4.963), heading: 2.887, blip: false, name: "Chinatown", }, ] ], hospitals: [ false, [ // GTA 3 { position: toVector3(1144.25, -596.875, 14.97), heading: 1.5, blip: false, name: "Portland", }, { position: toVector3(183.5, -17.75, 16.21), heading: 3.14, blip: false, name: "Staunton Island", }, { position: toVector3(-1259.5, -44.5, 58.89), heading: 1.5, blip: false, name: "Shoreside Vale", }, ], [ // GTA VC { position: toVector3(493.14, 709.31, 11.80), heading: 1.5, blip: false, name: "Unknown", }, { position: toVector3(-826.06, 1144.41, 12.41), heading: 1.5, blip: false, name: "Unknown", }, ], [ // GTA SA { position: toVector3(1172.96, -1323.42, 15.40), heading: 1.5, blip: false, name: "All Saints", }, { position: toVector3(2034.04, -1405.07, 17.24), heading: 1.5, blip: false, name: "County General", }, ], [ // GTA UG ], [ // GTA IV { position: toVector3(1199.59, 196.78, 33.554), heading: 1.633, blip: false, name: "Schottler", }, { position: toVector3(980.71, 1831.61, 23.898), heading: -0.049, blip: false, name: "Northern Gardens", }, { position: toVector3(-1317.27, 1277.20, 22.370), heading: 2.246, blip: false, name: "Leftwood", }, { position: toVector3(-1538.43, 344.58, 20.943), heading: -0.156, blip: false, name: "Acter", }, ] ], payAndSprays: [ false, [ // GTA 3 { position: toVector3(925.4, -360.3, 10.83), blip: false, name: "Portland", }, { position: toVector3(381.8, -493.8, 25.95), blip: false, name: "Staunton Island", }, { position: toVector3(-1142.4, 35.01, 58.61), blip: false, name: "Shoreside Vale", }, ], [ // GTA VC ], [ // GTA SA ], [ // GTA UG ], [ // GTA IV ] ], ammunations: [ false, [ // GTA 3 { position: toVector3(1068.3, -400.9, 15.24), blip: false, name: "Portland", }, { position: toVector3(348.2, -717.9, 26.43), blip: false, name: "Staunton Island", }, ], [ // GTA VC ], [ // GTA SA ], [ // GTA UG ], [ // GTA IV ] ], fuelStations: [ false, [ // GTA 3 { position: toVector3(1161.9, -76.73, 7.27), blip: false, name: "Portland", }, ], [ // GTA VC ], [ // GTA SA ], [ // GTA UG ], [ // GTA IV ] ], }; // ---------------------------------------------------------------------------- function initServerData() { // Pre-allocate translation cache language slots global.getServerData().translation.cache = new Array(global.getServerData().translation.languages.length); let translationCacheFrom = new Array(global.getServerData().translation.languages.length); translationCacheFrom.fill([]); global.getServerData().translation.cache.fill(translationCacheFrom); } // ---------------------------------------------------------------------------- function getServerData() { return serverData; } // ----------------------------------------------------------------------------