I've been reading alot and not really contributing so i'll start off here with a very well working script im using to bot my SK outside ivory tower in oren. I've tried to structure the code so it easily can be modified for another level of character, town, and hunting spot.
The script is made for CT2 Retail, mainly to get advantage of the newbie buffs (which now lasts all the way until level 62)
Change log:
Code:
[B]Update 2008-09-01[/B][LIST][*]Version 1.14 -[URL="http://www.speedyshare.com/285689797.html"]Download[/URL][*]Made a config how-to for the script[*]Severly restructured code for easier configuring. [*]Anyone should be able to use the script now.[/LIST] [B]Update 2008-08-26[/B][LIST][*]Version 1.08 -[URL="http://www.speedyshare.com/459449596.html"]Download[/URL][*]Added coordinates for frozen labyrinth hunting spot (yetis)[*]Some minor bugfixes/stability fixes, cosmetical changes and improvements[/LIST] [B]Update 2008-08-21[/B][LIST][*]Version 1.04 -[URL="http://www.speedyshare.com/588512232.html"]Download[/URL][*]Added coordinates for giran castle town and breka orc spot[*]Some minor fixes[/LIST] [B]Update 2008-08-19[/B][LIST][*]Version 1.03b -[URL="http://www.speedyshare.com/212804629.html"]Download[/URL][*]Some minor fixes[/LIST] [B]Update 2008-08-19[/B][LIST][*]Version 1.03 -[URL="http://www.speedyshare.com/709675309.html"]Download[/URL][*]Buff detection now works for mage as well as fighter[*]Added coordinates for dion town[*]Added coordinates for dire wolf hunt spot at dion castle[*]Added easy-to-configure routine for the type of SS to be used.[/LIST] [B]Update 2008-08-18[/B][LIST][*]Version 1.02 -[URL="http://www.speedyshare.com/205304691.html"]Download[/URL][*]Drastically improved script structure and readability[*]Added coordinates for goddard and shuttgart town[*]Added coordinates for pavel ruins hunt spot[/LIST] [B]Update 2008-08-18[/B][LIST][*]Version 1.01 -[URL="http://www.speedyshare.com/403400120.html"]Download[/URL][*]Now checks and buy SOE / Heal pot if needed[/LIST]
Code:
How-to configure script Check the script file (.SEC) and look at the comments clearly stating ([num]) CONFIG to the right. This is the lines you will need to change to get this script working. [SIZE="5"][B](1):[/B][/SIZE] Check the top of the script. These 2 lines need to be set with the correct coordinates for the town that you will be using. [SIZE="5"][B](2):[/B][/SIZE] Easy, just uncomment (remove // at the start of the line) for the towns and spot you want to use. MAke sure all other towns and spots have // in the start of the line. [SIZE="5"][B](3):[/B][/SIZE] HP Config. [SHORT VERSION] Make sure the right BUFFCHECK is uncommented. FIgher put MAXHP*0.94. Mage put MAXMP*0.60. [LONG VERSION/EXPLAINATION] Check end of how-to. [B][SIZE="5"](4): [/SIZE][/B]Shot config. Very simple, uncomment the shot you will be using. Make sure you have ALOT in WH. [SIZE="5"][B](**5): Optional.[/B][/SIZE] Not recommented to change unless you know the script inside-out. Simply the value of items to restock, but this needs to be changed for every town separately later in the script. Im sorry, but lineage is messed up in some ways and every town has separate npc dialogues, a dynamic function wont work. [SIZE="5"][B](**6): Optional.[/B][/SIZE] Not recommented to change unless you know the script inside-out. Basically the same as 5 but this is the actual amount to buy. This dont need to be changed later in the script but wont really affect anything unless you change (**5) as well. [SIZE="5"][B](**7): Optional.[/B][/SIZE] Delays for stop fighting and scroll of escape usage. Default values has been working very well for all my characters, but change if you like. [SIZE="5"][B](3):[/B][/SIZE] HP CONFIG [B][I][SIZE="4"][LONG VERSION/EXPLAINATION][/SIZE][/I][/B] This is slightly complicated but what it does is comparing your current HP/MP to your max HP/MP to try to see if newbie buffs has worn off (BTB/BTS will increase your max HP) This complicated way to do a simple task is simply because l2walker has no buff status functions, only way i know to detect buffs is to compare current hp / max hp (or MP for mages). You need to equip your character with newbie buffs, check your HP if you're a fighter, or check your MP if you're a mage. If you're a fighter, use a calculator to calculate MAXHP[with bless the body]*0.94. This value (94% of max hp) has to be put into the script for buff detection to work. Mages use the same principles for MAXMP[with bless the soul]*0.60, check the script and uncomment the right line, put your own value in it. Since you will level up your max hp or mp will change, and there is no way to make walker detect this. For this reason you need to update the script every 3 or 4 levels, or the character wont go back. This is a flaw but theres no other way unless walker implements better script functions.
- Checks if newbie buffs is gone, if so, return to town and rebuff
- Checks if low on SS, if so, restock until reaching set weight
- Checks if character is in town (dead or returned by script),
if so, check pot & SS status and return to hunting spot.
Known Problems:
- The restock script will probably make you a bit heavy if you're a fighter
and have the blessing of revelations buff from seven signs. If you are, please
set the charstatus(weight,....) functions calls to a lower percentage (38?) than the current value to avoid overweight once the buff wears off. - When the scripts 'wants' to go to town, it just pauses the script for 25 seconds to give time to kill all the possible aggro you may have. For ensuring the bot to correctly do this, you should have the party setting: 'follow attack' setting checked, and the 'dont solo counterattack mobs' setting unchecked in your l2walker config. This will make your character fight back even if the bot itself is paused. No name has to be specified in the active follow box.
To do:
- will add later on
Version 1.14:
Code:
//----------------------------------------------------- //---------------- COORDINATETABLES ------------------- //----------------------------------------------------- //---------------- (PUT THE CORRECT ONES FOR YOUR TOWN INTO MAIN LOOP //---------------- POSOUTRANGE AND POSINRANGE FUNCTION CALLS): // //---------------- TOWN CENTER: //---------------- OREN: 82131,55132,-1520,3000 //---------------- SHUTTGART: 87345,-141092,-1336,3000 //---------------- DION: 18915,144688,-3104,3750 //---------------- GODDARD: 147774,-57663,-2896,4000 //---------------- GIRAN: 81608,148594,-3464,3250 //----------------------------------------------------- //------------------------------------------------------------------------------ //---------------- MAIN LOOP STARTS -------------------------------------------- //------------------------------------------------------------------------------ LABEL(FOREVER) //---------------- JUST A CHECK FOR GOING BACK TO TOWN; //---------------- REDUNDANT IF DEAD RETURN IS SET CharStatus(HP,==,0) { MSG(Character Dead! Going back to town!) GOHOME() } //---------------- IF NOT IN TOWN, CHECK FOR NEWBIE BUFFS //---------------- (BLESS THE BODY). IF NOT FOUND; RETURN //--------------------------------------------------------------------------------------------------------------------(1) CONFIG POSOUTRANGE(82131,55132,-1520,3000) { CALL(BUFFCHECK) } //---------------- IF IN TOWN, GO BACK TO SPOT //--------------------------------------------------------------------------------------------------------------------(1) CONFIG POSINRANGE(82131,55132,-1520,3000) { CALL(RUNTOADV) CALL(POTCHECK) CALL(SSCHECK) CALL(RUNTOGK) CALL(RUNTOSPOT) } JMP(FOREVER) //------------------------------------------------------------------------------ //---------------- MAIN LOOP ENDS ---------------------------------------------- //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //---------------- SUBROUTINES FOLLOWS ----------------------------------------- //------------------------------------------------------------------------------ //----------------------------------------------------- //---------------- RUNS TO ADVENTURERS GUIDE ---------- //---------------- UNCOMMENT THE CORRECT CITY --------- //---------------- THAT YOU WANT TO USE. -------------- //----------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------(2) CONFIG LABEL(RUNTOADV) { CALL(ADVOREN) //CALL(ADVGODDARD) //CALL(ADVSHUTTGART) //CALL(ADVDION) //CALL(ADVGIRAN) RETURN() } //----------------------------------------------------- //---------------- RUNS TO GROCERY STORE -------------- //---------------- UNCOMMENT THE CORRECT CITY --------- //---------------- THAT YOU WANT TO USE. -------------- //----------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------(2) CONFIG LABEL(BUYPOT) { CALL(POTOREN) //CALL(POTGODDARD) //CALL(POTSHUTTGART) //CALL(POTDION) //CALL(POTGIRAN) RETURN() } //----------------------------------------------------- //---------------- RUNS TO WAREHOUSE KEEPER ----------- //---------------- UNCOMMENT THE CORRECT CITY --------- //---------------- THAT YOU WANT TO USE. -------------- //----------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------(2) CONFIG LABEL(RESTOCKSS) { CALL(SSOREN) //CALL(SSGODDARD) //CALL(SSSHUTTGART) //CALL(SSDION) //CALL(SSGIRAN) RETURN() } //----------------------------------------------------- //---------------- RUNS TO GATEKEEPER ----------------- //---------------- UNCOMMENT THE CORRECT CITY --------- //---------------- THAT YOU WANT TO USE. -------------- //----------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------(2) CONFIG LABEL(RUNTOGK) { CALL(GKOREN) //CALL(GKGODDARD) //CALL(GKSHUTTGART) //CALL(GKDION) //CALL(GKGIRAN) RETURN() } //----------------------------------------------------- //---------------- RUNS TO HUNTING SPOT --------------- //---------------- UNCOMMENT THE CORRECT SPOT --------- //---------------- THAT YOU WANT TO USE. -------------- //---------------- MAKE SURE TOWN IS CORRECT ---------- //----------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------(2) CONFIG LABEL(RUNTOSPOT) { CALL(ORENSPOT1) //IVORY TOWER (FORMOR, FORMOR ELDER, TARLK BUGBEAR) //CALL(SHUTTGARTSPOT1) //IVORY TOWER //CALL(SHUTTGARTSPOT2) //CALL(DIONSPOT1) //CALL(GIRANSPOT1) RETURN() } //----------------------------------------------------- //---------------- CHECKS IF MAX HP OR MP IS LOW. //---------------- //---------------- FIGHTER: //------------------------- //---------------- THE FIST CHARSTATUS CALL SHOULD INCLUDE YOUR MAXHP(WITH BTB6)*0.94 //---------------- THAT IS 94% OF MAX HP WITH NEWBIE BUFFS. THIS NEEDS TO BE UPDATED EVERY FEW LEVELS (NOT EVERY LEVEL) //---------------- OR THE SCRIPT WONT DETECT WHEN NEWBIE BUFFS WEARS OFF. //---------------- IF USING THIS COMMENT OUT THE MAGE PART. //---------------- PLEASE NOTE THAT HEALTH NEEDS TO BE AROUND THIS VALUE (94%) FOR THE SCRIPT TO DETECT BUFF ABSENCE. //------------------------- //--------------------------------------------------------------------------------------------------------------------(3a) CONFIG LABEL(BUFFCHECK) { //--------------------------------------------------------------------------------------------------------------------(3a) CONFIG CharStatus(CHP,<=,1875) { CharStatus(HP,>=,98) { //--------------------------------------------------------------------------------------------------------------------(3a) CONFIG CharStatus(CHP,<=,1875) { CALL(TOTOWN) } } } RETURN() } //----------------------------------------------------- //---------------- CHECKS IF MAX HP OR MP IS LOW. //---------------- //---------------- MAGE: //------------------------- //---------------- THE FIST CHARSTATUS CALL SHOULD INCLUDE YOUR MAXMANA(WITH BTS6)*0.60 //---------------- THAT IS 60% OF MAX HP WITH NEWBIE BUFFS. THIS NEEDS TO BE UPDATED EVERY FEW LEVELS (NOT EVERY LEVEL) //---------------- OR THE SCRIPT WONT DETECT WHEN NEWBIE BUFFS WEARS OFF. //---------------- IF USING THIS COMMENT OUT THE FIGHTER PART. //---------------- PLEASE NOTE THAT MANA NEEDS TO BE AROUND THIS VALUE (60%) FOR THE SCRIPT TO DETECT BUFF ABSENCE. //------------------------- //--------------------------------------------------------------------------------------------------------------------(3b) CONFIG //LABEL(BUFFCHECK) { //--------------------------------------------------------------------------------------------------------------------(3b) CONFIG CharStatus(CMP,<=,666) { CharStatus(MP,>=,63) { //--------------------------------------------------------------------------------------------------------------------(3b) CONFIG CharStatus(CMP,<=,666) { CALL(TOTOWN) } } } RETURN() } //----------------------------------------------------- //---------------- CHECKS CURRENT SOULSHOT AMOUNT AND CHARACTER WEIGHT //---------------- THE AMOUNT OF MINIMUM SOULSHOTS, //---------------- SOULSHOT TYPE AND WEIGHT PERCENTAGE CAN BE //---------------- MODIFIED TO BETTER SUIT YOUR NEEDS. //----------------------------------------------------- LABEL(SSCHECK) { //--------------------------------------------------------------------------------------------------------------------(4a) CONFIG //ITEMCOUNT(Soulshot: No Grade[ID=1835],<=,4000) //ITEMCOUNT(Soulshot: D-grade[ID=1463],<=,4000) ITEMCOUNT(Soulshot: C-grade[ID=1464],<=,4000) //ITEMCOUNT(Soulshot: B-grade[ID=1465],<=,2000) //ITEMCOUNT(Soulshot: A-grade[ID=1466],<=,2000) //ITEMCOUNT(Soulshot: S-grade[ID=1467],<=,2000) //---------------------------------------------------------------- //ITEMCOUNT(Blessed Spiritshot: No Grade[ID=3947],<=,2000 //ITEMCOUNT(Blessed Spiritshot: D-Grade[ID=3948],<=,2000) //ITEMCOUNT(Blessed Spiritshot: C-Grade[ID=3949],<=,2000) //ITEMCOUNT(Blessed Spiritshot: B-Grade[ID=3950],<=,1000) //ITEMCOUNT(Blessed Spiritshot: A-Grade[ID=3951],<=,1000) //ITEMCOUNT(Blessed Spiritshot: S Grade[ID=3952],<=,1000) { CHARSTATUS(WEIGHT,<,46) { MSG(Attempting to restock soulshots) CALL(RESTOCKSS) } } RETURN() } //----------------------------------------------------- //---------------- AGAIN THE TYPE OF SS TO USE. //---------------- LAST VALUE IS NUMBER OF SHOTS //---------------- TO WITHDRAW BETWEEN EACH WEIGHT CHECK. //---------------- IF RESTOCKING SEEMS TOO SLOW THIS VALUE //---------------- CAN BE INCREASED, BEWARE; //---------------- TOO HIGH CAN CAUSE OVERWEIGHT. //----------------------------------------------------- LABEL(GETSHOTS) { //--------------------------------------------------------------------------------------------------------------------(4a) CONFIG //LOADITEM(Soulshot: No Grade[ID=1835],300;) //LOADITEM(Soulshot: D-grade[ID=1463],300;) LOADITEM(Soulshot: C-grade[ID=1464],300;) //LOADITEM(Soulshot: B-grade[ID=1465],300;) //LOADITEM(Soulshot: A-grade[ID=1466],300;) //LOADITEM(Soulshot: S-grade[ID=1467],300;) //---------------------------------------------------------------- //LOADITEM(Blessed Spiritshot: No Grade[ID=3947],300;) //LOADITEM(Blessed Spiritshot: D-Grade[ID=3948],300;) //LOADITEM(Blessed Spiritshot: C-Grade[ID=3949],300;) //LOADITEM(Blessed Spiritshot: B-Grade[ID=3950],300;) //LOADITEM(Blessed Spiritshot: A-Grade[ID=3951],300;) //LOADITEM(Blessed Spiritshot: S Grade[ID=3952],300;) RETURN() } //----------------------------------------------------- //---------------- CHECKS IF POTS OR SOE IS LOW //---------------- VALUES CAN BE MODIFIED TO SUIT YOUR NEEDS, OR ADD ANOTHER ITEM; //---------------- BUT IF YOU DO REMEMBER TO EDIT BUYPOT ROUTINE AS WELL //----------------------------------------------------- LABEL(POTCHECK) { //--------------------------------------------------------------------------------------------------------------------(*5) OPTIONAL CONFIG ITEMCOUNT(Healing Potion[ID=1061],<=,50) { MSG(Low on healing pots, lets go buy some!) CALL(BUYPOT) } //--------------------------------------------------------------------------------------------------------------------(*5) OPTIONAL CONFIG ITEMCOUNT(Scroll of Escape[ID=736],<=,3) { MSG(Low on scroll of escape, lets go buy some!) CALL(BUYPOT) } RETURN() } //----------------------------------------------------- //---------------- Amount of healing pots to restock at one time //----------------------------------------------------- LABEL(DOBUYPOT) { //--------------------------------------------------------------------------------------------------------------------(*6) OPTIONAL CONFIG BUYITEM(Healing Potion[ID=1061],150;) RETURN() } //----------------------------------------------------- //---------------- Amount of soulshots to restock at one time //----------------------------------------------------- LABEL(DOBUYSOE) { //--------------------------------------------------------------------------------------------------------------------(*6) OPTIONAL CONFIG BUYITEM(Scroll of Escape[ID=736],7;) RETURN() } //----------------------------------------------------- //---------------- ATTEMPTS TO RETURN TO TOWN //---------------- THE FIRST DELAY SHOULD BE SET TO A //---------------- GOOD TIME TO FINISH ALL AGGRO BEFORE USING SOE. //---------------- SECOND DELAY IS JUST TO GIVE TIME FOR SOE + TOWN LOAD, //---------------- IF YOU HAVE A SLOW COMPUTER A HIGHER VALUE MAY BE GOOD. //----------------------------------------------------- LABEL(TOTOWN) { MSG(Appear newbie buffs is gone, attempting to go home) SET(FIGHTSTOP) //--------------------------------------------------------------------------------------------------------------------(*7) OPTIONAL CONFIG DELAY(25000) USEITEM(Scroll of Escape[ID=736]) SET(FIGHTSTART) //--------------------------------------------------------------------------------------------------------------------(*7) OPTIONAL CONFIG DELAY(20000) RETURN() } //------------------------------------------------------------------------------ //---------------- PATHFINDING SECTION ----------------------------------------- //------------------------------------------------------------------------------ //----------------------------------------------------- //---------------- RUNS TO ADVENTURERS GUIDE //----------------------------------------------------- //----------------------------------------------------- //---------------- OREN CASTLE TOWN ------------------- //----------------------------------------------------- LABEL(ADVOREN) { SET(FIGHTSTOP) SET(L2WALKER,DISABLE) MOVETO(82332,54175,-1522) MOVETO(82310,55342,-1551) MOVETO(81562,55605,-1551) MOVETO(80648,55869,-1586) MOVETO(80461,55638,-1586) MOVETO(80437,54430,-1586) MOVETO(80545,53997,-1586) MOVETO(81014,53594,-1586) MOVETO(81774,53512,-1522) MOVETO(82240,53524,-1522) MOVETO(82363,53336,-1522) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GODDARD -------------------- //----------------------------------------------------- LABEL(ADVGODDARD) { SET(FIGHTSTOP) SET(L2WALKER,DISABLE) MOVETO(147711,-57629,-2907) MOVETO(147711,-58556,-3007) MOVETO(145830,-58248,-3007) MOVETO(147842,-58618,-3007) MOVETO(149595,-58017,-3007) MOVETO(147932,-58409,-3007) MOVETO(147778,-58357,-3007) MOVETO(147715,-57635,-2908) MOVETO(147713,-57209,-2807) MOVETO(148056,-57028,-2807) RETURN() } //----------------------------------------------------- //---------------- TOWN OF SHUTTGART ------------------ //----------------------------------------------------- LABEL(ADVSHUTTGART) { SET(FIGHTSTOP) SET(L2WALKER,DISABLE) MOVETO(87355,-141067,-1467) MOVETO(87366,-140015,-1567) MOVETO(89511,-140677,-1567) MOVETO(87380,-139936,-1567) MOVETO(85155,-140863,-1567) MOVETO(87339,-140424,-1567) MOVETO(87361,-141316,-1394) MOVETO(87282,-141495,-1366) MOVETO(87160,-141463,-1366) MOVETO(87155,-141350,-1366) RETURN() } //----------------------------------------------------- //---------------- TOWN OF DION ----------------------- //----------------------------------------------------- LABEL(ADVDION) { SET(FIGHTSTOP) SET(L2WALKER,DISABLE) MOVETO(19540,145570,-3133) MOVETO(19053,144661,-3134) MOVETO(17963,146145,-3132) MOVETO(17094,145017,-3055) MOVETO(17057,144935,-3045) MOVETO(17117,144903,-3042) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GIRAN ---------------------- //----------------------------------------------------- LABEL(ADVGIRAN) { SET(FIGHTSTOP) SET(L2WALKER,DISABLE) MOVETO(81555,147611,-3495) MOVETO(80845,148573,-3495) MOVETO(81478,149574,-3495) MOVETO(81530,149573,-3495) MOVETO(82778,149376,-3495) MOVETO(82837,149362,-3495) RETURN() } //----------------------------------------------------- //---------------- RUNS TO GROCERY //---------------- THE AMOUNT OF POTS AND SCROLLS TO BUY CAN BE MODIFIED FOR YOUR OWN NEEDS. //----------------------------------------------------- //----------------------------------------------------- //---------------- OREN CASTLE TOWN ------------------- //----------------------------------------------------- LABEL(POTOREN) { MOVETO(81568,53540,-1522) MOVETO(81139,53628,-1586) MOVETO(81000,53848,-1586) MOVETO(80944,54414,-1551) MOVETO(80539,54782,-1586) MOVETO(80262,54903,-1586) MOVETO(80005,54946,-1573) MOVETO(79643,54902,-1573) MOVETO(79532,54887,-1573) MOVETO(79521,54898,-1544) ITEMCOUNT(Healing Potion[ID=1061],<=,100) { NPCSEL(Sara[ID=30180]) NPCDLG(Sara[ID=30180]) DLGSEL(Buy Consumables and Minerals ) CALL(DOBUYPOT) } DELAY(3000) ITEMCOUNT(Scroll of Escape[ID=736],<=,3) { NPCSEL(Sara[ID=30180]) NPCDLG(Sara[ID=30180]) DLGSEL(Buy Consumables and Minerals ) CALL(DOBUYSOE) } MOVETO(79758,54874,-1572) MOVETO(80412,54958,-1586) MOVETO(81124,55455,-1551) MOVETO(81944,55498,-1551) MOVETO(82216,55009,-1551) MOVETO(82405,54108,-1522) MOVETO(82386,53350,-1522) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GODDARD -------------------- //----------------------------------------------------- LABEL(POTGODDARD) { MOVETO(147726,-57296,-2807) MOVETO(147723,-58154,-3007) MOVETO(148565,-58116,-3007) MOVETO(149168,-57912,-3007) MOVETO(149190,-57871,-3007) MOVETO(149110,-57662,-2994) MOVETO(149281,-57395,-2994) ITEMCOUNT(Healing Potion[ID=1061],<=,100) { NPCSEL(Liesel[ID=31263]) NPCDLG(Liesel[ID=31263]) DLGSEL(Buy Consumables ) CALL(DOBUYPOT) } DELAY(3000) ITEMCOUNT(Scroll of Escape[ID=736],<=,3) { NPCSEL(Liesel[ID=31263]) NPCDLG(Liesel[ID=31263]) DLGSEL(Buy Consumables ) CALL(DOBUYSOE) } MOVETO(149130,-57644,-2994) MOVETO(149240,-58011,-3007) MOVETO(148011,-58139,-3007) MOVETO(147726,-58009,-3007) MOVETO(147722,-57555,-2907) MOVETO(147816,-57158,-2807) MOVETO(148080,-57020,-2807) RETURN() } //----------------------------------------------------- //---------------- TOWN OF SHUTTGART ------------------ //----------------------------------------------------- LABEL(POTSHUTTGART) { MOVETO(87164,-141446,-1366) MOVETO(87278,-141438,-1336) MOVETO(87334,-141410,-1367) MOVETO(87357,-140499,-1567) MOVETO(86330,-140666,-1567) MOVETO(85940,-140819,-1567) MOVETO(85864,-140867,-1567) MOVETO(85945,-141081,-1554) MOVETO(85772,-141320,-1554) ITEMCOUNT(Healing Potion[ID=1061],<=,100) { NPCSEL(Pele[ID=31952]) NPCDLG(Pele[ID=31952]) DLGSEL("I want to buy supplies.") CALL(DOBUYPOT) } DELAY(3000) ITEMCOUNT(Scroll of Escape[ID=736],<=,3) { NPCSEL(Pele[ID=31952]) NPCDLG(Pele[ID=31952]) DLGSEL("I want to buy supplies.") CALL(DOBUYSOE) } MOVETO(85954,-141048,-1554) MOVETO(85787,-140701,-1567) MOVETO(87026,-140598,-1567) MOVETO(87342,-140653,-1567) MOVETO(87351,-141323,-1391) MOVETO(87196,-141518,-1366) MOVETO(87154,-141351,-1366) RETURN() } //----------------------------------------------------- //---------------- TOWN OF DION ----------------------- //----------------------------------------------------- LABEL(POTDION) { MOVETO(17242,145151,-3072) MOVETO(17757,145467,-3095) MOVETO(18131,145545,-3124) MOVETO(18888,145601,-3135) MOVETO(19238,145737,-3115) MOVETO(19269,145773,-3109) MOVETO(19287,146119,-3096) MOVETO(19232,146165,-3096) ITEMCOUNT(Healing Potion[ID=1061],<=,100) { NPCSEL(Lara[ID=30063]) NPCDLG(Lara[ID=30063]) DLGSEL(Buy Consumables and Minerals ) CALL(DOBUYPOT) } DELAY(3000) ITEMCOUNT(Scroll of Escape[ID=736],<=,3) { NPCSEL(Lara[ID=30063]) NPCDLG(Lara[ID=30063]) DLGSEL(Buy Consumables and Minerals ) CALL(DOBUYSOE) } MOVETO(19269,145882,-3096) MOVETO(19242,145674,-3126) MOVETO(17988,145715,-3131) MOVETO(17476,145462,-3102) MOVETO(17155,145077,-3063) MOVETO(17071,144900,-3041) MOVETO(17120,144894,-3041) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GIRAN ---------------------- //----------------------------------------------------- LABEL(POTGIRAN) { MOVETO(81579,148988,-3495) MOVETO(80908,147997,-3495) MOVETO(80807,147850,-3495) MOVETO(80688,147879,-3464) ITEMCOUNT(Healing Potion[ID=1061],<=,100) { NPCSEL(Helvetia[ID=30081]) NPCDLG(Helvetia[ID=30081]) DLGSEL(Buy Consumables and Minerals) CALL(DOBUYPOT) } DELAY(3000) ITEMCOUNT(Scroll of Escape[ID=736],<=,3) { NPCSEL(Helvetia[ID=30081]) NPCDLG(Helvetia[ID=30081]) DLGSEL(Buy Consumables and Minerals) CALL(DOBUYSOE) } MOVETO(81261,148688,-3495) MOVETO(82037,149170,-3495) MOVETO(82685,149249,-3495) MOVETO(82820,149380,-3495) RETURN() } //----------------------------------------------------- //---------------- RUNS TO WAREHOUSE //---------------- ATTEMPTS TO WITHDRAW 300 SOULSHOTS AT A TIME //---------------- UNTIL SET WEIGHT (DEFAULT 46%) IS REACHED //----------------------------------------------------- //----------------------------------------------------- //---------------- OREN CASTLE TOWN ------------------- //----------------------------------------------------- LABEL(SSOREN) { MOVETO(82332,54175,-1522) MOVETO(82310,55342,-1551) MOVETO(81562,55605,-1551) MOVETO(80648,55869,-1586) MOVETO(80461,55638,-1586) MOVETO(80437,54430,-1586) MOVETO(80545,53997,-1586) MOVETO(81014,53594,-1586) MOVETO(81774,53512,-1522) MOVETO(82240,53524,-1522) MOVETO(82363,53336,-1522) MOVETO(82224,53673,-1522) MOVETO(82286,54280,-1522) MOVETO(82103,55088,-1551) MOVETO(82013,55434,-1551) MOVETO(81680,55455,-1551) MOVETO(81664,55132,-1536) MOVETO(81748,55126,-1536) MSG(If the script appears to hang your warehouse is out of SS!) LABEL(LOADSSOREN) NPCSEL(Hagger[ID=30183]) NPCDLG(Hagger[ID=30183]) DLGSEL(Private Warehouse.) DLGSEL(Withdraw an item. (Private nWarehouse)) CALL(GETSHOTS) DELAY(350) CHARSTATUS(WEIGHT,<=,46) { JMP(LOADSSOREN) } MSG(Sucessfully loaded SS, Continue) MOVETO(81658,55118,-1536) MOVETO(81666,55475,-1551) MOVETO(82143,55485,-1551) MOVETO(82318,54573,-1551) MOVETO(82490,54172,-1522) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GODDARD -------------------- //----------------------------------------------------- LABEL(SSGODDARD) { MOVETO(147774,-57175,-2807) MOVETO(147682,-58179,-3007) MOVETO(146437,-58132,-3007) MOVETO(146220,-57935,-3007) MOVETO(146329,-57679,-2993) MOVETO(146387,-57534,-2993) MSG(If the script appears to hang your warehouse is out of SS!) LABEL(LOADSSGODDARD) NPCSEL(Hakon[ID=31268]) NPCDLG(Hakon[ID=31268]) DLGSEL(Private Warehouse.) DLGSEL(Pick up an item - Private Warehouse) CALL(GETSHOTS) DELAY(350) CHARSTATUS(WEIGHT,<=,46) { JMP(LOADSSGODDARD) } MSG(Sucessfully loaded SS, Continue) MOVETO(146157,-58052,-3007) MOVETO(147188,-58287,-3007) MOVETO(147686,-58033,-3007) MOVETO(147707,-57376,-2829) MOVETO(147828,-57151,-2807) MOVETO(148075,-57022,-2807) RETURN() } //----------------------------------------------------- //---------------- TOWN OF SHUTTGART ------------------ //----------------------------------------------------- LABEL(SSSHUTTGART) { MOVETO(87200,-141511,-1366) MOVETO(87343,-141405,-1367) MOVETO(87379,-140589,-1567) MOVETO(88627,-140575,-1567) MOVETO(88859,-140734,-1567) MOVETO(88686,-141171,-1553) MSG(If the script appears to hang your warehouse is out of SS!) LABEL(LOADSSSHUTTGART) NPCSEL(Cherbal[ID=31957]) NPCDLG(Cherbal[ID=31957]) DLGSEL(Private Warehouse.) DLGSEL(Withdraw Item (Private Warehouse)) CALL(GETSHOTS) DELAY(350) CHARSTATUS(WEIGHT,<=,46) { JMP(LOADSSSHUTTGART) } MSG(Sucessfully loaded SS, Continue) MOVETO(88921,-140656,-1567) MOVETO(87586,-140399,-1567) MOVETO(87362,-140747,-1567) MOVETO(87360,-141081,-1467) MOVETO(87346,-141529,-1366) MOVETO(87185,-141484,-1366) MOVETO(87155,-141350,-1366) RETURN() } //----------------------------------------------------- //---------------- TOWN OF DION ----------------------- //----------------------------------------------------- LABEL(SSDION) { MOVETO(17267,145214,-3079) MOVETO(18209,145726,-3142) MOVETO(19137,144080,-3105) MOVETO(19779,144135,-3090) MOVETO(20367,144635,-3115) MOVETO(20522,144699,-3106) MOVETO(20684,144692,-3096) MOVETO(20800,144550,-3096) MOVETO(20801,144448,-3096) MOVETO(20771,144435,-3094) MSG(If the script appears to hang your warehouse is out of SS!) LABEL(LOADSSDION) NPCSEL(Holvas[ID=30058]) NPCDLG(Holvas[ID=30058]) DLGSEL(Private Warehouse.) DLGSEL(Withdraw an item. (Private nWarehouse)) CALL(GETSHOTS) DELAY(350) CHARSTATUS(WEIGHT,<=,46) { JMP(LOADSSDION) } MSG(Sucessfully loaded SS, Continue) MOVETO(20770,144618,-3096) MOVETO(20465,144751,-3107) MOVETO(19850,144147,-3094) MOVETO(19172,144123,-3110) MOVETO(18651,145453,-3153) MOVETO(17562,145528,-3108) MOVETO(16960,144893,-3036) MOVETO(17111,144895,-3041) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GIRAN ---------------------- //----------------------------------------------------- LABEL(SSGIRAN) { MOVETO(82538,149359,-3495) MOVETO(82439,149763,-3464) MSG(If the script appears to hang your warehouse is out of SS!) LABEL(LOADSSGIRAN) NPCSEL(Randolf[ID=30095]) NPCDLG(Randolf[ID=30095]) DLGSEL(Private Warehouse.) DLGSEL(Withdraw an item. (Private nWarehouse)) CALL(GETSHOTS) DELAY(350) CHARSTATUS(WEIGHT,<=,46) { JMP(LOADSSGIRAN) } MSG(Sucessfully loaded SS, Continue) MOVETO(82635,149505,-3495) MOVETO(82846,149354,-3495) RETURN() } //----------------------------------------------------- //---------------- ATTEMPTS TO RUN TO GATEKEEPER //----------------------------------------------------- //----------------------------------------------------- //---------------- OREN CASTLE TOWN ------------------- //----------------------------------------------------- LABEL(GKOREN) { NPCSEL(Adventurers' Guide[ID=32327]) NPCDLG(Adventurers' Guide[ID=32327]) DLGSEL(View list of beneficial magic available to receive.) DLGSEL(Receive support magic.) MSG(Running to GK) MOVETO(82738,53331,-1522) MOVETO(82944,53148,-1522) NPCSEL(Valentina[ID=30177]) NPCDLG(Valentina[ID=30177]) DLGSEL(Teleport.) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GODDARD -------------------- //----------------------------------------------------- LABEL(GKGODDARD) { NPCSEL(Adventurers' Guide[ID=32327]) NPCDLG(Adventurers' Guide[ID=32327]) DLGSEL(View list of beneficial magic available to receive.) DLGSEL(Receive support magic.) MSG(Running to GK) MOVETO(147850,-56148,-2807) MOVETO(147928,-55436,-2760) MOVETO(147967,-55257,-2760) NPCSEL(Tatiana[ID=31275]) NPCDLG(Tatiana[ID=31275]) DLGSEL(Teleport.) RETURN() } //----------------------------------------------------- //---------------- TOWN OF SHUTTGART ------------------ //----------------------------------------------------- LABEL(GKSHUTTGART) { NPCSEL(Adventurers' Guide[ID=32327]) NPCDLG(Adventurers' Guide[ID=32327]) DLGSEL(View list of beneficial magic available to receive.) DLGSEL(Receive support magic.) MOVETO(87252,-142303,-1366) MOVETO(87217,-143203,-1319) MOVETO(87056,-143442,-1319) NPCSEL(Bilia[ID=31964]) NPCDLG(Bilia[ID=31964]) DLGSEL(Teleport.) RETURN() } //----------------------------------------------------- //---------------- TOWN OF DION ----------------------- //----------------------------------------------------- LABEL(GKDION) { NPCSEL(Adventurers' Guide[ID=32327]) NPCDLG(Adventurers' Guide[ID=32327]) DLGSEL(View list of beneficial magic available to receive.) DLGSEL(Receive support magic.) MOVETO(16093,143530,-2855) MOVETO(15827,143274,-2774) MOVETO(15783,142966,-2732) MOVETO(15637,142910,-2732) NPCSEL(Trisha[ID=30059]) NPCDLG(Trisha[ID=30059]) DLGSEL(Teleport.) RETURN() } //----------------------------------------------------- //---------------- TOWN OF GIRAN ---------------------- //----------------------------------------------------- LABEL(GKGIRAN) { NPCSEL(Adventurers' Guide[ID=32327]) NPCDLG(Adventurers' Guide[ID=32327]) DLGSEL(View list of beneficial magic available to receive.) DLGSEL(Receive support magic.) MOVETO(83307,148937,-3431) MOVETO(83499,148393,-3431) MOVETO(83492,147964,-3431) MOVETO(83415,147918,-3431) NPCSEL(Clarissa[ID=30080]) NPCDLG(Clarissa[ID=30080]) DLGSEL(Teleport) RETURN() } //----------------------------------------------------- //---------------- ATTEMPTS TO RUN TO HUNTING SPOT //---------------- SINCE THERES SO MANY YOU'LL PROBABLY HAVE TO MAKE YOUR OWN //---------------- ILL PUT MORE AND MORE IN HERE AS TIME PASSES, JUST FOLLOW //---------------- MY STRUCTURE AND YOU SHOULD BE FINE. //---------------- REMEMBER TO USE DELAY AFTER TELEPORT IF YOU USE IGW. //----------------------------------------------------- //----------------------------------------------------- //------ SOUTHEAST OF IVORY TOWER - FORMORS AND BUGBEARS //----------------------------------------------------- LABEL(ORENSPOT1) { DLGSEL(Ivory Tower - 3700 Adena ) DELAY(15000) MOVETO(85348,16704,-3638) MOVETO(85335,17355,-3549) MOVETO(85325,19935,-3813) MOVETO(85335,21913,-3565) MOVETO(85336,23147,-3544) MOVETO(85371,23978,-3667) MOVETO(85715,24238,-3635) MOVETO(86114,24398,-3592) MOVETO(86166,24396,-3621) MOVETO(87105,24026,-3601) MOVETO(87518,23982,-3512) MOVETO(87743,23933,-3527) MOVETO(88416,23941,-3549) MOVETO(89678,23570,-3629) MOVETO(89945,23389,-3629) MOVETO(90234,23092,-3629) MOVETO(90597,22705,-3612) MOVETO(91134,22299,-3618) MOVETO(91633,21824,-3646) MOVETO(91979,21361,-3651) DELAY(1000) SET(L2WALKER,ENABLE) SET(FIGHTSTART) MSG(Hopefully at spot, Walker enabled) RETURN() } //----------------------------------------------------- //------ PAVEL RUINS //----------------------------------------------------- LABEL(SHUTTGARTSPOT1) { DLGSEL(Pavel Ruins - 2100 Adena ) DLGSEL(Pavel Ruins - 1100 Adena ) DELAY(15000) ITEMCOUNT(Destroyed Golem Shards[ID=8100],>=,500) { MSG(500 Destroyed Golem Shards gained! Attempting to retake quest!) MOVETO(91330,-116945,-3959) NPCSEL(Gutenhagen[ID=32069]) NPCDLG(Gutenhagen[ID=32069]) DLGSEL(Quest) DLGSEL("Here are the Shards.") DELAY(1000) NPCSEL(Gutenhagen[ID=32069]) NPCDLG(Gutenhagen[ID=32069]) DLGSEL(Quest) DLGSEL("What kind of work?") } MOVETO(92027,-117006,-3992) MOVETO(93328,-116878,-4050) MOVETO(93245,-117395,-4082) MOVETO(93019,-117907,-4206) MOVETO(93031,-118337,-4314) MOVETO(93291,-119040,-4537) MOVETO(93332,-119267,-4563) DELAY(1000) SET(L2WALKER,ENABLE) SET(FIGHTSTART) MSG(Hopefully at spot, Walker enabled) RETURN() } //----------------------------------------------------- //------ FROZEN LABYRINTH YETIS //----------------------------------------------------- LABEL(SHUTTGARTSPOT2) { DLGSEL(Frozen Labyrinth - 3500 Adena ) DLGSEL(Frozen Labyrinth - 1800 Adena ) DELAY(15000) MOVETO(113852,-109349,-875) MOVETO(114138,-109842,-899) MOVETO(114945,-110940,-922) MOVETO(115572,-111800,-1061) MOVETO(116136,-112739,-1212) MOVETO(116207,-113356,-1264) MOVETO(116296,-114785,-1649) MOVETO(117362,-116324,-2023) MOVETO(119332,-116869,-2537) MOVETO(119653,-117039,-2517) MOVETO(120546,-117755,-2536) MOVETO(121600,-118635,-2565) MOVETO(122237,-118806,-2618) MOVETO(121851,-119428,-2702) MOVETO(122323,-120560,-2891) MOVETO(122048,-121420,-2812) MOVETO(121333,-122288,-2799) MOVETO(120846,-123655,-2862) MOVETO(120333,-124215,-2799) MOVETO(120122,-124686,-2834) MOVETO(120499,-125564,-2878) MOVETO(120733,-126637,-2847) MOVETO(121933,-127713,-2717) MOVETO(122746,-127582,-2609) MOVETO(127058,-127342,-2576) MOVETO(127284,-127745,-2603) MOVETO(127861,-127287,-2609) MOVETO(127901,-126195,-2608) MOVETO(127934,-126006,-2597) DELAY(1000) SET(L2WALKER,ENABLE) SET(FIGHTSTART) MSG(Hopefully at spot, Walker enabled) RETURN() } //----------------------------------------------------- //------ DION CASTLE: DIRE WOLF / MONSTER EYE //----------------------------------------------------- LABEL(DIONSPOT1) { MOVETO(15733,143098,-2737) MOVETO(16966,144829,-3033) MOVETO(17919,145718,-3128) MOVETO(19137,145630,-3132) MOVETO(21231,145828,-3173) MOVETO(21587,145907,-3185) MOVETO(22271,147871,-3249) MOVETO(24042,149744,-3247) MOVETO(25057,151456,-3279) MOVETO(26922,153117,-3248) MOVETO(28532,153784,-2907) MOVETO(28902,154350,-2852) DELAY(1000) SET(L2WALKER,ENABLE) SET(FIGHTSTART) MSG(Hopefully at spot, Walker enabled) RETURN() } //----------------------------------------------------- //------ GIRAN: BREKA ORC OVERLORD/WARRIOR/SHAMAN //----------------------------------------------------- LABEL(GIRANSPOT1) { DLGSEL(Breka's Stronghold) DELAY(15000) MOVETO(86910,130034,-3662) MOVETO(88136,128598,-3675) MOVETO(90269,128078,-3288) MOVETO(91587,127221,-3072) MOVETO(92619,125959,-2690) MOVETO(92801,125556,-2593) DELAY(1000) SET(L2WALKER,ENABLE) SET(FIGHTSTART) MSG(Hopefully at spot, Walker enabled) RETURN() }
If you have comments, improvements or complaints please post them.
I may keep developing this script to be more dynamic and easy-to-modify if theres interest for it.
Dump from script in-action:
Note: This is old (one of the first versions).
I will update it when i got time.
Code:
17:06:52 Use Soulshot: C-grade. 17:06:52 Power of the spirits enabled. 17:06:57 You use Hex[Lv:3]. [I]17:07:01 Adventurer's Haste[Lv:1] has worn off. 17:07:01 Adventurer's Regeneration[Lv:1] has worn off. 17:07:01 Adventurer's Vampiric Rage[Lv:1] has worn off. 17:07:01 Adventurer's Bless the Body[Lv:1] has worn off. 17:07:01 Adventurer's Magic Barrier[Lv:1] has worn off. 17:07:01 Adventurer's Shield[Lv:1] has worn off. 17:07:01 Adventurer's Wind Walk[Lv:1] has worn off.[/I] [B][COLOR="Red"]17:07:02 Script tip : Appear newbie buffs is gone, attempting to go home[/COLOR][/B] 17:07:04 Use Soulshot: C-grade. 17:07:04 Power of the spirits enabled. 17:07:05 Use Soulshot: C-grade. 17:07:05 Power of the spirits enabled. 17:07:07 Use Soulshot: C-grade. 17:07:07 Power of the spirits enabled. 17:07:08 Use Soulshot: C-grade. 17:07:08 Power of the spirits enabled. 17:07:09 You have earned 3840 experience and 272 SP. [B][COLOR="Red"]17:07:27 You use Scroll of Escape[Lv:1].[/COLOR][/B] 17:07:27 Scroll of Escape has disappeared. 17:07:31 Herb of Mortal Blow - Damage[Lv:1] has worn off. 17:07:47 超出时间,换目标. [B][COLOR="Red"]17:07:48 Script tip : Attempting to restock soulshots[/COLOR][/B] 17:07:51 Herb of Life Force Absorption[Lv:1] has worn off. 17:08:39 Herb of Magic[Lv:1] has worn off. 17:08:39 Herb of Critical Attack[Lv:1] has worn off. [B][COLOR="Red"]17:08:55 Script tip : If the script appears to hang your warehouse is out of SS! 17:09:15 Script tip : Sucessfully loaded SS, Continue[/COLOR][/B] 17:09:17 Herb of Casting Spd.[Lv:1] has worn off. [B][COLOR="Red"]17:09:30 Script tip : Character appears to be in town, running back[/COLOR][/B] 17:09:53 Herb of Atk. Spd.[Lv:1] has worn off. [I]17:10:15 The effects of Adventurer's Wind Walk[Lv:1] flow through you. 17:10:15 The effects of Adventurer's Shield[Lv:1] flow through you. 17:10:15 The effects of Adventurer's Magic Barrier[Lv:1] flow through you. 17:10:15 The effects of Adventurer's Bless the Body[Lv:1] flow through you. 17:10:15 The effects of Adventurer's Vampiric Rage[Lv:1] flow through you. 17:10:15 The effects of Adventurer's Regeneration[Lv:1] flow through you. 17:10:15 The effects of Adventurer's Haste[Lv:1] flow through you.[/I] [B][COLOR="Red"]17:10:22 3700 adena disappeared.[/COLOR][/B] 17:11:34 Herb of Speed[Lv:1] has worn off. [B][COLOR="Red"]17:12:21 Script tip : Hopefully at spot, Walker enabled[/COLOR][/B] 17:12:22 You use Hex[Lv:3]. 17:12:22 Use Soulshot: C-grade. 17:12:22 Power of the spirits enabled. 17:12:23 Tarlk Bugbear has resisted your Hex[Lv:3].
Dennis