Cafalorn Posted September 15, 2009 Posted September 15, 2009 HI guys. I have script for normal farm but character dont use soulshots S grade :( i found scripts but i dont know how joint it into one whole Script farm: //**** Fighter script v0.2 ****// //Remember to set weapon ID at line 133 and 137 (in the killtarget sub) //****** User Settings ******// DEFINE INT MIN_ATTACKDELAY 1500 DEFINE INT MAX_ATTACKDELAY 2500 DEFINE INT LOOT_RANGE 100 DEFINE INT MIN_PICKUPDELAY 150 DEFINE INT MAX_PICKUPDELAY 300 DEFINE INT MIN_TARGETDELAY 500 DEFINE INT MAX_TARGETDELAY 1000 DEFINE INT MOVETO_DISTANCE 400 //***********************Kite Stuff*********************// DEFINE INT KiteRange 450 DEFINE DOUBLE VX 0 DEFINE DOUBLE VY 0 DEFINE DOUBLE VX1 0 DEFINE DOUBLE VY1 0 DEFINE DOUBLE LEN 0 //*****************************************************// //*******time*******// DEFINE INT StartTime 0 DEFINE INT EndTime 0 DEFINE INT UsedTime 0 DEFINE INT MaxTime 100000000 DEFINE INT MaxPickTime 50000000 //******Rest Settings******// //set here at what hp/mp to rest. (in %) DEFINE INT RESTHPPERCENT 40 DEFINE INT RESTMPPERCENT 0 DEFINE INT TEMP 0 DEFINE INT i 0 DEFINE INT TEN 10 DEFINE INT FOUR 4 DEFINE INT HUNDRED 100 DEFINE INT COUNT 0 DEFINE INT Rest 0 DEFINE INT RESTHP 0 DEFINE INT RESTMP 0 DEFINE INT SKILLMP 0 DEFINE INT DISTANCE_TO_TARGET 0 DEFINE INT PICKUP_X 0 DEFINE INT PICKUP_Y 0 DEFINE INT TEMPX 3 DEFINE DOUBLE X 0 DEFINE DOUBLE Y 0 DEFINE DOUBLE Range 50 MATH RESTHP CHAR_MAX_HP MULTIPLY RESTHPPERCENT MATH RESTHP RESTHP DIVIDE HUNDRED MATH RESTMP CHAR_MAX_MP MULTIPLY RESTMPPERCENT MATH RESTMP RESTMP DIVIDE HUNDRED //****** MAIN ******// //just a printout PRINT_TEXT "rest below <&RESTHP&> HP" DO TARGET_NEAREST GET_RAND TEMP "<&MIN_TARGETDELAY&>" "<&MAX_TARGETDELAY&>" SLEEP "<&TEMP&>" IF TARGET_CUR_HP > ZERO CALLSUB MovetoTarget SLEEP 500 CALLSUB KillTarget ENDIF //Target is dead, pick up GET_TIME StartTime SET PICKUP_X "<&CHAR_X&>" SET PICKUP_Y "<&CHAR_Y&>" WHILE NEAREST_ITEM_DISTANCE < LOOT_RANGE GET_TIME EndTime MATH UsedTime EndTime SUBTRACT StartTime IF UsedTime > MaxPickTime BREAK 2 ENDIF DISTANCE TEMP CHAR_X CHAR_Y TEMP PICKUP_X PICKUP_Y TEMP IF TEMP > LOOT_RANGE BREAK 2 ENDIF CALLSUB Pickup WEND IF COUNT_NPC_TARGETME == ZERO IF CHAR_CUR_HP < RESTHP CALLSUB Rest ENDIF ENDIF LOOP ZERO == ZERO SCRIPT_END //***************** SUBS *****************// SUB MovetoTarget SET i 0 GET_TIME StartTime DISTANCE DISTANCE_TO_TARGET CHAR_X CHAR_Y CHAR_Z TARGET_X TARGET_Y TARGET_Z IF DISTANCE_TO_TARGET <= MOVETO_DISTANCE RETURNSUB ENDIF SET TEMPX "<&TARGET_X&>" MOVE_TO "<&TARGET_X&>" "<&TARGET_Y&>" "<&TARGET_Z&>" WHILE DISTANCE_TO_TARGET > MOVETO_DISTANCE GET_TIME EndTime MATH UsedTime EndTime SUBTRACT StartTime DISTANCE DISTANCE_TO_TARGET CHAR_X CHAR_Y CHAR_Z TARGET_X TARGET_Y TARGET_Z GET_RAND TEMP "<&MIN_TARGETDELAY&>" "<&MAX_TARGETDELAY&>" SLEEP "<&TEMP&>" IF UsedTime > MaxTime CALLSUB Stuck RETURNSUB ENDIF IF TARGET_X != TEMPX MOVE_TO "<&TARGET_X&>" "<&TARGET_Y&>" "<&TARGET_Z&>" ENDIF WEND RETURNSUB //******************************************************************************// SUB KillTarget GET_TIME StartTime DO MATH i i ADD ONE PRINT_TEXT "Entering loop <&i&>" GET_TIME EndTime MATH UsedTime EndTime SUBTRACT StartTime IF i == FOUR IF TARGET_CUR_HP == TARGET_MAX_HP USE_ITEM 13 //Equip Short Bow SLEEP 1000 ATTACK_TARGET SLEEP 3500 USE_ITEM 2543 //Equip duals SET i 0 ENDIF ENDIF IF UsedTime > MaxTime IF TARGET_CUR_HP == TARGET_MAX_HP CALLSUB Stuck RETURNSUB ENDIF ENDIF ATTACK_TARGET GET_RAND TEMP "<&MIN_ATTACKDELAY&>" "<&MAX_ATTACKDELAY&>" SLEEP "<&TEMP&>" LOOP TARGET_CUR_HP > ZERO RETURNSUB //******************************************************************************// SUB Pickup CLICK_NEAREST_ITEM GET_RAND TEMP "<&MIN_PICKUPDELAY&>" "<&MAX_PICKUPDELAY&>" SLEEP "<&TEMP&>" RETURNSUB //******************************************************************************// SUB Rest PRINT_TEXT "starting to rest" SLEEP 1000 COMMAND "/sit" //USE_SKILL 226 WHILE CHAR_CUR_HP < CHAR_MAX_HP IF COUNT_NPC_TARGETME != ZERO COMMAND "/stand" RETURNSUB ENDIF SLEEP 1000 WEND //done resting lets stand COMMAND "/stand" SLEEP 200 RETURNSUB //******************************************************************************// SUB Stuck //need to get a vector for from the monster to us MATH VX CHAR_X SUBTRACT TARGET_X MATH VY CHAR_Y SUBTRACT TARGET_Y //now we have the vector from the target to us... lets normalize it now DISTANCE LEN ZERO ZERO ZERO VX VY ZERO MATH VX VX DIVIDE LEN MATH VY VY DIVIDE LEN //now lets scale back up to our range MATH VX VX MULTIPLY KiteRange MATH VY VY MULTIPLY KiteRange SET VX1 "<&VX&>" SET VY1 "<&VY&>" //then we add this offset to our location MATH VX VX ADD CHAR_X MATH VY VY ADD CHAR_Y //and finally... we move MOVE_TO "<&VX&>" "<&VY&>" "<&CHAR_Z&>" SLEEP 1500 //left turn MATH VX CHAR_X SUBTRACT VY1 MATH VY CHAR_Y ADD VX1 MOVE_TO "<&VX&>" "<&VY&>" "<&CHAR_Z&>" SLEEP 1500 MOVE_TO "<&TARGET_X&>" "<&TARGET_Y&>" "<&TARGET_Z&>" SLEEP 1500 RETURNSUB //**** Developed by Oddi 2007 ****// //Thanks to Slothmo & Asmodin88 for providing useful pre-code Script use SS: DEFINE INT ITEMCOUNT 0 //Will count how SoulShot S ITEM_COUNT ITEMCOUNT 1467 //Soulshot: S-grade //While u have less then 200 soulshot S will stop the loop and will use Blessed Scroll of Escape: Clan Hall WHILE ITEMCOUNT > i200 //To save Sss, i’ll use only if the mob’s HP more then 8000 ( u can Edit this if u wanna) IF TARGET_CUR_HP > i8000 USE_ITEM 1467 //Soulshot: S-grade ENDIF ITEM_COUNT ITEMCOUNT 1467 //Soulshot: S-grade WEND USE_ITEM 5858 //BsoeCH SCRIPT_END sorry for my bad english xD Plz for help Quote
tonmp Posted January 4, 2010 Posted January 4, 2010 why l2net better that l2w? It's not better :) in some things it's better, but overall it's much worse. Quote
varens Posted January 8, 2010 Posted January 8, 2010 i dont know how is in 231b version but in new if u want write function like that IF something > 200 u need add #i not only i and u i that script write: IF moob have more hp then 8k then use soulshot, i dont know what u want to do but if u wan use soulshot all tie delete that function here u have code: DEFINE INT ITEMCOUNT 0 //Will count how SoulShot S ITEM_COUNT ITEMCOUNT 1467 //Soulshot: S-grade //While u have less then 200 soulshot S will stop the loop and will use Blessed Scroll of Escape: Clan Hall WHILE ITEMCOUNT > #i200 //To save Sss, i’ll use only if the mob’s HP more then 8000 ( u can Edit this if u wanna) IF TARGET_CUR_HP > #i8000 USE_ITEM 1467 //Soulshot: S-grade ENDIF ITEM_COUNT ITEMCOUNT 1467 //Soulshot: S-grade WEND USE_ITEM 5858 //BsoeCH SCRIPT_END Quote
mtixd Posted January 8, 2010 Posted January 8, 2010 Can u share a L2net For interlude ? Please. =D Quote
varens Posted January 9, 2010 Posted January 9, 2010 catch :) L2NET v231b: http://l2net.insane-gamers.com/Download/L2Net231b.rar L2NET Datafiles v230b: http://l2net.insane-gamers.com/Download/DataFiles_230b.rar Quote
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.
Note: Your post will require moderator approval before it will be visible.