Jump to content

Recommended Posts

Posted

nice great work man really appreciate it

 

does player only mean that it only interatcs with my figure and not with the party?(dont look at their hp and heal/buff?)

Posted

nice great work man really appreciate it

 

does player only mean that it only interatcs with my figure and not with the party?(dont look at their hp and heal/buff?)

 

yes, everything what uses only player stats shoud work.. I'm already working on full supported version

  • 2 weeks later...
Posted

Nice bot! It works on my server! But i have some problems with the pick-up command, i post my config script here, please help me if i wrote something wrong.

 

const
  //Keyboard targeting
  useKeyboardTargeting = true;
  keyboardTargetMaxWait= 800;   //in ms 
  keyboardTargetCommand= 'F2';                                            //can i use also /nexttarget command?
  
  //Mouse targeting
  useMouseTargeting      = false;
  mouseTargetMode        = 2;   // 0 - center, 1 - up, 2 - down
  mouseTargetUseShift    = true;
  mouseTargetUseCtrl     = false;
  mouseTargetDoubleClick = false;
  mouseTargetAllowMix    = true;
  mouseTargetMaxWait     = 800; //ms
  mouseTargetMinRange    = 200; //px
  
  //Camera rotation
  useRotation            = false;
  rotationMode           = 0;   //0 - left, 1 - right
  rotationTime           = 1200; //ms
  
  //Rest
  useRest                = true;
  restMinHp              = 50;   //%
  restMinCp              = 0;    //%
  restMinMp              = 20;   //%
  restSitCommand         = '/sit';
  restStandCommand       = '/stand';
  
  //Mob killing
  firstAttackCommand                 = 'F1';
  firstAttackCommandBlockTime        = 600; //ms
  repeatAttackCommand                = 'F1';
  repeatAttackCommandBlockTime       = 500; //ms
  repeatAttackCommandEvery           = 5000; //ms
  hp60PrecentAttackCommand           = 'F3';
  hp60PrecentAttackCommandBlockTime  = 0; //ms
  hp30PrecentAttackCommand           = '';
  hp30PrecentAttackCommandBlockTime  = 0; //ms
  mobDeathCommand                    = '';                                         //i tried also to put here the F4 command assigned to the pickup but didnt works
  mobDeathCommandBlockTime           = 0; //ms
  
  //Pickup 
  pickupCommand  = 'F4';                                                              //pickup dont works
  pickupCount    = 0;   // 0 - disabled
  pickupBlockTime= 400; // ms
         
  //KS Protection                                                                                         //i dont know what is that, i disable it
  enableKSProtection = false; //You wont attack mob 
  
  //Stuck Protection
  enableStuckProtection = false;
  stuckProtectionTimer  = 30000; //ms
  
  //ClickProtection
  enableClickProtection = false;
  clickProtectionRange  = 20; //px
     
  //List of Mobs to kill
  var  mouseTargetTargetsList:TStringList;                                                   //bot seems dont take care about this command
  procedure setMouseTargetsNames;
  begin
    mouseTargetTargetsList.Add('Spelunking Ant');
  end;

//------------END-OF-CONFIGURATION----------------------------------------------

 

I repeat that bot attack mobs, but leave drop on the floor :| please help me with the code, or post your code :p

Posted

About script:

 

const
  //Keyboard targeting
  useKeyboardTargeting = true;     //true - using targeting ...
  keyboardTargetMaxWait= 800;    //in ms 
  keyboardTargetCommand= 'F2';   //yes you can use /nexttarget if i remember, you can always try...
  
  //Mouse targeting
  //this is for targeting using mouse, it will work only on C5, IL, and is somekind of OCR, i trying to find mobs names on screen.
  useMouseTargeting      = false;  //on/of
  mouseTargetMode        = 2;   // 0 - center, 1 - up, 2 - down - its for with mob try to target first
  mouseTargetUseShift    = true; 
  mouseTargetUseCtrl     = false;
  mouseTargetDoubleClick = false;
  mouseTargetAllowMix    = true; // its a param for OCR procedure
  mouseTargetMaxWait     = 800; //ms
  mouseTargetMinRange    = 200; //px
  
  //Camera rotation
  useRotation            = false; // its for mouse target mode, char shoud rotate (pressing left/right key)
  rotationMode           = 0;   //0 - left, 1 - right
  rotationTime           = 1200; //ms
  
  //Rest - i never used this :P
  useRest                = true;
  restMinHp              = 50;   //%
  restMinCp              = 0;    //%
  restMinMp              = 20;   //%
  restSitCommand         = '/sit';
  restStandCommand       = '/stand';
  
  //Mob killing 
  firstAttackCommand                 = 'F1'; //you can use here /attack
  firstAttackCommandBlockTime        = 600; //ms 
  repeatAttackCommand                = 'F1'; //same as abowe
  repeatAttackCommandBlockTime       = 500; //ms
  repeatAttackCommandEvery           = 5000; //ms
  hp60PrecentAttackCommand           = 'F3';
  hp60PrecentAttackCommandBlockTime  = 0; //ms
  hp30PrecentAttackCommand           = '';
  hp30PrecentAttackCommandBlockTime  = 0; //ms
  mobDeathCommand                    = '';         //this is for sweep, or hp drain for necro/sh                           
  mobDeathCommandBlockTime           = 0; //ms
  
  //Pickup 
  pickupCommand  = 'F4';                         //you can put here /pickup
  pickupCount    = 0;   // 0 - disabled        //cant be 0, its how much time it press F4 (pickup) after mob death
  pickupBlockTime= 400; // ms                 //delay bettwen key press
         
  //KS Protection                                                                      
  enableKSProtection = false; //You wont attack mob - its like dont attack mobs what already dont have ~100%
  
  //Stuck Protection
  enableStuckProtection = false;              //if in 30s you dotn take hp of mob, try target other
  stuckProtectionTimer  = 30000; //ms
  
  //ClickProtection
  enableClickProtection = false;               //for mouse mode
  clickProtectionRange  = 20; //px
     
  //List of Mobs to kill
  var  mouseTargetTargetsList:TStringList;          //its for mouse mode and OCR procedure (C5, IL)
  procedure setMouseTargetsNames;
  begin
    mouseTargetTargetsList.Add('Spelunking Ant');
  end;

