From 3744933c8606a6db17d08037afb558a5fb9b8b02 Mon Sep 17 00:00:00 2001 From: gumi Date: Wed, 30 Nov 2016 11:50:13 -0500 Subject: add `selectd` quest debug function --- npc/functions/quest-debug/functions.txt | 49 ++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/npc/functions/quest-debug/functions.txt b/npc/functions/quest-debug/functions.txt index e0c0af9e..f893aeae 100644 --- a/npc/functions/quest-debug/functions.txt +++ b/npc/functions/quest-debug/functions.txt @@ -1,4 +1,14 @@ -// generic quest debug functions +// Evol functions. +// Authors: +// gumi +// Description: +// generic quest debug functions + + + +// GenericQuestDebug +// makes a generic quest debug menu for the given quest when the server +// is in debug mode. function script GenericQuestDebug { if (!debug) @@ -60,3 +70,40 @@ function script GenericQuestDebug { } return; } + + + +// selectd +// like a normal select() but gives access to quest debug +// +// quest id can either be passed as first argument +// or as the .quest_debug npc variable + +function script selectd { + .@menustr$ = rif(debug, menuaction(l("debug"))); + .@count = getargcount(); + .@f = 0; + .@questID = getvariableofnpc(.quest_debug, strnpcinfo(0)); + + if (.@count > 1 && !isstr(getarg(0))) + { + ++.@f; + .@questID = getarg(0); + } + + for (; .@f < .@count; ++.@f) + { + .@menustr$ += ":" + getarg(.@f); + } + + @menu = 255; + select .@menustr$; + + switch (@menu) + { + case -1: + case 255: return -1; + default: @menu -= 1; return @menu; // FIXME: here I would have done `return --@menu;` but hercules prevents this + case 1: callfunc "QuestDebug" + .@questID; closedialog; end; + } +} -- cgit v1.2.3-70-g09d2