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;
setHUDEnabled(hudState);
if(typeof setHUDEnabled != "undefined") {
setHUDEnabled(hudState);
}
renderLabels = labelState; renderLabels = labelState;
renderSmallGameMessage = smallGameMessageState; renderSmallGameMessage = smallGameMessageState;
@@ -272,7 +275,9 @@ function setLocalPlayerPedPartsAndProps(parts, props) {
// =========================================================================== // ===========================================================================
function setLocalPlayerArmour(armour) { function setLocalPlayerArmour(armour) {
localPlayer.armour = armour; if(typeof localPlayer.armour != "undefined") {
localPlayer.armour = armour;
}
} }
// =========================================================================== // ===========================================================================

View File

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

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`);
localPlayer.giveWeapon(weaponId, ammo, active); if(getGame() == VRR_GAME_MAFIA_ONE) {
forceWeaponAmmo = localPlayer.getWeaponAmmunition(getWeaponSlot(weaponId)); localPlayer.giveWeapon(weaponId, 0, ammo);
forceWeaponClipAmmo = localPlayer.getWeaponClipAmmunition(getWeaponSlot(weaponId)); forceWeaponAmmo = 0;
forceWeaponClipAmmo = ammo;
} else {
localPlayer.giveWeapon(weaponId, ammo, active);
forceWeaponAmmo = localPlayer.getWeaponAmmunition(getWeaponSlot(weaponId));
forceWeaponClipAmmo = localPlayer.getWeaponClipAmmunition(getWeaponSlot(weaponId));
}
forceWeapon = weaponId; forceWeapon = weaponId;
} }
@@ -318,15 +324,22 @@ 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}`);
localPlayer.velocity = toVector3(0.0, 0.0, 0.0); if(typeof localPlayer.velocity != "undefined") {
localPlayer.position = position; localPlayer.velocity = toVector3(0.0, 0.0, 0.0);
}
if(typeof localPlayer.position != "undefined") {
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}`);
localPlayer.heading = heading; if(typeof localPlayer.heading != "undefined") {
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`);
localPlayer.money = toInteger(amount); if(typeof localPlayer.money != "undefined") {
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,7 +541,9 @@ function processWantedLevelReset() {
return false; return false;
} }
localPlayer.wantedLevel = 0; if(typeof localPlayer.wantedLevel != "undefined") {
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) {
localPlayer.vehicle.velocity = toVector3(0.0, 0.0, 0.0); if(typeof localPlayer.vehicle.velocity != "undefined") {
localPlayer.vehicle.turnVelocity = 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);
}
if(parkedVehiclePosition) { if(parkedVehiclePosition) {
localPlayer.vehicle.position = parkedVehiclePosition; localPlayer.vehicle.position = parkedVehiclePosition;
localPlayer.vehicle.heading = parkedVehicleHeading; localPlayer.vehicle.heading = parkedVehicleHeading;
@@ -591,18 +611,20 @@ function processJobRouteSphere() {
// =========================================================================== // ===========================================================================
function forceLocalPlayerEquippedWeaponItem() { function forceLocalPlayerEquippedWeaponItem() {
if(forceWeapon != 0) { if(typeof localPlayer.weapon != "undefined") {
if(localPlayer.weapon != forceWeapon) { if(forceWeapon != 0) {
localPlayer.weapon = forceWeapon; if(localPlayer.weapon != forceWeapon) {
localPlayer.setWeaponClipAmmunition(getWeaponSlot(forceWeapon), forceWeaponClipAmmo); localPlayer.weapon = forceWeapon;
localPlayer.setWeaponAmmunition(getWeaponSlot(forceWeapon), forceWeaponAmmo); localPlayer.setWeaponClipAmmunition(getWeaponSlot(forceWeapon), forceWeaponClipAmmo);
localPlayer.setWeaponAmmunition(getWeaponSlot(forceWeapon), forceWeaponAmmo);
} else {
forceWeaponClipAmmo = localPlayer.getWeaponClipAmmunition(getWeaponSlot(forceWeapon));
forceWeaponAmmo = localPlayer.getWeaponAmmunition(getWeaponSlot(forceWeapon));
}
} else { } else {
forceWeaponClipAmmo = localPlayer.getWeaponClipAmmunition(getWeaponSlot(forceWeapon)); if(localPlayer.weapon > 0) {
forceWeaponAmmo = localPlayer.getWeaponAmmunition(getWeaponSlot(forceWeapon)); localPlayer.clearWeapons();
} }
} else {
if(localPlayer.weapon > 0) {
localPlayer.clearWeapons();
} }
} }
} }
@@ -702,15 +724,17 @@ function getPlayerFromParams(params) {
// =========================================================================== // ===========================================================================
function processNearbyPickups() { function processNearbyPickups() {
let pickups = getElementsByType(ELEMENT_PICKUP); if(typeof ELEMENT_PICKUP != "undefined") {
for(let i in pickups) { let pickups = getElementsByType(ELEMENT_PICKUP);
if(getDistance(pickups[i].position, localPlayer.position) < 5) { for(let i in pickups) {
//if(pickups[i].interior == localPlayer.interior && pickups[i].dimension == localPlayer.dimension) { if(getDistance(pickups[i].position, localPlayer.position) < 5) {
if(currentPickup != pickups[i]) { //if(pickups[i].interior == localPlayer.interior && pickups[i].dimension == localPlayer.dimension) {
currentPickup = pickups[i]; if(currentPickup != pickups[i]) {
triggerNetworkEvent("vrr.pickup", pickups[i].id); currentPickup = pickups[i];
} triggerNetworkEvent("vrr.pickup", pickups[i].id);
//} }
//}
}
} }
} }
} }

View File

@@ -61,7 +61,13 @@ function getPlayerVehicle(client) {
// =========================================================================== // ===========================================================================
function getPlayerDimension(client) { function getPlayerDimension(client) {
return client.player.dimension; if(!areServerElementsSupported()) {
return getPlayerData(client).syncDimension;
} else {
if(client.player != null) {
return client.player.dimension;
}
}
} }
// =========================================================================== // ===========================================================================
@@ -74,7 +80,13 @@ 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}`);
client.player.dimension = dimension; if(!areServerElementsSupported()) {
getPlayerData(client).syncDimension = dimension;
} else {
if(client.player != null) {
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}`);
client.player.velocity = velocity; if(typeof client.player.velocity != "undefined") {
client.player.velocity = velocity;
}
} }
// =========================================================================== // ===========================================================================
function getPlayerVelocity(client, velocity) { function getPlayerVelocity(client, velocity) {
return client.player.velocity; if(typeof client.player.velocity != "undefined") {
return client.player.velocity;
}
return toVector3(0.0, 0.0, 0.0);
} }
// =========================================================================== // ===========================================================================
function getElementDimension(element) { function getElementDimension(element) {
return element.dimension; if(typeof element.dimension != "undefined") {
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;
}
} }
// =========================================================================== // ===========================================================================