function keybd_event(bVk,bScan:byte;dwFlags,dwExtraInfo: integer): integer; stdcall; external 'user32.dll'; function SetCursorPos(x, y : integer): boolean; stdcall; external 'user32.dll'; function mouse_event(dwFlags, dx, dy, dwData: byte; dwExtraInfo: integer): void; stdcall; external 'user32.dll'; procedure pressKey(hexCode: BYTE); begin keybd_event(hexCode, 45, 1, 0 ); delay(200); end; procedure mouseClick(x, y, _delay : integer); begin SetCursorPos(x, y); mouse_event($2, 0, 0, 0, 0); delay(_delay); mouse_event($4, 0, 0, 0, 0); end; var Figth_Flag:boolean; Item: TL2Item; Npc: TL2Npc; Obj: TL2Buff; IdBuff: integer; Buffs:TL2Buff; var L2Skill: TL2Skill; procedure toVillage; begin Delay(100); if (User.HP=0) then begin Delay(5000); Engine.GoHome; Engine.Facecontrol(0,False); toWalk; end; end; procedure toWalk; begin //PRINCIPAL if User.inrange(43779, -48915, -795, 250, 150) then begin Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; //TRADER if User.inrange(45642, -47962, -795, 250, 150) then begin Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; if User.inrange(44860, -47836, -795, 250, 150) then begin Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; //ESTE if User.inrange(43554, -50399, -795, 250, 150) then begin Engine.MoveTo(44024, -49736, -792); Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; if User.inrange(43394, -51138, -795, 250, 150) then begin Engine.MoveTo(44024, -49736, -792); Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; if User.inrange(45052, -49944, -795, 250, 150) then begin Engine.MoveTo(44024, -49736, -792); Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; if User.inrange(44007, -49953, -795, 250, 150) then begin Engine.MoveTo(44024, -49736, -792); Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; if User.inrange(44356, -50581, -795, 250, 150) then begin Engine.MoveTo(44024, -49736, -792); Engine.MoveTo(43757, -47904, -795); // AL LADO DEL BUFFER end; //ARRIBA if User.inrange(38840, -48639, 904, 250, 150) then begin Engine.MoveTo(38440, -48232, 896); //AL LADO DEL GK end; if User.inrange(38119, -49807, 904, 250, 150) then begin Engine.MoveTo(38440, -48232, 896); //AL LADO DEL GK end; if User.inrange(38840, -46980, 904, 250, 150) then begin Engine.MoveTo(38440, -48232, 896); //AL LADO DEL GK end; if User.inrange(38613, -47183, 904, 250, 150) then begin Engine.MoveTo(38440, -48232, 896); //AL LADO DEL GK end; if User.inrange(38761, -47800, 904, 250, 150) then begin Engine.MoveTo(38440, -48232, 896); //AL LADO DEL GK end; //GK DE ARRIBA if User.inrange(38440, -48232, 896, 250, 150) then begin Print('Teleport al lado del buffer'); Engine.Settarget(31698); Delay(1500); Engine.Settarget(31698); Delay(1500); Engine.DlgOpen; Delay(1500); Engine.DlgSel(1); Delay(1000); Engine.DlgSel(1); Delay(1000); end; //BUFFER if user.inrange(43757, -47904, -795, 500) then begin // Al lado del Buffer Delay(1000); buff; end; end; procedure buff; begin Engine.Settarget(21654); Delay(1500); Engine.Settarget(21654); Delay(1500); Engine.DlgOpen; Delay(1500); Engine.DlgSel(4); Delay(1000); Engine.DlgSel(2); Delay(1000); Engine.Settarget(21654); Delay(1000); Engine.DlgOpen; Delay(1500); Engine.DlgSel(5); // Heal Delay(1500); Engine.DlgSel(3); // Maldiciones Delay(1500); Engine.DlgSel(1); // Malaria Delay(800); RunTo; end; procedure RunTo; begin Engine.SetTarget(22134); //Target do NCP GK Delay(1500); Engine.DlgOpen; // abre chat combat npc Delay(1500); Engine.DlgSel(9); // Rune Delay(1500); Engine.DlgSel(7); // Stakato Nest Delay(1500); Fight; end; procedure toBuff; begin IdBuff:=1085 ; //Check BUFF while not User.Buffs.ById(IdBuff,obj) do begin Print('Unstuck'); //Engine.UseItem(734); //Pota de Wind Walk //Delay(500); Engine.EnterText('/unstuck'); // for ustuck //Engine.UseItem(736); //Scroll Escape Delay(30000); toVillage; end; end; procedure Fight; begin Engine.MoveTo(90424, -43976, -2120); Delay(1500); Engine.MoveTo(91656, -43000, -2536); Engine.MoveTo(92536, -43896, -2744); Engine.MoveTo(92040, -44664, -2896); Engine.MoveTo(90696, -44856, -3240); Engine.MoveTo(89992, -43384, -3776); Engine.MoveTo(89112, -43016, -4016); //Engine.LoadZone('ValleyOfSaint2.zmap'); //zona de combat Print('Farmeando'); toVillage; Engine.Facecontrol(0,True); end; //----------------------------------------------------------------------------- begin //repete nuevamente el script repeat toVillage; toWalk; until Engine.Status = lsOffline; Delay(5000); end.