From 4801b4da599426399eb54efaad78d1ac8aa892fc Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 22 Dec 2018 21:48:45 -0200 Subject: Move the security-critical functions from commands/event to functions/util Add header to commands/event.txt --- npc/functions/util.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'npc/functions/util.txt') diff --git a/npc/functions/util.txt b/npc/functions/util.txt index 807aa6df9..589a73262 100644 --- a/npc/functions/util.txt +++ b/npc/functions/util.txt @@ -4,8 +4,48 @@ // Description: // Util functions +///////////////////////////////////////////////////////////////////////////////// +// Delete item ID on inventories, storages, guild storages and carts. Also affects mails. +// WARNING, irreversible and dangerous! +// DelItemFromEveryPlayer( ID ) +function script DelItemFromEveryPlayer { + if (getarg(0, -1) < 0) + return; + + query_sql("DELETE FROM `inventory` WHERE `nameid`="+getarg(0)); + query_sql("DELETE FROM `cart_inventory` WHERE `nameid`="+getarg(0)); + query_sql("DELETE FROM `storage` WHERE `nameid`="+getarg(0)); + query_sql("DELETE FROM `guild_storage` WHERE `nameid`="+getarg(0)); + query_sql("DELETE FROM `rodex_items` WHERE `nameid`="+getarg(0)); + query_sql("DELETE FROM `auction` WHERE `nameid`="+getarg(0)); + return; +} + +// Delete an acc_reg entry from all players. Full arrays only. Affect num and str db. +// WARNING, irreversible and dangerous! +// DelAccRegFromEveryPlayer( KEY ) +function script DelAccRegFromEveryPlayer { + if (getarg(0, -1) < 0) + return; + + query_sql("DELETE FROM `acc_reg_num_db` WHERE `key`="+getarg(0)); + query_sql("DELETE FROM `acc_reg_str_db` WHERE `key`="+getarg(0)); + return; +} + +// Delete a quest entry from all players. This includes all counters. Use with caution. +// WARNING, irreversible and dangerous! +// DelQuestFromEveryPlayer( ID ) +function script DelQuestFromEveryPlayer { + if (getarg(0, -1) < 0) + return; + + query_sql("DELETE FROM `quest` WHERE `quest_id`="+getarg(0)); + return; +} +///////////////////////////////////////////////////////////////////////////////// // Returns Nard reputation for discounts // Currently ranges from 0 to 16. function script nard_reputation { -- cgit v1.2.3-70-g09d2