From 19d83e65e83887a9f15353e626eaab57d7f86a74 Mon Sep 17 00:00:00 2001 From: AnnieRuru Date: Mon, 21 Dec 2015 09:01:59 +0800 Subject: Update *dispbottom script command to allow 0xRRGGBB color Closes #858 as merged Signed-off-by: Haru --- doc/script_commands.txt | 7 ++++--- src/map/script.c | 30 +++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 7a9481b46..ef4816889 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -4100,10 +4100,11 @@ of that character. It will not be seen by anyone else. --------------------------------------- -*dispbottom ""; +*dispbottom ""{,}; -This command will send the given message into the invoking character's -chat window. +This command will send the given message into the invoking character's +chat window. The color format is in RGB (0xRRGGBB), and default to green +if field is left out. --------------------------------------- diff --git a/src/map/script.c b/src/map/script.c index c5bb418d5..7a5292159 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -13610,16 +13610,28 @@ BUILDIN(atcommand) { return ret; } -/*========================================== - * Displays a message for the player only (like system messages like "you got an apple" ) - *------------------------------------------*/ +/** + * Displays a message for the player only (like system messages like "you got an apple") + * + * @code + * dispbottom ""{,}; + * @endcode + */ BUILDIN(dispbottom) { - TBL_PC *sd=script->rid2sd(st); - const char *message; - message=script_getstr(st,2); - if(sd) - clif_disp_onlyself(sd,message,(int)strlen(message)); + TBL_PC *sd = script->rid2sd(st); + const char *message = script_getstr(st,2); + + if (sd == NULL) + return true; + + if (script_hasdata(st,3)) { + int color = script_getnum(st,3); + clif->messagecolor_self(sd->fd, color, message); + } else { + clif_disp_onlyself(sd, message, (int)strlen(message)); + } + return true; } @@ -20396,7 +20408,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(deletepset,"i"), // Delete a pattern set [MouseJstr] BUILDIN_DEF(pcre_match,"ss"), #endif - BUILDIN_DEF(dispbottom,"s"), //added from jA [Lupus] + BUILDIN_DEF(dispbottom,"s?"), //added from jA [Lupus] BUILDIN_DEF(getusersname,""), BUILDIN_DEF(recovery,""), BUILDIN_DEF(getpetinfo,"i"), -- cgit v1.2.3-70-g09d2