From b405d82a1cf504963e5839f234b9e4aecaf90c2f Mon Sep 17 00:00:00 2001 From: euphyy Date: Sun, 22 Jul 2012 05:50:42 +0000 Subject: * Follow-up r16471, standardized new bindatcmd documentation and added an example. * Optimized "noskill" mapflag file. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16473 54d463be-8e91-2dee-dedb-b68131a5f0ec --- conf/mapflag/noskill.txt | 4 ---- doc/script_commands.txt | 51 ++++++++++++++++++++++++++++++------------------ 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/conf/mapflag/noskill.txt b/conf/mapflag/noskill.txt index 8e41f08b4..8a25aa137 100644 --- a/conf/mapflag/noskill.txt +++ b/conf/mapflag/noskill.txt @@ -20,14 +20,10 @@ himinn mapflag noskill // Quiz Maps =================== quiz_00 mapflag noskill - quiz_01 mapflag noskill - quiz_02 mapflag noskill - quiz_test mapflag noskill - //Hugel Minigames ============== que_bingo mapflag noskill p_track01 mapflag noskill diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 39d6be45f..cd9ca5f0b 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -2075,12 +2075,12 @@ some cases invaluable. // @array2[1] will be equal to @array[3]. So using the examples above: - @array[0] = 100 - @array[1] = 200 - @array[2] = 300 - @array[3] = 400 - @array[4] = 500 - @array[5] = 600 + @array[0] = 100 + @array[1] = 200 + @array[2] = 300 + @array[3] = 400 + @array[4] = 500 + @array[5] = 600 New Array: @array2[0] = 300 @@ -2109,34 +2109,47 @@ array, shifting all the elements beyond this towards the beginning. --------------------------------------- -*bindatcmd "command","{NPC NAME}::"{,atcommand level,charcommand level}; -*bindatcmd ("command","{NPC NAME}::"{,atcommand level,charcommand level}); +*bindatcmd "command","::"{,,}; +*bindatcmd("command","::"{,,}); This command will bind a NPC event label to an atcommand. Upon execution of -the atcommand the user will invoke the NPC event label. +the atcommand, the user will invoke the NPC event label. Note that a hardcoded +limit of bindings is set in /src/map/atcommand.h, with 100 as the default value. + +Example: +When a user types the command "@test", an angel effect will be shown. + +- script atcmd_example -1,{ +OnInit: + bindatcmd("test","atcmd_example::OnAtcommand"); + end; +OnAtcommand: + specialeffect2 338; + end; +} --------------------------------------- *unbindatcmd "command"; -*unbindatcmd ("command"); +*unbindatcmd("command"); This command will unbind a NPC event label from an atcommand. --------------------------------------- *useatcmd "command"; -*useatcmd ("command"); +*useatcmd("command"); This command will execute a custom atcommand on the attached RID from a script. - -This command, whether invoked by a script or command, will set paremeters to -an array .@atcmd_parameters$[index] starting with an index of 0. +Whether invoked by a script or command, an array .@atcmd_parameters$[] will be +filled with the given parameters, starting with an index of 0. Example: -@test Testing Command + @test Testing Command -The above would reflect the .@atcmd_parameters$[0] to equal "Testing" and -.@atcmd_parameters$[1] to equal "Command". +The following array values will be generated: + .@atcmd_parameters$[0] = "Testing" + .@atcmd_parameters$[1] = "Command" --------------------------------------- @@ -5457,7 +5470,7 @@ such, the command will not work if an RID is not attached. --------------------------------------- -*donpcevent "{NPC NAME}::"; +*donpcevent "::"; This command invokes the event label code within an another NPC or NPCs. It starts a separate instance of execution, and the invoking NPC will resume @@ -5554,7 +5567,7 @@ One more thing. These timers are stored as part of player data. If the player logs out, all of these get immediately deleted, without executing the script. If this behavior is undesirable, use some other timer mechanism (like 'sleep'). -Example 1: +Example: { dispbottom "Starting a 5 second timer..."; addtimer 5000, strnpcinfo(3)+"::On5secs"; -- cgit v1.2.3-60-g2f50