From 0f6ab26ca98c4ac4eaae970a6e2335c9c25e2c21 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Sun, 26 Jun 2022 14:36:11 -0500 Subject: [PATCH] Don't check for ammo item on non-ammo weapons --- scripts/server/item.js | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/scripts/server/item.js b/scripts/server/item.js index 5e62a032..fdd6ca41 100644 --- a/scripts/server/item.js +++ b/scripts/server/item.js @@ -1281,24 +1281,28 @@ function playerUseItem(client, hotBarSlot) { } case VRR_ITEM_USETYPE_WEAPON: { - for (let i in hotBarItems) { - if (hotBarItems[i] != -1) { - if (getItemData(hotBarItems[i]) != false) { - if (getItemTypeData(getItemData(hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) { - let ammoItemData = getItemData(hotBarItems[i]); - let ammoItemTypeData = getItemTypeData(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; + if (isMeleeWeapon(itemTypeData.useId, getGame()) == true) { + messagePlayerError(client, getLocaleString(client, "WeaponDoesNotUseAmmo", itemTypeData.name)); + } else { + for (let i in hotBarItems) { + if (hotBarItems[i] != -1) { + if (getItemData(hotBarItems[i]) != false) { + if (getItemTypeData(getItemData(hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) { + let ammoItemData = getItemData(hotBarItems[i]); + let ammoItemTypeData = getItemTypeData(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; + } } } } } + messagePlayerError(client, getLocaleString(client, "NoAmmoToLoadIntoWeapon", itemTypeData.name)); } - messagePlayerError(client, getLocaleString(client, "NoAmmoToLoadIntoWeapon", itemTypeData.name)); break; }