From fb94560f16159b3a73050d2ea6df524a7d74d5cb Mon Sep 17 00:00:00 2001 From: Hello TMW Date: Sat, 2 Nov 2024 15:51:40 +0000 Subject: This is small script implementing @labyrinth-reset command. It resets doomsday chests state in Labyrinth (099-8) to non-visited state, so map could be revisited by players again. In fact this thing only needed since TMWA's @setvar doesnt allows to completely unset string variable. Also resetting array of size 100 manually is not best idea ever. This command is GM > 60 and its invocation logged to GM log and GM tab. NB: doesnt resets players "greed" variables (they're per player). Tested on my local server and works like planned. --- world/map/npc/commands/_import.txt | 1 + world/map/npc/commands/labyrinth-reset.txt | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 world/map/npc/commands/labyrinth-reset.txt (limited to 'world') diff --git a/world/map/npc/commands/_import.txt b/world/map/npc/commands/_import.txt index 6e2f0cc2..0b28a3ea 100644 --- a/world/map/npc/commands/_import.txt +++ b/world/map/npc/commands/_import.txt @@ -22,3 +22,4 @@ npc: npc/commands/divorce.txt npc: npc/commands/exp.txt npc: npc/commands/dailypoints.txt npc: npc/commands/mobpoints.txt +npc: npc/commands/labyrinth-reset.txt diff --git a/world/map/npc/commands/labyrinth-reset.txt b/world/map/npc/commands/labyrinth-reset.txt new file mode 100644 index 00000000..e95eb3ee --- /dev/null +++ b/world/map/npc/commands/labyrinth-reset.txt @@ -0,0 +1,23 @@ +-|script|labyrinth-reset|32767 +{ + if (GM < 60) goto L_GM; + gmlog "(Labyrinth XP Chest state reset) @labyrinth-reset " + @args$; + wgm "labyrinth-reset : " + strcharinfo(0) + " invoked @labyrinth-reset (Labyrinth XP Chest state cleaner) " + @args$; + set .@i, 0; + goto L_CleanSlot; + +L_CleanSlot: + set $DD5A_EXPCHEST$[.@i], ""; + set .@i, (.@i + 1); + if (.@i > 99) message strcharinfo(0), "labyrinth-reset : complete!"; + if (.@i > 99) end; + goto L_CleanSlot; + +L_GM: + message strcharinfo(0), "labyrinth-reset : GM command is level 60, but you are level " + GM; + end; + +OnInit: + registercmd chr(ATCMD_SYMBOL) + "labyrinth-reset", strnpcinfo(0); + end; +} -- cgit v1.2.3-70-g09d2