diff options
author | gumi <mekolat@users.noreply.github.com> | 2016-11-30 11:50:13 -0500 |
---|---|---|
committer | gumi <mekolat@users.noreply.github.com> | 2016-12-03 10:49:12 -0500 |
commit | 3744933c8606a6db17d08037afb558a5fb9b8b02 (patch) | |
tree | bd698f8a4f4c6e930b4930f354cd03b33c98d503 /npc | |
parent | 357aa4c8d6bbde1a54ed1b6dde59bf8b787a87b7 (diff) | |
download | serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.tar.gz serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.tar.bz2 serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.tar.xz serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.zip |
add `selectd` quest debug function
Diffstat (limited to 'npc')
-rw-r--r-- | npc/functions/quest-debug/functions.txt | 49 |
1 files changed, 48 insertions, 1 deletions
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; + } +} |