Cache all ground items before creating objs
This commit is contained in:
@@ -15,6 +15,7 @@ function initItemScript() {
|
|||||||
|
|
||||||
setItemDataIndexes();
|
setItemDataIndexes();
|
||||||
|
|
||||||
|
cacheAllGroundItems();
|
||||||
createAllGroundItemObjects();
|
createAllGroundItemObjects();
|
||||||
logToConsole(LOG_INFO, "[Asshat.Item]: Item script initialized successfully!");
|
logToConsole(LOG_INFO, "[Asshat.Item]: Item script initialized successfully!");
|
||||||
return true;
|
return true;
|
||||||
@@ -513,21 +514,26 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
//getItemData(itemIndex).value = oldSkin;
|
//getItemData(itemIndex).value = oldSkin;
|
||||||
getPlayerData(client).itemActionItem = itemIndex;
|
getPlayerData(client).itemActionItem = itemIndex;
|
||||||
forcePlayerIntoSkinSelect(client);
|
forcePlayerIntoSkinSelect(client);
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_WEAPON:
|
case AG_ITEM_USETYPE_WEAPON:
|
||||||
messagePlayerError(client, `The ${getItemName(itemIndex)} 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.`);
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_PHONE:
|
case AG_ITEM_USETYPE_PHONE:
|
||||||
showPlayerPhoneGUI(client);
|
showPlayerPhoneGUI(client);
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_STORAGE:
|
case AG_ITEM_USETYPE_STORAGE:
|
||||||
showItemInventoryToPlayer(client, itemIndex);
|
showItemInventoryToPlayer(client, itemIndex);
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_FOOD:
|
case AG_ITEM_USETYPE_FOOD:
|
||||||
|
meActionToNearbyPlayers(client, `takes a bite of their ${getItemName(itemIndex)}`);
|
||||||
tempUseValue = (getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue > getItemData(itemIndex).value) ? 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) {
|
||||||
@@ -536,10 +542,11 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
} else {
|
} else {
|
||||||
getItemData(itemIndex).value = getItemData(itemIndex).value-tempUseValue;
|
getItemData(itemIndex).value = getItemData(itemIndex).value-tempUseValue;
|
||||||
}
|
}
|
||||||
meActionToNearbyPlayers(client, `takes a bite of their ${getItemName(itemIndex)}`);
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_DRINK:
|
case AG_ITEM_USETYPE_DRINK:
|
||||||
|
meActionToNearbyPlayers(client, `takes a drink of their ${getItemName(itemIndex)}`);
|
||||||
tempUseValue = (getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue > getItemData(itemIndex).value) ? 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;
|
||||||
@@ -548,8 +555,8 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
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 ${getItemName(itemIndex)}`);
|
|
||||||
}
|
}
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_ROPE:
|
case AG_ITEM_USETYPE_ROPE:
|
||||||
@@ -582,6 +589,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
ropeTiePlayer(closestPlayer);
|
ropeTiePlayer(closestPlayer);
|
||||||
meActionToNearbyPlayers(client, `takes their rope and ties ${getCharacterFullName(closestPlayer)}'s hands and feet together.`);
|
meActionToNearbyPlayers(client, `takes their rope and ties ${getCharacterFullName(closestPlayer)}'s hands and feet together.`);
|
||||||
}
|
}
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_HANDCUFF:
|
case AG_ITEM_USETYPE_HANDCUFF:
|
||||||
@@ -609,6 +617,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
handCuffPlayer(closestPlayer);
|
handCuffPlayer(closestPlayer);
|
||||||
meActionToNearbyPlayers(client, `takes their cuffs and places them on ${getCharacterFullName(closestPlayer)}`);
|
meActionToNearbyPlayers(client, `takes their cuffs and places them on ${getCharacterFullName(closestPlayer)}`);
|
||||||
}
|
}
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AG_ITEM_USETYPE_NONE:
|
case AG_ITEM_USETYPE_NONE:
|
||||||
@@ -627,6 +636,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
} else {
|
} else {
|
||||||
messagePlayerAlert(client, `You turned OFF your phone in slot ${getPlayerData(client).activeHotBarSlot+1}`);
|
messagePlayerAlert(client, `You turned OFF your phone in slot ${getPlayerData(client).activeHotBarSlot+1}`);
|
||||||
}
|
}
|
||||||
|
cachePlayerHotBarItems(client);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -874,7 +884,15 @@ function setItemDataIndexes() {
|
|||||||
for(let i in getServerData().items) {
|
for(let i in getServerData().items) {
|
||||||
getServerData().items[i].index = i;
|
getServerData().items[i].index = i;
|
||||||
getServerData().items[i].itemTypeIndex = getItemTypeIndexFromDatabaseId(getServerData().items[i].itemType);
|
getServerData().items[i].itemTypeIndex = getItemTypeIndexFromDatabaseId(getServerData().items[i].itemType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
function cacheAllGroundItems() {
|
||||||
|
getServerData().groundItemCache = [];
|
||||||
|
|
||||||
|
for(let i in getServerData().items) {
|
||||||
if(getServerData().items[i].ownerType == AG_ITEM_OWNER_GROUND) {
|
if(getServerData().items[i].ownerType == AG_ITEM_OWNER_GROUND) {
|
||||||
getServerData().groundItemCache.push(i);
|
getServerData().groundItemCache.push(i);
|
||||||
}
|
}
|
||||||
@@ -1385,25 +1403,29 @@ function clearPlayerItemActionStateAfterDelay(client, delay) {
|
|||||||
|
|
||||||
function showBusinessFloorInventoryToPlayer(client, businessId) {
|
function showBusinessFloorInventoryToPlayer(client, businessId) {
|
||||||
let itemDisplay = [];
|
let itemDisplay = [];
|
||||||
|
messagePlayerNormal(client, `💲 [#0099FF]== Business Items =========================`);
|
||||||
for(let i in getBusinessData(businessId).floorItemCache) {
|
for(let i in getBusinessData(businessId).floorItemCache) {
|
||||||
if(getBusinessData(businessId).floorItemCache == -1) {
|
if(getBusinessData(businessId).floorItemCache == -1) {
|
||||||
itemDisplay.push(`[#FFFF00]${toInteger(i)+1}[#AAAAAA](Empty)`);
|
//itemDisplay.push(`[#FFFF00]${toInteger(i)+1}[#AAAAAA](Empty)`);
|
||||||
|
messagePlayerNormal(client, `[#FFFF00]${toInteger(i)+1}[#AAAAAA](Empty)`, COLOUR_WHITE);
|
||||||
} else {
|
} else {
|
||||||
itemDisplay.push(`[#FFFF00]${toInteger(i)+1}: [#FFFFFF]${getItemTypeData(getItemData(getBusinessData(businessId).floorItemCache[i]).itemTypeIndex).name}[#AAAAAA][${getItemValueDisplayForItem(getBusinessData(businessId).floorItemCache[i])}] - [${(getPlayerCurrentSubAccount(client).cash<getItemData(getBusinessData(businessId).floorItemCache[i]).buyPrice) ? rgbToHex(205, 60, 60) : rgbToHex(50, 205, 50)}]$${getItemData(getBusinessData(businessId).floorItemCache[i]).buyPrice} [#CCCCCC] - ${getItemData(getBusinessData(businessId).floorItemCache[i]).amount} available`);
|
//itemDisplay.push(`[#FFFF00]${toInteger(i)+1}: [#FFFFFF]${getItemTypeData(getItemData(getBusinessData(businessId).floorItemCache[i]).itemTypeIndex).name}[#AAAAAA][${getItemValueDisplayForItem(getBusinessData(businessId).floorItemCache[i])}] - [${(getPlayerCurrentSubAccount(client).cash<getItemData(getBusinessData(businessId).floorItemCache[i]).buyPrice) ? rgbToHex(205, 60, 60) : rgbToHex(50, 205, 50)}]$${getItemData(getBusinessData(businessId).floorItemCache[i]).buyPrice} [#CCCCCC] - ${getItemData(getBusinessData(businessId).floorItemCache[i]).amount} available`);
|
||||||
|
messagePlayerNormal(client, `[#FFFF00]${toInteger(i)+1}: [#FFFFFF]${getItemTypeData(getItemData(getBusinessData(businessId).floorItemCache[i]).itemTypeIndex).name}[#AAAAAA][${getItemValueDisplayForItem(getBusinessData(businessId).floorItemCache[i])}] - [${(getPlayerCurrentSubAccount(client).cash<getItemData(getBusinessData(businessId).floorItemCache[i]).buyPrice) ? rgbToHex(205, 60, 60) : rgbToHex(50, 205, 50)}]$${getItemData(getBusinessData(businessId).floorItemCache[i]).buyPrice} [#CCCCCC] - ${getItemData(getBusinessData(businessId).floorItemCache[i]).amount} available`, COLOUR_WHITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//messagePlayerNormal(client, splitItemDisplay[i].join("[#FFFFFF], "), COLOUR_WHITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
messagePlayerNormal(client, `💲 [#0099FF]== Business Items =========================`);
|
//messagePlayerNormal(client, `💲 [#0099FF]== Business Items =========================`);
|
||||||
let perChunk=5;
|
//let perChunk=5;
|
||||||
let splitItemDisplay = itemDisplay.reduce((all,one,i) => {
|
//let splitItemDisplay = itemDisplay.reduce((all,one,i) => {
|
||||||
const ch = Math.floor(i/perChunk);
|
// const ch = Math.floor(i/perChunk);
|
||||||
all[ch] = [].concat((all[ch]||[]),one);
|
// all[ch] = [].concat((all[ch]||[]),one);
|
||||||
return all
|
// return all
|
||||||
}, []);
|
//}, []);
|
||||||
|
//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);
|
//}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user