SoulReaver Posted June 19, 2008 Share Posted June 19, 2008 SET (L2WALKER, ENABLE|DISABLE) // stops outside the start hanging the function Explained: Outside the establishment stops hanging outside the function or the start hangs the function Example: SET (L2WALKER, ENABLE) outside // start hangs the function Outside SET (L2WALKER, DISABLE) // stops hanging the function USESKILL (name [ ID=x ], SELF|PLAYER|PARTY|NPC|PET, TargetName) Explained: Use skill SELF // own PLAYER // plays the family PARTY // troop members NPC // did not explain PET // pet TargetName// goal name Example: USESKILL (the attack strengthens [ ID=104 ], SELF) USESKILL (ultimate cures the technique [ ID=XXX ], PLAYER, only suitablly roams about) Establishment instruction: SET ([ FIGHTSTART|FIGHTSTOP ]) Explained: The establishment commencing of action or stops fighting :SET (FIGHTSTART) // starts to fight SET (FIGHTSTOP) // stops fighting SET (RANGETYPE, RAND) Explained: Establishes stochastically looks strangely SET (RANGETYPE, STARTPOS, radii) Explained: The establishment starts to fight looks strangely for the central point Example: SET (RANGETYPE, STARTPOS,1,500) // starts to fight is the central point, the radius 1,500 SET (RANGETYPE, DEFPOS, x, y, z, radii) Explained: The establishment looks strangely from the definition central point Example: SET (RANGETYPE, DEFPOS,43950,51153, -3022,2000;) / Take 43950,51153, -3022 as the central point, the radius 2,000 SET (RANGETYPE, DEFRANGE) Explained: The establishment looks strangely from the definition scope SET (RANGETYPE, DEFPATH) Explained: The establishment looks strangely from the definition way SET (DEFRANGE, CLEAR) Explained: The elimination eliminates from the definition scope SET (DEFRANGE, ADD, x, y, z) Explained: Increase from definition scope spot Example: SET (DEFRANGE, ADD,43950,51153, -3022;) SET (DEFPATH, CLEAR) Explained: Elimination from definition way SET (DEFPATH, ADD, x, y, z, radii) Explained: Increase from definition way spot Example: SET (DEFPATH, ADD,43950,51153, -3022,1000;) / Take 43950,51153, -3022 as from definition way spot, radius 1,000 SET (MON, ATTACK|NOATTACK|ATTACK ONE, Name [ ID=n ]; Name1 [ ID=n ]; |*) Explained: The establishment attack monster or does not attack the monster ATTACK// is the attack NOATTACK// is does not attack ATTACKONE// is the attack completes the order form SET (ITEM, PICK|NOPICK|SAVE, Name [ ID=n ]; Name1 [ ID=n ]; |*) Explained: Establishes the stage prop to pick takes; Does not pick takes; Preservation PICK// is picks takes NOPICK// is does not pick takes SAVE// is the preservation Movement instruction: MOVETO (x, y, z) Explained: Moves to x, y, z NPCSEL (name [ ID=x ]) Explained: Chooses NPC NPCDLG (name [ ID=x ]) Explained: With NPC dialogue DLGSEL (name) Explained: Dialogue choice GOHOME () Explained: Died the city SAY (writing) Explained: Generally speaks MSG (writing) Explained: Outside hangs the prompt blind, the others UseItem (name [ ID=x ]) Explained: Uses the stage prop BUYSEED (name [ ID=x ], quantity) Explained: Purchase seed Example: BUYSEED (air conditioning tan oak cypress seed [ ID=5046 ],2,000;) SELLSEED (name [ ID=x ], quantity) Explained: Special product settlement Example: SELLSEED (red tan oak tower [ ID=5068 ],3,000;) BuyItem (name [ ID=x ], quantity) Explained: Purchase goods Example 1:BuyItem (returns to the reel [ ID=736 ],2) Example 2:BuyItem (returns to the reel [ ID=736 ],2; Reactivating reel [ ID=737 ],3) SellItem (name [ ID=x ], quantity) Example 1:SellItem (returns to the reel [ ID=736 ],2) Example 2:SellItem (returns to the reel [ ID=736 ],2; Reactivating reel [ ID=737 ],3) Example 3:SellItem (*) sells in the stage prop hypothesis to suppose is "sells" the complete goods SaveItem (name [ ID=x ], quantity) Example 1:SavelItem (returns to the reel [ ID=736 ],2) Example 2:SavelItem (returns to the reel [ ID=736 ],2; Reactivating reel [ ID=737 ],3) Example 3:SavelItem (*) preserves in the stage prop hypothesis to suppose is "saves" the complete goods LoadItem (name [ ID=x ], quantity) Example 1:LoadlItem (returns to the reel [ ID=736 ],2) Example 2:LoadlItem (returns to the reel [ ID=736 ],2; Reactivating reel [ ID=737 ],3) ChangeWaitType (x) The character stands or sits down X = 0 seats X = 1 station Conditional order: StrInDlg (dialogue writing) Explained: Uses for to judge and in the NPC dialogue dialog box whether has the writing which assigns Example: NPCSEL (gram Pu [ ID=1007534 ]) NPCDLG (gram Pu [ ID=1007534 ]) DLGSEL (duty) STRINDLG (complies to entrust) { DLGSEL (complies to entrust) JMP (duty meets) } JMP (duty already received) StrNotInDlg (dialogue writing) Explained: Uses for to judge and in the NPC dialogue dialog box hasn't assigned whether writing Example: NPCSEL (gram Pu [ ID=1007534 ]) NPCDLG (gram Pu [ ID=1007534 ]) DLGSEL (duty) STRNOTINDLG (complies to entrust) { MSG (already received duty) JMP (has met duty) } DLGSEL (complies to entrust) CharStatus ([ CHP|CMP|HP|MP|WEIGHT|LV|SP|RACE|STAND ], [ >=|>|==|! =|<|<= ], num) Explained: The character condition judgement, HP.MP.WEIGHT is a percentage CHP, CMP manner current actual value WEIGHT is carries a heavy load the percentage LV manner rank RACE manner race (human =0, demon =1, dark demon =2, half beastly person =3, dwarf =4) PosInRange (x, y, z, range) Explained: Examines the character current coordinates whether in take x, y, z as central point range is in the radius center of a circle PosOutRange (x, y, z, range) Explained: Examines the character current coordinates whether in take x, y, z as central point range is outside the radius center of a circle Example: Joins in the script opening PosOutRange (100,100,100,500) { MSG (please stand nearby xxx starts) EXIT () } ItemCount (name [ ID=x ], [ >=|>|==|! =|<|<= ], count) Explained: Assigns the name or the ID stage prop quantity compared with the character body on whether does satisfy the condition Flow control instruction: CALL (LABEL name) Explained: Transfers the LABEL marking the label address execution, carries out returns, must have to have the RETURN instruction Example: CALL (next step) The transfer completes can continue the execution next step ... EXIT () LABEL (next step) ... RETURN JMP (LABEL name) Explained: Jumps changes to the LABEL marking the label address execution RETURN () Explained: When CALL transfer must use this to return EXIT () Explained: Conclusion script movement DELAY (x) Explained: Retards x millisecond PAUSE () Explained: The suspension script execution, prompts the information for to play the family, lets play the family to control continues to carry out LABEL (sign signs) Explained: The definition sign signature, uses for JMP or CALL Control: Call(Text) Call goes to a label, then upon the command Return() it returns back to where the call was placed. Take a look at this code for example: Code: Call(Test1) Delay(1000)//1 Call(Test1) Delay(1000)//2 Call(Test1) Delay(1000)//3 Call(Test1) Delay(1000)//4 EXIT() Label(Test1) Delay(2000)//Call1 Return() The first Call(Test1) will jump to the LABEL(Test1), carry out the codes following it then return back to the first Call(Test1) once it hits Return(). It will then perform the Delay(1000)//1 function and continue to the second Call(Test1). The second Call(Test1) will also jump to the Label(Test1) and perform the functions following but this time, upon the Return() code, it will not return to the first Call(Test1) but to the second Call(Test1) and then perform the Delay(1000)//2 function. This will continue to happen for each Call(Test1) and will return to that specific Call(Test1) upon the command Return() If i had used JMP instead of call, the return would be ineffective, and the code would not return back to the jmp upon the Return() code. It would, rather, continue on with the scrip. In the case of the above script, it would end after the Delay(2000)//Call1 as there are no more effective codes following it. I hope this explains it. Try this script to see what i mean...then try replacing all the calls with JMP and see what happens. Delay(Milliseconds) This will stop the script for the defined ammount of time. For example, Delay(20000) will stop the script for 20 seconds. 1000 milliseconds is 1 second. Exit(Text) This will terminate the script GoHome(Text) This function goes to town if you are dead. Does nothing if you are alive Jmp(Text) Refer to the Call(Text) function found above Label(Text) Refer to the Call(Text) function found above Pause(Text) This will pause the script indefinately. Press Continue on the script panel to continue to the script Return() Refer to the Call(Text) function found above Say(Message) This will display the message inside the brackets to the L2walker chat area. Other players cannot see this message Items: BuyItem(ITEMNAME [iD=#],#Wink Buys Item. Must have the buy window open with the desired npc BuySeed(SEEDNAME[iD=#],#Wink Buys seed. Must have the buy seed window open with the desired npc ItemCount(ITEMNAME[iD=#],[>=|>|==|!=|<|<=],1) This code is to be followed with inclusion brackets ({}). Make sure both the open and close bracket is on a seperate line. This code Checks wether or not you have a certain ammount of items in your inventory (including what you're wearing) and then if it satisfies the conditions it will perform the script within the inclusion brackets. Here is an example: Code: ITEMCOUNT(Wooden Arrow[iD=17],<=,20) { DELAY(1000) Call(ToTown) } LoadItem(ITEMNAME [iD=#],#Wink takes out the desired item from the warehouse. Withdraw window must be opened. Use semicolon (Wink to add other items. Here is an example: Code: LoadItem(Stem[iD=1864],50;Varnish[iD=1865],50) This code will remove 50 stems from the warehouse SaveItem(ITEMNAME [iD=#],#Wink similar to the above, except that it will put items into the warehouse instead of take them out. Here is an example: Code: LABEL(Itemdeposit) NPCSEL(Airy[iD=7522]) DELAY(1000) NPCDLG(Airy[iD=7522]) DELAY(1000) DLGSEL(Deposit Item (Private Warehouse)) DELAY(1000) ITEMCOUNT(Stem[iD=1864],>,0) { SaveItem(Stem[iD=1864],9999) CALL(Itemdeposit) Delay(2000) } SellItem(ITEMNAME [iD=#],#Wink Similar to the BuyItem(ITEMNAME [iD=#],#Wink function, except that the buy window must be open with the NPC and this will buy the desired items instead of sell the undesired ones SellSeed(SEEDNAME [iD=#],#Wink Similar to the BuySeed function, but it buys seeds instead UseItem(ITEMNAME [iD=#]Wink Uses a desired item or items NPCs Here is an example of NPC Commands: Code: LABEL(Wirphy) NPCSEL(Wirphy) DELAY(1000) NPCDLG(Wirphy) DELAY(1000) DLGSEL(Quest) DELAY(1000) StrInDlg(Say you will help) { DLGSEL(Say you will help) JMP(Wirphy) } StrNotInDlg(Say you will help) { DELAY(1000) NPCDLG(Wirphy) DELAY(1000) DLGSEL(Go to another village) DLGSEL(Go to another village) DLGSEL(The Northeast Coast - 700 ??) DELAY (30000) } DlgSel(Diologue) Selects the defined dilogue in a diologue window NPCDlg(NPCNAME[iD=#]) Enables diologue with the defined NPC NPCSel(NPCNAME[iD=#]) Selects an NPC StrInDlg(Diologue) Looks for a certain strin in the dilogue and if it exists performs functions in inclusion brackets. Inclusion brackets must follow the script. StrNotInDlg(Diologue) Looks for a certain strin in the dilogue and if it does not exists, the script will performs functions in inclusion brackets. Inclusion brackets must follow the script. Character: ChangeWaitType(0|1) Sets the character to either sit or stand. 0 = sit, 1 = stand. CharStatus(CHP,[>=|>|==|!=|<|<=],#) CharStatus(CMP,[>=|>|==|!=|<|<=],#) CharStatus(HP,[>=|>|==|!=|<|<=],#) CharStatus(LV,[>=|>|==|!=|<|<=],#) CharStatus(MP,[>=|>|==|!=|<|<=],#) CharStatus(RACE,[>=|>|==|!=|<|<=],#) CharStatus(SP,[>=|>|==|!=|<|<=],#) CharStatus(STAND,[>=|>|==|!=|<|<=],0|1) CharStatus(WEIGHT,[>=|>|==|!=|<|<=],#) PosInRange(x,y,z,radii) PosOutRange(x,y,z,radii) UseSkill(NAME[iD=#],NPC,TARGETNAME) UseSkill(NAME[iD=#],Party,TARGETNAME) UseSkill(NAME[iD=#],Pet,TARGETNAME) UseSkill(NAME[iD=#],Player,TARGETNAME) UseSkill(NAME[iD=#],Self,TARGETNAME) Set: Set(DefPath,Add,x,y,z,radii) Set(DefPath,Clear) Set(DefRange,Add,x,y,z) Set(DefRange,CLEAR) Set(FIGHTSTART) Set(FIGHTSTOP) Set(Item,NoPick,NAME[iD=#]) Set(Item,Pick,NAME[iD=#]) Set(Item,Save,NAME[iD=#]) Set(L2Walker,Disable) Set(L2Walker,Enable) Set(Mon,Attack,NAME [iD=#]) Set(Mon,AttackOne,NAME [iD=#]) Set(Mon,NoAttack,NAME [iD=#]) Set(RangeType,Defpath) Set(RangeType,DefPos,x,y,z,radii) Set(RangeType,DefRange) Set(RangeType,RAnd) Set(RangeType,StartPos,radii) Conditions: Bracket Enclosure ({}) Equal To (==) Greater Than (>) Greater Than or Equal To (>=) Less Than (<) Less Than or Equal To (<=) Not Equal To (!=) Quote Link to comment Share on other sites More sharing options...
sltbnjr Posted June 20, 2008 Share Posted June 20, 2008 Useless, this is much more conveniant and detailed than your copypaste Quote Link to comment Share on other sites More sharing options...
Jackie Posted June 20, 2008 Share Posted June 20, 2008 Control: Call(Text) Call goes to a label, then upon the command Return() it returns back to where the call was placed. Take a look at this code for example: Code: Call(Test1) Delay(1000)//1 Call(Test1) Delay(1000)//2 Call(Test1) Delay(1000)//3 Call(Test1) Delay(1000)//4 EXIT() Label(Test1) Delay(2000)//Call1 Return() The first Call(Test1) will jump to the LABEL(Test1), carry out the codes following it then return back to the first Call(Test1) once it hits Return(). It will then perform the Delay(1000)//1 function and continue to the second Call(Test1). The second Call(Test1) will also jump to the Label(Test1) and perform the functions following but this time, upon the Return() code, it will not return to the first Call(Test1) but to the second Call(Test1) and then perform the Delay(1000)//2 function. This will continue to happen for each Call(Test1) and will return to that specific Call(Test1) upon the command Return() If i had used JMP instead of call, the return would be ineffective, and the code would not return back to the jmp upon the Return() code. It would, rather, continue on with the scrip. In the case of the above script, it would end after the Delay(2000)//Call1 as there are no more effective codes following it. I hope this explains it. is this part right? i thought that JMP jump back not CALL Quote Link to comment Share on other sites More sharing options...
mandachumbo Posted June 20, 2008 Share Posted June 20, 2008 You don't need call. Return command return to last call. Example: LABEL(1) SAY(HELLO!) CALL(waittime) LABEL(2) SAY(This) CALL(waittime) LABEL(3) SAY(is) CALL(waittime) LABEL(4) SAY(a) CALL(waittime) LABEL(5) SAY(test!) CALL(waittime) LABEL(6) SAY(for return!) CALL(waittime) LABEL(waittime) DELAY(5000) Result: HELLO! [5 sec] This [5 sec] is [5 sec] a [5 sec] test! [5 sec] for return! [5 sec] Quote Link to comment Share on other sites More sharing options...
fiozo Posted June 20, 2008 Share Posted June 20, 2008 Good work , Thanks for that , is very useful :) Quote Link to comment Share on other sites More sharing options...
buruburu Posted June 20, 2008 Share Posted June 20, 2008 useful...thx Quote Link to comment Share on other sites More sharing options...
zEx_Drax Posted June 20, 2008 Share Posted June 20, 2008 Tnx very good job tnx a lot! Quote Link to comment Share on other sites More sharing options...
Nimlot Posted June 21, 2008 Share Posted June 21, 2008 thx for share to fake chating xD Quote Link to comment Share on other sites More sharing options...
sekyyy Posted June 30, 2008 Share Posted June 30, 2008 tnx i needed it Quote Link to comment Share on other sites More sharing options...
lin1489 Posted June 30, 2008 Share Posted June 30, 2008 yes, very usefull Quote Link to comment Share on other sites More sharing options...
Maharrah Posted June 30, 2008 Share Posted June 30, 2008 nice share Quote Link to comment Share on other sites More sharing options...
AntiVirusCZ Posted September 25, 2008 Share Posted September 25, 2008 ty :) Quote Link to comment Share on other sites More sharing options...
Stryk3r Posted September 25, 2008 Share Posted September 25, 2008 Nice i was looking for this.. thank you Quote Link to comment Share on other sites More sharing options...
geraki Posted September 26, 2008 Share Posted September 26, 2008 Does anyone know the command for crystallizing items? When i want to buy something can i use only the name of the item? ( i dont know the ID) Quote Link to comment Share on other sites More sharing options...
wverri Posted September 29, 2008 Share Posted September 29, 2008 Man... this was just copy/paste... anyway, seems like it helps some ppl, so good job... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.