Update natives
This commit is contained in:
@@ -5,4 +5,98 @@
|
||||
// FILE: gtac.js
|
||||
// DESC: Provides natives for GTA Connected
|
||||
// TYPE: Client (JavaScript)
|
||||
// ===========================================================================
|
||||
// ===========================================================================
|
||||
|
||||
function setUpInitialGame() {
|
||||
if(gta.game == GAME_GTA_III) {
|
||||
gta.SET_PLAYER_NEVER_GETS_TIRED(gta.GET_PLAYER_ID(), 0);
|
||||
gta.setGameStat(STAT_PROGRESSMADE, 9999);
|
||||
gta.setGameStat(STAT_TOTALPROGRESSINGAME, 9999);
|
||||
}
|
||||
|
||||
if(gta.game == GAME_GTA_VC) {
|
||||
gta.SET_PLAYER_NEVER_GETS_TIRED(gta.GET_PLAYER_ID(), 0);
|
||||
gta.setGameStat(STAT_PROGRESSMADE, 9999);
|
||||
gta.setGameStat(STAT_TOTALPROGRESSINGAME, 9999);
|
||||
|
||||
gta.REQUEST_ANIMATION("bikev");
|
||||
gta.REQUEST_ANIMATION("bikeh");
|
||||
gta.REQUEST_ANIMATION("biked");
|
||||
gta.REQUEST_ANIMATION("knife");
|
||||
gta.REQUEST_ANIMATION("python");
|
||||
gta.REQUEST_ANIMATION("shotgun");
|
||||
gta.REQUEST_ANIMATION("buddy");
|
||||
gta.REQUEST_ANIMATION("tec");
|
||||
gta.REQUEST_ANIMATION("uzi");
|
||||
gta.REQUEST_ANIMATION("rifle");
|
||||
gta.REQUEST_ANIMATION("m60");
|
||||
gta.REQUEST_ANIMATION("sniper");
|
||||
gta.REQUEST_ANIMATION("grenade");
|
||||
gta.REQUEST_ANIMATION("flame");
|
||||
gta.REQUEST_ANIMATION("medic");
|
||||
gta.REQUEST_ANIMATION("sunbathe");
|
||||
//gta.REQUEST_ANIMATION("playidles");
|
||||
gta.REQUEST_ANIMATION("riot");
|
||||
gta.REQUEST_ANIMATION("strip");
|
||||
gta.REQUEST_ANIMATION("lance");
|
||||
gta.REQUEST_ANIMATION("skate");
|
||||
}
|
||||
|
||||
if(gta.game == GAME_GTA_SA) {
|
||||
gta.setGameStat(STAT_WEAPONTYPE_PISTOL_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_PISTOL_SILENCED_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_DESERT_EAGLE_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_SHOTGUN_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_SAWNOFF_SHOTGUN_SKILL, 1);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_SPAS12_SHOTGUN_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_MICRO_UZI_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_MP5_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_AK47_SKILL, 400);
|
||||
gta.setGameStat(STAT_WEAPONTYPE_M4_SKILL, 400);
|
||||
gta.setGameStat(STAT_DRIVING_SKILL, 9999);
|
||||
gta.setGameStat(STAT_FAT, 0);
|
||||
gta.setGameStat(STAT_ENERGY, 9999);
|
||||
gta.setGameStat(STAT_CYCLE_SKILL, 9999);
|
||||
gta.setGameStat(STAT_BIKE_SKILL, 9999);
|
||||
gta.setGameStat(STAT_GAMBLING, 9999);
|
||||
gta.setGameStat(STAT_PROGRESS_MADE, 9999);
|
||||
gta.setGameStat(STAT_RESPECT, 0);
|
||||
gta.setGameStat(STAT_RESPECT_TOTAL, 0);
|
||||
gta.setGameStat(STAT_SEX_APPEAL, 0);
|
||||
gta.setGameStat(STAT_STAMINA, 9999);
|
||||
gta.setGameStat(STAT_TOTAL_PROGRESS, 100);
|
||||
gta.setGameStat(STAT_UNDERWATER_STAMINA, 9999);
|
||||
gta.setGameStat(STAT_BODY_MUSCLE, 0);
|
||||
}
|
||||
|
||||
if(getGame() == VRR_GAME_GTA_IV) {
|
||||
natives.allowEmergencyServices(false);
|
||||
natives.setCreateRandomCops(false);
|
||||
natives.setMaxWantedLevel(0);
|
||||
natives.setWantedMultiplier(0.0);
|
||||
natives.allowPlayerToCarryNonMissionObjects(natives.getPlayerId(), true);
|
||||
|
||||
natives.setPlayerTeam(natives.getPlayerId(), 0);
|
||||
natives.usePlayerColourInsteadOfTeamColour(true);
|
||||
natives.requestAnims("DANCING");
|
||||
natives.loadAllObjectsNow();
|
||||
}
|
||||
|
||||
//closeAllGarages();
|
||||
|
||||
if(getGame() == GAME_GTA_SA) {
|
||||
gta.setDefaultInteriors(false);
|
||||
}
|
||||
|
||||
gta.onMission = true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function processGameSpecifics() {
|
||||
if(gta.game != GAME_GTA_IV) {
|
||||
gta.clearMessages();
|
||||
}
|
||||
|
||||
destroyAutoCreatedPickups();
|
||||
}
|
||||
@@ -2,7 +2,15 @@
|
||||
// Vortrex's Roleplay Resource
|
||||
// https://github.com/VortrexFTW/gtac_roleplay
|
||||
// ===========================================================================
|
||||
// FILE: oakwood.js
|
||||
// DESC: Provides natives for Project Oakwood (Mafia 1)
|
||||
// FILE: mafiac.js
|
||||
// DESC: Provides natives for Mafia Connected
|
||||
// TYPE: Client (JavaScript)
|
||||
// ===========================================================================
|
||||
|
||||
function setUpInitialGame() {
|
||||
if(mafia.game == GAME_MAFIA_ONE) {
|
||||
mafia.mapEnabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
File diff suppressed because it is too large
Load Diff
1290
scripts/server/native/mafiac.js
Normal file
1290
scripts/server/native/mafiac.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,318 +0,0 @@
|
||||
// ===========================================================================
|
||||
// Vortrex's Roleplay Resource
|
||||
// https://github.com/VortrexFTW/gtac_roleplay
|
||||
// ===========================================================================
|
||||
// FILE: oakwood.js
|
||||
// DESC: Provides natives for Project Oakwood (Mafia 1)
|
||||
// TYPE: Server (JavaScript)
|
||||
// ===========================================================================
|
||||
|
||||
// Use data for each because args are probably gonna be way different for each mod
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerPosition(client) {
|
||||
if(getServerGame() == GAME_GTA_IV) {
|
||||
return getPlayerData(client).syncPosition;
|
||||
} else {
|
||||
if(client.player != null) {
|
||||
return client.player.position;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerPosition(client, position) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s position to ${position.x}, ${position.y}, ${position.z}`);
|
||||
sendPlayerSetPosition(client, position);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerHeading(client) {
|
||||
if(getServerGame() == GAME_GTA_IV) {
|
||||
return getPlayerData(client).syncHeading;
|
||||
} else {
|
||||
if(client.player != null) {
|
||||
return client.player.heading;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerHeading(client, heading) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s heading to ${heading}`);
|
||||
sendPlayerSetHeading(client, heading);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerVehicle(client) {
|
||||
if(getServerGame() == GAME_GTA_IV) {
|
||||
return getPlayerData().syncVehicle;
|
||||
} else {
|
||||
if(client.player.vehicle) {
|
||||
return client.player.vehicle;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerDimension(client) {
|
||||
return client.player.dimension;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerInterior(client) {
|
||||
return getPlayerCurrentSubAccount(client).interior || 0;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerDimension(client, dimension) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s dimension to ${dimension}`);
|
||||
client.player.dimension = dimension;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerInterior(client, interior) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s interior to ${interior}`);
|
||||
sendPlayerSetInterior(client, interior);
|
||||
getPlayerCurrentSubAccount(client).interior = interior;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isPlayerInAnyVehicle(client) {
|
||||
if(getServerGame() == GAME_GTA_IV) {
|
||||
return (getPlayerData().syncVehicle != null);
|
||||
} else {
|
||||
return (client.player.vehicle != null);
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerVehicleSeat(client) {
|
||||
if(!isPlayerInAnyVehicle(client)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for(let i = 0 ; i <= 8 ; i++) {
|
||||
if(getPlayerVehicle(client).getOccupant(i) == client.player) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isPlayerSpawned(client) {
|
||||
return getPlayerData(client).spawned;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehiclePosition(vehicle) {
|
||||
return vehicle.position;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleHeading(vehicle) {
|
||||
return vehicle.heading;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleSyncer(vehicle) {
|
||||
return getElementSyncer(vehicle);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleForNetworkEvent(vehicle) {
|
||||
return vehicle;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function deleteGameElement(element) {
|
||||
logToConsole(LOG_DEBUG, `Destroying game element ${element.id} (Type: ${element.type})`);
|
||||
if(element != null) {
|
||||
destroyElement(element);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isPlayerInFrontVehicleSeat(client) {
|
||||
return (getPlayerVehicleSeat(client) == 0 || getPlayerVehicleSeat(client) == 1);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function removePlayerFromVehicle(client) {
|
||||
logToConsole(LOG_DEBUG, `Removing ${getPlayerDisplayForConsole(client)} from their vehicle`);
|
||||
sendPlayerRemoveFromVehicle(client);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerSkin(client, skin) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s skin to ${skin} (${getSkinNameFromId(skin)})`);
|
||||
client.player.modelIndex = skin;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerSkin(client) {
|
||||
return client.player.modelIndex;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerHealth(client, health) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s health to ${health}`);
|
||||
sendPlayerSetHealth(client, health);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerHealth(client) {
|
||||
return client.player.health;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerArmour(client, armour) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s armour to ${armour}`);
|
||||
sendPlayerSetArmour(client, armour);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerArmour(client) {
|
||||
return client.player.armour;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerCash(client, amount) {
|
||||
getPlayerCurrentSubAccount(client).cash = toInteger(amount);
|
||||
updatePlayerCash(client);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function givePlayerCash(client, amount) {
|
||||
getPlayerCurrentSubAccount(client).cash = getPlayerCurrentSubAccount(client).cash + toInteger(amount);
|
||||
updatePlayerCash(client);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function takePlayerCash(client, amount) {
|
||||
getPlayerCurrentSubAccount(client).cash = getPlayerCurrentSubAccount(client).cash - toInteger(amount);
|
||||
updatePlayerCash(client);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function disconnectPlayer(client) {
|
||||
logToConsole(LOG_DEBUG, `Disconnecting (kicking) ${getPlayerDisplayForConsole(client)}`);
|
||||
client.disconnect();
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getElementSyncer(element) {
|
||||
return getClients()[element.syncer];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerWeaponAmmo(client) {
|
||||
return client.player.weaponAmmunition;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setPlayerVelocity(client, velocity) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s velocity to ${velocity.x}, ${velocity.y}, ${velocity.z}`);
|
||||
client.player.velocity = velocity;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerVelocity(client, velocity) {
|
||||
return client.player.velocity;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getElementDimension(element) {
|
||||
return element.dimension;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setElementDimension(element, dimension) {
|
||||
return element.dimension = dimension;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function givePlayerHealth(client, amount) {
|
||||
if(getPlayerHealth(client)+amount > 100) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s health to 100`);
|
||||
setPlayerHealth(client, 100);
|
||||
} else {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s health to ${getPlayerHealth(client)+amount}`);
|
||||
setPlayerHealth(client, getPlayerHealth(client)+amount);
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function givePlayerArmour(client, amount) {
|
||||
if(getPlayerArmour(client)+amount > 100) {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s armour to 100`);
|
||||
setPlayerArmour(client, 100);
|
||||
} else {
|
||||
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s armour to ${getPlayerArmour(client)+amount}`);
|
||||
setPlayerArmour(client, getPlayerArmour(client)+amount);
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getServerGame() {
|
||||
return getGame();
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function consolePrint(text) {
|
||||
console.log(text);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPlayerName(client) {
|
||||
return client.name;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
@@ -2,395 +2,15 @@
|
||||
// Vortrex's Roleplay Resource
|
||||
// https://github.com/VortrexFTW/gtac_roleplay
|
||||
// ===========================================================================
|
||||
// FILE: native.js
|
||||
// DESC: Provides util funcs for native wrapping
|
||||
// FILE: gtac.js
|
||||
// DESC: Provides util funcs for GTAC
|
||||
// TYPE: Shared (JavaScript)
|
||||
// ===========================================================================
|
||||
|
||||
"use strict";
|
||||
|
||||
let bindableKeys = {
|
||||
8: "backspace",
|
||||
9: "tab",
|
||||
13: "return",
|
||||
27: "escape",
|
||||
32: "space",
|
||||
33: "exclamation",
|
||||
34: "doublequote",
|
||||
35: "hashtag",
|
||||
36: "dollar",
|
||||
37: "percent",
|
||||
38: "ampersand",
|
||||
39: "quote",
|
||||
40: "leftparenthesis",
|
||||
41: "rightparenthesis",
|
||||
42: "asterisk",
|
||||
43: "plus",
|
||||
44: "comma",
|
||||
45: "minus",
|
||||
46: "period",
|
||||
47: "slash",
|
||||
48: "0",
|
||||
49: "1",
|
||||
50: "2",
|
||||
51: "3",
|
||||
52: "4",
|
||||
53: "5",
|
||||
54: "6",
|
||||
55: "7",
|
||||
56: "8",
|
||||
57: "9",
|
||||
58: "colon",
|
||||
59: "semicolon",
|
||||
60: "less",
|
||||
61: "equals",
|
||||
62: "greater",
|
||||
63: "questionmark",
|
||||
64: "at",
|
||||
91: "leftbracket",
|
||||
92: "backslash",
|
||||
93: "rightbracket",
|
||||
95: "underscore",
|
||||
97: "a",
|
||||
98: "b",
|
||||
99: "c",
|
||||
100: "d",
|
||||
101: "e",
|
||||
102: "f",
|
||||
103: "g",
|
||||
104: "h",
|
||||
105: "i",
|
||||
106: "j",
|
||||
107: "k",
|
||||
108: "l",
|
||||
109: "m",
|
||||
110: "n",
|
||||
111: "o",
|
||||
112: "p",
|
||||
113: "q",
|
||||
114: "r",
|
||||
115: "s",
|
||||
116: "t",
|
||||
117: "u",
|
||||
118: "v",
|
||||
119: "w",
|
||||
120: "x",
|
||||
121: "y",
|
||||
122: "z",
|
||||
127: "delete",
|
||||
1073741881: "capslock",
|
||||
1073741882: "f12",
|
||||
1073741883: "f2",
|
||||
1073741884: "f3",
|
||||
1073741885: "f4",
|
||||
1073741886: "f5",
|
||||
1073741887: "f6",
|
||||
1073741888: "f7",
|
||||
1073741889: "f8",
|
||||
1073741890: "f9",
|
||||
1073741891: "f10",
|
||||
1073741892: "f11",
|
||||
1073741893: "f12",
|
||||
1073741894: "printscreen",
|
||||
1073741895: "scrolllock",
|
||||
1073741896: "pause",
|
||||
1073741897: "insert",
|
||||
1073741898: "home",
|
||||
1073741899: "pageup",
|
||||
1073741901: "end",
|
||||
1073741902: "pagedown",
|
||||
1073741903: "right",
|
||||
1073741904: "left",
|
||||
1073741905: "down",
|
||||
1073741906: "up",
|
||||
1073741908: "numdivide",
|
||||
1073741909: "nummultiply",
|
||||
1073741910: "numminus",
|
||||
1073741911: "numplus",
|
||||
1073741912: "numenter",
|
||||
1073741913: "num1",
|
||||
1073741914: "num2",
|
||||
1073741915: "num3",
|
||||
1073741916: "num4",
|
||||
1073741917: "num5",
|
||||
1073741918: "num6",
|
||||
1073741919: "num7",
|
||||
1073741920: "num8",
|
||||
1073741921: "num9",
|
||||
1073741922: "num0",
|
||||
1073741923: "numperiod",
|
||||
1073742048: "leftctrl",
|
||||
1073742049: "leftshift",
|
||||
1073742050: "leftalt",
|
||||
1073742052: "rightctrl",
|
||||
1073742053: "rightshift",
|
||||
1073742054: "rightalt",
|
||||
};
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function and(var1, var2) {
|
||||
return (var1 && var2);
|
||||
function getMultiplayerMod() {
|
||||
return VRR_MPMOD_GTAC;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function or(var1, var2) {
|
||||
return (var1 || var2);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function not(var1) {
|
||||
return !var1;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function bitAnd(var1, var2) {
|
||||
return var1 & var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function bitOr(var1, var2) {
|
||||
return var1 | var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function bitXor(var1, var2) {
|
||||
return var1 ^ var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function bitNot(var1) {
|
||||
return ~var1;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function bitLeftShift(var1, var2) {
|
||||
return var1 << var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function bitRightShift(var1, var2) {
|
||||
return var1 >> var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function greaterThan(var1, var2) {
|
||||
return var1 > var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function lessThan(var1, var2) {
|
||||
return (var1 < var2);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function greaterThanOrEqualTo(var1, var2) {
|
||||
return (var1 >= var2);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function lessThanOrEqualTo(var1, var2) {
|
||||
return (var1 <= var2);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function equals(var1, var2) {
|
||||
return (var1 == var2);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function modulo(var1, var2) {
|
||||
return var1 % var2;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function add(...args) {
|
||||
return args.reduce((acc, a) => {
|
||||
return acc + a;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function subtract(...args) {
|
||||
return args.reduce((acc, a) => {
|
||||
return acc - a;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function multiply(...args) {
|
||||
return args.reduce((acc, a) => {
|
||||
return acc * a;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function divide(...args) {
|
||||
return args.reduce((acc, a) => {
|
||||
return acc / a;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toArray(...args) {
|
||||
return args;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toInteger(val) {
|
||||
return Number(val);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toFloat(val, fixed = 2) {
|
||||
return parseFloat((val).toFixed(fixed));
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toString(val) {
|
||||
return String(val);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toVector3(x, y, z) {
|
||||
return new Vec3(toFloat(x), toFloat(y), toFloat(z));
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toVector2(x, y) {
|
||||
return new Vec2(x, y);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toUpperCase(val) {
|
||||
return String(val).toUpperCase();
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function toLowerCase(val) {
|
||||
return String(val).toLowerCase();
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isNull(val) {
|
||||
if(val == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(typeof val === "undefined") {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getEntityData(entity, dataName) {
|
||||
if(entity != null) {
|
||||
if(entity.getData != null) {
|
||||
return entity.getData(dataName);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function setEntityData(entity, dataName, dataValue, syncToClients = true) {
|
||||
if(entity != null) {
|
||||
if(typeof server != "undefined") {
|
||||
return entity.setData(dataName, dataValue, syncToClients);
|
||||
} else {
|
||||
return entity.setData(dataName, dataValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function removeEntityData(entity, dataName) {
|
||||
if(entity != null) {
|
||||
return entity.removeData(dataName);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function doesEntityDataExist(entity, dataName) {
|
||||
if(entity != null) {
|
||||
return (entity.getData(dataName) != null);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getDistance(vec1, vec2) {
|
||||
if(isNull(vec1) || isNull(vec2)) {
|
||||
return false;
|
||||
}
|
||||
return vec1.distance(vec2);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function logToConsole(tempLogLevel, text) {
|
||||
if((logLevel & tempLogLevel) || logLevel == LOG_ALL) {
|
||||
if(tempLogLevel == LOG_ERROR) {
|
||||
console.error(text);
|
||||
return true;
|
||||
} else if(tempLogLevel == LOG_WARN) {
|
||||
console.warn(text);
|
||||
return true;
|
||||
} else {
|
||||
console.log(text);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function Enum(constantsList) {
|
||||
let tempTable = {};
|
||||
for(let i in constantsList) {
|
||||
tempTable[constantsList[i]] = i;
|
||||
}
|
||||
return tempTable;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getGame() {
|
||||
@@ -403,12 +23,6 @@ function getGame() {
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isServerScript() {
|
||||
return (typeof server != "undefined");
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function doesGameHaveSnow(gameId) {
|
||||
return (getGame() != GAME_GTA_IV);
|
||||
}
|
||||
@@ -421,12 +35,6 @@ function isGTAIV() {
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPercentage(num, per) {
|
||||
return (num/100)*per;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
let allowedSkins = [
|
||||
[],
|
||||
[ // GTA III
|
||||
@@ -1397,31 +1005,56 @@ let allowedSkins = [
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function makeLargeNumberReadable(num) {
|
||||
return new Number(num).toLocaleString("en-US");
|
||||
function doesGameHaveServerElements() {
|
||||
return !isGTAIV();
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getKeyIdFromParams(params) {
|
||||
let tempParams = toLowerCase(toString(params));
|
||||
|
||||
//let sdlName = sdl.getKeyFromName(tempParams);
|
||||
//if(sdlName != null) {
|
||||
// return sdlName;
|
||||
//}
|
||||
|
||||
for(let i in bindableKeys) {
|
||||
if(toLowerCase(bindableKeys[i]) == toLowerCase(tempParams)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
function isTimeSupported() {
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getKeyNameFromId(params) {
|
||||
return bindableKeys[toInteger(params)];
|
||||
function isSnowSupported() {
|
||||
if(isGTAIV()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isWeatherSupported() {
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isRemovingWorldObjectsSupported() {
|
||||
if(getGame() == GAME_GTA_III) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function arePickupsSupported() {
|
||||
if(isGTAIV()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function areBlipsSupported() {
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
370
scripts/shared/native/mafiac.js
Normal file
370
scripts/shared/native/mafiac.js
Normal file
@@ -0,0 +1,370 @@
|
||||
// ===========================================================================
|
||||
// Vortrex's Roleplay Resource
|
||||
// https://github.com/VortrexFTW/gtac_roleplay
|
||||
// ===========================================================================
|
||||
// FILE: mafiac.js
|
||||
// DESC: Provides util funcs for Mafia Connected
|
||||
// TYPE: Shared (JavaScript)
|
||||
// ===========================================================================
|
||||
|
||||
function getMultiplayerMod() {
|
||||
return VRR_MPMOD_MAFIAC;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getGame() {
|
||||
if(isServerScript()) {
|
||||
return server.game;
|
||||
} else {
|
||||
return mafia.game;
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function doesGameHaveSnow(gameId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
let allowedSkins = [
|
||||
[],
|
||||
[ // Mafia 1
|
||||
["Tommy", "Tommy", ""],
|
||||
["TommyBOXER", "TommyBOXER", ""],
|
||||
["TommyCOAT", "TommyCOAT", ""],
|
||||
["TommyCOATHAT", "TommyCOATHAT", ""],
|
||||
["TommyDELNIK", "TommyDELNIK", ""],
|
||||
["TommyDELNIKHIGH", "TommyDELNIKHIGH", ""],
|
||||
["TommyFREERIDER", "TommyFREERIDER", ""],
|
||||
["TommyGUN", "TommyGUN", ""],
|
||||
["TommyHAT", "TommyHAT", ""],
|
||||
["TommyHIGH", "TommyHIGH", ""],
|
||||
//["TommyHIGHBLOOD", "TommyHIGHBLOOD", ""],
|
||||
["TommyHighCOATHAT", "TommyHighCOATHAT", ""],
|
||||
["TommyHighHAT", "TommyHighHAT", ""],
|
||||
["TommyNAHAC", "TommyNAHAC", ""],
|
||||
["TommyOLD", "TommyOLD", ""],
|
||||
//["TommyOLDBLOOD", "TommyOLDBLOOD", ""],
|
||||
["TommyPYTEL", "TommyPYTEL", ""],
|
||||
["TommyRACER", "TommyRACER", ""],
|
||||
["TommyRACER2", "TommyRACER2", ""],
|
||||
["TommyRUKAV", "TommyRUKAV", ""],
|
||||
["TommySAILOR", "TommySAILOR", ""],
|
||||
["TommyTAXIDRIVER", "TommyTAXIDRIVER", ""],
|
||||
["TommyTAXIdriverHIGH", "TommyTAXIdriverHIGH", ""],
|
||||
["AsisPZ1", "AsisPZ1", ""],
|
||||
["Barman01", "Barman01", ""],
|
||||
["Bclerk01", "Bclerk01", ""],
|
||||
["Bclerk02", "Bclerk02", ""],
|
||||
["Bguard01", "Bguard01", ""],
|
||||
["Bguard01M", "Bguard01M", ""],
|
||||
["Bguard02", "Bguard02", ""],
|
||||
["Bguard03", "Bguard03", ""],
|
||||
["Bguard03M", "Bguard03M", ""],
|
||||
["Biff", "Biff", ""],
|
||||
["BigDig", "BigDig", ""],
|
||||
["BnkO01", "BnkO01", ""],
|
||||
["BnkO02", "BnkO02", ""],
|
||||
["BnkO03", "BnkO03", ""],
|
||||
["BobAut01", "BobAut01", ""],
|
||||
["Bookmaker01", "Bookmaker01", ""],
|
||||
["Bookmaker02", "Bookmaker02", ""],
|
||||
["Boxer01", "Boxer01", ""],
|
||||
["Boxer02", "Boxer02", ""],
|
||||
["Boxer03", "Boxer03", ""],
|
||||
["Boxer04", "Boxer04", ""],
|
||||
["Carlo", "Carlo", ""],
|
||||
["China1", "China1", ""],
|
||||
["Chulig1", "Chulig1", ""],
|
||||
["Chulig1b", "Chulig1b", ""],
|
||||
["David", "David", ""],
|
||||
["Delnik01", "Delnik01", ""],
|
||||
["Delnik02", "Delnik02", ""],
|
||||
["Delnik03", "Delnik03", ""],
|
||||
["Detektiv01", "Detektiv01", ""],
|
||||
["Detektiv02", "Detektiv02", ""],
|
||||
["Detektiv03", "Detektiv03", ""],
|
||||
["Enemy01+", "Enemy01+", ""],
|
||||
["Enemy01", "Enemy01", ""],
|
||||
["Enemy02+", "Enemy02+", ""],
|
||||
["Enemy02", "Enemy02", ""],
|
||||
["Enemy03+", "Enemy03+", ""],
|
||||
["Enemy03", "Enemy03", ""],
|
||||
["Enemy04", "Enemy04", ""],
|
||||
//["Enemy04BLOOD", "Enemy04BLOOD", ""],
|
||||
["Enemy04K", "Enemy04K", ""],
|
||||
["Enemy05", "Enemy05", ""],
|
||||
["Enemy06+", "Enemy06+", ""],
|
||||
["Enemy06", "Enemy06", ""],
|
||||
["Enemy07+", "Enemy07+", ""],
|
||||
["Enemy07", "Enemy07", ""],
|
||||
["Enemy08+", "Enemy08+", ""],
|
||||
["Enemy08", "Enemy08", ""],
|
||||
["Enemy08K", "Enemy08K", ""],
|
||||
["Enemy09+", "Enemy09+", ""],
|
||||
["Enemy09", "Enemy09", ""],
|
||||
["Enemy09K", "Enemy09K", ""],
|
||||
["Enemy10+", "Enemy10+", ""],
|
||||
["Enemy10", "Enemy10", ""],
|
||||
["Enemy10K", "Enemy10K", ""],
|
||||
["Enemy11K", "Enemy11K", ""],
|
||||
["Enemy12", "Enemy12", ""],
|
||||
["Enemy12K", "Enemy12K", ""],
|
||||
["Enemy13C", "Enemy13C", ""],
|
||||
["Enemy91", "Enemy91", ""],
|
||||
["Enemy92", "Enemy92", ""],
|
||||
["FMVENemy11K", "FMVENemy11K", ""],
|
||||
["FREEgang01", "FREEgang01", ""],
|
||||
["FREEgang02", "FREEgang02", ""],
|
||||
["FrankHIGH", "FrankHIGH", ""],
|
||||
["Friend1", "Friend1", ""],
|
||||
["Friend2", "Friend2", ""],
|
||||
["Gangster01", "Gangster01", ""],
|
||||
["Gangster02", "Gangster02", ""],
|
||||
["Gangster03", "Gangster03", ""],
|
||||
["Gangster04", "Gangster04", ""],
|
||||
["Gangster05", "Gangster05", ""],
|
||||
["GodzMan1", "GodzMan1", ""],
|
||||
["Guard01", "Guard01", ""],
|
||||
["Guard02", "Guard02", ""],
|
||||
["Hasic01", "Hasic01", ""],
|
||||
["HighCivil", "HighCivil", ""],
|
||||
//["HighCivilBLOOD", "HighCivilBLOOD", ""],
|
||||
["Homeless01", "Homeless01", ""],
|
||||
["Hoolig01", "Hoolig01", ""],
|
||||
["Hoolig02", "Hoolig02", ""],
|
||||
["Hoolig03", "Hoolig03", ""],
|
||||
["Hoolig04", "Hoolig04", ""],
|
||||
["Hoolig05", "Hoolig05", ""],
|
||||
["Hoolig06", "Hoolig06", ""],
|
||||
["I04Delnik01+", "I04Delnik01+", ""],
|
||||
["I04Delnik01", "I04Delnik01", ""],
|
||||
["Joe", "Joe", ""],
|
||||
["Kasar", "Kasar", ""],
|
||||
["Knez", "Knez", ""],
|
||||
["LifeG01", "LifeG01", ""],
|
||||
["Lucas", "Lucas", ""],
|
||||
["Luigi", "Luigi", ""],
|
||||
["Malticka1", "Malticka1", ""],
|
||||
["MorelloHIGH", "MorelloHIGH", ""],
|
||||
["MorelloLOW", "MorelloLOW", ""],
|
||||
["NormanHIGH", "NormanHIGH", ""],
|
||||
["Organizator01", "Organizator01", ""],
|
||||
["Paulie", "Paulie", ""],
|
||||
["PaulieCOATHAT", "PaulieCOATHAT", ""],
|
||||
["PaulieCTHIGH", "PaulieCTHIGH", ""],
|
||||
//["PaulieCorpse", "PaulieCorpse", ""],
|
||||
["PaulieHIGH", "PaulieHIGH", ""],
|
||||
["Pepe", "Pepe", ""],
|
||||
//["PoliceMan01", "PoliceMan01", ""],
|
||||
//["PoliceMan02", "PoliceMan02", ""],
|
||||
["Politik", "Politik", ""],
|
||||
//["PortGuard01", "PortGuard01", ""],
|
||||
//["PortGuard02", "PortGuard02", ""],
|
||||
["ProdZ1", "ProdZ1", ""],
|
||||
["Prokur", "Prokur", ""],
|
||||
["Radni01", "Radni01", ""],
|
||||
["Radni02", "Radni02", ""],
|
||||
["Ralph", "Ralph", ""],
|
||||
["RalphHIGH", "RalphHIGH", ""],
|
||||
["ReditelB", "ReditelB", ""],
|
||||
["ReditelH", "ReditelH", ""],
|
||||
["RidicNakladaku", "RidicNakladaku", ""],
|
||||
["SalMan01K", "SalMan01K", ""],
|
||||
["SalMan02K", "SalMan02K", ""],
|
||||
["SalMan03", "SalMan03", ""],
|
||||
["SalMan03K", "SalMan03K", ""],
|
||||
["SalMan04", "SalMan04", ""],
|
||||
["SalMan05", "SalMan05", ""],
|
||||
["SalMan05K", "SalMan05K", ""],
|
||||
["Salieri2", "Salieri2", ""],
|
||||
["SalieriHIGH", "SalieriHIGH", ""],
|
||||
["SalieriHIGH2", "SalieriHIGH2", ""],
|
||||
["SalieriLOW", "SalieriLOW", ""],
|
||||
["Sam", "Sam", ""],
|
||||
["SamCOATHAT", "SamCOATHAT", ""],
|
||||
["SamHIGH", "SamHIGH", ""],
|
||||
//["SamHIGHblood1", "SamHIGHblood1", ""],
|
||||
//["SamHIGHblood2", "SamHIGHblood2", ""],
|
||||
//["SamHIGHblood3", "SamHIGHblood3", ""],
|
||||
//["SamHIGHblood4", "SamHIGHblood4", ""],
|
||||
//["Samblood1", "Samblood1", ""],
|
||||
["Sergio", "Sergio", ""],
|
||||
//["SergioBLOOD", "SergioBLOOD", ""],
|
||||
["SynRad1", "SynRad1", ""],
|
||||
//["SynRad1BLOOD", "SynRad1BLOOD", ""],
|
||||
//["SynRad1DEAD", "SynRad1DEAD", ""],
|
||||
["Tony", "Tony", ""],
|
||||
["VincenzoHIGH", "VincenzoHIGH", ""],
|
||||
["VincenzoLOW", "VincenzoLOW", ""],
|
||||
["Vrabec", "Vrabec", ""],
|
||||
["Vratny1", "Vratny1", ""],
|
||||
["Vypravci", "Vypravci", ""],
|
||||
["Vypravci2", "Vypravci2", ""],
|
||||
["WillG1", "WillG1", ""],
|
||||
["WillG2", "WillG2", ""],
|
||||
["WillMan01", "WillMan01", ""],
|
||||
["WillMan02", "WillMan02", ""],
|
||||
["Zavod1", "Zavod1", ""],
|
||||
["Zavod2", "Zavod2", ""],
|
||||
["Zavod3", "Zavod3", ""],
|
||||
["ZavodFMV1", "ZavodFMV1", ""],
|
||||
["ZavodFMV2", "ZavodFMV2", ""],
|
||||
["civil02", "civil02", ""],
|
||||
["civil03", "civil03", ""],
|
||||
["civil04", "civil04", ""],
|
||||
["civil05", "civil05", ""],
|
||||
["civil06", "civil06", ""],
|
||||
["civil11", "civil11", ""],
|
||||
["civil11M", "civil11M", ""],
|
||||
["civil12", "civil12", ""],
|
||||
["civil13", "civil13", ""],
|
||||
["civil14", "civil14", ""],
|
||||
["civil15", "civil15", ""],
|
||||
["civil16", "civil16", ""],
|
||||
["civil16M", "civil16M", ""],
|
||||
["civil17", "civil17", ""],
|
||||
["civil18", "civil18", ""],
|
||||
["civil19", "civil19", ""],
|
||||
["civil19M", "civil19M", ""],
|
||||
["civil21", "civil21", ""],
|
||||
["civil21N", "civil21N", ""],
|
||||
["civil22", "civil22", ""],
|
||||
["civil31", "civil31", ""],
|
||||
["civil32", "civil32", ""],
|
||||
["civil33", "civil33", ""],
|
||||
["civil34", "civil34", ""],
|
||||
["civil35", "civil35", ""],
|
||||
["civil36", "civil36", ""],
|
||||
["civil36M", "civil36M", ""],
|
||||
["civil37", "civil37", ""],
|
||||
["civil38", "civil38", ""],
|
||||
["civil39", "civil39", ""],
|
||||
["civil40", "civil40", ""],
|
||||
["civil41", "civil41", ""],
|
||||
["civil42", "civil42", ""],
|
||||
["civil42M", "civil42M", ""],
|
||||
["civil43", "civil43", ""],
|
||||
["civil44", "civil44", ""],
|
||||
["civil51", "civil51", ""],
|
||||
["civil51M", "civil51M", ""],
|
||||
["civil52", "civil52", ""],
|
||||
["civil53", "civil53", ""],
|
||||
["civil54", "civil54", ""],
|
||||
["civil54M", "civil54M", ""],
|
||||
["civil55", "civil55", ""],
|
||||
["civil55M", "civil55M", ""],
|
||||
["civil56", "civil56", ""],
|
||||
["civil56M", "civil56M", ""],
|
||||
["civil57", "civil57", ""],
|
||||
["civil57M", "civil57M", ""],
|
||||
["civil60", "civil60", ""],
|
||||
["civil61", "civil61", ""],
|
||||
["civil62", "civil62", ""],
|
||||
["civil63", "civil63", ""],
|
||||
["civil70", "civil70", ""],
|
||||
["civil70M", "civil70M", ""],
|
||||
["civil71", "civil71", ""],
|
||||
["civil72", "civil72", ""],
|
||||
["frank", "frank", ""],
|
||||
["ohorelec01", "ohorelec01", ""],
|
||||
["pianist1", "pianist1", ""],
|
||||
["pol01", "pol01", ""],
|
||||
["pol02", "pol02", ""],
|
||||
["pol03", "pol03", ""],
|
||||
["pol11", "pol11", ""],
|
||||
["pol12", "pol12", ""],
|
||||
["pol13", "pol13", ""],
|
||||
["polim62", "polim62", ""],
|
||||
["pumpar01", "pumpar01", ""],
|
||||
["recep", "recep", ""],
|
||||
//["sailor01", "sailor01", ""],
|
||||
//["sailor01M", "sailor01M", ""],
|
||||
//["sailor02", "sailor02", ""],
|
||||
//["sailor02M", "sailor02M", ""],
|
||||
//["sailor03", "sailor03", ""],
|
||||
["waiter01", "waiter01", ""],
|
||||
["waiter01M", "waiter01M", ""],
|
||||
["waiter02", "waiter02", ""],
|
||||
["waiter02M", "waiter02M", ""],
|
||||
["waiter03", "waiter03", ""],
|
||||
["Alice1", "Alice1", ""],
|
||||
["Berta", "Berta", ""],
|
||||
["Bitch01", "Bitch01", ""],
|
||||
["Bitch02", "Bitch02", ""],
|
||||
["Bitch02Mask", "Bitch02Mask", ""],
|
||||
["Bitch03M", "Bitch03M", ""],
|
||||
["CarlZen1", "CarlZen1", ""],
|
||||
["Czena01", "Czena01", ""],
|
||||
["Czena02", "Czena02", ""],
|
||||
["Czena03", "Czena03", ""],
|
||||
["Czena04", "Czena04", ""],
|
||||
["Czena05", "Czena05", ""],
|
||||
["Czena06", "Czena06", ""],
|
||||
["Czena07", "Czena07", ""],
|
||||
["Czena07M", "Czena07M", ""],
|
||||
["Czena08", "Czena08", ""],
|
||||
["Czena09", "Czena09", ""],
|
||||
["Czena09M", "Czena09M", ""],
|
||||
["Czena10", "Czena10", ""],
|
||||
["Czena10M", "Czena10M", ""],
|
||||
["Czena11", "Czena11", ""],
|
||||
["Czena11M", "Czena11M", ""],
|
||||
["Czena12", "Czena12", ""],
|
||||
["Czena13", "Czena13", ""],
|
||||
["FMVCzena03", "FMVCzena03", ""],
|
||||
["FMVCzena04", "FMVCzena04", ""],
|
||||
["March1", "March1", ""],
|
||||
["Michelle", "Michelle", ""],
|
||||
["MichelleLOW", "MichelleLOW", ""],
|
||||
["Milenka1", "Milenka1", ""],
|
||||
["Sarah1", "Sarah1", ""],
|
||||
["Sarah1Obl", "Sarah1Obl", ""],
|
||||
["Sarah2", "Sarah2", ""],
|
||||
["Sarah2HIGH", "Sarah2HIGH", ""],
|
||||
["Sarah2HIGHnaha", "Sarah2HIGHnaha", ""],
|
||||
["Sarah2LOW", "Sarah2LOW", ""],
|
||||
["Serv01", "Serv01", ""],
|
||||
]
|
||||
];
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isTimeSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isSnowSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isWeatherSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isRemovingWorldObjectsSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function arePickupsSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function areBlipsSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
Reference in New Issue
Block a user