Only load non-deleted items and types

This commit is contained in:
Vortrex
2022-06-12 09:18:51 -05:00
parent 962732c27e
commit 1d549650a0

View File

@@ -20,7 +20,7 @@ function loadItemsFromDatabase() {
let dbConnection = connectToDatabase(); let dbConnection = connectToDatabase();
let dbFetchAssoc; let dbFetchAssoc;
if (dbConnection) { if (dbConnection) {
let dbQuery = queryDatabase(dbConnection, `SELECT * FROM item_main WHERE item_server = ${getServerId()}`); let dbQuery = queryDatabase(dbConnection, `SELECT * FROM item_main WHERE item_deleted = 0 AND item_server = ${getServerId()}`);
if (dbQuery) { if (dbQuery) {
if (dbQuery.numRows > 0) { if (dbQuery.numRows > 0) {
while (dbFetchAssoc = fetchQueryAssoc(dbQuery)) { while (dbFetchAssoc = fetchQueryAssoc(dbQuery)) {
@@ -42,7 +42,7 @@ function loadItemTypesFromDatabase() {
let dbConnection = connectToDatabase(); let dbConnection = connectToDatabase();
let dbFetchAssoc; let dbFetchAssoc;
if (dbConnection) { if (dbConnection) {
let dbQuery = queryDatabase(dbConnection, `SELECT * FROM item_type WHERE item_type_enabled = 1 AND item_type_server = ${getServerId()}`); let dbQuery = queryDatabase(dbConnection, `SELECT * FROM item_type WHERE item_type_deleted = 0 AND item_type_enabled = 1 AND item_type_server = ${getServerId()}`);
if (dbQuery) { if (dbQuery) {
if (getQueryNumRows(dbQuery) > 0) { if (getQueryNumRows(dbQuery) > 0) {
while (dbFetchAssoc = fetchQueryAssoc(dbQuery)) { while (dbFetchAssoc = fetchQueryAssoc(dbQuery)) {
@@ -732,7 +732,7 @@ function playerUseItem(client, hotBarSlot) {
} }
let itemData = getItemData(itemIndex); let itemData = getItemData(itemIndex);
let itemTypeData = getItemTypeData(itemIndex); let itemTypeData = getItemTypeData(itemData.itemTypeIndex);
let hotBarItems = getPlayerData(client).hotBarItems; let hotBarItems = getPlayerData(client).hotBarItems;
switch (itemTypeData.useType) { switch (itemTypeData.useType) {
@@ -869,11 +869,6 @@ function playerUseItem(client, hotBarSlot) {
break; break;
} }
case VRR_ITEM_USETYPE_NONE: {
messagePlayerError(client, `The ${getItemName(itemIndex)} doesn't do anything when you try to use it.`);
break;
}
case VRR_ITEM_USETYPE_VEHREPAIR: { case VRR_ITEM_USETYPE_VEHREPAIR: {
let vehicle = getClosestVehicle(getPlayerPosition(client)); let vehicle = getClosestVehicle(getPlayerPosition(client));
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) { if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
@@ -1059,6 +1054,7 @@ function playerUseItem(client, hotBarSlot) {
} }
case VRR_ITEM_USETYPE_LOTTOTICKET: { case VRR_ITEM_USETYPE_LOTTOTICKET: {
messagePlayerError(client, `The ${itemTypeData.name} doesn't do anything when you try to use it.`);
break; break;
} }
@@ -1455,7 +1451,7 @@ function cachePlayerHotBarItems(client) {
// =========================================================================== // ===========================================================================
function deleteItem(itemId) { function deleteItem(itemId, whoDeleted = -1) {
let owner = -1; let owner = -1;
let ownerTypeString = "Unknown"; let ownerTypeString = "Unknown";
switch (getItemData(itemId).ownerType) { switch (getItemData(itemId).ownerType) {
@@ -1526,7 +1522,7 @@ function deleteItem(itemId) {
logToConsole(LOG_DEBUG, `Deleted item ${itemId} (DBID: ${getItemData(itemId).databaseId}, Owner Type: ${ownerTypeString}, Owner ID: ${getItemData(itemId).ownerId})`); logToConsole(LOG_DEBUG, `Deleted item ${itemId} (DBID: ${getItemData(itemId).databaseId}, Owner Type: ${ownerTypeString}, Owner ID: ${getItemData(itemId).ownerId})`);
if (getItemData(itemId).databaseId > 0) { if (getItemData(itemId).databaseId > 0) {
quickDatabaseQuery(`DELETE FROM item_main WHERE item_id = ${getItemData(itemId).databaseId}`); quickDatabaseQuery(`UPDATE item_main SET item_deleted = 1, item_when_deleted = UNIX_TIMESTAMP() WHERE item_id = ${getItemData(itemId).databaseId}`);
} }
getServerData().items[itemId] = false; getServerData().items[itemId] = false;
setAllItemDataIndexes(); setAllItemDataIndexes();
@@ -2234,9 +2230,54 @@ function getOrderPriceForItemType(itemType) {
// =========================================================================== // ===========================================================================
function clearPlayerItemActionState(client) { function clearPlayerItemActionState(client) {
if (getPlayerData(client).itemActionItem != -1) {
switch (getPlayerData(client).itemActionState) {
case VRR_ITEM_ACTION_DROP: {
if (getItemTypeData(getItemData(getPlayerData(client).itemActionItem).itemTypeIndex).dropAnimationIndex != -1) {
makePlayerStopAnimation(client);
}
break;
}
case VRR_ITEM_ACTION_USE: {
if (getItemTypeData(getItemData(getPlayerData(client).itemActionItem).itemTypeIndex).useAnimationIndex != -1) {
makePlayerStopAnimation(client);
}
break;
}
case VRR_ITEM_ACTION_PICKUP: {
if (getItemTypeData(getItemData(getPlayerData(client).itemActionItem).itemTypeIndex).pickupAnimationIndex != -1) {
makePlayerStopAnimation(client);
}
break;
}
case VRR_ITEM_ACTION_TAKE: {
if (getItemTypeData(getItemData(getPlayerData(client).itemActionItem).itemTypeIndex).takeAnimationIndex != -1) {
makePlayerStopAnimation(client);
}
break;
}
case VRR_ITEM_ACTION_PUT: {
if (getItemTypeData(getItemData(getPlayerData(client).itemActionItem).itemTypeIndex).putAnimationIndex != -1) {
makePlayerStopAnimation(client);
}
break;
}
case VRR_ITEM_ACTION_SWITCH: {
if (getItemTypeData(getItemData(getPlayerData(client).itemActionItem).itemTypeIndex).switchAnimationIndex != -1) {
makePlayerStopAnimation(client);
}
break;
}
}
}
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_NONE; getPlayerData(client).itemActionState = VRR_ITEM_ACTION_NONE;
getPlayerData(client).itemActionItem = -1; getPlayerData(client).itemActionItem = -1;
makePlayerStopAnimation(client);
} }
// =========================================================================== // ===========================================================================