Files
GTA4RP/scripts/server/core.js
2020-12-16 07:56:22 -06:00

549 lines
11 KiB
JavaScript

// ===========================================================================
// 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 serverId = 0;
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 getServerId() {
return serverId;
}
// ----------------------------------------------------------------------------
function getServerData() {
return serverData;
}
// ----------------------------------------------------------------------------