diff options
author | Haru <haru@dotalux.com> | 2018-08-24 23:32:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-24 23:32:41 +0200 |
commit | bf6b8a0ccfb3f0b35aec9b0ae833327ab5cbf405 (patch) | |
tree | e333b62318df2c0ed55ffc571ae83321e620909c | |
parent | cc25a7c300ab2f549d4f2760eafb0baaf7e032d5 (diff) | |
parent | 5b62115128f5836d692b9b0305950a5ef7393306 (diff) | |
download | hercules-bf6b8a0ccfb3f0b35aec9b0ae833327ab5cbf405.tar.gz hercules-bf6b8a0ccfb3f0b35aec9b0ae833327ab5cbf405.tar.bz2 hercules-bf6b8a0ccfb3f0b35aec9b0ae833327ab5cbf405.tar.xz hercules-bf6b8a0ccfb3f0b35aec9b0ae833327ab5cbf405.zip |
Merge pull request #2146 from mekolat/debugmes
bake sprintf into debugmes
-rw-r--r-- | doc/script_commands.txt | 16 | ||||
-rw-r--r-- | src/map/script.c | 17 |
2 files changed, 23 insertions, 10 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index c5c58b991..4c5dab969 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -7679,15 +7679,19 @@ solution rather than sending the map and the monster_id. //===================================== --------------------------------------- -*debugmes("<message>") +*debugmes("<format string>"{, <param>{, ...}}) + +This command will print a message in the server console (map-server window), +after applying the same format-string replacements as sprintf(). It will not be +displayed anywhere else. Returns true on success. + +Example: -This command will send the message to the server console (map-server -window). It will not be displayed anywhere else. -// // Displays "NAME has clicked me!" in the map-server window. - debugmes(strcharinfo(PC_NAME)+" has clicked me!"); + debugmes("%s has clicked me!", strcharinfo(PC_NAME)); + + debugmes("\033[0;32mHello World"); // supports ANSI escape sequences - debugmes("\033[38D\033[K ==Message== \n"); // enable colour code. --------------------------------------- *logmes("<message>"{, <log type>}) diff --git a/src/map/script.c b/src/map/script.c index c40137c55..477d2ad98 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -12361,9 +12361,18 @@ static BUILDIN(getstatus) *------------------------------------------*/ static BUILDIN(debugmes) { - const char *str; - str=script_getstr(st,2); - ShowDebug("script debug : %d %d : %s\n",st->rid,st->oid,str); + struct StringBuf buf; + StrBuf->Init(&buf); + + if (!script->sprintf_helper(st, 2, &buf)) { + StrBuf->Destroy(&buf); + script_pushint(st, 0); + return false; + } + + ShowDebug("script debug : %d %d : %s\n", st->rid, st->oid, StrBuf->Value(&buf)); + StrBuf->Destroy(&buf); + script_pushint(st, 1); return true; } @@ -25047,7 +25056,7 @@ static void script_parse_builtin(void) BUILDIN_DEF(sc_end,"i?"), BUILDIN_DEF(getstatus, "i?"), BUILDIN_DEF(getscrate,"ii?"), - BUILDIN_DEF(debugmes,"v"), + BUILDIN_DEF(debugmes,"v*"), BUILDIN_DEF2(catchpet,"pet","i"), BUILDIN_DEF2(birthpet,"bpet",""), BUILDIN_DEF(resetlvl,"i"), |