diff options
author | Hello TMW <hello@themanaworld.org> | 2024-11-02 15:51:40 +0000 |
---|---|---|
committer | Led Mitz <smoothshifter@tuta.io> | 2024-11-02 15:51:40 +0000 |
commit | fb94560f16159b3a73050d2ea6df524a7d74d5cb (patch) | |
tree | 98f454d1925bfe401c6129639535837190182b65 | |
parent | 88c1eef1047e59a40bbe1c03a641d938bef02c40 (diff) | |
download | serverdata-stable.tar.gz serverdata-stable.tar.bz2 serverdata-stable.tar.xz serverdata-stable.zip |
This is small script implementing @labyrinth-reset command.stable
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.
-rw-r--r-- | world/map/npc/commands/_import.txt | 1 | ||||
-rw-r--r-- | world/map/npc/commands/labyrinth-reset.txt | 23 |
2 files changed, 24 insertions, 0 deletions
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; +} |