1133 lines
22 KiB
JavaScript
1133 lines
22 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,
|
|
staffFlagKeys: [
|
|
"none",
|
|
"basicModeration",
|
|
"manageHouses",
|
|
"manageVehicles",
|
|
"manageBusinesses",
|
|
"manageFactions",
|
|
"manageClans",
|
|
"manageServer",
|
|
"manageAdmins",
|
|
"developer"
|
|
],
|
|
moderationFlagKeys: [
|
|
"none",
|
|
"muted",
|
|
"frozen",
|
|
"hackerBox",
|
|
"jobBanned",
|
|
"ammuBanned",
|
|
"policeBanned",
|
|
"fireBanned",
|
|
"gunBanned",
|
|
],
|
|
factionFlagKeys: [
|
|
"none",
|
|
"police",
|
|
"medical",
|
|
"fire",
|
|
"government"
|
|
],
|
|
clanFlagKeys: [
|
|
"none",
|
|
"illegal",
|
|
"legal",
|
|
"mafia",
|
|
"streetGang",
|
|
"weapons",
|
|
"drugs",
|
|
"humanTrafficking",
|
|
"vigilante",
|
|
"hitContracts"
|
|
],
|
|
clanPermissionFlagKeys: [
|
|
"none",
|
|
"inviteMember",
|
|
"removeMember",
|
|
"memberRank",
|
|
"memberFlags",
|
|
"memberTag",
|
|
"memberTitle",
|
|
"rankFlags",
|
|
"rankTag",
|
|
"rankTitle",
|
|
"clanTag",
|
|
"clanName",
|
|
"owner"
|
|
],
|
|
accountSettingsFlagKeys: [
|
|
"None",
|
|
"useWhiteList",
|
|
"useBlackList",
|
|
"twoStepAuth",
|
|
"authAttemptAlert",
|
|
"alertWithGUI",
|
|
"errorWithGUI",
|
|
"askWithGUI",
|
|
],
|
|
subAccountSettingsFlagKeys: [],
|
|
staffFlags: {},
|
|
moderationFlags: {},
|
|
factionFlags: {},
|
|
clanFlags: {},
|
|
accountSettingsFlags: {},
|
|
subAccountSettingsFlags: {},
|
|
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: new Vec3(1143.875, -675.1875, 14.97),
|
|
heading: 1.5,
|
|
blip: false,
|
|
name: "Portland",
|
|
},
|
|
{
|
|
position: new Vec3(340.25, -1123.375, 25.98),
|
|
heading: 3.14,
|
|
blip: false,
|
|
name: "Staunton Island",
|
|
},
|
|
{
|
|
position: new Vec3(-1253.0, -138.1875, 58.75),
|
|
heading: 1.5,
|
|
blip: false,
|
|
name: "Shoreside Vale",
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
{
|
|
position: new Vec3(399.77, -468.90, 11.73),
|
|
heading: 0.0,
|
|
blip: false,
|
|
name: "Washington Beach",
|
|
},
|
|
{
|
|
position: new Vec3(508.96, 512.07, 12.10),
|
|
heading: 0.0,
|
|
blip: false,
|
|
name: "Vice Point",
|
|
},
|
|
{
|
|
position: new Vec3(-657.43, 762.31, 11.59),
|
|
heading: 0.0,
|
|
blip: false,
|
|
name: "Downtown",
|
|
},
|
|
{
|
|
position: new Vec3(-885.08, -470.44, 13.11),
|
|
heading: 0.0,
|
|
blip: false,
|
|
name: "Little Havana",
|
|
},
|
|
],
|
|
[ // GTA SA
|
|
{
|
|
position: new Vec3(1545.53, -1675.64, 13.561),
|
|
heading: -1.575,
|
|
blip: false,
|
|
name: "Los Santos",
|
|
},
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
{
|
|
position: new Vec3(894.99, -357.39, 18.185),
|
|
heading: 2.923,
|
|
blip: false,
|
|
name: "Broker",
|
|
},
|
|
{
|
|
position: new Vec3(435.40, 1592.29, 17.353),
|
|
heading: 3.087,
|
|
blip: false,
|
|
name: "South Bohan",
|
|
},
|
|
{
|
|
position: new Vec3(974.93, 1870.45, 23.073),
|
|
heading: -1.621,
|
|
blip: false,
|
|
name: "Northern Gardens",
|
|
},
|
|
{
|
|
position: new Vec3(1233.25, -89.13, 28.034),
|
|
heading: 1.568,
|
|
blip: false,
|
|
name: "South Slopes",
|
|
},
|
|
{
|
|
position: new Vec3(50.12, 679.88, 15.316),
|
|
heading: 1.569,
|
|
blip: false,
|
|
name: "Middle Park East",
|
|
},
|
|
{
|
|
position: new Vec3(85.21, 1189.82, 14.755),
|
|
heading: 3.127,
|
|
blip: false,
|
|
name: "East Holland",
|
|
},
|
|
{
|
|
position: new Vec3(2170.87, 448.87, 6.085),
|
|
heading: 1.501,
|
|
blip: false,
|
|
name: "Francis International Airport",
|
|
},
|
|
{
|
|
position: new Vec3(213.12, -211.70, 10.752),
|
|
heading: 0.200,
|
|
blip: false,
|
|
name: "Chinatown",
|
|
},
|
|
{
|
|
position: new Vec3(-1714.95, 276.31, 22.134),
|
|
heading: 1.127,
|
|
blip: false,
|
|
name: "Acter",
|
|
},
|
|
{
|
|
position: new Vec3(-1220.73, -231.53, 3.024),
|
|
heading: 2.210,
|
|
blip: false,
|
|
name: "Port Tudor",
|
|
},
|
|
{
|
|
position: new Vec3(-927.66, 1263.63, 24.587),
|
|
heading: -0.913,
|
|
blip: false,
|
|
name: "Leftwood",
|
|
},
|
|
]
|
|
],
|
|
fireStations: [
|
|
false,
|
|
[ // GTA 3
|
|
{
|
|
position: new Vec3(1103.70, -52.45, 7.49),
|
|
heading: 1.5,
|
|
blip: false,
|
|
name: "Portland",
|
|
},
|
|
{
|
|
position: new Vec3(-78.48, -436.80, 16.17),
|
|
heading: 3.14,
|
|
blip: false,
|
|
name: "Staunton Island",
|
|
},
|
|
{
|
|
position: new Vec3(-1202.10, -14.67, 53.20),
|
|
heading: 1.5,
|
|
blip: false,
|
|
name: "Shoreside Vale",
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
|
|
],
|
|
[ // GTA SA
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
{
|
|
position: new Vec3(953.13, 95.90, 35.004),
|
|
heading: 1.595,
|
|
blip: false,
|
|
name: "Broker",
|
|
},
|
|
{
|
|
position: new Vec3(-271.02, 1542.15, 20.420),
|
|
heading: -1.160,
|
|
blip: false,
|
|
name: "Northwood",
|
|
},
|
|
{
|
|
position: new Vec3(1120.47, 1712.36, 10.534),
|
|
heading: -0.682,
|
|
blip: false,
|
|
name: "Northern Gardens",
|
|
},
|
|
{
|
|
position: new Vec3(2364.87, 166.83, 5.813),
|
|
heading: 0.156,
|
|
blip: false,
|
|
name: "Francis International Airport",
|
|
},
|
|
{
|
|
position: new Vec3(295.40, -336.88, 4.963),
|
|
heading: 2.887,
|
|
blip: false,
|
|
name: "Chinatown",
|
|
},
|
|
]
|
|
],
|
|
hospitals: [
|
|
false,
|
|
[ // GTA 3
|
|
{
|
|
position: new Vec3(1144.25, -596.875, 14.97),
|
|
heading: 1.5,
|
|
blip: false,
|
|
name: "Portland",
|
|
},
|
|
{
|
|
position: new Vec3(183.5, -17.75, 16.21),
|
|
heading: 3.14,
|
|
blip: false,
|
|
name: "Staunton Island",
|
|
},
|
|
{
|
|
position: new Vec3(-1259.5, -44.5, 58.89),
|
|
heading: 1.5,
|
|
blip: false,
|
|
name: "Shoreside Vale",
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
|
|
],
|
|
[ // GTA SA
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
{
|
|
position: new Vec3(1199.59, 196.78, 33.554),
|
|
heading: 1.633,
|
|
blip: false,
|
|
name: "Schottler",
|
|
},
|
|
{
|
|
position: new Vec3(980.71, 1831.61, 23.898),
|
|
heading: -0.049,
|
|
blip: false,
|
|
name: "Northern Gardens",
|
|
},
|
|
{
|
|
position: new Vec3(-1317.27, 1277.20, 22.370),
|
|
heading: 2.246,
|
|
blip: false,
|
|
name: "Leftwood",
|
|
},
|
|
{
|
|
position: new Vec3(-1538.43, 344.58, 20.943),
|
|
heading: -0.156,
|
|
blip: false,
|
|
name: "Acter",
|
|
},
|
|
]
|
|
],
|
|
payAndSprays: [
|
|
false,
|
|
[ // GTA 3
|
|
{
|
|
position: new Vec3(925.4, -360.3, 10.83),
|
|
blip: false,
|
|
name: "Portland",
|
|
},
|
|
{
|
|
position: new Vec3(381.8, -493.8, 25.95),
|
|
blip: false,
|
|
name: "Staunton Island",
|
|
},
|
|
{
|
|
position: new Vec3(-1142.4, 35.01, 58.61),
|
|
blip: false,
|
|
name: "Shoreside Vale",
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
|
|
],
|
|
[ // GTA SA
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
|
|
ammunations: [
|
|
false,
|
|
[ // GTA 3
|
|
{
|
|
position: new Vec3(1068.3, -400.9, 15.24),
|
|
blip: false,
|
|
name: "Portland",
|
|
},
|
|
{
|
|
position: new Vec3(348.2, -717.9, 26.43),
|
|
blip: false,
|
|
name: "Staunton Island",
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
|
|
],
|
|
[ // GTA SA
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
fuelStations: [
|
|
false,
|
|
[ // GTA 3
|
|
|
|
{
|
|
position: new Vec3(1161.9, -76.73, 7.27),
|
|
blip: false,
|
|
name: "Portland",
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
|
|
],
|
|
[ // GTA SA
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
jobs: [
|
|
false,
|
|
[ // GTA 3
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(1143.87, -675.18, 14.97),
|
|
pickup: false,
|
|
pickupModel: 1383,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
weapons: [[1,1], [2, 150], [4,20]],
|
|
equipment: [
|
|
{ // Standard police officer equipment
|
|
requiredRank: 0,
|
|
weapons: [
|
|
[1,1], // Baseball Bat (Nitestick alternative)
|
|
[2,150], // Pistol
|
|
[4,20], // Shotgun
|
|
]
|
|
},
|
|
{ // Detective Equipment
|
|
requiredRank: 1,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[34,100], // Camera
|
|
]
|
|
},
|
|
{ // Supervisor Equipment
|
|
requiredRank: 3,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
]
|
|
},
|
|
{ // SWAT Equipment
|
|
requiredRank: 2,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
[26,300], // M4
|
|
]
|
|
},
|
|
]
|
|
},
|
|
{
|
|
name: "Paramedic",
|
|
position: new Vec3(1144.25, -596.87, 14.97),
|
|
pickup: false,
|
|
pickupModel: 1362,
|
|
blip: false,
|
|
jobType: AG_JOB_MEDICAL,
|
|
jobSkin: 5,
|
|
jobColour: serverConfig.colour.byName.medicPink,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Firefighter",
|
|
position: new Vec3(1103.70, -52.45, 7.49),
|
|
pickup: false,
|
|
pickupModel: 1364,
|
|
blip: false,
|
|
jobType: AG_JOB_FIRE,
|
|
jobSkin: 6,
|
|
jobColour: serverConfig.colour.byName.firefighterRed,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Trash Collector",
|
|
position: new Vec3(1121.8, 27.8, 1.99),
|
|
pickup: false,
|
|
pickupModel: 1351,
|
|
blip: false,
|
|
jobType: AG_JOB_GARBAGE,
|
|
jobSkin: 53,
|
|
jobColour: 2,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Trash Collector",
|
|
position: new Vec3(-66.83, -932.2, 16.47),
|
|
pickup: false,
|
|
pickupModel: 1351,
|
|
blip: false,
|
|
jobType: AG_JOB_GARBAGE,
|
|
jobSkin: 53,
|
|
jobColour: 2,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Taxi Driver",
|
|
position: new Vec3(1229.2, -740.1, 15.17),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_TAXI,
|
|
jobSkin: 8,
|
|
jobColour: 3,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Bus Driver",
|
|
position: new Vec3(1310.20, -1016.30, 14.88),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_BUS,
|
|
jobSkin: 121,
|
|
jobColour: 3,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(340.25, -1123.37, 25.98),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
weapons: [[1,1], [2, 150], [4,20]],
|
|
},
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(-1253.0, -138.18, 58.75),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
weapons: [[1,1], [2, 150], [4,20]],
|
|
},
|
|
{
|
|
name: "Paramedic",
|
|
position: new Vec3(183.5, -17.75, 16.21),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_MEDICAL,
|
|
jobSkin: 5,
|
|
jobColour: serverConfig.colour.byName.medicPink,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Paramedic",
|
|
position: new Vec3(-1259.5, -44.5, 58.89),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_MEDICAL,
|
|
jobSkin: 5,
|
|
jobColour: serverConfig.colour.byName.medicPink,
|
|
enabled: true
|
|
} ,
|
|
{
|
|
name: "Firefighter",
|
|
position: new Vec3(-78.48, -436.80, 16.17),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_FIRE,
|
|
jobSkin: 6,
|
|
jobColour: serverConfig.colour.byName.firefighterRed,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Firefighter",
|
|
position: new Vec3(-1202.10, -14.67, 53.20),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_FIRE,
|
|
jobSkin: 6,
|
|
jobColour: serverConfig.colour.byName.firefighterRed,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Taxi Driver",
|
|
position: new Vec3(1229.2, -740.1, 15.17),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_TAXI,
|
|
jobSkin: 8,
|
|
jobColour: 3,
|
|
enabled: true
|
|
},
|
|
{
|
|
name: "Bus Driver",
|
|
position: new Vec3(-57.1661, -334.266, 16.9324),
|
|
pickup: false,
|
|
pickupModel: 1361,
|
|
blip: false,
|
|
jobType: AG_JOB_BUS,
|
|
jobSkin: 121,
|
|
jobColour: 3,
|
|
enabled: true
|
|
},
|
|
],
|
|
[ // GTA VC
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(399.77, -468.90, 11.73),
|
|
pickup: false,
|
|
pickupModel: 375,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
equipment: [
|
|
{ // Standard police officer equipment
|
|
requiredRank: 0,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
]
|
|
},
|
|
{ // Detective Equipment
|
|
requiredRank: 1,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[34,100], // Camera
|
|
]
|
|
},
|
|
{ // Supervisor Equipment
|
|
requiredRank: 3,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
]
|
|
},
|
|
{ // SWAT Equipment
|
|
requiredRank: 2,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
[26,300], // M4
|
|
]
|
|
},
|
|
]
|
|
},
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(508.96, 512.07, 12.10),
|
|
pickup: false,
|
|
pickupModel: 375,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
equipment: [
|
|
{ // Standard police officer equipment
|
|
requiredRank: 0,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
]
|
|
},
|
|
{ // Detective Equipment
|
|
requiredRank: 1,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[34,100], // Camera
|
|
]
|
|
},
|
|
{ // Supervisor Equipment
|
|
requiredRank: 3,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
]
|
|
},
|
|
{ // SWAT Equipment
|
|
requiredRank: 2,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
[26,300], // M4
|
|
]
|
|
},
|
|
]
|
|
},
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(-657.43, 762.31, 11.59),
|
|
pickup: false,
|
|
pickupModel: 375,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
equipment: [
|
|
{ // Standard police officer equipment
|
|
requiredRank: 0,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
]
|
|
},
|
|
{ // Detective Equipment
|
|
requiredRank: 1,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[34,100], // Camera
|
|
]
|
|
},
|
|
{ // Supervisor Equipment
|
|
requiredRank: 3,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
]
|
|
},
|
|
{ // SWAT Equipment
|
|
requiredRank: 2,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
[26,300], // M4
|
|
]
|
|
},
|
|
]
|
|
},
|
|
{
|
|
name: "Police Officer",
|
|
position: new Vec3(-885.08, -470.44, 13.11),
|
|
pickup: false,
|
|
pickupModel: 375,
|
|
blip: false,
|
|
jobType: AG_JOB_POLICE,
|
|
jobSkin: 1,
|
|
jobColour: serverConfig.colour.byName.policeBlue,
|
|
enabled: true,
|
|
equipment: [
|
|
{ // Standard police officer equipment
|
|
requiredRank: 0,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
]
|
|
},
|
|
{ // Detective Equipment
|
|
requiredRank: 1,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[34,100], // Camera
|
|
]
|
|
},
|
|
{ // Supervisor Equipment
|
|
requiredRank: 3,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
]
|
|
},
|
|
{ // SWAT Equipment
|
|
requiredRank: 2,
|
|
weapons: [
|
|
[4,1], // Nitestick
|
|
[17,150], // Colt 45
|
|
[19,20], // Shotgun
|
|
[25,300], // MP5
|
|
[26,300], // M4
|
|
]
|
|
},
|
|
]
|
|
},
|
|
],
|
|
[ // GTA SA
|
|
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
|
|
//{ name: "Postal Worker" , position: Vector ( ) , pickup: false, pickupModel: 1361, blip: false, jobType: 7 },
|
|
//{ name: "Delivery Worker" , position: Vector ( ) , pickup: false, pickupModel: 1361, blip: false, jobType: 8 },
|
|
//{ name: "Mechanic" , position: Vector ( ) , pickup: false, pickupModel: 1361, blip: false, jobType: 9 },
|
|
],
|
|
policeJobSkins: [
|
|
false,
|
|
[ // GTA III
|
|
1, 92,
|
|
],
|
|
[ // GTA VC
|
|
1,
|
|
],
|
|
[ // GTA SA
|
|
280, 281, 282, 283, 284, 285, 28, 288,
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
medicalJobSkins: [
|
|
false,
|
|
[ // GTA III
|
|
5, 72, 73
|
|
],
|
|
[ // GTA VC
|
|
5,
|
|
],
|
|
[ // GTA SA
|
|
274, 275, 276
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
fireJobSkins: [
|
|
false,
|
|
[ // GTA III
|
|
6
|
|
],
|
|
[ // GTA VC
|
|
6,
|
|
],
|
|
[ // GTA SA
|
|
277, 278, 279
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
taxiJobSkins: [
|
|
false,
|
|
[ // GTA III
|
|
8,
|
|
],
|
|
[ // GTA VC
|
|
8,
|
|
],
|
|
[ // GTA SA
|
|
7, 142
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
busJobSkins: [
|
|
false,
|
|
[ // GTA III
|
|
8,
|
|
],
|
|
[ // GTA VC
|
|
8,
|
|
],
|
|
[ // GTA SA
|
|
7, 142
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
garbageJobSkins: [
|
|
false,
|
|
[ // GTA III
|
|
53, 54,
|
|
],
|
|
[ // GTA VC
|
|
53, 54,
|
|
],
|
|
[ // GTA SA
|
|
16,
|
|
],
|
|
[ // GTA UG
|
|
|
|
],
|
|
[ // GTA IV
|
|
|
|
]
|
|
],
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
function initServerData() {
|
|
// Pre-allocate translation cache language slots
|
|
global.serverData.translation.cache = new Array(global.serverData.translation.languages.length);
|
|
let translationCacheFrom = new Array(global.serverData.translation.languages.length);
|
|
translationCacheFrom.fill([]);
|
|
global.serverData.translation.cache.fill(translationCacheFrom);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
function getServerId() {
|
|
return serverId;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
function getServerGame() {
|
|
return server.game;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|