Fix food/drink setting HP to 0
This commit is contained in:
@@ -600,17 +600,22 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_FOOD:
|
case VRR_ITEM_USETYPE_FOOD:
|
||||||
meActionToNearbyPlayers(client, `eats their ${getItemName(itemIndex)}`);
|
meActionToNearbyPlayers(client, `eats some of their ${getItemName(itemIndex)}`);
|
||||||
givePlayerHealth(client, getItemData(itemIndex).useValue);
|
givePlayerHealth(client, getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue);
|
||||||
deleteItem(itemIndex);
|
if(getItemData(itemIndex).value <= 0) {
|
||||||
switchPlayerActiveHotBarSlot(client, -1);
|
deleteItem(itemIndex);
|
||||||
|
switchPlayerActiveHotBarSlot(client, -1);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_DRINK:
|
case VRR_ITEM_USETYPE_DRINK:
|
||||||
meActionToNearbyPlayers(client, `drinks their ${getItemName(itemIndex)}`);
|
meActionToNearbyPlayers(client, `drink some of their ${getItemName(itemIndex)}`);
|
||||||
givePlayerHealth(client, getItemData(itemIndex).useValue);
|
givePlayerHealth(client, getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue);
|
||||||
deleteItem(itemIndex);
|
getItemData(itemIndex).value = getItemData(itemIndex).value - getItemTypeData(getItemData(itemIndex).itemTypeIndex).useValue;
|
||||||
switchPlayerActiveHotBarSlot(client, -1);
|
if(getItemData(itemIndex).value <= 0) {
|
||||||
|
deleteItem(itemIndex);
|
||||||
|
switchPlayerActiveHotBarSlot(client, -1);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_ARMOUR:
|
case VRR_ITEM_USETYPE_ARMOUR:
|
||||||
@@ -860,6 +865,18 @@ function playerPutItem(client, hotBarSlot) {
|
|||||||
|
|
||||||
let bestNewOwner = getBestNewOwnerToPutItem(client);
|
let bestNewOwner = getBestNewOwnerToPutItem(client);
|
||||||
|
|
||||||
|
getItemData(itemId).ownerType = bestNewOwner[0];
|
||||||
|
getItemData(itemId).ownerId = bestNewOwner[1];
|
||||||
|
getItemData(itemId).position = toVector(0.0, 0.0, 0.0);
|
||||||
|
getItemData(itemId).dimension = 0;
|
||||||
|
getItemData(itemId).needsSaved = true;
|
||||||
|
|
||||||
|
resyncWeaponItemAmmo(client);
|
||||||
|
clearPlayerWeapons(client);
|
||||||
|
|
||||||
|
getPlayerData(client).hotBarItems[hotBarSlot] = -1;
|
||||||
|
updatePlayerHotBar(client);
|
||||||
|
|
||||||
switch(bestNewOwner[0]) {
|
switch(bestNewOwner[0]) {
|
||||||
case VRR_ITEM_OWNER_HOUSE:
|
case VRR_ITEM_OWNER_HOUSE:
|
||||||
meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the house`);
|
meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the house`);
|
||||||
@@ -874,21 +891,9 @@ function playerPutItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_OWNER_VEHTRUNK:
|
case VRR_ITEM_OWNER_VEHTRUNK:
|
||||||
meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the ${getVehicleName(bestNewOwner[1])}'s trunk`);
|
meActionToNearbyPlayers(client, `places ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} in the ${getVehicleName(getVehicleFromDatabaseId(bestNewOwner[1]))}'s trunk`);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
resyncWeaponItemAmmo(client);
|
|
||||||
clearPlayerWeapons(client);
|
|
||||||
|
|
||||||
getItemData(itemId).ownerType = ownerType;
|
|
||||||
getItemData(itemId).ownerId = ownerId;
|
|
||||||
getItemData(itemId).position = toVector(0.0, 0.0, 0.0);
|
|
||||||
getItemData(itemId).dimension = 0;
|
|
||||||
getItemData(itemId).needsSaved = true;
|
|
||||||
|
|
||||||
getPlayerData(client).hotBarItems[hotBarSlot] = -1;
|
|
||||||
updatePlayerHotBar(client);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
@@ -912,6 +917,18 @@ function playerPickupItem(client, itemId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function playerTakeItem(client, itemId) {
|
function playerTakeItem(client, itemId) {
|
||||||
|
let firstSlot = getPlayerFirstEmptyHotBarSlot(client);
|
||||||
|
if(firstSlot == -1) {
|
||||||
|
messagePlayerError(client, "You don't have enough space to hold another item");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
getItemData(itemId).ownerType = VRR_ITEM_OWNER_PLAYER;
|
||||||
|
getItemData(itemId).ownerId = getPlayerCurrentSubAccount(client).databaseId;
|
||||||
|
|
||||||
|
getPlayerData(client).hotBarItems[firstSlot] = itemId;
|
||||||
|
updatePlayerHotBar(client);
|
||||||
|
|
||||||
switch(bestOwner[1]) {
|
switch(bestOwner[1]) {
|
||||||
case VRR_ITEM_OWNER_HOUSE:
|
case VRR_ITEM_OWNER_HOUSE:
|
||||||
meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the house`);
|
meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the house`);
|
||||||
@@ -929,15 +946,6 @@ function playerTakeItem(client, itemId) {
|
|||||||
meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the trunk`);
|
meActionToNearbyPlayers(client, `takes ${getProperDeterminerForName(getItemName(itemId))} ${getItemName(itemId)} from the trunk`);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
let firstSlot = getPlayerFirstEmptyHotBarSlot(client);
|
|
||||||
if(firstSlot != -1) {
|
|
||||||
getItemData(itemId).ownerType = VRR_ITEM_OWNER_PLAYER;
|
|
||||||
getItemData(itemId).ownerId = getPlayerCurrentSubAccount(client).databaseId;
|
|
||||||
|
|
||||||
getPlayerData(client).hotBarItems[firstSlot] = itemId;
|
|
||||||
updatePlayerHotBar(client);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user