Browse Source

Fixed missing 'name' parameter in 'duplicate' script command documentation.
Added npc_test_duplicate.txt to /samples.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11219 54d463be-8e91-2dee-dedb-b68131a5f0ec

ultramage 17 years ago
parent
commit
5351aad3a6
3 changed files with 37 additions and 6 deletions
  1. 7 6
      doc/script_commands.txt
  2. 1 0
      npc/Changelog.txt
  3. 29 0
      npc/sample/npc_test_duplicate.txt

+ 7 - 6
doc/script_commands.txt

@@ -84,6 +84,8 @@
 //=       Added 'gethominfo' description [Skotlex]
 //=       Added 'gethominfo' description [Skotlex]
 //= 3.06.20070910
 //= 3.06.20070910
 //=       Added info about the new behavior of 'getexp' [ultramage]
 //=       Added info about the new behavior of 'getexp' [ultramage]
+//= 3.07.20070915
+//=       Fixed 'duplicate' missing the target 'name' parameter! [ultramage]
 //===== Description =======================================
 //===== Description =======================================
 //= A reference manual for the eAthena scripting language,
 //= A reference manual for the eAthena scripting language,
 //= sorted out depending on their functionality.
 //= sorted out depending on their functionality.
@@ -337,13 +339,12 @@ where we use curly brackets, these do NOT signify an optional parameter.
 
 
 ** Define an NPC duplicate.
 ** Define an NPC duplicate.
 
 
-<map name>,<x>,<y>,<facing>%TAB%duplicate(<NPC label>)%TAB%<sprite id>
-<map name>,<x>,<y>,<facing>%TAB%duplicate(<NPC label>)%TAB%<sprite id>,<triggerX>,<triggerY>
+<map name>,<x>,<y>,<facing>%TAB%duplicate(<label>)%TAB%<name>%TAB%<sprite id>
+<map name>,<x>,<y>,<facing>%TAB%duplicate(<label>)%TAB%<name>%TAB%<sprite id>,<triggerX>,<triggerY>
 
 
-This will duplicate an NPC referred to by the label. The duplicate runs the same 
-code as the NPC it refers to, but may have different location, facing and sprite 
-ID. Whether it may actually have it's own size of trigger area is unclear at the 
-moment - if you need that, try it and tell us of the results.
+This will duplicate an NPC referred to by 'label'. The duplicate runs the same 
+code as the source NPC, but has its own name, location, facing, sprite ID and
+trigger area (in other words, the duplicate does not 'inherit' any of these).
 
 
 ** Define a 'floating' NPC object.
 ** Define a 'floating' NPC object.
 
 

+ 1 - 0
npc/Changelog.txt

@@ -1,6 +1,7 @@
 Date		Added
 Date		Added
 ======
 ======
 2007/09/15
 2007/09/15
+	* Added npc_test_duplicate.txt to /samples
 	* Corrected some npc/other/ bugs
 	* Corrected some npc/other/ bugs
 	- added missing arena.txt and fortune.txt to npc list
 	- added missing arena.txt and fortune.txt to npc list
 	- commented out arena.txt and mail.txt since it's not at all done yet
 	- commented out arena.txt and mail.txt since it's not at all done yet

+ 29 - 0
npc/sample/npc_test_duplicate.txt

@@ -0,0 +1,29 @@
+//
+// This sample script tests:
+// * how npc-variables work with duplicated npcs
+// * how the trigger area is applied to duplicates
+//
+// Outcome (r11216 trunk):
+// * the variables are _shared_ between all duplicates
+// * 'OnInit' loads the middle poring last, for some reason
+// * duplicates always override the source npc's trigger area (even 0x0)
+//
+
+-	script	Test Script	-1,1,1,{
+	mes "Hi.";
+	mes "My coords are "+ .map$ +", "+ .x +"/" +.y ;
+	close;
+
+OnInit:
+	getmapxy(.map$, .x, .y, 1);
+	end;
+
+OnTouch:
+	getmapxy(.map$, .x, .y, 1);
+	emotion e_scissors;
+	end;
+}
+
+prontera,150,175,4	duplicate(Test Script)	Test1	909
+prontera,155,175,4	duplicate(Test Script)	Test2	909,2,2
+prontera,160,175,4	duplicate(Test Script)	Test3	909,3,3