diff options
-rw-r--r-- | doc/script_commands.txt | 15 | ||||
-rw-r--r-- | src/map/script.c | 14 |
2 files changed, 29 insertions, 0 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index bcd2297b9..3bf0c7427 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -1301,6 +1301,21 @@ and the script will terminate. --------------------------------------- +*mesclear(); + +This command will clear the dialog text and continue the script without player interaction. + +Example: + mes("This is how the 'mesclear' script command works."); + sleep2 3000; + mesclear(); // This will clear the dialog and continue to the next one. + mes("I will show you again."); + sleep2 3000; + mesclear(); // This will clear the dialog and continue to the next one. + mes("Bye!"); + +--------------------------------------- + *close() This command will create a 'close' button in the message window for the diff --git a/src/map/script.c b/src/map/script.c index 1e0cd87ec..bad7d284a 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -5962,6 +5962,19 @@ static BUILDIN(next) return true; } +/// Clears the NPC dialog and continues the script without press next button. +/// +/// mesclear(); +static BUILDIN(mesclear) +{ + struct map_session_data *sd = script->rid2sd(st); + + if (sd != NULL) + clif->scriptclear(sd, st->oid); + + return true; +} + /// Ends the script and displays the button 'close' on the npc dialog. /// The dialog is closed when the button is pressed. /// @@ -25484,6 +25497,7 @@ static void script_parse_builtin(void) BUILDIN_DEF(mes, "?"), BUILDIN_DEF(mesf, "s*"), BUILDIN_DEF(next,""), + BUILDIN_DEF(mesclear,""), BUILDIN_DEF(close,""), BUILDIN_DEF(close2,""), BUILDIN_DEF(menu,"sl*"), |