summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorgumi <mekolat@users.noreply.github.com>2016-11-30 11:50:13 -0500
committergumi <mekolat@users.noreply.github.com>2016-12-03 10:49:12 -0500
commit3744933c8606a6db17d08037afb558a5fb9b8b02 (patch)
treebd698f8a4f4c6e930b4930f354cd03b33c98d503 /npc/functions
parent357aa4c8d6bbde1a54ed1b6dde59bf8b787a87b7 (diff)
downloadserverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.tar.gz
serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.tar.bz2
serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.tar.xz
serverdata-3744933c8606a6db17d08037afb558a5fb9b8b02.zip
add `selectd` quest debug function
Diffstat (limited to 'npc/functions')
-rw-r--r--npc/functions/quest-debug/functions.txt49
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;
+ }
+}