From f11b634c8bacf6e1c5317b4e296c262f20777aed Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Tue, 31 May 2022 08:47:38 -0500 Subject: [PATCH 01/57] Use local vars for item use processing --- scripts/server/item.js | 117 +++++++++++++++++++++-------------------- 1 file changed, 60 insertions(+), 57 deletions(-) diff --git a/scripts/server/item.js b/scripts/server/item.js index cf9bb58e..9c1ed3a2 100644 --- a/scripts/server/item.js +++ b/scripts/server/item.js @@ -729,6 +729,10 @@ function playerUseItem(client, hotBarSlot) { return false; } + let itemData = getItemData(itemIndex); + let itemTypeData = getItemTypeData(itemIndex); + let hotBarItems = getPlayerData(client).hotBarItems; + switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) { case VRR_ITEM_USETYPE_SKIN: { getPlayerData(client).itemActionItem = itemIndex; @@ -737,22 +741,22 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_WEAPON: { - for(let i in getPlayerData(client).hotBarItems) { - if(getPlayerData(client).hotBarItems[i] != -1) { - if(getItemData(getPlayerData(client).hotBarItems[i]) != false) { - if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) { - if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useId == getItemTypeData(getItemData(itemIndex).itemTypeIndex).databaseId) { - givePlayerWeaponAmmo(client, getItemData(getPlayerData(client).hotBarItems[i]).value); - getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value = getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value + getItemData(getPlayerData(client).hotBarItems[i]).value; - deleteItem(getPlayerData(client).hotBarItems[i]); - meActionToNearbyPlayers(client, `loads some ammo into their ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name}`); + for(let i in hotBarItems) { + if(hotBarItems[i] != -1) { + if(getItemData(hotBarItems[i]) != false) { + if(itemTypeData.useType == VRR_ITEM_USETYPE_AMMO_CLIP) { + if(itemTypeData.useId == itemTypeData.databaseId) { + givePlayerWeaponAmmo(client, getItemData(hotBarItems[i]).value); + getItemData(hotBarItems[hotBarSlot]).value = getItemData(hotBarItems[hotBarSlot]).value + getItemData(hotBarItems[i]).value; + deleteItem(hotBarItems[i]); + meActionToNearbyPlayers(client, `loads some ammo into their ${itemTypeData.name}`); return true; } } } } } - messagePlayerError(client, `You don't have any ammo to load into your ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name}!`); + messagePlayerError(client, `You don't have any ammo to load into your ${itemTypeData.name}!`); break; } @@ -767,9 +771,9 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_FOOD: { - meActionToNearbyPlayers(client, `eats some of their ${getItemName(itemIndex)}`); - givePlayerHealth(client, getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue); - getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; + meActionToNearbyPlayers(client, `eats some of their ${itemTypeData.name}`); + givePlayerHealth(client, itemTypeData.useValue); + itemData.value = itemData.value - tempItemTypeData.useValue; if(getItemData(itemIndex).value <= 0) { deleteItem(itemIndex); switchPlayerActiveHotBarSlot(client, -1); @@ -778,10 +782,10 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_DRINK: { - meActionToNearbyPlayers(client, `drinks some of their ${getItemName(itemIndex)}`); - givePlayerHealth(client, getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue); - getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; - if(getItemData(itemIndex).value <= 0) { + meActionToNearbyPlayers(client, `drinks some of their ${itemTypeData.name}`); + givePlayerHealth(client, itemTypeData.useValue); + itemData.value = itemData.value - itemTypeData.useValue; + if(itemData.value <= 0) { deleteItem(itemIndex); switchPlayerActiveHotBarSlot(client, -1); } @@ -789,8 +793,8 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_ARMOUR: { - meActionToNearbyPlayers(client, `puts on a ${getItemName(itemIndex)}`); - givePlayerArmour(client, getItemData(itemIndex).useValue); + meActionToNearbyPlayers(client, `puts on a ${itemTypeData.name}`); + givePlayerArmour(client, itemTypeData.useValue); deleteItem(itemIndex); switchPlayerActiveHotBarSlot(client, -1); break; @@ -868,8 +872,8 @@ function playerUseItem(client, hotBarSlot) { meActionToNearbyPlayers(client, `takes their repair kit and fixes the vehicle`); repairVehicle(vehicle); - getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; - if(getItemData(itemIndex).value <= 0) { + itemData.value = itemData.value - itemTypeData.useValue; + if(itemData.value <= 0) { destroyItem(itemIndex); } } else { @@ -881,8 +885,8 @@ function playerUseItem(client, hotBarSlot) { case VRR_ITEM_USETYPE_VEHUPGRADE_PART: { let vehicle = getClosestVehicle(getPlayerPosition(client)); if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { - meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${getItemName(itemIndex)} to the vehicle.`); - addVehicleUpgrade(vehicle, getItemData(itemIndex).useId); + meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${itemTypeData.name} to the vehicle.`); + addVehicleUpgrade(vehicle, itemTypeData.useId); } break; } @@ -891,7 +895,7 @@ function playerUseItem(client, hotBarSlot) { let vehicle = getClosestVehicle(getPlayerPosition(client)); if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { meActionToNearbyPlayers(client, `takes their decal kit and adds some decals to the vehicle.`); - setVehicleLivery(vehicle, getItemData(itemIndex).value); + setVehicleLivery(vehicle, itemData.value); } break; } @@ -899,13 +903,13 @@ function playerUseItem(client, hotBarSlot) { case VRR_ITEM_USETYPE_VEHCOLOUR: { let vehicle = getClosestVehicle(getPlayerPosition(client)); if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { - if(getItemData(itemIndex).useId == 1) { + if(itemData.useId == 1) { meActionToNearbyPlayers(client, `takes their vehicle colour kit and changes the primary colour of the vehicle.`); - vehicle.colour1 = getItemData(itemIndex).value; + vehicle.colour1 = itemData.value; } else { - if(getItemData(itemIndex).useId == 1) { + if(itemTypeData.useId == 1) { meActionToNearbyPlayers(client, `takes their vehicle colour kit and changes the secondary colour of the vehicle.`); - vehicle.colour2 = getItemData(itemIndex).value; + vehicle.colour2 = itemData.value; } } } @@ -918,26 +922,26 @@ function playerUseItem(client, hotBarSlot) { if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getDistance(getPlayerPosition(client), getFuelPumpData(fuelPump).position)) { if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { meActionToNearbyPlayers(client, `takes their fuel can and refills the vehicle`); - if(getItemData(itemIndex).value < getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue) { - getVehicleData(vehicle).fuel += getItemData(itemIndex).value; + if(itemData.value < itemTypeData.useValue) { + getVehicleData(vehicle).fuel += itemData.value; } else { - getVehicleData(vehicle).fuel += getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; + getVehicleData(vehicle).fuel += itemTypeData.useValue; } - getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; + itemData.value = itemData.value - itemTypeData.useValue; //if(getItemData(itemIndex).value <= 0) { // destroyItem(itemIndex); //} } } else { if(getDistance(getPlayerPosition(client), getFuelPumpData(fuelPump).position) <= getGlobalConfig().vehicleRepairDistance) { - if(getItemData(itemIndex).useId == 1) { + if(itemData.useId == 1) { meActionToNearbyPlayers(client, `takes their vehicle colour kit and changes the primary colour of the vehicle.`); - vehicle.colour1 = getItemTypeData(itemIndex).value; + vehicle.colour1 = itemTypeData.value; } else { - if(getItemData(itemIndex).useId == 1) { + if(itemData.useId == 1) { meActionToNearbyPlayers(client, `takes their vehicle colour kit and changes the secondary colour of the vehicle.`); - vehicle.colour2 = getItemData(itemIndex).value; + vehicle.colour2 = itemData.value; } } } @@ -946,20 +950,19 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_WALKIETALKIE: { - getItemData(itemIndex).enabled = !getItemData(itemIndex).enabled; - //messagePlayerAlert(client, `You turned ${getBoolRedGreenInlineColour(getItemData(itemIndex).enabled)}${toUpperCase(getOnOffFromBool(getItemData(itemIndex).enabled))} {MAINCOLOUR}your walkie talkie in slot ${getPlayerData(client).activeHotBarSlot+1} {ALTCOLOUR}${getItemValueDisplayForItem(itemIndex)}`); - meActionToNearbyPlayers(client, `turns ${toLowerCase(getOnOffFromBool(getItemData(itemIndex).enabled))} their walkie-talkie`); + itemData.enabled = !itemData.enabled; + meActionToNearbyPlayers(client, `turns ${toLowerCase(getOnOffFromBool(itemData.enabled))} their walkie-talkie`); break; } case VRR_ITEM_USETYPE_PHONE: { - if(getItemData(itemIndex).value == 0) { + if(itemData.value == 0) { let phoneNumber = generateRandomPhoneNumber(); - getItemData(itemIndex).value = phoneNumber; - messagePlayerAlert(client, `Your ${getItemName(itemIndex)} has been set up with number ${phoneNumber}`); + itemData.value = phoneNumber; + messagePlayerAlert(client, `Your ${itemTypeData.name} has been set up with number ${phoneNumber}`); } else { - getItemData(itemIndex).enabled = !getItemData(itemIndex).enabled; - if(getItemData(itemIndex).enabled) { + itemData.enabled = !itemData.enabled; + if(itemData.enabled) { //messagePlayerAlert(client, `You turned on your phone in slot ${getPlayerData(client).activeHotBarSlot+1} ${getItemValueDisplayForItem(itemIndex)}`); meActionToNearbyPlayers(client, `turns on their phone`); } else { @@ -971,8 +974,8 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_SMOKEDRUG: { - meActionToNearbyPlayers(client, `smokes some ${getItemName(itemIndex)}`); - getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue/100); + meActionToNearbyPlayers(client, `smokes some ${itemTypeData.name}`); + getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(itemTypeData.useValue/100); if(getPlayerData(client).incomingDamageMultiplier < 0.25) { getPlayerData(client).incomingDamageMultiplier = 0.25; } @@ -982,8 +985,8 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_SNORTDRUG: { - meActionToNearbyPlayers(client, `snorts some ${getItemName(itemIndex)}`); - getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue/100); + meActionToNearbyPlayers(client, `snorts some ${itemTypeData.name}`); + getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(itemTypeData.useValue/100); if(getPlayerData(client).incomingDamageMultiplier < 0.25) { getPlayerData(client).incomingDamageMultiplier = 0.25; } @@ -993,8 +996,8 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_INJECTDRUG: { - meActionToNearbyPlayers(client, `shoots up some ${getItemName(itemIndex)}`); - getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue/100); + meActionToNearbyPlayers(client, `shoots up some ${itemTypeData.name}`); + getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(itemTypeData.useValue/100); if(getPlayerData(client).incomingDamageMultiplier < 0.25) { getPlayerData(client).incomingDamageMultiplier = 0.25; } @@ -1004,9 +1007,9 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_PLANT: { - meActionToNearbyPlayers(client, `bends down and plants a ${getItemName(itemIndex)} in the ground`); + meActionToNearbyPlayers(client, `bends down and plants a ${itemTypeData.name} in the ground`); createGroundPlant(itemIndex); - if(getItemData(itemIndex).value == 0) { + if(itemData.value == 0) { destroyItem(itemIndex); switchPlayerActiveHotBarSlot(client, -1); } @@ -1048,25 +1051,25 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_LOTTOTICKET: { - break; } case VRR_ITEM_USETYPE_AREARADIO: { - let state = getItemData(itemIndex) - meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(state)} the boombox radio`); + itemData.enabled = !itemData.enabled; + meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(itemData.enabled)} the boombox radio`); messagePlayerAlert(client, `Use /radiostation to set the radio station and drop it on the ground to play`); break; } case VRR_ITEM_USETYPE_PERSONALRADIO: { - meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(state)} the boombox radio`); + itemData.enabled = !itemData.enabled; + meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(itemData.enabled)} the boombox radio`); messagePlayerAlert(client, `Use /radiostation to set the radio station`); break; } default: { - messagePlayerError(client, `The ${getItemName(itemIndex)} doesn't do anything when you try to use it.`); + messagePlayerError(client, `The ${itemTypeData.name} doesn't do anything when you try to use it.`); break; } } From f4969165bf8cca30fc3617d9dccf814cbb08b0ce Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Tue, 31 May 2022 08:58:57 -0500 Subject: [PATCH 02/57] Remove RageMP index files (kept on RMP branch) --- scripts/client/index.js | 34 ---------------- scripts/server/index.js | 86 ----------------------------------------- 2 files changed, 120 deletions(-) delete mode 100644 scripts/client/index.js delete mode 100644 scripts/server/index.js diff --git a/scripts/client/index.js b/scripts/client/index.js deleted file mode 100644 index 4dd994ea..00000000 --- a/scripts/client/index.js +++ /dev/null @@ -1,34 +0,0 @@ -// For RAGEMP only - -// Shared Scripts -require("../scripts/shared/const.js"); -require("../scripts/shared/utilities.js"); -require("../scripts/shared/gamedata.js"); - -// Multiplayer Mod (Wrapped Natives) -require("scripts/client/native/ragemp.js"); - -// Client Scripts -require("scripts/client/gui.js"); -require("scripts/client/main.js"); -require("scripts/client/nametag.js"); -require("scripts/client/sync.js"); -require("scripts/client/scoreboard.js"); -require("scripts/client/keybind.js"); -require("scripts/client/chatbox.js"); -require("scripts/client/label.js"); -require("scripts/client/skin-select.js"); -require("scripts/client/server.js"); -require("scripts/client/job.js"); -require("scripts/client/event.js"); -require("scripts/client/item.js"); -require("scripts/client/utilities.js"); -require("scripts/client/messaging.js"); -require("scripts/client/logo.js"); -require("scripts/client/afk.js"); -require("scripts/client/mousecam.js"); -require("scripts/client/radio.js"); -require("scripts/client/animation.js"); - -// Startup -require("scripts/client/startup.js"); \ No newline at end of file diff --git a/scripts/server/index.js b/scripts/server/index.js deleted file mode 100644 index 67fbcb04..00000000 --- a/scripts/server/index.js +++ /dev/null @@ -1,86 +0,0 @@ -// Shared Scripts -require("../scripts/shared/const.js"); -require("../scripts/shared/utilities.js"); -require("../scripts/shared/gamedata.js"); - -// Multiplayer Mod (Wrapped Natives) -require("scripts/server/native/ragemp.js"); - -// Server Scripts -require("scripts/server/class.js"); -require("scripts/server/accent.js"); -require("scripts/server/account.js"); -require("scripts/server/animation.js"); -require("scripts/server/anticheat.js"); -require("scripts/server/ban.js"); -require("scripts/server/bitflag.js"); -require("scripts/server/business.js"); -require("scripts/server/chat.js"); -require("scripts/server/clan.js"); -require("scripts/server/client.js"); -require("scripts/server/colour.js"); -require("scripts/server/const.js"); -require("scripts/server/database.js"); -require("scripts/server/developer.js"); -require("scripts/server/discord.js"); -require("scripts/server/economy.js"); -require("scripts/server/email.js"); -require("scripts/server/event.js"); -require("scripts/server/fishing.js"); -require("scripts/server/gui.js"); -require("scripts/server/help.js"); -require("scripts/server/house.js"); -require("scripts/server/item.js"); -require("scripts/server/job.js"); -require("scripts/server/keybind.js"); -require("scripts/server/locale.js"); -require("scripts/server/messaging.js"); -require("scripts/server/misc.js"); -require("scripts/server/npc.js"); -require("scripts/server/staff.js"); -require("scripts/server/race.js"); -require("scripts/server/radio.js"); -require("scripts/server/security.js"); -require("scripts/server/subaccount.js"); -require("scripts/server/timers.js"); -require("scripts/server/trigger.js"); -require("scripts/server/utilities.js"); -require("scripts/server/vehicle.js"); -require("scripts/server/config.js"); -require("scripts/server/core.js"); -require("scripts/server/command.js"); - -// Server Business Scripts -require("scripts/server/business/bakery.js"); -require("scripts/server/business/bar.js"); -require("scripts/server/business/burger.js"); -require("scripts/server/business/clothing.js"); -require("scripts/server/business/club.js"); -require("scripts/server/business/fuel.js"); -require("scripts/server/business/mechanic.js"); -require("scripts/server/business/pizza.js"); -require("scripts/server/business/restaurant.js"); -require("scripts/server/business/vehicle.js"); -require("scripts/server/business/weapon.js"); - -// Server Job Scripts -require("scripts/server/job/bus.js"); -require("scripts/server/job/drug.js"); -require("scripts/server/job/fire.js"); -require("scripts/server/job/garbage.js"); -require("scripts/server/job/medic.js"); -require("scripts/server/job/police.js"); -require("scripts/server/job/taxi.js"); -require("scripts/server/job/weapon.js"); - -// Server Item Scripts -require("scripts/server/item/food.js"); -require("scripts/server/item/drink.js"); -require("scripts/server/item/walkie-talkie.js"); -require("scripts/server/item/phone.js"); -require("scripts/server/item/handcuff.js"); -require("scripts/server/item/rope.js"); -require("scripts/server/item/tazer.js"); - -// Startup -require("scripts/server/startup.js"); \ No newline at end of file From 41a7d05becaf4d4f6149319fc8dd925aa05e78be Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Tue, 31 May 2022 08:59:09 -0500 Subject: [PATCH 03/57] More local vars for optimization --- scripts/server/item.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/server/item.js b/scripts/server/item.js index 9c1ed3a2..df086f9e 100644 --- a/scripts/server/item.js +++ b/scripts/server/item.js @@ -733,7 +733,7 @@ function playerUseItem(client, hotBarSlot) { let itemTypeData = getItemTypeData(itemIndex); let hotBarItems = getPlayerData(client).hotBarItems; - switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) { + switch(itemTypeData.useType) { case VRR_ITEM_USETYPE_SKIN: { getPlayerData(client).itemActionItem = itemIndex; forcePlayerIntoSkinSelect(client); @@ -744,10 +744,12 @@ function playerUseItem(client, hotBarSlot) { for(let i in hotBarItems) { if(hotBarItems[i] != -1) { if(getItemData(hotBarItems[i]) != false) { - if(itemTypeData.useType == VRR_ITEM_USETYPE_AMMO_CLIP) { - if(itemTypeData.useId == itemTypeData.databaseId) { - givePlayerWeaponAmmo(client, getItemData(hotBarItems[i]).value); - getItemData(hotBarItems[hotBarSlot]).value = getItemData(hotBarItems[hotBarSlot]).value + getItemData(hotBarItems[i]).value; + if(getItemData(getItemData(hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) { + let ammoItemData = getItemData(hotBarItems[i]); + let ammoItemTypeData = getItemData(ammoItemData.itemTypeIndex); + if(ammoItemTypeData.useId == itemTypeData.databaseId) { + givePlayerWeaponAmmo(client, ammoItemData.value); + itemData.value = itemData.value + ammoItemData.value; deleteItem(hotBarItems[i]); meActionToNearbyPlayers(client, `loads some ammo into their ${itemTypeData.name}`); return true; @@ -929,7 +931,7 @@ function playerUseItem(client, hotBarSlot) { } itemData.value = itemData.value - itemTypeData.useValue; - //if(getItemData(itemIndex).value <= 0) { + //if(itemData.value <= 0) { // destroyItem(itemIndex); //} } From daa6b637f021f8a569d0c3ea6801cb4011a6fa37 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Tue, 7 Jun 2022 10:22:22 -0500 Subject: [PATCH 04/57] Comment out GUI stuff for now (too heavy) --- meta.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta.xml b/meta.xml index 55c0ae83..74e35cf1 100644 --- a/meta.xml +++ b/meta.xml @@ -87,6 +87,7 @@ + + +