From 55a19fc6bd702fd4832afc98789820cf122017ad Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Wed, 13 Jan 2021 11:03:10 -0600 Subject: [PATCH] Fix create item to assign value, with optional amount --- scripts/server/item.js | 235 ++++++++++++++++++++++++++--------------- 1 file changed, 147 insertions(+), 88 deletions(-) diff --git a/scripts/server/item.js b/scripts/server/item.js index 9e275695..e13a2e54 100644 --- a/scripts/server/item.js +++ b/scripts/server/item.js @@ -65,12 +65,13 @@ function loadItemTypesFromDatabase() { // --------------------------------------------------------------------------- -function createItem(itemTypeId, amount, ownerType, ownerId) { +function createItem(itemTypeId, value, ownerType, ownerId, amount=1) { let tempItemData = new serverClasses.itemData(false); tempItemData.itemType = getItemTypeData(itemTypeId).databaseId; tempItemData.ownerType = ownerType; - tempItemData.position = ownerId; + tempItemData.ownerId = ownerId; tempItemData.amount = amount; + tempItemData.value = value; tempItemData.needsSaved = true; let slot = getServerData().items.push(tempItemData); let index = slot-1; @@ -82,8 +83,7 @@ function createItem(itemTypeId, amount, ownerType, ownerId) { // --------------------------------------------------------------------------- function createGroundItem(itemTypeId, value, position, dimension = 0) { - let itemIndex = createItem(itemTypeId, 1, AG_ITEM_OWNER_GROUND, 0); - getItemData(itemIndex).value = value; + let itemIndex = createItem(itemTypeId, value, AG_ITEM_OWNER_GROUND, 0); getItemData(itemIndex).position = position; getItemData(itemIndex).dimension = dimension; createGroundItemObject(itemIndex); @@ -128,19 +128,19 @@ function deleteGroundItemObject(itemId) { function createGroundItemCommand(command, params, client) { let splitParams = params.split(" "); let itemType = getItemTypeFromParams(splitParams.slice(0, -1).join(" ")); - let amount = splitParams.slice(-1) || 0; + let value = splitParams.slice(-1) || 1; if(!getItemTypeData(itemType)) { messagePlayerError(client, `Item '${params}' not found`); return false; } - if(toInteger <= 0) { - messagePlayerError(client, `The amount must be more than 0!`); - return false; - } + //if(value <= 0) { + // messagePlayerError(client, `The value must be more than 0!`); + // return false; + //} - let itemId = createGroundItem(itemType, toInteger(amount), getPlayerPosition(client), getPlayerDimension(client)); + let itemId = createGroundItem(itemType, toInteger(value), getPlayerPosition(client), getPlayerDimension(client)); messagePlayerSuccess(client, `You created a ${getItemTypeData(itemType).name} on the ground at your position`); } @@ -179,12 +179,8 @@ function useItemCommand(command, params, client) { return false; } - if(getPlayerData(client).itemOccupiedDelay) { - return false; - } - + getPlayerData(client).itemActionState = AG_ITEM_ACTION_USE; getPlayerData(client).itemActionItem = hotBarSlot; - getPlayerData(client).itemOccupiedDelay = true; showPlayerItemUseDelay(client, hotBarSlot); } @@ -242,8 +238,8 @@ function pickupItemCommand(command, params, client) { return false; } + getPlayerData(client).itemActionState = AG_ITEM_ACTION_PICKUP; getPlayerData(client).itemActionItem = itemId; - getPlayerData(client).itemOccupiedDelay = true; showPlayerItemPickupDelay(client, itemId); } @@ -342,21 +338,23 @@ function takeItemCommand(command, params, client) { // --------------------------------------------------------------------------- -function playerUseItem(client, itemIndex) { +function playerUseItem(client, hotBarSlot) { let closestPlayer; let tempUseValue; + let itemIndex = getPlayerData(client).hotBarItems[hotBarSlot]; + switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) { case AG_ITEM_USETYPE_SKIN: let oldSkin = getPlayerSkin(client); let newSkin = getItemData(itemIndex).value; setPlayerSkin(client, newSkin); getItemData(itemIndex).value = oldSkin; - meActionToNearbyPlayers(client, `changes their skin to ${getSkinNameFromId(newSkin)}`); + meActionToNearbyPlayers(client, `puts on ${getProperDeterminerForName(getSkinNameFromId(newSkin))} ${getSkinNameFromId(newSkin)} ${toLowerCase(getItemName(itemIndex))}`); break; case AG_ITEM_USETYPE_WEAPON: - messagePlayerError(client, `The ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name} is a weapon. To use it, switch to it from your items. The use key has no effect.`); + messagePlayerError(client, `The ${getItemName(itemIndex)} is a weapon. To use it, switch to it from your items. The use key has no effect.`); break; case AG_ITEM_USETYPE_PHONE: @@ -368,7 +366,7 @@ function playerUseItem(client, itemIndex) { break; case AG_ITEM_USETYPE_FOOD: - tempUseValue = (getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue-getItemData(itemIndex).value > 0) ? getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue : getItemData(itemIndex).value; + tempUseValue = (getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue > getItemData(itemIndex).value) ? getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue : getItemData(itemIndex).value; givePlayerHealth(client, tempUseValue); if(getItemData(itemIndex).value-tempUseValue <= 0) { getPlayerData(client).hotBarItems[getPlayerData(client).hotBarItems.indexOf(itemIndex)] = -1; @@ -376,11 +374,11 @@ function playerUseItem(client, itemIndex) { } else { getItemData(itemIndex).value = getItemData(itemIndex).value-tempUseValue; } - meActionToNearbyPlayers(client, `takes a bite of their ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name}`); + meActionToNearbyPlayers(client, `takes a bite of their ${getItemName(itemIndex)}`); break; case AG_ITEM_USETYPE_DRINK: - tempUseValue = (getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue-getItemData(itemIndex).value > 0) ? getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue : getItemData(itemIndex).value; + tempUseValue = (getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue > getItemData(itemIndex).value) ? getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue : getItemData(itemIndex).value; givePlayerHealth(client, tempUseValue); getItemData(itemIndex).value = getItemData(itemIndex).value - tempUseValue; if(getItemData(itemIndex).value-tempUseValue <= 0) { @@ -388,7 +386,7 @@ function playerUseItem(client, itemIndex) { deleteItem(itemIndex); } else { getItemData(itemIndex).value = getItemData(itemIndex).value-tempUseValue; - meActionToNearbyPlayers(client, `takes a drink of their ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name}`); + meActionToNearbyPlayers(client, `takes a drink of their ${getItemName(itemIndex)}`); } break; @@ -421,7 +419,7 @@ function playerUseItem(client, itemIndex) { break; case AG_ITEM_USETYPE_NONE: - messagePlayerError(client, `The ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name} doesn't do anything when you try to use it.`); + messagePlayerError(client, `The ${getItemName(itemIndex)} doesn't do anything when you try to use it.`); break; case AG_ITEM_USETYPE_WALKIETALKIE: @@ -439,7 +437,7 @@ function playerUseItem(client, itemIndex) { break; default: - messagePlayerError(client, `The ${getItemTypeData(getItemData(itemIndex).itemTypeIndex).name} doesn't do anything when you try to use it.`); + messagePlayerError(client, `The ${getItemName(itemIndex)} doesn't do anything when you try to use it.`); break; } @@ -452,7 +450,7 @@ function playerUseItem(client, itemIndex) { function playerDropItem(client, hotBarSlot) { let itemId = getPlayerData(client).hotBarItems[hotBarSlot]; if(itemId != -1) { - meActionToNearbyPlayers(client, `drops ${getProperDeterminerForName(getItemTypeData(getItemData(itemId).itemTypeIndex).name)} ${getItemTypeData(getItemData(itemId).itemTypeIndex).name} on the ground`); + meActionToNearbyPlayers(client, `drops ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} on the ground`); getPlayerData(client).hotBarItems[hotBarSlot] = -1; updatePlayerHotBar(client); @@ -473,23 +471,21 @@ function playerPutItem(client, hotBarSlot) { let bestNewOwner = getBestNewOwnerToPutItem(client); - let itemName = getItemTypeData(getItemData(itemId).itemTypeIndex).name; - switch(bestNewOwner[0]) { case AG_ITEM_OWNER_HOUSE: - meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(itemName)} ${itemName} in the house`); + meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the house`); break; case AG_ITEM_OWNER_BIZFLOOR: - meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(itemName)} ${itemName} for sale in the business`); + meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} for sale in the business`); break; case AG_ITEM_OWNER_BIZSTORAGE: - meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(itemName)} ${itemName} in the business storage room`); + meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the business storage room`); break; case AG_ITEM_OWNER_VEHTRUNK: - meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(itemName)} ${itemName} in the ${getVehicleName(bestNewOwner[1])}'s trunk`); + meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the ${getVehicleName(bestNewOwner[1])}'s trunk`); break; } @@ -506,7 +502,7 @@ function playerPutItem(client, hotBarSlot) { // --------------------------------------------------------------------------- function playerPickupItem(client, itemId) { - meActionToNearbyPlayers(client, `picks up ${getProperDeterminerForName(getItemTypeData(getItemData(itemId).itemTypeIndex).name)} ${getItemTypeData(getItemData(itemId).itemTypeIndex).name} from the ground`); + meActionToNearbyPlayers(client, `picks up ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the ground`); let firstSlot = getPlayerFirstEmptyHotBarSlot(client); if(firstSlot != -1) { @@ -524,23 +520,21 @@ function playerPickupItem(client, itemId) { // --------------------------------------------------------------------------- function playerTakeItem(client, itemId) { - let itemName = getItemTypeData(getItemData(itemId).itemTypeIndex).name; - switch(bestOwner[1]) { case AG_ITEM_OWNER_HOUSE: - meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(itemName)} ${itemName} from the house`); + meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the house`); break; case AG_ITEM_OWNER_BIZFLOOR: - meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(itemName)} ${itemName} from the business`); + meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the business`); break; case AG_ITEM_OWNER_BIZSTORAGE: - meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(itemName)} ${itemName} from the business storage room`); + meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the business storage room`); break; case AG_ITEM_OWNER_VEHTRUNK: - meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(itemName)} ${itemName} from the trunk`); + meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the trunk`); break; } @@ -556,48 +550,71 @@ function playerTakeItem(client, itemId) { // --------------------------------------------------------------------------- -function playerSwitchItem(client, hotBarSlot) { - let currentHotBarSlot = getPlayerData(client).activeHotBarSlot; - logToConsole(LOG_DEBUG, `[Asshat.Item] ${getPlayerDisplayForConsole(client)} switched from hotbar slot ${currentHotBarSlot} to ${hotBarSlot}`); +function playerSwitchItem(client, newHotBarSlot) { + if(newHotBarSlot < -1 || newHotBarSlot > 9) { + return false; + } - if(currentHotBarSlot != -1 && getPlayerData(client).hotBarItems[currentHotBarSlot] != -1 && getPlayerData(client).hotBarItems[hotBarSlot] != -1) { - meActionToNearbyPlayers(client, `puts away ${getProperDeterminerForName(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot]).itemTypeIndex).name)} ${getItemTypeData(getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot]).itemTypeIndex).name} and pulls out ${getProperDeterminerForName(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).name)} ${getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).name}`); - } else if(currentHotBarSlot != -1 && getPlayerData(client).hotBarItems[currentHotBarSlot] != -1 && (hotBarSlot == -1 || getPlayerData(client).hotBarItems[hotBarSlot] == -1)) { - meActionToNearbyPlayers(client, `puts away ${getProperDeterminerForName(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot]).itemTypeIndex).name)} ${getItemTypeData(getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot]).itemTypeIndex).name}`); - } else if((currentHotBarSlot == -1 || getPlayerData(client).hotBarItems[currentHotBarSlot] == -1) && getPlayerData(client).hotBarItems[hotBarSlot] != -1) { - meActionToNearbyPlayers(client, `pulls out ${getProperDeterminerForName(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).name)} ${getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).name}`); + let currentHotBarSlot = getPlayerData(client).activeHotBarSlot; + logToConsole(LOG_DEBUG, `[Asshat.Item] ${getPlayerDisplayForConsole(client)} switched from hotbar slot ${currentHotBarSlot} to ${newHotBarSlot}`); + + let currentHotBarItem = -1; + if(currentHotBarSlot != -1) { + currentHotBarItem = getPlayerData(client).hotBarItems[currentHotBarSlot]; + } + + let newHotBarItem = -1; + if(newHotBarSlot != -1) { + newHotBarItem = getPlayerData(client).hotBarItems[newHotBarSlot]; + } + + if(currentHotBarItem != -1) { + if(getItemData(currentHotBarItem)) { + if(getItemTypeData(getItemData(currentHotBarItem).itemTypeIndex).useType == AG_ITEM_USETYPE_WEAPON) { + getItemData(currentHotBarItem).value = getPlayerWeaponAmmo(client); + clearPlayerWeapons(client); + } + } + } + + if(newHotBarItem != -1) { + if(getItemData(newHotBarItem)) { + if(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == AG_ITEM_USETYPE_WEAPON) { + if(getItemData(newHotBarItem).value > 0) { + givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true); + setPlayerWeaponDamageEnabled(client, true); + setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_NONE); + } else { + messagePlayerError(client, `The ${getItemName(newHotBarItem)} in slot ${newHotBarSlot} has no ammo, and can't be equipped!`); + return false; + } + } else if(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == AG_ITEM_USETYPE_TAZER) { + if(getItemData(newHotBarItem).value > 0) { + givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true); + setPlayerWeaponDamageEnabled(client, false); + setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_TAZER); + } else { + messagePlayerError(client, `The ${getItemName(newHotBarItem)} in slot ${newHotBarSlot} has no ammo, and can't be equipped!`); + return false; + } + } + } + } + + if(currentHotBarItem != -1 && newHotBarItem != -1) { + // Player switches from item to item + meActionToNearbyPlayers(client, `puts away ${getProperDeterminerForName(getItemName(currentHotBarItem))} ${getItemName(currentHotBarItem)} and pulls out ${getProperDeterminerForName(getItemName(newHotBarItem))} ${getItemName(newHotBarItem)}`); + } else if(currentHotBarItem != -1 && newHotBarItem == -1) { + // Player switches from item to none + meActionToNearbyPlayers(client, `puts away ${getProperDeterminerForName(getItemName(currentHotBarItem))} ${getItemName(currentHotBarItem)}`); + } else if(currentHotBarItem == -1 && newHotBarItem != -1) { + // Player switches from none to item + meActionToNearbyPlayers(client, `pulls out ${getProperDeterminerForName(getItemName(newHotBarItem))} ${getItemName(newHotBarItem)}`); } else { return false; } - if(currentHotBarSlot != -1) { - if(getPlayerData(client).hotBarItems[currentHotBarSlot] != -1) { - if(getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot])) { - if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot]).itemTypeIndex).useType == AG_ITEM_USETYPE_WEAPON) { - getItemData(getPlayerData(client).hotBarItems[currentHotBarSlot]).value = getPlayerWeaponAmmo(client); - clearPlayerWeapons(client); - } - } - } - } - - if(hotBarSlot != -1) { - if(getPlayerData(client).hotBarItems[hotBarSlot] != -1) { - if(getItemData(getPlayerData(client).hotBarItems[hotBarSlot])) { - if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useType == AG_ITEM_USETYPE_WEAPON) { - givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useId), toInteger(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value), true, true); - setPlayerWeaponDamageEnabled(client, true); - setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_NONE); - } else if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useType == AG_ITEM_USETYPE_TAZER) { - givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useId), toInteger(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value), true, true); - setPlayerWeaponDamageEnabled(client, false); - setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_TAZER); - } - } - } - } - - getPlayerData(client).activeHotBarSlot = hotBarSlot; + getPlayerData(client).activeHotBarSlot = newHotBarSlot; updatePlayerHotBar(client); } @@ -712,23 +729,59 @@ function cachePlayerHotBarItems(client) { // --------------------------------------------------------------------------- function deleteItem(itemId) { - switch(getItemTypeData(getItemData(itemId)).ownerType) { + switch(getItemData(itemId).ownerType) { case AG_ITEM_OWNER_GROUND: deleteGroundItemObject(itemId); getServerData().groundItemCache.splice(getServerData().groundItemCache.indexOf(itemId), 1); break; case AG_ITEM_OWNER_PLAYER: - let tempClient = getPlayerFromCharacterId(getItemData(itemId).ownerId); - if(tempClient) { - getPlayerData(tempClient).hotBarItems[getPlayerData(tempClient).hotBarItems.indexOf(itemId)] = -1; - updatePlayerHotBar(tempClient); + if(getPlayerFromCharacterId(getItemData(itemId).ownerId)) { + getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).hotBarItems[getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).hotBarItems.indexOf(itemId)] = -1; + updatePlayerHotBar(getPlayerFromCharacterId(getItemData(itemId).ownerId)); } break; + + case AG_ITEM_OWNER_JOBLOCKER: + if(getPlayerFromCharacterId(getItemData(itemId).ownerId)) { + getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).jobLockerCache.splice(getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).jobLockerCache.indexOf(itemId), 1); + } + break; + + case AG_ITEM_OWNER_LOCKER: + if(getPlayerFromCharacterId(getItemData(itemId).ownerId)) { + getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).lockerCache.splice(getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).lockerCache.indexOf(itemId), 1); + } + break; + + case AG_ITEM_OWNER_VEHTRUNK: + if(getVehicleDataIndex(getItemData(itemId).ownerId)) { + getVehicleDataIndex(getItemData(itemId).ownerId).trunkItemCache.splice(getVehicleDataIndex(getItemData(itemId).ownerId).trunkItemCache.indexOf(itemId), 1); + } + break; + + case AG_ITEM_OWNER_BIZFLOOR: + if(getBusinessDataIndex(getItemData(itemId).ownerId)) { + getBusinessDataIndex(getItemData(itemId).ownerId).floorItemCache.splice(getBusinessDataIndex(getItemData(itemId).ownerId).floorItemCache.indexOf(itemId), 1); + } + break; + + case AG_ITEM_OWNER_BIZSTORAGE: + if(getBusinessDataIndex(getItemData(itemId).ownerId)) { + getBusinessDataIndex(getItemData(itemId).ownerId).storageItemCache.splice(getBusinessDataIndex(getItemData(itemId).ownerId).storageItemCache.indexOf(itemId), 1); + } + break; + + case AG_ITEM_OWNER_HOUSE: + if(getHouseDataIndex(getItemData(itemId).ownerId)) { + getHouseDataIndex(getItemData(itemId).ownerId).itemCache.splice(getHouseDataIndex(getItemData(itemId).ownerId).itemCache.indexOf(itemId), 1); + } + break; + } quickDatabaseQuery(`DELETE FROM item_main WHERE item_id = ${getItemData(itemId).databaseId}`); - getServerData().items[itemId] = null; + getServerData().items.splice(itemId, 1); } // --------------------------------------------------------------------------- @@ -808,8 +861,6 @@ function listPlayerInventoryCommand(command, params, client) { } } - console.log(itemDisplay.length); - messagePlayerNormal(client, `🎒 [#AAAAAA]== Your Inventory =========================`); let perChunk=5; let splitItemDisplay = itemDisplay.reduce((all,one,i) => { @@ -817,8 +868,6 @@ function listPlayerInventoryCommand(command, params, client) { all[ch] = [].concat((all[ch]||[]),one); return all }, []); - console.log(splitItemDisplay.length); - console.log(splitItemDisplay[0].length); for(let i = 0 ; i <= splitItemDisplay.length-1 ; i++) { messagePlayerNormal(client, splitItemDisplay[i].join("[#FFFFFF], "), COLOUR_WHITE); @@ -1122,7 +1171,7 @@ function getItemValueDisplay(itemId) { } else if(getItemTypeData(getItemData(itemId).itemTypeIndex).useType == AG_ITEM_USETYPE_PHONE) { return toString(getItemData(itemId).value); } else if(getItemTypeData(getItemData(itemId).itemTypeIndex).useType == AG_ITEM_USETYPE_WALKIETALKIE) { - return toString(toString(getItemData(itemId).value.slice(0,-2))+"."+toString(getItemData(itemId).value.slice(0,-2))+"MHz"); + return toString(toString(getItemData(itemId).value).slice(0,-2)+"."+toString(getItemData(itemId).value).slice(-1)+"MHz"); } else { return getItemData(itemId).value; } @@ -1167,7 +1216,7 @@ function toggleItemEnabledCommand(command, params, client) { function getItemName(itemId) { if(getItemData(itemId)) { - return getItemTypeData(getItemData(itemId).typeIndex).name; + return getItemTypeData(getItemData(itemId).itemTypeIndex).name; } } @@ -1181,4 +1230,14 @@ function getPlayerActiveItem(client) { } } +// --------------------------------------------------------------------------- + +function getPlayerItemSlot(client, slot) { + if(slot != -1) { + if(getPlayerData(client).hotBarItems[slot] != -1) { + return getPlayerData(client).hotBarItems[slot]; + } + } +} + // --------------------------------------------------------------------------- \ No newline at end of file