Add item action reset

This commit is contained in:
Vortrex
2021-01-25 22:40:52 -06:00
parent 2d9951a86c
commit c2d1ad6f49
2 changed files with 31 additions and 4 deletions

View File

@@ -67,6 +67,7 @@ let globalConfig = {
AG_ITEM_USETYPE_SPRAYPAINT, AG_ITEM_USETYPE_SPRAYPAINT,
AG_ITEM_USETYPE_PEPPERSPRAY, AG_ITEM_USETYPE_PEPPERSPRAY,
], ],
itemActionStateReset: 5000,
}; };
let gameConfig = { let gameConfig = {

View File

@@ -182,6 +182,8 @@ function useItemCommand(command, params, client) {
getPlayerData(client).itemActionState = AG_ITEM_ACTION_USE; getPlayerData(client).itemActionState = AG_ITEM_ACTION_USE;
getPlayerData(client).itemActionItem = hotBarSlot; getPlayerData(client).itemActionItem = hotBarSlot;
showPlayerItemUseDelay(client, hotBarSlot); showPlayerItemUseDelay(client, hotBarSlot);
clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -241,6 +243,8 @@ function pickupItemCommand(command, params, client) {
getPlayerData(client).itemActionState = AG_ITEM_ACTION_PICKUP; getPlayerData(client).itemActionState = AG_ITEM_ACTION_PICKUP;
getPlayerData(client).itemActionItem = itemId; getPlayerData(client).itemActionItem = itemId;
showPlayerItemPickupDelay(client, itemId); showPlayerItemPickupDelay(client, itemId);
clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -282,6 +286,8 @@ function dropItemCommand(command, params, client) {
getPlayerData(client).itemActionItem = hotBarSlot; getPlayerData(client).itemActionItem = hotBarSlot;
getPlayerData(client).itemActionState = AG_ITEM_ACTION_DROP; getPlayerData(client).itemActionState = AG_ITEM_ACTION_DROP;
showPlayerItemDropDelay(client, itemId); showPlayerItemDropDelay(client, itemId);
clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -310,6 +316,8 @@ function putItemCommand(command, params, client) {
getPlayerData(client).itemActionItem = hotBarSlot; getPlayerData(client).itemActionItem = hotBarSlot;
getPlayerData(client).itemActionState = AG_ITEM_ACTION_PUT; getPlayerData(client).itemActionState = AG_ITEM_ACTION_PUT;
showPlayerItemPutDelay(client, hotBarSlot); showPlayerItemPutDelay(client, hotBarSlot);
clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -338,6 +346,8 @@ function takeItemCommand(command, params, client) {
getPlayerData(client).itemActionItem = itemId; getPlayerData(client).itemActionItem = itemId;
getPlayerData(client).itemActionState = AG_ITEM_ACTION_TAKE; getPlayerData(client).itemActionState = AG_ITEM_ACTION_TAKE;
showPlayerItemTakeDelay(client, itemId); showPlayerItemTakeDelay(client, itemId);
clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -402,7 +412,7 @@ function playerUseItem(client, hotBarSlot) {
break; break;
case AG_ITEM_USETYPE_ROPE: case AG_ITEM_USETYPE_ROPE:
closestPlayer = getClosestPlayer(getPlayerPosition(client)); closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
if(!getPlayerData(closestPlayer)) { if(!getPlayerData(closestPlayer)) {
messagePlayerError(client, "There isn't anyone close enough to tie up!"); messagePlayerError(client, "There isn't anyone close enough to tie up!");
@@ -434,7 +444,7 @@ function playerUseItem(client, hotBarSlot) {
break; break;
case AG_ITEM_USETYPE_HANDCUFF: case AG_ITEM_USETYPE_HANDCUFF:
closestPlayer = getClosestPlayer(getPlayerPosition(client)); closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
if(!getPlayerData(closestPlayer)) { if(!getPlayerData(closestPlayer)) {
messagePlayerError(client, "There isn't anyone close enough to handcuff!"); messagePlayerError(client, "There isn't anyone close enough to handcuff!");
@@ -699,6 +709,8 @@ function playerSwitchHotBarSlotCommand(command, params, client) {
getPlayerData(client).itemActionItem = hotBarSlot; getPlayerData(client).itemActionItem = hotBarSlot;
getPlayerData(client).itemActionState = AG_ITEM_ACTION_SWITCH; getPlayerData(client).itemActionState = AG_ITEM_ACTION_SWITCH;
showPlayerItemSwitchDelay(client, hotBarSlot); showPlayerItemSwitchDelay(client, hotBarSlot);
clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -906,7 +918,7 @@ function listPlayerInventoryCommand(command, params, client) {
if(getPlayerData(client).hotBarItems[i] == -1) { if(getPlayerData(client).hotBarItems[i] == -1) {
itemDisplay.push(`[#CCCCCC]${toInteger(i)+1}: [#AAAAAA](Empty)`); itemDisplay.push(`[#CCCCCC]${toInteger(i)+1}: [#AAAAAA](Empty)`);
} else { } else {
if(getGlobalConfig().weaponEquippableTypes.indexOf(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useType)) { if(getGlobalConfig().weaponEquippableTypes.indexOf(getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useType) != -1) {
if(getPlayerData(client).hotBarItems[i] == getPlayerData(client).hotBarItems[getPlayerData(client).currentHotBarItem]) { if(getPlayerData(client).hotBarItems[i] == getPlayerData(client).hotBarItems[getPlayerData(client).currentHotBarItem]) {
if(getPlayerWeaponAmmo(client) <= getItemData(getPlayerData(client).hotBarItems[i]).value) { if(getPlayerWeaponAmmo(client) <= getItemData(getPlayerData(client).hotBarItems[i]).value) {
getItemData(getPlayerData(client).hotBarItems[i]).value = getPlayerWeaponAmmo(client); getItemData(getPlayerData(client).hotBarItems[i]).value = getPlayerWeaponAmmo(client);
@@ -1119,9 +1131,9 @@ function saveItemToDatabase(itemId) {
queryDatabase(dbConnection, dbQueryString); queryDatabase(dbConnection, dbQueryString);
} }
disconnectFromDatabase(dbConnection); disconnectFromDatabase(dbConnection);
logToConsole(LOG_DEBUG, `[Asshat.Item]: Saved item '${tempItemData.name}' to database!`);
return true; return true;
} }
logToConsole(LOG_DEBUG, `[Asshat.Item]: Saved item '${tempItemData.name}' to database!`);
return false; return false;
} }
@@ -1312,3 +1324,17 @@ function getOrderPriceForItemType(itemType) {
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function clearPlayerItemActionState(client) {
getPlayerData(client).itemActionState = AG_ITEM_ACTION_NONE;
}
// ---------------------------------------------------------------------------
function clearPlayerItemActionStateAfterDelay(client, delay) {
setTimeout(function() {
clearPlayerItemActionState(client);
}, delay);
}
// ---------------------------------------------------------------------------