Fixes
This commit is contained in:
@@ -432,4 +432,416 @@ function getPercentage(num, per) {
|
||||
return (num/100)*per;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getMultiplayerMod() {
|
||||
return (getGame() >= 10) ? VRR_MPMOD_MAFIAC : VRR_MPMOD_GTAC;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getGame() {
|
||||
if(isServerScript()) {
|
||||
return server.game;
|
||||
} else {
|
||||
return game.game;
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isSnowSupported(gameId) {
|
||||
return supportedFeatures.snow[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isGTAIV() {
|
||||
return (getGame() == VRR_GAME_GTA_IV);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function areServerElementsSupported() {
|
||||
return supportedFeatures.serverElements[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isTimeSupported() {
|
||||
return supportedFeatures.time[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isWeatherSupported() {
|
||||
return supportedFeatures.weather[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function arePickupsSupported() {
|
||||
return supportedFeatures.pickups[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function areBlipsSupported() {
|
||||
return supportedFeatures.blips[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function areMarkersSupported() {
|
||||
return supportedFeatures.markers[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isFadeCameraSupported() {
|
||||
return supportedFeatures.fadeCamera[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isCustomCameraSupported() {
|
||||
return supportedFeatures.customCamera[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isFightStyleSupported() {
|
||||
return supportedFeatures.fightStyle[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function areWorldLabelsSupported() {
|
||||
return supportedFeatures.worldLabels[getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function isGameFeatureSupported(featureName) {
|
||||
return supportedFeatures[featureName][getGame()];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getAllowedSkins(gameId = getGame()) {
|
||||
return getGameData().skins[gameId].filter(skin => skin[2] == true);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getGameData() {
|
||||
return gameData;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getAllowedSkinIndexFromSkin(skin) {
|
||||
for(let i in allowedSkins) {
|
||||
if(allowedSkins[i][0] == skin) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getSkinIndexFromModel(model, gameId = getGame()) {
|
||||
let skins = getGameData().skins[gameId];
|
||||
for(let i in skins) {
|
||||
if(toLowerCase(skins[i][0]).indexOf(toLowerCase(model)) != -1) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getSkinIndexFromName(name, gameId = getGame()) {
|
||||
let skins = getGameData().skins[gameId];
|
||||
for(let i in skins) {
|
||||
if(toLowerCase(skins[i][1]).indexOf(toLowerCase(name)) != -1) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getObjectModelIndexFromModel(model, gameId = getGame()) {
|
||||
let objects = getGameData().objects[gameId];
|
||||
for(let i in objects) {
|
||||
if(toLowerCase(objects[i][0]).indexOf(toLowerCase(model)) != -1) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getGameName(gameId = getGame()) {
|
||||
return getGameData().gameNames[gameId];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleModelIndexFromParams(params, gameId = getGame()) {
|
||||
let fromName = getVehicleModelIndexFromName(params, gameId);
|
||||
let fromModel = getVehicleModelIndexFromModel(params, gameId);
|
||||
|
||||
if(fromModel && !fromName) {
|
||||
return fromModel;
|
||||
}
|
||||
|
||||
if(!fromModel && fromName) {
|
||||
return fromName;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleModelIndexFromName(name, gameId = getGame()) {
|
||||
let vehicles = getGameData().vehicles[gameId];
|
||||
for(let i in vehicles) {
|
||||
if(toLowerCase(vehicles[i][1]).indexOf(toLowerCase(name)) != -1) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleModelIndexFromModel(model, gameId = getGame()) {
|
||||
let vehicles = getGameData().vehicles[gameId];
|
||||
for(let i in vehicles) {
|
||||
if(isNaN(model)) {
|
||||
if(toLowerCase(vehicles[i][0]).indexOf(toLowerCase(model)) != -1) {
|
||||
return i;
|
||||
}
|
||||
} else {
|
||||
if(vehicles[i][0] == toInteger(model)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleModelFromName(name, gameId = getGame()) {
|
||||
let vehicles = getGameData().vehicles[gameId];
|
||||
for(let i in vehicles) {
|
||||
if(toLowerCase(vehicles[i][1]).indexOf(toLowerCase(name)) != -1) {
|
||||
return vehicles[i][0];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getVehicleNameFromModel(model, gameId = getGame()) {
|
||||
let vehicles = getGameData().vehicles[gameId];
|
||||
for(let i in vehicles) {
|
||||
if(isNaN(model)) {
|
||||
if(toLowerCase(vehicles[i][0]).indexOf(toLowerCase(model)) != -1) {
|
||||
return vehicles[i][1];
|
||||
}
|
||||
} else {
|
||||
if(vehicles[i][0] == toInteger(model)) {
|
||||
return vehicles[i][1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getSkinModelIndexFromParams(params, gameId = getServerGame()) {
|
||||
let fromName = getSkinIndexFromName(params, gameId);
|
||||
let fromModel = getSkinIndexFromModel(params, gameId);
|
||||
|
||||
if(fromModel && !fromName) {
|
||||
return fromModel;
|
||||
}
|
||||
|
||||
if(!fromModel && fromName) {
|
||||
return fromName;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getSkinNameFromModel(model, gameId = getServerGame()) {
|
||||
let skins = getGameData().skins[gameId];
|
||||
for(let i in skins) {
|
||||
if(toLowerCase(skins[i][0]).indexOf(toLowerCase(model)) != -1) {
|
||||
return skins[i][1];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getSkinModelFromName(name, gameId = getServerGame()) {
|
||||
let skins = getGameData().skins[gameId];
|
||||
for(let i in skins) {
|
||||
if(toLowerCase(skins[i][1]).indexOf(toLowerCase(name)) != -1) {
|
||||
return skins[i][0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getObjectModelIndexFromParams(params, gameId = getServerGame()) {
|
||||
let fromName = getObjectModelIndexFromName(params, gameId);
|
||||
let fromModel = getObjectModelIndexFromModel(params, gameId);
|
||||
|
||||
if(fromModel && !fromName) {
|
||||
return fromModel;
|
||||
}
|
||||
|
||||
if(!fromModel && fromName) {
|
||||
return fromName;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getObjectNameFromModel(model, gameId = getServerGame()) {
|
||||
let objects = getGameData().objects[gameId];
|
||||
for(let i in objects) {
|
||||
if(toLowerCase(objects[i][0]).indexOf(toLowerCase(model)) != -1) {
|
||||
return objects[i][1];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getObjectModelFromName(name, gameId = getServerGame()) {
|
||||
let objects = getGameData().objects[gameId];
|
||||
for(let i in objects) {
|
||||
if(toLowerCase(objects[i][1]).indexOf(toLowerCase(name)) != -1) {
|
||||
return objects[i][0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPosToRightOfPos(pos, angle, distance) {
|
||||
let x = (pos.x+((Math.cos((-angle+1.57)+(Math.PI/2)))*distance));
|
||||
let y = (pos.y+((Math.sin((-angle+1.57)+(Math.PI/2)))*distance));
|
||||
|
||||
let rightPos = toVector3(x, y, pos.z);
|
||||
|
||||
return rightPos;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPosToLeftOfPos(pos, angle, distance) {
|
||||
let x = (pos.x+((Math.cos((angle+1.57)+(Math.PI/2)))*distance));
|
||||
let y = (pos.y+((Math.sin((angle+1.57)+(Math.PI/2)))*distance));
|
||||
|
||||
let leftPos = toVector3(x, y, pos.z);
|
||||
|
||||
return leftPos;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPosInFrontOfPos(pos, angle, distance) {
|
||||
let x = pos.x;
|
||||
let y = pos.y;
|
||||
let z = pos.z;
|
||||
|
||||
if(getGame() < VRR_GAME_MAFIA_ONE) {
|
||||
y = (pos.y+((Math.sin(angle+(Math.PI/2)))*distance));
|
||||
} else {
|
||||
angle = radToDeg(angle);
|
||||
z = (pos.z+((Math.sin(angle+(Math.PI/2)))*distance));
|
||||
}
|
||||
|
||||
x = (pos.x+((Math.cos(angle+(Math.PI/2)))*distance));
|
||||
|
||||
return toVector3(x, y, z);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPosBehindPos(pos, angle, distance) {
|
||||
let x = pos.x;
|
||||
let y = pos.y;
|
||||
let z = pos.z;
|
||||
|
||||
if(getGame() < VRR_GAME_MAFIA_ONE) {
|
||||
y = (pos.y+((Math.sin(angle-(Math.PI/2)))*distance));
|
||||
} else {
|
||||
angle = radToDeg(angle);
|
||||
z = (pos.z+((Math.sin(angle-(Math.PI/2)))*distance));
|
||||
}
|
||||
|
||||
x = (pos.x+((Math.cos(angle-(Math.PI/2)))*distance));
|
||||
|
||||
return toVector3(x, y, z);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPosAbovePos(pos, distance) {
|
||||
return toVector3(pos.x, pos.y, pos.z+distance);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getPosBelowPos(pos, distance) {
|
||||
return toVector3(pos.x, pos.y, pos.z-distance);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function applyOffsetToPos(position, position2) {
|
||||
return toVector3(position.x+position2.x, position.y+position2.y, position.z+position2.z);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function getRandom(min, max) {
|
||||
return Math.floor(Math.random() * (toInteger(max) - toInteger(min) + 1)) + toInteger(min)
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
Reference in New Issue
Block a user