diff --git a/scripts/client/nametag.js b/scripts/client/nametag.js index 757683b2..ccc8347c 100644 --- a/scripts/client/nametag.js +++ b/scripts/client/nametag.js @@ -51,8 +51,8 @@ function updatePlayerNameTag(clientName, characterName, colour, paused, ping) { if(game.game == VRR_GAME_GTA_IV) { let client = getPlayerFromParams(clientName); if(client != false) { - if(client.player != null) { - client.player.setNametag(characterName, colour); + if(getPlayerPed(client) != null) { + getPlayerPed(client).setNametag(characterName, colour); } } } @@ -205,7 +205,7 @@ function updateNametags(element) { function getClientFromPlayer(player) { getClients().forEach(function(client) { - if(client.player == player) { + if(getPlayerPed(client) == player) { return client; } }); diff --git a/scripts/server/account.js b/scripts/server/account.js index 571fbc9c..f21488f2 100644 --- a/scripts/server/account.js +++ b/scripts/server/account.js @@ -1089,7 +1089,7 @@ function isValidEmailAddress(emailAddress) { // =========================================================================== -function saveAllClientsToDatabase() { +function savePlayersToDatabase() { logToConsole(LOG_DEBUG, "[VRR.Account]: Saving all clients to database ..."); getClients().forEach(function(client) { savePlayerToDatabase(client); @@ -1114,7 +1114,7 @@ function savePlayerToDatabase(client) { if(getPlayerData(client).currentSubAccount != -1) { //let subAccountData = getPlayerCurrentSubAccount(client); - if(client.player != null) { + if(getPlayerPed(client) != null) { if(getPlayerData(client).returnToPosition != null) { getPlayerCurrentSubAccount(client).spawnPosition = getPlayerData(client).returnToPosition; getPlayerCurrentSubAccount(client).spawnHeading = getPlayerData(client).returnToHeading.z; diff --git a/scripts/server/animation.js b/scripts/server/animation.js index cf68b0bc..3f4fde4f 100644 --- a/scripts/server/animation.js +++ b/scripts/server/animation.js @@ -56,7 +56,7 @@ function stopPlayerAnimationCommand(command, params, client) { } setPlayerPosition(client, getPlayerData(client).currentAnimationPositionReturnTo); - makePedStopAnimation(getPlayerData(client).ped); + makePedStopAnimation(getPlayerPed(client)); getPlayerData(client).currentAnimation = -1; getPlayerData(client).currentAnimationPositionOffset = false; @@ -106,7 +106,7 @@ function makePlayerPlayAnimation(client, animationSlot, offsetPosition = 1) { getPlayerData(client).animationStart = getCurrentUnixTimestamp(); getPlayerData(client).animationForced = false; - makePedPlayAnimation(getPlayerData(client).ped, animationSlot, offsetPosition); + makePedPlayAnimation(getPlayerPed(client), animationSlot, offsetPosition); setEntityData(ped, "vrr.anim", [animationData[1], animationData[2]]); //if(getAnimationData(animationSlot)[9] != VRR_ANIMMOVE_NONE) { // if(getGame() < VRR_GAME_GTA_SA) { @@ -125,14 +125,14 @@ function forcePlayerPlayAnimation(client, animationSlot, offsetPosition = 1) { getPlayerData(client).animationForced = true; setPlayerControlState(client, false); - forcePedAnimation(getPlayerData(client).ped, animationSlot, offsetPosition); + forcePedAnimation(getPlayerPed(client), animationSlot, offsetPosition); } // =========================================================================== function makePlayerStopAnimation(client) { //setPlayerPosition(client, getPlayerData(client).currentAnimationPositionReturnTo); - makePedStopAnimation(getPlayerData(client).ped); + makePedStopAnimation(getPlayerPed(client)); getPlayerData(client).currentAnimation = -1; getPlayerData(client).currentAnimationPositionOffset = false; diff --git a/scripts/server/client.js b/scripts/server/client.js index 6e4611db..0dc7e1e9 100644 --- a/scripts/server/client.js +++ b/scripts/server/client.js @@ -210,7 +210,7 @@ function setPlayer2DRendering(client, hudState = false, labelState = false, smal function syncPlayerProperties(client) { logToConsole(LOG_DEBUG, `[VRR.Client] Sending signal to sync ${getPlayerDisplayForConsole(client)}'s player ped properties`); - sendNetworkEventToPlayer("vrr.syncElement", null, client.player.id); + sendNetworkEventToPlayer("vrr.syncElement", null, getPlayerPed(client).id); } // =========================================================================== @@ -1033,7 +1033,7 @@ function makePedStopAnimation(pedId) { function forcePedAnimation(ped, animationSlot) { let animationData = getAnimationData(animationSlot); - removeEntityData(ped, "vrr.animation", animationData[1], animationData[2]); + removeEntityData(ped, "vrr.animation", [animationData[1], animationData[2]], true); sendNetworkEventToPlayer("vrr.forcePedAnim", null, ped.id, animationData[1], animationData[2], animationData[3], animationData[4]); } diff --git a/scripts/server/item.js b/scripts/server/item.js index daa03222..085b7575 100644 --- a/scripts/server/item.js +++ b/scripts/server/item.js @@ -10,7 +10,9 @@ function initItemScript() { logToConsole(LOG_INFO, "[VRR.Item]: Initializing item script ..."); getServerData().itemTypes = loadItemTypesFromDatabase(); - getServerData().items = loadItemsFromDatabase(); + if(!getServerConfig().devServer) { + getServerData().items = loadItemsFromDatabase(); + } setItemTypeDataIndexes(); setItemDataIndexes(); @@ -798,7 +800,7 @@ function playerUseItem(client, hotBarSlot) { break; case VRR_ITEM_USETYPE_ROPE: - closestPlayer = getClosestPlayer(getPlayerPosition(client), client.player); + closestPlayer = getClosestPlayer(getPlayerPosition(client), getPlayerPed(client)); if(!getPlayerData(closestPlayer)) { messagePlayerError(client, "There isn't anyone close enough to tie up!"); @@ -1684,7 +1686,11 @@ function getItemTypeData(itemTypeId) { // =========================================================================== -function saveAllItemsToDatabase() { +function saveItemsToDatabase() { + if(getServerConfig().devServer) { + return false; + } + for(let i in getServerData().items) { saveItemToDatabase(i); } @@ -1692,7 +1698,11 @@ function saveAllItemsToDatabase() { // =========================================================================== -function saveAllItemTypesToDatabase() { +function saveItemTypesToDatabase() { + if(getServerConfig().devServer) { + return false; + } + for(let i in getServerData().itemTypes) { saveItemTypeToDatabase(i); } diff --git a/scripts/server/job.js b/scripts/server/job.js index 6bffa7c3..904b37d5 100644 --- a/scripts/server/job.js +++ b/scripts/server/job.js @@ -617,7 +617,7 @@ function stopWorking(client) { let jobVehicle = getPlayerData(client).lastJobVehicle; if(jobVehicle) { - if(client.player.vehicle) { + if(getPlayerVehicle(client) == jobVehicle) { removePlayerFromVehicle(client); //client.player.removeFromVehicle(); } @@ -2236,7 +2236,7 @@ function saveJobUniformToDatabase(jobUniformData) { // =========================================================================== -function saveAllJobsToDatabase() { +function saveJobsToDatabase() { for(let i in getServerData().jobs) { saveJobToDatabase(getServerData().jobs[i]); diff --git a/scripts/server/misc.js b/scripts/server/misc.js index 245758e5..dfaa7ea9 100644 --- a/scripts/server/misc.js +++ b/scripts/server/misc.js @@ -44,9 +44,11 @@ function toggleMouseCameraCommand(command, params, client) { // =========================================================================== function setNewCharacterSpawnPositionCommand(command, params, client) { - let position = client.player.position; + let position = getPlayerPosition(client); + let heading = getPlayerHeading(client); + getServerConfig().newCharacter.spawnPosition = position; - getServerConfig().newCharacter.spawnHeading = client.player.heading; + getServerConfig().newCharacter.spawnHeading = heading; getServerConfig().needsSaved = true; messagePlayerNormal(client, `The new character spawn position has been set to ${position.x.toFixed(2)}, ${position.y.toFixed(2)}, ${position.z.toFixed(2)}`) diff --git a/scripts/server/native/connected.js b/scripts/server/native/connected.js index 447104bf..9184cb44 100644 --- a/scripts/server/native/connected.js +++ b/scripts/server/native/connected.js @@ -26,8 +26,8 @@ function getPlayerPosition(client) { if(!areServerElementsSupported()) { return getPlayerData(client).syncPosition; } else { - if(client.player != null) { - return client.player.position; + if(getPlayerPed(client) != null) { + return getPlayerPed(client).position; } } } @@ -45,8 +45,8 @@ function getPlayerHeading(client) { if(!areServerElementsSupported()) { return getPlayerData(client).syncHeading; } else { - if(client.player != null) { - return client.player.heading; + if(getPlayerPed(client) != null) { + return getPlayerPed(client).heading; } } } @@ -64,8 +64,8 @@ function getPlayerVehicle(client) { if(!areServerElementsSupported()) { return getPlayerData().syncVehicle; } else { - if(client.player.vehicle) { - return client.player.vehicle; + if(getPlayerPed(client).vehicle) { + return getPlayerPed(client).vehicle; } } return false; @@ -77,8 +77,8 @@ function getPlayerDimension(client) { if(!areServerElementsSupported()) { return getPlayerData(client).syncDimension; } else { - if(client.player != null) { - return client.player.dimension; + if(getPlayerPed(client) != null) { + return getPlayerPed(client).dimension; } } } @@ -96,8 +96,8 @@ function setPlayerDimension(client, dimension) { if(!areServerElementsSupported()) { getPlayerData(client).syncDimension = dimension; } else { - if(client.player != null) { - client.player.dimension = dimension; + if(getPlayerPed(client) != null) { + getPlayerPed(client).dimension = dimension; } } } @@ -118,7 +118,7 @@ function isPlayerInAnyVehicle(client) { if(!areServerElementsSupported()) { return (getPlayerData().syncVehicle != null); } else { - return (client.player.vehicle != null); + return (getPlayerPed(client).vehicle != null); } } @@ -133,7 +133,7 @@ function getPlayerVehicleSeat(client) { return getPlayerData().syncVehicleSeat; } else { for(let i = 0 ; i <= 8 ; i++) { - if(getPlayerVehicle(client).getOccupant(i) == client.player) { + if(getPlayerVehicle(client).getOccupant(i) == getPlayerPed(client)) { return i; } } @@ -172,13 +172,20 @@ function setVehicleHeading(vehicle, heading) { // =========================================================================== function getElementTransient(element) { - return element.transient; + if(typeof element.transient != "undefined") { + return element.transient; + } + return false; } // =========================================================================== function setElementTransient(element, state) { - return element.transient = state; + if(typeof element.transient != "undefined") { + element.transient = state; + return true; + } + return false; } // =========================================================================== @@ -233,7 +240,7 @@ function setPlayerSkin(client, skinIndex) { if(getGame() == VRR_GAME_GTA_IV) { triggerNetworkEvent("vrr.localPlayerSkin", client, getGameConfig().skins[getGame()][skinIndex][0]); } else { - client.player.modelIndex = getGameConfig().skins[getGame()][skinIndex][0]; + getPlayerPed(client).modelIndex = getGameConfig().skins[getGame()][skinIndex][0]; } } @@ -268,7 +275,11 @@ function setPlayerArmour(client, armour) { // =========================================================================== function getPlayerArmour(client) { - return client.player.armour; + if(areServerElementsSupported(client)) { + return getPlayerPed(client).armour; + } else { + return getPlayerData(client).syncArmour; + } } // =========================================================================== @@ -333,23 +344,23 @@ function getElementSyncer(element) { // =========================================================================== function getPlayerWeaponAmmo(client) { - return client.player.weaponAmmunition; + return getPlayerPed(client).weaponAmmunition; } // =========================================================================== function setPlayerVelocity(client, velocity) { 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; + if(typeof cgetPlayerPed(client).velocity != "undefined") { + getPlayerPed(client).velocity = velocity; } } // =========================================================================== -function getPlayerVelocity(client, velocity) { - if(typeof client.player.velocity != "undefined") { - return client.player.velocity; +function getPlayerVelocity(client) { + if(typeof getPlayerPed(client).velocity != "undefined") { + return getPlayerPed(client).velocity; } return toVector3(0.0, 0.0, 0.0); } @@ -717,7 +728,11 @@ function givePlayerWeaponAmmo(client, ammo) { // =========================================================================== function getPlayerWeapon(client) { - return client.player.weapon; + if(areServerElementsSupported(client)) { + return getPlayerPed(client).weapon;; + } else { + return getPlayerData(client).syncWeapon; + } } // =========================================================================== @@ -1081,4 +1096,30 @@ function setPlayerWantedLevel(client, wantedLevel) { return true; } +// =========================================================================== + +function setElementStreamInDistance(element, distance) { + if(typeof element.streamInDistance != "undefined") { + element.streamInDistance = distance; + } +} + +// =========================================================================== + +function setElementStreamOutDistance(element, distance) { + if(typeof element.streamOutDistance != "undefined") { + element.streamOutDistance = distance; + } +} + +// =========================================================================== + +function getPlayerPed(client) { + if(getGame() == VRR_GAME_GTA_IV) { + return getPlayerData(client).ped; + } else { + return client.player; + } +} + // =========================================================================== \ No newline at end of file