//------------END-OF-CONFIGURATION----------------------------------------------

 

About program:

Yes it works on HB, Gracia but only 3.2 and only reading Player info (i already know how to read all posible data from game using some hooks, maybe in future i will make it). 3.2 have small bugs, like ther eis not posible to stop scriipt, or program (pause shoud work), its because of some code bug, maybe i will fix it in future until that you have to restart program. Support for Gracia is same like L2 Potion User.

 

About new Dex protection.

True, they blocked both programs, but if you recompile it with diffrent window name and diffrent icon they will work :P

Maybe I will do that in weekend with full support for Gracia Epilogue & bugs fixes.

 

For Gracia you need to change reader in Configuration tab. If you dont need to use skills, or potions from other skillbar ten you can use L2 Potion User.

Posted

Yes it is...

begin
repeat
WriteCommand('/target Treasure Box');
Sleep(2000);
UseFKey('F1'); //use key
Sleep(10000);
UseFKey('F1'); //to be sure
Sleep(3000);
UseFKey('F2'); //pickup
Sleep(600);  //wait for pickup
UseFKey('F2'); //pickup
Sleep(600);  //wait for pickup
UseFKey('F2'); //pickup
Sleep(600);  //wait for pickup
UseFKey('F2'); //pickup
Sleep(600);  //wait for pickup
Sleep(500);
until false;
end.

 

And some list of commands (few wont work on gracia...):

type TTargetType = (trNone,trPlayerNpc, trMob, trSummonPartyMember);

type
  TMyPoint = record
              X:integer;
              Y:integer;
              name:String;
             end;
  TPoints = array of TMyPoint;

procedure Delay(time:longword);
procedure Sleep(time:longword);
procedure Writeln(log:String);
procedure ChangeGlobalNameList(words:TStrings); // <- Use TStringList class
function getNpcPositions(allowMoreThanOneMobInOnePlace:boolean=true): TPoints;
function isClockModInstalled:boolean;
function getPlayerInfo:TPlayerInfo;
function getTargetInfo:TTargetInfo;
function getPartyInfo:TPartyInfo;
function getL2WindowHandle:longword;
function getL2WindowPos:TRect;
function UseFKey(F:String):boolean;
function UseFKeySend(F:String):boolean;
function WriteCommand(S:String):boolean;
function WriteCommandSend(S:String):boolean;
function SendKeySendMessage(key:string; down:boolean):boolean;
function SendKeyNormal(key:string; down:boolean):boolean;
procedure BlockTime(time:longword);
function MouseClick(key:byte; shift, ctrl, doubleclick:boolean):boolean;
function MouseClickXY(x:integer; y:integer; key:byte; shift, ctrl, doubleclick:boolean):boolean;
function isAnyL2WindowActive:boolean;
function isL2WindowActive:boolean;
function Timer:int64; //zwraca czas w ms

function getPlayerHP:double;
function getPlayerCP:double;
function getPlayerMP:double;
function getPlayerStatus:boolean;

function getTargetHP:double;
function getTargetMP:double;
function getTargetStatus:boolean;
function getTargetType:TTargetType;

function getPartyCP(index:byte):double;
function getPartyHP(index:byte):double;
function getPartyMP(index:byte):double;
function getPartyStatus(index:byte):boolean;
function getPartyXY(index:byte):TPoint;

 

 

 

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...