Use local vars for item use processing

This commit is contained in:
Vortrex
2022-05-31 08:47:38 -05:00
parent eabf63cf86
commit f11b634c8b

View File

@@ -729,6 +729,10 @@ function playerUseItem(client, hotBarSlot) {
return false; return false;
} }
let itemData = getItemData(itemIndex);
let itemTypeData = getItemTypeData(itemIndex);
let hotBarItems = getPlayerData(client).hotBarItems;
switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) { switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) {
case VRR_ITEM_USETYPE_SKIN: { case VRR_ITEM_USETYPE_SKIN: {
getPlayerData(client).itemActionItem = itemIndex; getPlayerData(client).itemActionItem = itemIndex;
@@ -737,22 +741,22 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_WEAPON: { case VRR_ITEM_USETYPE_WEAPON: {
for(let i in getPlayerData(client).hotBarItems) { for(let i in hotBarItems) {
if(getPlayerData(client).hotBarItems[i] != -1) { if(hotBarItems[i] != -1) {
if(getItemData(getPlayerData(client).hotBarItems[i]) != false) { if(getItemData(hotBarItems[i]) != false) {
if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) { if(itemTypeData.useType == VRR_ITEM_USETYPE_AMMO_CLIP) {
if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useId == getItemTypeData(getItemData(itemIndex).itemTypeIndex).databaseId) { if(itemTypeData.useId == itemTypeData.databaseId) {
givePlayerWeaponAmmo(client, getItemData(getPlayerData(client).hotBarItems[i]).value); givePlayerWeaponAmmo(client, getItemData(hotBarItems[i]).value);
getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value = getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value + getItemData(getPlayerData(client).hotBarItems[i]).value; getItemData(hotBarItems[hotBarSlot]).value = getItemData(hotBarItems[hotBarSlot]).value + getItemData(hotBarItems[i]).value;
deleteItem(getPlayerData(client).hotBarItems[i]); deleteItem(hotBarItems[i]);
meActionToNearbyPlayers(client, `loads some ammo into their ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name}`); meActionToNearbyPlayers(client, `loads some ammo into their ${itemTypeData.name}`);
return true; 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; break;
} }
@@ -767,9 +771,9 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_FOOD: { case VRR_ITEM_USETYPE_FOOD: {
meActionToNearbyPlayers(client, `eats some of their ${getItemName(itemIndex)}`); meActionToNearbyPlayers(client, `eats some of their ${itemTypeData.name}`);
givePlayerHealth(client, getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue); givePlayerHealth(client, itemTypeData.useValue);
getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; itemData.value = itemData.value - tempItemTypeData.useValue;
if(getItemData(itemIndex).value <= 0) { if(getItemData(itemIndex).value <= 0) {
deleteItem(itemIndex); deleteItem(itemIndex);
switchPlayerActiveHotBarSlot(client, -1); switchPlayerActiveHotBarSlot(client, -1);
@@ -778,10 +782,10 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_DRINK: { case VRR_ITEM_USETYPE_DRINK: {
meActionToNearbyPlayers(client, `drinks some of their ${getItemName(itemIndex)}`); meActionToNearbyPlayers(client, `drinks some of their ${itemTypeData.name}`);
givePlayerHealth(client, getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue); givePlayerHealth(client, itemTypeData.useValue);
getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; itemData.value = itemData.value - itemTypeData.useValue;
if(getItemData(itemIndex).value <= 0) { if(itemData.value <= 0) {
deleteItem(itemIndex); deleteItem(itemIndex);
switchPlayerActiveHotBarSlot(client, -1); switchPlayerActiveHotBarSlot(client, -1);
} }
@@ -789,8 +793,8 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_ARMOUR: { case VRR_ITEM_USETYPE_ARMOUR: {
meActionToNearbyPlayers(client, `puts on a ${getItemName(itemIndex)}`); meActionToNearbyPlayers(client, `puts on a ${itemTypeData.name}`);
givePlayerArmour(client, getItemData(itemIndex).useValue); givePlayerArmour(client, itemTypeData.useValue);
deleteItem(itemIndex); deleteItem(itemIndex);
switchPlayerActiveHotBarSlot(client, -1); switchPlayerActiveHotBarSlot(client, -1);
break; break;
@@ -868,8 +872,8 @@ function playerUseItem(client, hotBarSlot) {
meActionToNearbyPlayers(client, `takes their repair kit and fixes the vehicle`); meActionToNearbyPlayers(client, `takes their repair kit and fixes the vehicle`);
repairVehicle(vehicle); repairVehicle(vehicle);
getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue; itemData.value = itemData.value - itemTypeData.useValue;
if(getItemData(itemIndex).value <= 0) { if(itemData.value <= 0) {
destroyItem(itemIndex); destroyItem(itemIndex);
} }
} else { } else {
@@ -881,8 +885,8 @@ function playerUseItem(client, hotBarSlot) {
case VRR_ITEM_USETYPE_VEHUPGRADE_PART: { case VRR_ITEM_USETYPE_VEHUPGRADE_PART: {
let vehicle = getClosestVehicle(getPlayerPosition(client)); let vehicle = getClosestVehicle(getPlayerPosition(client));
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${getItemName(itemIndex)} to the vehicle.`); meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${itemTypeData.name} to the vehicle.`);
addVehicleUpgrade(vehicle, getItemData(itemIndex).useId); addVehicleUpgrade(vehicle, itemTypeData.useId);
} }
break; break;
} }
@@ -891,7 +895,7 @@ function playerUseItem(client, hotBarSlot) {
let vehicle = getClosestVehicle(getPlayerPosition(client)); let vehicle = getClosestVehicle(getPlayerPosition(client));
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
meActionToNearbyPlayers(client, `takes their decal kit and adds some decals to the vehicle.`); meActionToNearbyPlayers(client, `takes their decal kit and adds some decals to the vehicle.`);
setVehicleLivery(vehicle, getItemData(itemIndex).value); setVehicleLivery(vehicle, itemData.value);
} }
break; break;
} }
@@ -899,13 +903,13 @@ function playerUseItem(client, hotBarSlot) {
case VRR_ITEM_USETYPE_VEHCOLOUR: { case VRR_ITEM_USETYPE_VEHCOLOUR: {
let vehicle = getClosestVehicle(getPlayerPosition(client)); let vehicle = getClosestVehicle(getPlayerPosition(client));
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { 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.`); 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 { } 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.`); 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)) <= getDistance(getPlayerPosition(client), getFuelPumpData(fuelPump).position)) {
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
meActionToNearbyPlayers(client, `takes their fuel can and refills the vehicle`); meActionToNearbyPlayers(client, `takes their fuel can and refills the vehicle`);
if(getItemData(itemIndex).value < getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue) { if(itemData.value < itemTypeData.useValue) {
getVehicleData(vehicle).fuel += getItemData(itemIndex).value; getVehicleData(vehicle).fuel += itemData.value;
} else { } 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) { //if(getItemData(itemIndex).value <= 0) {
// destroyItem(itemIndex); // destroyItem(itemIndex);
//} //}
} }
} else { } else {
if(getDistance(getPlayerPosition(client), getFuelPumpData(fuelPump).position) <= getGlobalConfig().vehicleRepairDistance) { 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.`); 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 { } 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.`); 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: { case VRR_ITEM_USETYPE_WALKIETALKIE: {
getItemData(itemIndex).enabled = !getItemData(itemIndex).enabled; itemData.enabled = !itemData.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(itemData.enabled))} their walkie-talkie`);
meActionToNearbyPlayers(client, `turns ${toLowerCase(getOnOffFromBool(getItemData(itemIndex).enabled))} their walkie-talkie`);
break; break;
} }
case VRR_ITEM_USETYPE_PHONE: { case VRR_ITEM_USETYPE_PHONE: {
if(getItemData(itemIndex).value == 0) { if(itemData.value == 0) {
let phoneNumber = generateRandomPhoneNumber(); let phoneNumber = generateRandomPhoneNumber();
getItemData(itemIndex).value = phoneNumber; itemData.value = phoneNumber;
messagePlayerAlert(client, `Your ${getItemName(itemIndex)} has been set up with number ${phoneNumber}`); messagePlayerAlert(client, `Your ${itemTypeData.name} has been set up with number ${phoneNumber}`);
} else { } else {
getItemData(itemIndex).enabled = !getItemData(itemIndex).enabled; itemData.enabled = !itemData.enabled;
if(getItemData(itemIndex).enabled) { if(itemData.enabled) {
//messagePlayerAlert(client, `You turned on your phone in slot ${getPlayerData(client).activeHotBarSlot+1} ${getItemValueDisplayForItem(itemIndex)}`); //messagePlayerAlert(client, `You turned on your phone in slot ${getPlayerData(client).activeHotBarSlot+1} ${getItemValueDisplayForItem(itemIndex)}`);
meActionToNearbyPlayers(client, `turns on their phone`); meActionToNearbyPlayers(client, `turns on their phone`);
} else { } else {
@@ -971,8 +974,8 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_SMOKEDRUG: { case VRR_ITEM_USETYPE_SMOKEDRUG: {
meActionToNearbyPlayers(client, `smokes some ${getItemName(itemIndex)}`); meActionToNearbyPlayers(client, `smokes some ${itemTypeData.name}`);
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue/100); getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(itemTypeData.useValue/100);
if(getPlayerData(client).incomingDamageMultiplier < 0.25) { if(getPlayerData(client).incomingDamageMultiplier < 0.25) {
getPlayerData(client).incomingDamageMultiplier = 0.25; getPlayerData(client).incomingDamageMultiplier = 0.25;
} }
@@ -982,8 +985,8 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_SNORTDRUG: { case VRR_ITEM_USETYPE_SNORTDRUG: {
meActionToNearbyPlayers(client, `snorts some ${getItemName(itemIndex)}`); meActionToNearbyPlayers(client, `snorts some ${itemTypeData.name}`);
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue/100); getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(itemTypeData.useValue/100);
if(getPlayerData(client).incomingDamageMultiplier < 0.25) { if(getPlayerData(client).incomingDamageMultiplier < 0.25) {
getPlayerData(client).incomingDamageMultiplier = 0.25; getPlayerData(client).incomingDamageMultiplier = 0.25;
} }
@@ -993,8 +996,8 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_INJECTDRUG: { case VRR_ITEM_USETYPE_INJECTDRUG: {
meActionToNearbyPlayers(client, `shoots up some ${getItemName(itemIndex)}`); meActionToNearbyPlayers(client, `shoots up some ${itemTypeData.name}`);
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue/100); getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier-(itemTypeData.useValue/100);
if(getPlayerData(client).incomingDamageMultiplier < 0.25) { if(getPlayerData(client).incomingDamageMultiplier < 0.25) {
getPlayerData(client).incomingDamageMultiplier = 0.25; getPlayerData(client).incomingDamageMultiplier = 0.25;
} }
@@ -1004,9 +1007,9 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_PLANT: { 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); createGroundPlant(itemIndex);
if(getItemData(itemIndex).value == 0) { if(itemData.value == 0) {
destroyItem(itemIndex); destroyItem(itemIndex);
switchPlayerActiveHotBarSlot(client, -1); switchPlayerActiveHotBarSlot(client, -1);
} }
@@ -1048,25 +1051,25 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_LOTTOTICKET: { case VRR_ITEM_USETYPE_LOTTOTICKET: {
break; break;
} }
case VRR_ITEM_USETYPE_AREARADIO: { case VRR_ITEM_USETYPE_AREARADIO: {
let state = getItemData(itemIndex) itemData.enabled = !itemData.enabled;
meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(state)} the boombox radio`); 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`); messagePlayerAlert(client, `Use /radiostation to set the radio station and drop it on the ground to play`);
break; break;
} }
case VRR_ITEM_USETYPE_PERSONALRADIO: { 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`); messagePlayerAlert(client, `Use /radiostation to set the radio station`);
break; break;
} }
default: { 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; break;
} }
} }