Monkiiz Posted February 2, 2009 Posted February 2, 2009 Hiya all, i read this guide when i wanted to learn about scripting and at that time i knew absolutly nothing about scripting, after reading this guide i knew pretty much all there was to know i think =) hope it will be of use to u all How to make a script: 1. You will need L2Walker 2. You will need notepad and the file extension must be .sec (ie: script.sec) 3. The File must be saved as: unicode (File|Save As| Encoding: Unicode) 4. Read this msg to learn about commands. Scripting Rules/Guidelines: — A script instruction must occupy a line. — () front is the instructionname(no spaces) between commands and parenthesis. IE: MOVETO(x,y,z) — () The center is the instruction parameter — Must save file in Unicode format! — IDs to obtain Item IDs, just go on this or this page. Enter your wanted item and you get ID of them. IE: Want Sword of Valhalla Blade, enter this to one of pages and result: -http://lineage.pmfun.com/item/4108/Sword-Of-Valhalla-Blade.html or -http://l2db.onlinewelten.com/?d=items&id=4108 — Condition judgment instruction,If judges correct executes the next instruction or under with {}the center instruction, — Otherwise can jump over to the next instruction under or jumps over continuing on with the script. COMMANDS: MOVETO(x,Y,Z) Moves to x,Y,Z. You can check your posistion by clicking: SETUP | OPTION - Pathing | .Cur NPCSEL(name[iD=x]) Chooses NPC. Can select an NPC within the field of range. Noticed that you can select them even if you don't use ID. IE: NPCSEL(Sovin) NPCDLG(name[iD=x]) With NPC dialogue. Opens up the dialog the NPC has. USESKILL (name [iD=x], SELF|PLAYER|PARTY|NPC|PET, Target) Example: USESKILL(Battle Heal, PLAYER, SE) Note: It doesn't require ID's Set(L2WALKER, ENABLE|DISABLE) How it works: Disables/Enables feaures except the script function within L2Walker. Things like auto buff, auto follow, auto fish would quit working if disabled. Set(RANGETYPE, RAND) How it works: Your character will aimlessly attack the nearest monster, no matter how far the radii is. Set(RANGETYPE, STARTPOS, radii) How it works: First monster attacked is the central point. Anything outside the radii would not be attacked. Disables all other kinds of ranges. Set(RANGETYPE, DEFPOS, x, y, z, radii) How it works: Pre-sets the central point with radii. Anything outside the radii would not be attacked. Disables all other kinds of ranges. Set(RANGETYPE, DEFRANGE) How it works: Uses Ranges. Disables all other kinds of ranges. Set(DEFRANGE, ADD, x, y, z) How it works: Adds another Range Point to a specific location. Set(DEFRANGE, CLEAR) How it works: Clears all added Ranges. Set(RANGETYPE, DEFPATH) How it works: Uses Paths. Disables all other kinds of ranges. Set(DEFPATH, ADD, x, y, z, radii) How it works: Adds another Range Point to a specific location. Set(DEFPATH, CLEAR) How it works: Clears all added Paths. Set(MON, ATTACK|NOATTACK|ATTACK ONE, Name [ ID=n ]; Name1 [ ID=n ]; |*) How it works: Seems to crash L2Walker everytime its used. It might REQUIRE ID numbers unlike the rest. Set(ITEM, PICK|NOPICK|SAVE, Name [ ID=n ]; Name1 [ ID=n ]; |*) DLGSEL(name) Dialogue choice. Look for certain words in dialog and select. GOHOME() Return to nearest town on death. SAY(writing) Speaks generally. Anyone in game can view. MSG(writing) Outside hangs the prompt, Only you can see. UseItem(name[iD=x]) Uses the stage prop. ID is not required. BuyItem(name [ ID=x ],Quantity) Purchase goods. ID is required. SellItem(name [ ID=x ],Quantity) Sell goods. ID is required. SaveItem(name [ ID=x ],Quantity) No Clue what this is used for. LoadItem(name [ ID=x ],Quantity) No Clue what this is used for. ChangeWaitType(x) The character stands or sits down StrInDlg(dialogue writing) Judges in the NPC dialogue dialog box whether has the writing which assigns StrNotInDlg (dialogue writing) Judges in the NPC dialogue dialog box whether it doesn't have assigned writing CharStatus([ CHP|CMP|HP|MP|WEIGHT|LV|SP|RACE|STAND ],[ >=|>|==|!=|<|<=],Num) Character condition judgment. HP,MP,WEIGHT: is a percentage CHP,CMP: Health current actual value WEIGHT: is carries a heavy load the percentage LV: Your Level RACE: manner race (human=0, Demon=1,Dark Elf=2, Elf=3, Dwarf=4) STAND:STAND==1 is standing and STAND==0 is sitting PosInRange(x,Y,Z,Range) Examines the character current coordinates whether by x,Y,Z is central point range is in the radius center of a circle PosOutRange(x,Y,Z,Range) Examines the character current coordinates whether by x,Y,Z is central point range is outside the radius center of a circle ItemCount(name[iD=x],* ,Count) >= Greater than or equal to > Greater than == Equal to != Does not equal < Less than <= Less than or equal to Assigns the name or the ID stage prop quantity compared with thecharacter body on whether does satisfy the condition CALL(LABEL name) Transfers the LABEL marking the label address execution,Carries out returns, Must have to have the RETURN instruction useskill (name[iD=x]) —> Something isn't working here. JMP(LABEL name) Jumps changes to the LABEL marking the label address execution RETURN() When CALL transfer must use this to return EXIT() Conclusion script movement DELAY(x) Retards x millisecond PAUSE() Pause the Script LABEL(Zone) Definition Zone,Uses for JMP or CALL SET([ FIGHTSTART|FIGHTSTOP ]) The establishment commencing of action or stops fighting Well, this is pretty much it, I can give you some of my scripts I found the most useful on other servers (C3/C4 without auto SSx/BSSx) LABEL(BSSC) USEITEM(Blessed Spiritshot: C Grade[iD=3949]) CALL(USE) JMP(BSSC) ———————————– LABEL(SSC) USEITEM(Soulshot: C-grade[iD=1464]) CALL(USE) JMP(SSC) ———————————– LABEL(BSSB) USEITEM(Blessed Spiritshot: B Grade[iD=3950]) CALL(USE) JMP(BSSB) ———————————– LABEL(SSB) USEITEM(Soulshot: B-grade[iD=1465]) CALL(USE) JMP(SSB) ———————————– LABEL(BSSA) USEITEM(Blessed Spiritshot: A Grade[iD=3951]) CALL(USE) JMP(BSSA) ———————————– LABEL(SSA) USEITEM(Soulshot: A-grade[iD=1466]) CALL(USE) JMP(SSA) ———————————– LABEL(BSSS) USEITEM(Blessed Spiritshot: S Grade[iD=3952]) CALL(USE) JMP(BSSS) ———————————– LABEL(SSS) USEITEM(Soulshot: S-grade[iD=1467]) CALL(USE) JMP(SSS) And then for example you need both SSC and BSSC auto use: LABEL(SSC) USEITEM(Soulshot: C-grade[iD=1464]) CALL(USE) JMP(BSSC) LABEL(BSSC) USEITEM(Blessed Spiritshot: C Grade[iD=3949]) CALL(USE) JMP(SSC) If u need any help with a specfic script write here and i might be able to help u
Zanderico Posted February 2, 2009 Posted February 2, 2009 I need scrips for auto active shadow weapon once they dissaper
sltbnjr Posted February 2, 2009 Posted February 2, 2009 zanderico that's not possible to do in scripts and monkiiz no, your re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-repost of walker script commands is useless.
mpj123 Posted February 2, 2009 Posted February 2, 2009 couldn't you just loop something until the weapon dissapears.... True though.... thats a repost :| label(weapon2) ItemCount(name[iD=x],* ,Count) { UseItem(name[iD=x]) delay(10000) JMP(weapon1) } delay(1000) JMP(weapon2) label(weapon1) ItemCount(name[iD=x],* ,Count) { UseItem(name[iD=x]) delay(10000) JMP(weapon0) } delay(1000) JMP(weapon1) LABEL(weapon0) EXIT() I'll let you figure things out from there.... good luck. If you need help with the bot, post in the help section. Topic locked.
Recommended Posts