From bde8199e4b83d838d560c3fa7bb66cde45d7ad90 Mon Sep 17 00:00:00 2001 From: gumi Date: Sat, 25 Feb 2017 12:48:31 -0500 Subject: add chr() and ord() buildins --- src/map/script.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/map/script.c') diff --git a/src/map/script.c b/src/map/script.c index 38931bd11..ef63697a7 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -5197,7 +5197,7 @@ int script_load_translation(const char *file, uint8 lang_id) VECTOR_TRUNCATE(msgstr); continue; } - + if (strncasecmp(line, "msgid \"", 7) == 0) { VECTOR_TRUNCATE(msgid); for (i = 7; i < len - 2; i++) { @@ -15454,6 +15454,29 @@ BUILDIN(charat) { return true; } +//======================================================= +// chr +//------------------------------------------------------- +BUILDIN(chr) +{ + char output[2]; + output[0] = script_getnum(st, 2); + output[1] = '\0'; + + script_pushstrcopy(st, output); + return true; +} + +//======================================================= +// ord +//------------------------------------------------------- +BUILDIN(ord) +{ + const char *chr = script_getstr(st, 2); + script_pushint(st, *chr); + return true; +} + //======================================================= // setchar , , //------------------------------------------------------- @@ -21075,6 +21098,8 @@ void script_parse_builtin(void) { BUILDIN_DEF(getstrlen,"s"), //strlen [Valaris] BUILDIN_DEF(charisalpha,"si"), //isalpha [Valaris] BUILDIN_DEF(charat,"si"), + BUILDIN_DEF(chr,"i"), + BUILDIN_DEF(ord,"s"), BUILDIN_DEF(setchar,"ssi"), BUILDIN_DEF(insertchar,"ssi"), BUILDIN_DEF(delchar,"si"), -- cgit v1.2.3-70-g09d2