Check some props before using

This commit is contained in:
Vortrex
2021-12-22 23:34:29 -06:00
parent 5fbe1265e4
commit 578e3675db
4 changed files with 109 additions and 41 deletions

View File

@@ -121,7 +121,10 @@ function sendResourceStoppedSignalToServer() {
function setPlayer2DRendering(hudState, labelState, smallGameMessageState, scoreboardState, hotBarState, itemActionDelayState) { function setPlayer2DRendering(hudState, labelState, smallGameMessageState, scoreboardState, hotBarState, itemActionDelayState) {
logToConsole(LOG_DEBUG, `[VRR.Main] Updating render states (HUD: ${hudState}, Labels: ${labelState}, Bottom Text: ${smallGameMessageState}, Scoreboard: ${scoreboardState}, HotBar: ${hotBarState}, Item Action Delay: ${itemActionDelayState})`); logToConsole(LOG_DEBUG, `[VRR.Main] Updating render states (HUD: ${hudState}, Labels: ${labelState}, Bottom Text: ${smallGameMessageState}, Scoreboard: ${scoreboardState}, HotBar: ${hotBarState}, Item Action Delay: ${itemActionDelayState})`);
renderHUD = hudState; renderHUD = hudState;
if(typeof setHUDEnabled != "undefined") {
setHUDEnabled(hudState); setHUDEnabled(hudState);
}
renderLabels = labelState; renderLabels = labelState;
renderSmallGameMessage = smallGameMessageState; renderSmallGameMessage = smallGameMessageState;
@@ -272,7 +275,9 @@ function setLocalPlayerPedPartsAndProps(parts, props) {
// =========================================================================== // ===========================================================================
function setLocalPlayerArmour(armour) { function setLocalPlayerArmour(armour) {
if(typeof localPlayer.armour != "undefined") {
localPlayer.armour = armour; localPlayer.armour = armour;
} }
}
// =========================================================================== // ===========================================================================

View File

@@ -358,8 +358,10 @@ function syncObjectProperties(object) {
function syncElementProperties(element) { function syncElementProperties(element) {
if(doesEntityDataExist(element, "vrr.interior")) { if(doesEntityDataExist(element, "vrr.interior")) {
if(typeof element.interior != "undefined") {
element.interior = getEntityData(element, "vrr.interior"); element.interior = getEntityData(element, "vrr.interior");
} }
}
switch(element.type) { switch(element.type) {
case ELEMENT_VEHICLE: case ELEMENT_VEHICLE:

View File

@@ -292,9 +292,15 @@ function giveLocalPlayerWeapon(weaponId, ammo, active) {
function giveLocalPlayerWeapon(weaponId, ammo, active) { function giveLocalPlayerWeapon(weaponId, ammo, active) {
logToConsole(LOG_DEBUG, `[VRR.Utilities] Giving weapon ${weaponId} with ${ammo} ammo`); logToConsole(LOG_DEBUG, `[VRR.Utilities] Giving weapon ${weaponId} with ${ammo} ammo`);
if(getGame() == VRR_GAME_MAFIA_ONE) {
localPlayer.giveWeapon(weaponId, 0, ammo);
forceWeaponAmmo = 0;
forceWeaponClipAmmo = ammo;
} else {
localPlayer.giveWeapon(weaponId, ammo, active); localPlayer.giveWeapon(weaponId, ammo, active);
forceWeaponAmmo = localPlayer.getWeaponAmmunition(getWeaponSlot(weaponId)); forceWeaponAmmo = localPlayer.getWeaponAmmunition(getWeaponSlot(weaponId));
forceWeaponClipAmmo = localPlayer.getWeaponClipAmmunition(getWeaponSlot(weaponId)); forceWeaponClipAmmo = localPlayer.getWeaponClipAmmunition(getWeaponSlot(weaponId));
}
forceWeapon = weaponId; forceWeapon = weaponId;
} }
@@ -318,16 +324,23 @@ function getClosestVehicle(pos) {
function setLocalPlayerPosition(position) { function setLocalPlayerPosition(position) {
logToConsole(LOG_DEBUG, `[VRR.Utilities] Setting position to ${position.x}, ${position.y}, ${position.z}`); logToConsole(LOG_DEBUG, `[VRR.Utilities] Setting position to ${position.x}, ${position.y}, ${position.z}`);
if(typeof localPlayer.velocity != "undefined") {
localPlayer.velocity = toVector3(0.0, 0.0, 0.0); localPlayer.velocity = toVector3(0.0, 0.0, 0.0);
}
if(typeof localPlayer.position != "undefined") {
localPlayer.position = position; localPlayer.position = position;
} }
}
// =========================================================================== // ===========================================================================
function setLocalPlayerHeading(heading) { function setLocalPlayerHeading(heading) {
logToConsole(LOG_DEBUG, `[VRR.Utilities] Setting heading to ${heading}`); logToConsole(LOG_DEBUG, `[VRR.Utilities] Setting heading to ${heading}`);
if(typeof localPlayer.heading != "undefined") {
localPlayer.heading = heading; localPlayer.heading = heading;
} }
}
// =========================================================================== // ===========================================================================
@@ -484,13 +497,15 @@ function setPlayerWeaponDamageEnabled(clientName, state) {
function setLocalPlayerCash(amount) { function setLocalPlayerCash(amount) {
logToConsole(LOG_DEBUG, `[VRR.Utilities] Setting local player money`); logToConsole(LOG_DEBUG, `[VRR.Utilities] Setting local player money`);
if(typeof localPlayer.money != "undefined") {
localPlayer.money = toInteger(amount); localPlayer.money = toInteger(amount);
} }
}
// =========================================================================== // ===========================================================================
function destroyAutoCreatedPickups() { function destroyAutoCreatedPickups() {
if(arePickupsSupported()) { if(typeof ELEMENT_PICKUP != "undefined") {
getElementsByType(ELEMENT_PICKUP).forEach(function(pickup) { getElementsByType(ELEMENT_PICKUP).forEach(function(pickup) {
if(pickup.isOwner) { if(pickup.isOwner) {
destroyElement(pickup); destroyElement(pickup);
@@ -526,8 +541,10 @@ function processWantedLevelReset() {
return false; return false;
} }
if(typeof localPlayer.wantedLevel != "undefined") {
localPlayer.wantedLevel = 0; localPlayer.wantedLevel = 0;
} }
}
// =========================================================================== // ===========================================================================
@@ -537,8 +554,11 @@ function processLocalPlayerVehicleControlState() {
if(areServerElementsSupported()) { if(areServerElementsSupported()) {
if(inVehicle && localPlayer.vehicle != null) { if(inVehicle && localPlayer.vehicle != null) {
if(!localPlayer.vehicle.engine) { if(!localPlayer.vehicle.engine) {
if(typeof localPlayer.vehicle.velocity != "undefined") {
localPlayer.vehicle.velocity = toVector3(0.0, 0.0, 0.0); localPlayer.vehicle.velocity = toVector3(0.0, 0.0, 0.0);
localPlayer.vehicle.turnVelocity = toVector3(0.0, 0.0, 0.0); localPlayer.vehicle.turnVelocity = toVector3(0.0, 0.0, 0.0);
}
if(parkedVehiclePosition) { if(parkedVehiclePosition) {
localPlayer.vehicle.position = parkedVehiclePosition; localPlayer.vehicle.position = parkedVehiclePosition;
localPlayer.vehicle.heading = parkedVehicleHeading; localPlayer.vehicle.heading = parkedVehicleHeading;
@@ -591,6 +611,7 @@ function processJobRouteSphere() {
// =========================================================================== // ===========================================================================
function forceLocalPlayerEquippedWeaponItem() { function forceLocalPlayerEquippedWeaponItem() {
if(typeof localPlayer.weapon != "undefined") {
if(forceWeapon != 0) { if(forceWeapon != 0) {
if(localPlayer.weapon != forceWeapon) { if(localPlayer.weapon != forceWeapon) {
localPlayer.weapon = forceWeapon; localPlayer.weapon = forceWeapon;
@@ -606,6 +627,7 @@ function forceLocalPlayerEquippedWeaponItem() {
} }
} }
} }
}
// =========================================================================== // ===========================================================================
@@ -702,6 +724,7 @@ function getPlayerFromParams(params) {
// =========================================================================== // ===========================================================================
function processNearbyPickups() { function processNearbyPickups() {
if(typeof ELEMENT_PICKUP != "undefined") {
let pickups = getElementsByType(ELEMENT_PICKUP); let pickups = getElementsByType(ELEMENT_PICKUP);
for(let i in pickups) { for(let i in pickups) {
if(getDistance(pickups[i].position, localPlayer.position) < 5) { if(getDistance(pickups[i].position, localPlayer.position) < 5) {
@@ -714,6 +737,7 @@ function processNearbyPickups() {
} }
} }
} }
}
// =========================================================================== // ===========================================================================

View File

@@ -61,8 +61,14 @@ function getPlayerVehicle(client) {
// =========================================================================== // ===========================================================================
function getPlayerDimension(client) { function getPlayerDimension(client) {
if(!areServerElementsSupported()) {
return getPlayerData(client).syncDimension;
} else {
if(client.player != null) {
return client.player.dimension; return client.player.dimension;
} }
}
}
// =========================================================================== // ===========================================================================
@@ -74,8 +80,14 @@ function getPlayerInterior(client) {
function setPlayerDimension(client, dimension) { function setPlayerDimension(client, dimension) {
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s dimension to ${dimension}`); logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s dimension to ${dimension}`);
if(!areServerElementsSupported()) {
getPlayerData(client).syncDimension = dimension;
} else {
if(client.player != null) {
client.player.dimension = dimension; client.player.dimension = dimension;
} }
}
}
// =========================================================================== // ===========================================================================
@@ -288,25 +300,37 @@ function getPlayerWeaponAmmo(client) {
function setPlayerVelocity(client, velocity) { function setPlayerVelocity(client, velocity) {
logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s velocity to ${velocity.x}, ${velocity.y}, ${velocity.z}`); logToConsole(LOG_DEBUG, `Setting ${getPlayerDisplayForConsole(client)}'s velocity to ${velocity.x}, ${velocity.y}, ${velocity.z}`);
if(typeof client.player.velocity != "undefined") {
client.player.velocity = velocity; client.player.velocity = velocity;
} }
}
// =========================================================================== // ===========================================================================
function getPlayerVelocity(client, velocity) { function getPlayerVelocity(client, velocity) {
if(typeof client.player.velocity != "undefined") {
return client.player.velocity; return client.player.velocity;
} }
return toVector3(0.0, 0.0, 0.0);
}
// =========================================================================== // ===========================================================================
function getElementDimension(element) { function getElementDimension(element) {
if(typeof element.dimension != "undefined") {
return element.dimension; return element.dimension;
} }
return 0;
}
// =========================================================================== // ===========================================================================
function setElementDimension(element, dimension) { function setElementDimension(element, dimension) {
return element.dimension = dimension; if(typeof element.dimension != "undefined") {
element.dimension = dimension;
return true;
}
return false;
} }
// =========================================================================== // ===========================================================================
@@ -603,7 +627,20 @@ function isTaxiVehicle(vehicle) {
// =========================================================================== // ===========================================================================
function getVehicleName(vehicle) { function getVehicleName(vehicle) {
return getVehicleNameFromModel(vehicle.modelIndex) || "Unknown"; let model = getElementModel(vehicle);
return getVehicleNameFromModel(model) || "Unknown";
}
// ===========================================================================
function getElementModel(element) {
if(typeof element.modelIndex != "undefined") {
return element.modelIndex;
}
if(typeof element.model != "undefined") {
return element.model;
}
} }
// =========================================================================== // ===========================================================================