summaryrefslogtreecommitdiff
path: root/npc/functions/input.txt
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-05 20:56:40 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-05 20:56:40 +0300
commit65cfd3242f14e27cad67440410783560dcea3656 (patch)
tree536d7e3dedc5c5562ccbc07874e572725d0d8329 /npc/functions/input.txt
parentfc16781cf16e7acb12228b9a8feefac9a0e242b3 (diff)
downloadserverdata-65cfd3242f14e27cad67440410783560dcea3656.tar.gz
serverdata-65cfd3242f14e27cad67440410783560dcea3656.tar.bz2
serverdata-65cfd3242f14e27cad67440410783560dcea3656.tar.xz
serverdata-65cfd3242f14e27cad67440410783560dcea3656.zip
Add function menustr.
It works same with menuint but return string and set variable @menuret$
Diffstat (limited to 'npc/functions/input.txt')
-rw-r--r--npc/functions/input.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/npc/functions/input.txt b/npc/functions/input.txt
index f71b7ae7..62c53fd1 100644
--- a/npc/functions/input.txt
+++ b/npc/functions/input.txt
@@ -34,3 +34,32 @@ function script menuint {
@menuret = .@vals[@menu];
return @menuret;
}
+
+function script menustr {
+ deletearray .@vals$;
+ .@menustr$ = "";
+ .@cnt = 0;
+
+ for (.@f = 0; .@f < getargcount(); .@f = .@f + 2)
+ {
+ if (getarg(.@f) != "")
+ {
+ .@menustr$ = .@menustr$ + getarg(.@f) + ":";
+ .@vals$[.@cnt] = getarg(.@f + 1);
+ .@cnt ++;
+ }
+ }
+
+ @menu = 255;
+ @menuret = -1;
+ select(.@menustr$);
+ if (@menu == 255)
+ return "";
+
+ @menu --;
+ if (@menu < 0 || @menu >= getarraysize(.@vals$))
+ return "";
+
+ @menuret$ = .@vals$[@menu];
+ return @menuret$;
+}