Fix create item to assign value, with optional amount

This commit is contained in:
Vortrex
2021-01-13 11:03:10 -06:00
parent 3a8b7368b3
commit 55a19fc6bd

View File

@@ -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); let tempItemData = new serverClasses.itemData(false);
tempItemData.itemType = getItemTypeData(itemTypeId).databaseId; tempItemData.itemType = getItemTypeData(itemTypeId).databaseId;
tempItemData.ownerType = ownerType; tempItemData.ownerType = ownerType;
tempItemData.position = ownerId; tempItemData.ownerId = ownerId;
tempItemData.amount = amount; tempItemData.amount = amount;
tempItemData.value = value;
tempItemData.needsSaved = true; tempItemData.needsSaved = true;
let slot = getServerData().items.push(tempItemData); let slot = getServerData().items.push(tempItemData);
let index = slot-1; let index = slot-1;
@@ -82,8 +83,7 @@ function createItem(itemTypeId, amount, ownerType, ownerId) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function createGroundItem(itemTypeId, value, position, dimension = 0) { function createGroundItem(itemTypeId, value, position, dimension = 0) {
let itemIndex = createItem(itemTypeId, 1, AG_ITEM_OWNER_GROUND, 0); let itemIndex = createItem(itemTypeId, value, AG_ITEM_OWNER_GROUND, 0);
getItemData(itemIndex).value = value;
getItemData(itemIndex).position = position; getItemData(itemIndex).position = position;
getItemData(itemIndex).dimension = dimension; getItemData(itemIndex).dimension = dimension;
createGroundItemObject(itemIndex); createGroundItemObject(itemIndex);
@@ -128,19 +128,19 @@ function deleteGroundItemObject(itemId) {
function createGroundItemCommand(command, params, client) { function createGroundItemCommand(command, params, client) {
let splitParams = params.split(" "); let splitParams = params.split(" ");
let itemType = getItemTypeFromParams(splitParams.slice(0, -1).join(" ")); let itemType = getItemTypeFromParams(splitParams.slice(0, -1).join(" "));
let amount = splitParams.slice(-1) || 0; let value = splitParams.slice(-1) || 1;
if(!getItemTypeData(itemType)) { if(!getItemTypeData(itemType)) {
messagePlayerError(client, `Item '${params}' not found`); messagePlayerError(client, `Item '${params}' not found`);
return false; return false;
} }
if(toInteger <= 0) { //if(value <= 0) {
messagePlayerError(client, `The amount must be more than 0!`); // messagePlayerError(client, `The value must be more than 0!`);
return false; // 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`); 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; return false;
} }
if(getPlayerData(client).itemOccupiedDelay) { getPlayerData(client).itemActionState = AG_ITEM_ACTION_USE;
return false;
}
getPlayerData(client).itemActionItem = hotBarSlot; getPlayerData(client).itemActionItem = hotBarSlot;
getPlayerData(client).itemOccupiedDelay = true;
showPlayerItemUseDelay(client, hotBarSlot); showPlayerItemUseDelay(client, hotBarSlot);
} }
@@ -242,8 +238,8 @@ function pickupItemCommand(command, params, client) {
return false; return false;
} }
getPlayerData(client).itemActionState = AG_ITEM_ACTION_PICKUP;
getPlayerData(client).itemActionItem = itemId; getPlayerData(client).itemActionItem = itemId;
getPlayerData(client).itemOccupiedDelay = true;
showPlayerItemPickupDelay(client, itemId); showPlayerItemPickupDelay(client, itemId);
} }
@@ -342,21 +338,23 @@ function takeItemCommand(command, params, client) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function playerUseItem(client, itemIndex) { function playerUseItem(client, hotBarSlot) {
let closestPlayer; let closestPlayer;
let tempUseValue; let tempUseValue;
let itemIndex = getPlayerData(client).hotBarItems[hotBarSlot];
switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) { switch(getItemTypeData(getItemData(itemIndex).itemTypeIndex).useType) {
case AG_ITEM_USETYPE_SKIN: case AG_ITEM_USETYPE_SKIN:
let oldSkin = getPlayerSkin(client); let oldSkin = getPlayerSkin(client);
let newSkin = getItemData(itemIndex).value; let newSkin = getItemData(itemIndex).value;
setPlayerSkin(client, newSkin); setPlayerSkin(client, newSkin);
getItemData(itemIndex).value = oldSkin; 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; break;
case AG_ITEM_USETYPE_WEAPON: 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; break;
case AG_ITEM_USETYPE_PHONE: case AG_ITEM_USETYPE_PHONE:
@@ -368,7 +366,7 @@ function playerUseItem(client, itemIndex) {
break; break;
case AG_ITEM_USETYPE_FOOD: 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); givePlayerHealth(client, tempUseValue);
if(getItemData(itemIndex).value-tempUseValue <= 0) { if(getItemData(itemIndex).value-tempUseValue <= 0) {
getPlayerData(client).hotBarItems[getPlayerData(client).hotBarItems.indexOf(itemIndex)] = -1; getPlayerData(client).hotBarItems[getPlayerData(client).hotBarItems.indexOf(itemIndex)] = -1;
@@ -376,11 +374,11 @@ function playerUseItem(client, itemIndex) {
} else { } else {
getItemData(itemIndex).value = getItemData(itemIndex).value-tempUseValue; 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; break;
case AG_ITEM_USETYPE_DRINK: 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); givePlayerHealth(client, tempUseValue);
getItemData(itemIndex).value = getItemData(itemIndex).value - tempUseValue; getItemData(itemIndex).value = getItemData(itemIndex).value - tempUseValue;
if(getItemData(itemIndex).value-tempUseValue <= 0) { if(getItemData(itemIndex).value-tempUseValue <= 0) {
@@ -388,7 +386,7 @@ function playerUseItem(client, itemIndex) {
deleteItem(itemIndex); deleteItem(itemIndex);
} else { } else {
getItemData(itemIndex).value = getItemData(itemIndex).value-tempUseValue; 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; break;
@@ -421,7 +419,7 @@ function playerUseItem(client, itemIndex) {
break; break;
case AG_ITEM_USETYPE_NONE: 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; break;
case AG_ITEM_USETYPE_WALKIETALKIE: case AG_ITEM_USETYPE_WALKIETALKIE:
@@ -439,7 +437,7 @@ function playerUseItem(client, itemIndex) {
break; break;
default: 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; break;
} }
@@ -452,7 +450,7 @@ function playerUseItem(client, itemIndex) {
function playerDropItem(client, hotBarSlot) { function playerDropItem(client, hotBarSlot) {
let itemId = getPlayerData(client).hotBarItems[hotBarSlot]; let itemId = getPlayerData(client).hotBarItems[hotBarSlot];
if(itemId != -1) { 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; getPlayerData(client).hotBarItems[hotBarSlot] = -1;
updatePlayerHotBar(client); updatePlayerHotBar(client);
@@ -473,23 +471,21 @@ function playerPutItem(client, hotBarSlot) {
let bestNewOwner = getBestNewOwnerToPutItem(client); let bestNewOwner = getBestNewOwnerToPutItem(client);
let itemName = getItemTypeData(getItemData(itemId).itemTypeIndex).name;
switch(bestNewOwner[0]) { switch(bestNewOwner[0]) {
case AG_ITEM_OWNER_HOUSE: 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; break;
case AG_ITEM_OWNER_BIZFLOOR: 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; break;
case AG_ITEM_OWNER_BIZSTORAGE: 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; break;
case AG_ITEM_OWNER_VEHTRUNK: 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; break;
} }
@@ -506,7 +502,7 @@ function playerPutItem(client, hotBarSlot) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function playerPickupItem(client, itemId) { 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); let firstSlot = getPlayerFirstEmptyHotBarSlot(client);
if(firstSlot != -1) { if(firstSlot != -1) {
@@ -524,23 +520,21 @@ function playerPickupItem(client, itemId) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function playerTakeItem(client, itemId) { function playerTakeItem(client, itemId) {
let itemName = getItemTypeData(getItemData(itemId).itemTypeIndex).name;
switch(bestOwner[1]) { switch(bestOwner[1]) {
case AG_ITEM_OWNER_HOUSE: 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; break;
case AG_ITEM_OWNER_BIZFLOOR: 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; break;
case AG_ITEM_OWNER_BIZSTORAGE: 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; break;
case AG_ITEM_OWNER_VEHTRUNK: 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; break;
} }
@@ -556,48 +550,71 @@ function playerTakeItem(client, itemId) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function playerSwitchItem(client, hotBarSlot) { function playerSwitchItem(client, newHotBarSlot) {
let currentHotBarSlot = getPlayerData(client).activeHotBarSlot; if(newHotBarSlot < -1 || newHotBarSlot > 9) {
logToConsole(LOG_DEBUG, `[Asshat.Item] ${getPlayerDisplayForConsole(client)} switched from hotbar slot ${currentHotBarSlot} to ${hotBarSlot}`);
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}`);
} else {
return false; return false;
} }
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) { if(currentHotBarSlot != -1) {
if(getPlayerData(client).hotBarItems[currentHotBarSlot] != -1) { currentHotBarItem = getPlayerData(client).hotBarItems[currentHotBarSlot];
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); 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); clearPlayerWeapons(client);
} }
} }
} }
}
if(hotBarSlot != -1) { if(newHotBarItem != -1) {
if(getPlayerData(client).hotBarItems[hotBarSlot] != -1) { if(getItemData(newHotBarItem)) {
if(getItemData(getPlayerData(client).hotBarItems[hotBarSlot])) { if(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == AG_ITEM_USETYPE_WEAPON) {
if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useType == AG_ITEM_USETYPE_WEAPON) { if(getItemData(newHotBarItem).value > 0) {
givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useId), toInteger(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value), true, true); givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true);
setPlayerWeaponDamageEnabled(client, true); setPlayerWeaponDamageEnabled(client, true);
setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_NONE); setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_NONE);
} else if(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useType == AG_ITEM_USETYPE_TAZER) { } else {
givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).itemTypeIndex).useId), toInteger(getItemData(getPlayerData(client).hotBarItems[hotBarSlot]).value), true, true); 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); setPlayerWeaponDamageEnabled(client, false);
setPlayerWeaponDamageEvent(client, AG_WEAPON_DAMAGE_EVENT_TAZER); 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;
} }
} }
} }
} }
getPlayerData(client).activeHotBarSlot = hotBarSlot; 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;
}
getPlayerData(client).activeHotBarSlot = newHotBarSlot;
updatePlayerHotBar(client); updatePlayerHotBar(client);
} }
@@ -712,23 +729,59 @@ function cachePlayerHotBarItems(client) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function deleteItem(itemId) { function deleteItem(itemId) {
switch(getItemTypeData(getItemData(itemId)).ownerType) { switch(getItemData(itemId).ownerType) {
case AG_ITEM_OWNER_GROUND: case AG_ITEM_OWNER_GROUND:
deleteGroundItemObject(itemId); deleteGroundItemObject(itemId);
getServerData().groundItemCache.splice(getServerData().groundItemCache.indexOf(itemId), 1); getServerData().groundItemCache.splice(getServerData().groundItemCache.indexOf(itemId), 1);
break; break;
case AG_ITEM_OWNER_PLAYER: case AG_ITEM_OWNER_PLAYER:
let tempClient = getPlayerFromCharacterId(getItemData(itemId).ownerId); if(getPlayerFromCharacterId(getItemData(itemId).ownerId)) {
if(tempClient) { getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).hotBarItems[getPlayerData(getPlayerFromCharacterId(getItemData(itemId).ownerId)).hotBarItems.indexOf(itemId)] = -1;
getPlayerData(tempClient).hotBarItems[getPlayerData(tempClient).hotBarItems.indexOf(itemId)] = -1; updatePlayerHotBar(getPlayerFromCharacterId(getItemData(itemId).ownerId));
updatePlayerHotBar(tempClient);
} }
break; 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}`); 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 =========================`); messagePlayerNormal(client, `🎒 [#AAAAAA]== Your Inventory =========================`);
let perChunk=5; let perChunk=5;
let splitItemDisplay = itemDisplay.reduce((all,one,i) => { let splitItemDisplay = itemDisplay.reduce((all,one,i) => {
@@ -817,8 +868,6 @@ function listPlayerInventoryCommand(command, params, client) {
all[ch] = [].concat((all[ch]||[]),one); all[ch] = [].concat((all[ch]||[]),one);
return all return all
}, []); }, []);
console.log(splitItemDisplay.length);
console.log(splitItemDisplay[0].length);
for(let i = 0 ; i <= splitItemDisplay.length-1 ; i++) { for(let i = 0 ; i <= splitItemDisplay.length-1 ; i++) {
messagePlayerNormal(client, splitItemDisplay[i].join("[#FFFFFF], "), COLOUR_WHITE); 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) { } else if(getItemTypeData(getItemData(itemId).itemTypeIndex).useType == AG_ITEM_USETYPE_PHONE) {
return toString(getItemData(itemId).value); return toString(getItemData(itemId).value);
} else if(getItemTypeData(getItemData(itemId).itemTypeIndex).useType == AG_ITEM_USETYPE_WALKIETALKIE) { } 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 { } else {
return getItemData(itemId).value; return getItemData(itemId).value;
} }
@@ -1167,7 +1216,7 @@ function toggleItemEnabledCommand(command, params, client) {
function getItemName(itemId) { function getItemName(itemId) {
if(getItemData(itemId)) { if(getItemData(itemId)) {
return getItemTypeData(getItemData(itemId).typeIndex).name; return getItemTypeData(getItemData(itemId).itemTypeIndex).name;
} }
} }
@@ -1182,3 +1231,13 @@ function getPlayerActiveItem(client) {
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function getPlayerItemSlot(client, slot) {
if(slot != -1) {
if(getPlayerData(client).hotBarItems[slot] != -1) {
return getPlayerData(client).hotBarItems[slot];
}
}
}
// ---------------------------------------------------------------------------