summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-06-01 16:06:44 +0200
committerGitHub <noreply@github.com>2019-06-01 16:06:44 +0200
commit7a9ed7c9c9f2d68fdad64a2c1de1ee9afaeeb087 (patch)
tree25b932c556a0809fcb959cd8065330f46d4d18b9
parent259a790cb0a6fa17a346fc30ca61ce6f1a085d3e (diff)
parentb4435701a2142f43348156535d6c8c314e99899e (diff)
downloadhercules-7a9ed7c9c9f2d68fdad64a2c1de1ee9afaeeb087.tar.gz
hercules-7a9ed7c9c9f2d68fdad64a2c1de1ee9afaeeb087.tar.bz2
hercules-7a9ed7c9c9f2d68fdad64a2c1de1ee9afaeeb087.tar.xz
hercules-7a9ed7c9c9f2d68fdad64a2c1de1ee9afaeeb087.zip
Merge pull request #2471 from Emistry/scriptcommand_mesclear
Add *mesclear script command.
-rw-r--r--doc/script_commands.txt15
-rw-r--r--src/map/script.c14
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*"),