marleey777 Posted January 23, 2016 Posted January 23, 2016 This is my script so far to buff in fairy village and to tp to hunting zone.... how would i make it so it checks buffs? and then starts this script once in town and to repeat? thanks I have a present for someone who hels me $$$ 5USD begin Engine.MoveTo(207024, 87179, -1068); Engine.MoveTo(207175, 86858, -1053); Engine.SetTarget (32327); Engine.DlgOpen; Delay (500); Engine.DlgSel(1); Delay (500); Engine.DlgSel(2); Engine.MoveTo(207463, 86894, -1035); Engine.MoveTo(207487, 86556, -1032); Engine.SetTarget (32912); Engine.DlgOpen; Engine.DlgSel(1); end. Quote
Anitah Posted January 23, 2016 Posted January 23, 2016 (edited) Just edit for you server, this is for old talesky with alt+b: var MP, Shot: TL2Item; buff: TL2Buff; function buffCheck: Boolean; begin if (not User.Buffs.ByID(1062, buff) or (buff.endtime<300000)) then begin //1062 wich buff id checking Result:=true; Delay(1000); Engine.BypassToServer('_bbshome'); //buffer alt and b Delay(1000); Engine.BypassToServer('02'); Delay(1000); Engine.BypassToServer('0b'); Delay(1000); Engine.BypassToServer('0c'); Delay(1000); Engine.BypassToServer('018'); Delay(1000); Engine.BypassToServer('018'); Delay(1000); end; Result:=false; end; function BuyMP:boolean; begin if not Inventory.User.ByID(728, MP) or (MP.count<10) then begin //728 mp id ,10 or less then buy MP so probably change it for your count result:=true; Delay(1000); Engine.BypassToServer('_bbshome'); // alt and b codes to buy mp Delay(1000); Engine.BypassToServer('02'); Delay(1000); Engine.BypassToServer('0c'); Delay(1000); Engine.BypassToServer('01f'); Delay(1000); Engine.NpcExchange(728, 2); //728 mp id, 2 is count how many buy it delay(1000); end; result:=false; end; function BuyShot:boolean; begin if not Inventory.User.ByID(1463, Shot) or (Shot.count<900) then begin //1463 is d grade shot id, change for your shot id, 900 or less then buy shots result:=true; Delay(1000); Engine.BypassToServer('_bbshome'); //alt and b to shots Delay(1000); Engine.BypassToServer('02'); Delay(1000); Engine.BypassToServer('0c'); Delay(1000); Engine.BypassToServer('020'); Delay(1000); Engine.NpcExchange(1463, 50); //1463 id, 50 is count wich buy delay(1000); end; result:=false; end; function deadCheck: Boolean; begin Result := false; if User.Dead then begin Result := true; Print('Dead. Pressing to village.'); Delay(1000); Engine.FaceControl(0,false); Engine.GoHome; Delay(10000); end; end; begin while true do begin delay(150); //town coordinates range //buff id wich check //shot id //mp id if user.inrange(-83064, 150600, -3104, 5000) and User.Buffs.ByID(1062, buffCheck) and Inventory.User.ByID(1463, BuyShot) and Inventory.User.ByID(728, BuyMP) then begin Print('Teleport.'); delay(1000); Engine.BypassToServer('_bbshome'); //alt and b where teleport delay(1000); Engine.BypassToServer('02'); delay(1000); Engine.BypassToServer('0a'); delay(1000); Engine.BypassToServer('031'); delay(1000); Engine.BypassToServer('0a'); Delay(10000); end; if user.inrange(-41555, 210012, -5064, 300) then begin //coordinates after teleport Print('Moving'); Engine.MoveTo(-41608, 210904, -5064); //path to spot Engine.MoveTo(-41752, 210984, -5064); Engine.MoveTo(-42696, 210984, -5064); Print('ON!'); Delay(500); Engine.FaceControl(0, true); //turn on bot while not deadCheck do delay(1000); //while not dead, do nothing and wait. end; end; end. Credits i think adr.bot Edited January 23, 2016 by Anitah Quote
marleey777 Posted January 23, 2016 Author Posted January 23, 2016 what is old talesky and what is alt + b lol? Quote
marleey777 Posted January 23, 2016 Author Posted January 23, 2016 What does Engine.bypasstoserver mean Quote
marleey777 Posted January 23, 2016 Author Posted January 23, 2016 (edited) varitem: TL2Item; function buffCheck: Boolean;var buff: TL2Buff;begin if not User.Buffs.ByID(15653, buff) then begin Result:=true; Print('Buffs are needed. Buffing...'); Engine.UseItem(736); Delay(65000); Engine.MoveTo(207208, 86855, -1053); Delay(5000); Engine.SetTarget(32327); // NPC ID Delay(500); Engine.DlgOpen; Delay(500); Engine.DlgSel(1); Delay(500); Engine.DlgSel(2); Print('Buffed.'); Engine.MoveTo(207448, 86909, -1041); Engine.MoveTo(207474, 86590, -1032); end;Result:=false;end;function deadCheck: Boolean;beginResult := false; if User.Dead then begin Result := true; Print('Dead. Pressing to village.'); Delay(1000); Engine.FaceControl(0,false); Engine.GoHome; Delay(10000); end;end;beginwhile true do begindelay(150); if User.Buffs.ByID(15653, buffCheck) then begin Engine.MoveTo(207526, 86582, -1032); Delay(2400); Print('Teleport to Apostate.'); Engine.SetTarget(32912); Engine.DlgOpen; Delay(500); Engine.DlgSel(1); Delay(5000); end; if User.Buffs.ByID(15653, buffCheck) then begin Print('Apostate. Moving to spot'); Engine.MoveTo(215609, 79801, 800); Engine.MoveTo(215640, 79803, 800); Engine.MoveTo(215551, 79888, 800); Engine.MoveTo(217136, 78632, 901); Engine.MoveTo(217274, 78575, 933); Engine.MoveTo(217654, 78308, 1016); Engine.MoveTo(217611, 77029, 979); Engine.MoveTo(-13736,-247848,-8160); Print('AA farm: ON!'); Delay(500); Engine.FaceControl(0, true); while not deadCheck do delay(1000); //while not dead, do nothing and wait. end;end;end. this is what i have so far Edited January 23, 2016 by marleey777 Quote
Anitah Posted January 24, 2016 Posted January 24, 2016 (edited) What does Engine.bypasstoserver mean Hmm me english so bad for explain that, but in "x" servers this Engine.DlgSel(1); dont work cause u need use "bypass" so you need use Engine.bypasstoserver Edited January 24, 2016 by Anitah Quote
Anitah Posted January 28, 2016 Posted January 28, 2016 it WORKED for a while but now dont. Can you explain more? xD 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.