Page 94 of 99 FirstFirst ... 44849293949596 ... LastLast
Results 2,326 to 2,350 of 2463

Thread: Kyle's Esswraith Extractor

  1. #2326
    Join Date
    Nov 2011
    Posts
    41
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by 0blivian View Post
    begin
    Smart_Server := 10;
    Smart_Members := True;
    Smart_Signed := True;

    [Error] C:\Users\myname\Desktop\KylesEsswraithExtractorV1. 8.simba(1319:3): Unknown identifier 'Smart_Server' at line 1318
    I'm guessing leeches don't know what IFDEF's are, lul

  2. #2327
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    Remove those 3 lines, then try.

  3. #2328
    Join Date
    Oct 2008
    Location
    C:\Simba\Includes\
    Posts
    7,566
    Mentioned
    19 Post(s)
    Quoted
    180 Post(s)

    Default

    I should stop being lazy and finally update this, huh?
    Away for awhile, life is keeping me busy. | Want to get my attention in a thread? @Kyle Undefined; me.
    { MSI Phoenix || SRL Stats Sigs || Paste || Scripts || Quotes || Graphics }

    When posting a bug, please post debug! Help us, help you!

    I would love to change the world, but they won't give me the source code. || To be the best, you've got to beat the rest. || Logic never changes, just the syntax.
    If you PM me with a stupid question or one listed in FAQ, or about a script that is not mine, I will NOT respond.


    SRL is a Library of routines made by the SRL community written for the Program Simba. We produce Scripts for the game Runescape.


  4. #2329
    Join Date
    Apr 2012
    Posts
    60
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Quote Originally Posted by Kyle Undefined View Post
    I should stop being lazy and finally update this, huh?
    Please do, Ive been trying to get this to work and cannot get it to start.. it clicks my stats then invy and freezes..

  5. #2330
    Join Date
    Jul 2012
    Posts
    251
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    So, hows the update comming along?
    Activity
    Going asian on University College Ghent.
    No time for anything atm.

  6. #2331
    Join Date
    Apr 2012
    Posts
    14
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Great script, thanks Kyle! :P

  7. #2332
    Join Date
    Aug 2012
    Location
    Somewhere in the United States
    Posts
    56
    Mentioned
    1 Post(s)
    Quoted
    35 Post(s)

    Default

    Sorry to cause trouble, but I am getting a strange error everytime I run the client... I log in, and then nothing happens, the cursor doesn't even move around the screen, and then it says

    'One minute has passed... Debug: 0'

    and it attempts to type my username and password into the chat box. I tried to let it log me in, but it just sits there. Also, it worked fine yesterday, and got me from 76-80 in one night. Am I doing something wrong?

  8. #2333
    Join Date
    Nov 2011
    Location
    Louisiana
    Posts
    881
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Paradox The Divine View Post
    Sorry to cause trouble, but I am getting a strange error everytime I run the client... I log in, and then nothing happens, the cursor doesn't even move around the screen, and then it says

    'One minute has passed... Debug: 0'

    and it attempts to type my username and password into the chat box. I tried to let it log me in, but it just sits there. Also, it worked fine yesterday, and got me from 76-80 in one night. Am I doing something wrong?
    Sounds like you aren't on safe mode. And if you are make sure your brightness is all the way maxed out.

  9. #2334
    Join Date
    Aug 2012
    Location
    Somewhere in the United States
    Posts
    56
    Mentioned
    1 Post(s)
    Quoted
    35 Post(s)

    Default

    Quote Originally Posted by shstiger2009 View Post
    Sounds like you aren't on safe mode. And if you are make sure your brightness is all the way maxed out.
    Well, I redownloaded the script, and double checked all of that stuff and my settings seemed fine. When I started the script, it began siphoning as usual. I'm still not sure what the problem actually was, but thank you anyways.

  10. #2335
    Join Date
    Feb 2012
    Location
    UK
    Posts
    909
    Mentioned
    10 Post(s)
    Quoted
    191 Post(s)

    Default

    Progress Report:
    ======== Kyle's Esswraith Extractor =========
    Version 1.8
    Time Running: 54 Minutes and 6 Seconds
    Experience Earned: 53549
    Experience/Hour: 57600
    Runecrafting Level: 76
    Floor: 2
    =============================================
    ** SetFalse ** Reason := Not Logged in

    Seems to prematurely logout.

    Progress Report:
    ======== Kyle's Esswraith Extractor =========
    Version 1.8
    Time Running: 2 Hours, 1 Minutes and 16 Seconds
    Experience Earned: 128549
    Experience/Hour: 61200
    Runecrafting Level: 78
    Floor: 3
    =============================================
    Last edited by Solar; 08-12-2012 at 03:05 PM.

  11. #2336
    Join Date
    Feb 2012
    Location
    Ã…lesund,Norway
    Posts
    281
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    thanks alot good script ! , but its slow finding :P

  12. #2337
    Join Date
    Feb 2012
    Location
    UK
    Posts
    909
    Mentioned
    10 Post(s)
    Quoted
    191 Post(s)

    Default

    Pretty good proggy. Terminated because of a random.
    Progress Report:
    ======== Kyle's Esswraith Extractor =========
    Version 1.8
    Time Running: 4 Hours, 23 Minutes and 33 Seconds
    Experience Earned: 3299705
    Experience/Hour: 748800
    Runecrafting Level: 81
    Floor: 3
    =============================================

  13. #2338
    Join Date
    May 2012
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I'm having an issue where the script will keep clicking on the esswraith even while its siphoning it. This resets the 10 siphon counter so that the esswraith never dies and I never get any more essence.

    What am I doing wrong?

  14. #2339
    Join Date
    Feb 2012
    Posts
    14
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    Used this before, pretty damn good.

    Getting a problem now...


    Compiling failed.
    [Error] C:\Users\noobisnoobandnoob\Downloads\KylesEsswrait hExtractorV1.8.simba(1319:3): Unknown identifier 'Smart_Server' at line 1318
    Compiling failed.


  15. #2340
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    http://villavu.com/forum/showthread.php?t=88578

    Just going to leave that here...

  16. #2341
    Join Date
    Apr 2012
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I've been having trouble with actually starting to script. I keep getting this error, any help to resolve this problem is much appreciated.

    Exception in Script: Unable to find file 'srl/srl.simba'

  17. #2342
    Join Date
    Feb 2012
    Location
    UK
    Posts
    909
    Mentioned
    10 Post(s)
    Quoted
    191 Post(s)

    Default

    Quote Originally Posted by Ragex View Post
    I've been having trouble with actually starting to script. I keep getting this error, any help to resolve this problem is much appreciated.

    Exception in Script: Unable to find file 'srl/srl.simba'
    Have you updated your SRL? The error is pretty obvious when you read it.
    Try updating Simba or even reinstalling.

  18. #2343
    Join Date
    Dec 2011
    Posts
    36
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Still going well , Heres a quick proggy.
    The session is not yet complete too , expect another post in around 3-5 hours =P

    ======== Kyle's Esswraith Extractor =========
    Version 1.8
    Time Running: 2 Hours, 54 Minutes and 57 Seconds
    Experience Earned: 190923
    Experience/Hour: 64800
    Runecrafting Level: 89
    Floor: 3
    =============================================

  19. #2344
    Join Date
    Mar 2007
    Posts
    24
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    This is most likely a simple one for most: Version 1.8

    How do I get around this one please?

    Unknown identifier 'DebugATPABounds' at line 882

    Code:
        Active        := True;    // Use in the Script. True / False.
    	  Booleans[0]   := True;    // Set to False if you want to search for all Objects
        Booleans[1]   := False;   // Logout if a random is found
    
        // This is for searching for specific Objects, add / remove as needed. Order doesn't matter
        Integers      := [objWaterEssling, objVine, objAirEss, objWaterPool,
                          objFireStorm, objEarthEss, objRockFrag, objFireball,
                          objMindEssling, objCyclone, objMindStorm];
      end;
    end;
    
    procedure SetDTM;
    begin
      EssenceDTM := DTMFromString('mrAAAAHic42BgYHBkYmDwAGIXILYBYksodgdiXyB+DlTzCIgfQvEzIP4AxG+A+CkQW5ibMRjo64ExiG1tZcHg6uLE4O7mwmBsZMjABVSDDzMSwDAAAJ3CDvU=');
    end;
    
    procedure Fr33DTM;
    begin
      FreeDTM(EssenceDTM);
    end;
    
    procedure DebugThis(s : string);
    begin
      if(Debug)then
        WriteLn(s);
    end;
    
    procedure SetupObjects();
    begin
      DebugThis('-[DEBUG]- Setup Objects');
      SetLength(Objects, 30);
    
      with Objects[objBloodWraith] do
      begin
        ObjID := objBloodWraith;
        Name := 'Blood esswraith';
        UpText := ['lood ess', 'ood essw', 'Siphon Blood esswraith'];
        Color := 6263962;
        Tol := 15;
        Hue := 0.12;
        Sat := 0.72;
        LvlReq := 77;
        Max := 250;
        Min := 50;
        IXP := 77;
      end;
    
      with Objects[objDeathWraith] do
      begin
        ObjID := objDeathWraith;
        Name := 'Death esswraith';
        UpText := ['eath ess', 'iphon De', 'ath essw', 'Siphon Death esswraith'];
        Color := 5278586;
        Tol := 26;
        Hue := 0.04;
        Sat := 0.58;
        LvlReq := 65;
        Min := 0;
        Max := 1000;
        IXP := 60;
      end;
    
      with Objects[objSoulWraith] do
      begin
        ObjID := objSoulWraith;
        Name := 'Soul esswraith';
        UpText := ['oul ess', 'iphon So', 'oul essw', 'Siphon Soul esswraith'];
        Color := 6251056;
        Tol := 24;
        Hue := 0.25;
        Sat := 1.01;
        LvlReq := 90;
        Min := 0;
        Max := 1000;
        IXP := 108;
      end;
    
      with Objects[objLivingSoul] do
      begin
        ObjID := objLivingSoul;
        Name := 'Living Soul';
        UpText := ['Siphon Living', 'on Liv', 'iving', 'oul'];
        Color := 12867973;
        Tol := 9;
        Hue := 0.51;
        Sat := 0.99;
        LvlReq := 90;
        Min := 0;
        Max := 1000;
        IXP := 213;
      end;
    
      with Objects[objJumper] do
      begin
        ObjID := objJumper;
        Name := 'Jumper';
        UpText := ['Siphon Jumper', 'on Jum', 'Jumper', 'mper'];
        Color := 16624975;
        Tol := 7;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 54;
        Min := 10;
        Max := 50;
        IXP := 107;
      end;
    
      with Objects[objBloodPool] do
      begin
        ObjID := objBloodPool;
        Name := 'Blood Pool';
        UpText := ['Siphon Blood Pool', 'on blo', 'blood', 'od poo'];
        Color := 1252488;
        Tol := 10;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 77;
        Min := 80;
        Max := 250;
        IXP := 146;
      end;
    
      with Objects[objNebula] do
      begin
        ObjID := objNebula;
        Name := 'Nebula';
        UpText := ['Siphon Nebula', 'on Neb', 'Nebula', 'bula'];
        Color := 8988293;
        Tol := 6;
        Hue := 1.15;
        Sat := 3.71;
        LvlReq := 40;
        Min := 55;
        Max := 1000;
        IXP := 85;
      end;
    
      with Objects[objSkulls] do
      begin
        ObjID := objSkulls;
        Name := 'Skulls';
        UpText := ['Siphon Skulls', 'on Sku', 'Skulls', 'ulls'];
        Color := 9748431;
        Tol := 7;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 65;
        Min := 3;
        Max := 1000;
        IXP := 120;
      end;
    
      with Objects[objUndeadSoul] do
      begin
        ObjID := objUndeadSoul;
        Name := 'Undead Soul';
        UpText := ['ndead', 'oul', 'ndead So', 'd Soul'];
        Color := 10979231;
        Tol := 4;
        Hue := 0.48;
        Sat := 0.61;
        LvlReq := 95;
        Min := 0;
        Max := 1000;
        IXP := 255;
      end;
    
      with Objects[objBloodySkulls] do
      begin
        ObjID := objBloodySkulls;
        Name := 'Bloody Skulls';
        UpText := ['Bloody', 'skulls', 'oody', 'kulls'];
        Color := 396358;
        Tol := 2;
        Hue := 0.15;
        Sat := 1.52;
        LvlReq := 83;
        Min := 5;
        Max := 1000;
        IXP := 176;
      end;
    
      with Objects[objShifter] do
      begin
        ObjID := objShifter;
        Name := 'Shifter';
        UpText := ['Siphon Shifter', 'on Shi', 'Shifter', 'ifter'];
        Color := 1830421;
        Tol := 7;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 54;
        Max := 900;
        Min := 400;
        IXP := 87;
      end;
    
      with Objects[objWaterEssling] do
      begin
        ObjID := objWaterEssling;
        Name := 'Water Essling';
        UpText := ['Water Essling', 'ater', 'er essl', 'ssling'];
        Color := 12085388;
        Tol := 17;
        Hue := 1.29;
        Sat := 0.99;          //messed up for now
        LvlReq := 5;
        Max := 0;
        Min := 0;
        IXP := 13;
      end;
    
      with Objects[objVine] do
      begin
        ObjID := objVine;
        Name := 'Vine';
        UpText := ['Siphon Vine', 'phon V', 'hon v'];
        Color := 534306;
        Tol := 8;
        Hue := 0.62;
        Sat := 3.69;
        LvlReq := 17;
        Max := 900;
        Min := 150;
        IXP := 36;
      end;
    
      with Objects[objCCloud] do
      begin
        ObjID := objCCloud;
        Name := 'Chaotic Cloud';
        UpText := ['Siphon Chaotic', 'on Chaotic', 'Chaotic', 'haotic Cloud'];
        Color := 2167590;
        Tol := 4;
        Hue := 2.03;
        Sat := 2.57;
        LvlReq := 35;
        Min := 20;
        Max := 1000;
        IXP := 62;
      end;
    
      with Objects[objCosmicHound] do
      begin
        ObjID := objCosmicHound;
        Name := 'Cosmic Esshound';
        UpText := ['osmic', 'osmic essh', 'Cosmic', 'Siphon Cosmic', 'ic esshound', 'Siphon Cosmic esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 27;
        Min := 250;
        Max := 700;
        IXP := 27;
      end;
    
      with Objects[objChaosHound] do
      begin
        ObjID := objChaosHound;
        Name := 'Chaos Esshound';
        UpText := ['haos', 'haos essh', 'Chaos', 'Siphon Chaos', 'os esshound', 'Siphon Chaos esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 35;
        Min := 250;
        Max := 700;
        IXP := 31;
      end;
    
      with Objects[objAstralHound] do
      begin
        ObjID := objAstralHound;
        Name := 'Astral Esshound';
        UpText := ['stral', 'stral ess', 'Astral', 'Siphon Astral', 'ral esshound', 'Siphon Astral esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 40;
        Min := 250;
        Max := 700;
        IXP := 36;
      end;
    
      with Objects[objNatureHound] do
      begin
        ObjID := objNatureHound;
        Name := 'Nature Esshound';
        UpText := ['ature', 'ature ess', 'Nature', 'Siphon Nature', 'ture esshound', 'Siphon Nature esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 44;
        Min := 250;
        Max := 700;
        IXP := 44;
      end;
    
      with Objects[objLawHound] do
      begin
        ObjID := objLawHound;
        Name := 'Law esshound';
        UpText := ['Siphon Law', 'on Law', 'Law', 'aw ess', 'aw esshound', 'Siphon Law esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 54;
        Min := 250;
        Max := 700;
        IXP := 54;
      end;
    
      with Objects[objBodyHound] do
      begin
        ObjID := objBodyHound;
        Name := 'Body esshound';
        UpText := ['Siphon Body', 'on Bod', 'Body', 'ody ess', 'ody esshound', 'Siphon Body esshound'];
        Color := 14584962;
        Tol := 19;
        Hue := 0.10;
        Sat := 2.02;
        LvlReq := 20;
        Min := 250;
        Max := 700;
        IXP := 24;
      end;
    
      with Objects[objAirEss] do
      begin
        ObjID := objAirEss;
        Name := 'Air essling';
        UpText := ['ir ess', 'iphon Air', 'Siphon Air essling'];
        Color := 13934680;
        Tol := 21;
        Hue := 0.07;
        Sat := 1.98;
        LvlReq := 1;
        Max := 600;
        Min := 50;
        IXP := 10;
      end;
    
      with Objects[objWaterPool] do
      begin
        ObjID := objWaterPool;
        Name := 'Water Pool';
        UpText := ['ter poo', 'iphon Wat', 'Siphon Water pool', 'ater pool'];
        Color := 15187588;
        Tol := 20;
        Hue := 0.05;
        Sat := 2.04;
        LvlReq := 5;
        Max := 900;
        Min := 50;
        IXP := 25;
      end;
    
      with Objects[objFleshyGrowth] do
      begin
        ObjID := objFleshyGrowth;
        Name := 'Fleshy Growth';
        UpText := ['eshy', 'on Fle', 'rowth', 'shy gro'];
        Color := 4082573;
        Tol := 11;
        Hue := 0.07;
        Sat := 0.49;
        LvlReq := 20;
        Max := 5000;
        Min := 900;
        IXP := 47;
      end;
    
      with Objects[objFireStorm] do
      begin
        ObjID := objFireStorm;
        Name := 'Fire Storm';
        UpText := ['ire sto', 'iphon Fir', 'Siphon Fire storm', 'sto'];
        Color := 1780091;
        Tol := 18;
        Hue := 0.09;
        Sat := 1.29;
        LvlReq := 27;
        Max := 700;
        Min := 200;
        IXP := 42;
      end;
    
      with Objects[objEarthEss] do
      begin
        ObjID := objEarthEss;
        Name := 'Earth essling';
        UpText := ['rth ess', 'iphon Ear', 'Siphon Earth essling', 'arth essl'];
        Color := 4744582;
        Tol := 15;
        Hue := 0.04;
        Sat := 0.32;
        LvlReq := 1;
        Max := 250;
        Min := 50;
        IXP := 15;
      end;
    
      with Objects[objRockFrag] do
      begin
        ObjID := objRockFrag;
        Name := 'Rock Fragment';
        UpText := ['Siphon Rock', 'on Roc', 'Rock', 'Fragment'];
        Color := 3434345;
        Tol := 13;
        Hue := 0.41;
        Sat := 0.46;
        LvlReq := 9;
        Min := 150;
        Max := 900;
        IXP := 29;
      end;
    
      with Objects[objFireball] do
      begin
        ObjID := objFireball;
        Name := 'Fireball';
        UpText := ['Siphon Fireball', 'on Fire', 'reball', 'fireball'];
        Color := 2055350;
        Tol := 14;
        Hue := 0.41;
        Sat := 1.20;
        LvlReq := 14;
        Min := 120;
        Max := 900;
        IXP := 35;
      end;
    
      with Objects[objMindEssling] do
      begin
        ObjID := objMindEssling;
        Name := 'Mind Essling';
        UpText := ['Mind Essling', 'ind', 'nd essl', 'ssling'];
        Color := 7905200;
        Tol := 17;
        Hue := 0.21;
        Sat := 0.40;
        LvlReq := 1;
        Max := 150;
        Min := 2;
        IXP := 12;
      end;
    
      with Objects[objCyclone] do
      begin
        ObjID := objCyclone;
        Name := 'Cyclone';
        UpText := ['Siphon Cyclone', 'clone', 'yclone', 'cyclone'];
        Color := 2698292;
        Tol := 6;
        Hue := 0.51;
        Sat := 1.10;
        LvlReq := 1;
        Min := 80;
        Max := 900;
        IXP := 19;
      end;
    
      with Objects[objMindStorm] do
      begin
        ObjID := objMindStorm;
        Name := 'Mind Storm';
        UpText := ['nd sor', 'iphon Min', 'Mind', 'Siphon Mind Storm'];
        Color := 1645086;
        Tol := 6;
        Hue := 0.56;
        Sat := 0.84;
        LvlReq := 1;
        Min := 100;
        Max := 800;
        IXP := 20;
      end;
    
      DebugThis('-[DEBUG]- Objects are setup');
    end;
    
    function GetObject(vObj : Integer) : TObj;
    begin
      Result := Objects[vObj];
    end;
    
    function GetObjectByXP(xp : Integer) : TObj;
    var
      i : Integer;
    begin
      for i := 0 to High(Objects) do
        if(Objects[i].IXP = xp)then
          Result := Objects[i];
    end;
    
    function GetObjectData(ID : Integer) : TObj;
    var
      webClient, i : Integer;
      postData, objDataStr : string;
      objDataStrArray : TStringArray;
      tmpObj : TObj;
    begin
      try
        webClient := InitializeHTTPClient(False, False);
        postData := 'http://srl.kyleundefined.com/Scripts/KEE/?ObjID=' + IntToStr(ID);
        objDataStr := GetHTTPPage(webClient, postData);
        DebugThis('-[DEBUG]- Object Data String = ' + objDataStr);
        objDataStrArray := Explode('|', objDataStr);
    
        if(objDataStr = '0')then
        begin
          DebugThis('-[DEBUG]- Failed to grab Object data!');
          Exit;
        end;
    
        if(Debug)then
          for i := 0 to High(objDataStrArray) do
            WriteLn('-[DEBUG]- ObjDataStrArray[' + IntToStr(i) + '] = ' + objDataStrArray[i]);
    
        with tmpObj do
        begin
          ObjID := ID;
          Name := objDataStrArray[0];
          UpText := [objDataStrArray[1]];
          Color := StrToIntDef(objDataStrArray[2], Objects[ID].Color);
          Tol := StrToIntDef(objDataStrArray[3], Objects[ID].Tol);
          Hue := StrToFloatDef(objDataStrArray[4], Objects[ID].Hue);
          Sat := StrToFloatDef(objDataStrArray[5], Objects[ID].Sat);
          LvlReq := StrToIntDef(objDataStrArray[6], Objects[ID].LvlReq);
          Max := StrToIntDef(objDataStrArray[7], Objects[ID].Max);
          Min := StrToIntDef(objDataStrArray[8], Objects[ID].Min);
          IXP := StrToIntDef(objDataStrArray[9], Objects[ID].IXP);
        end;
    
        Result := tmpObj;
      except
        DebugThis('-[ERROR]- Failed to grab Object Data! : ' + exceptionToString(exceptionType, exceptionParam));
      finally
        FreeHTTPClient(webClient);
      end;
    end;
    
    procedure AddObject(var objArr : TObjectArray; ObjID : Integer);
    begin
      SetLength(objArr, Length(objArr) + 1);
      objArr[High(objArr)] := GetObject(ObjID);
    end;
    
    procedure FilterObjects();
    var
      tmpObjects : TObjectArray;
      i : Integer;
    begin
      if(not(Players[CurrentPlayer].Booleans[0]))then
        Exit;
    
      DebugThis('-[DEBUG]- Filtering Objects');
      for i := 0 to High(Objects) do
        if(InIntArray(Players[CurrentPlayer].Integers, Objects[i].ObjID))then
          AddObject(tmpObjects, Objects[i].ObjID);
    
      SetLength(Objects, High(tmpObjects));
      Objects := tmpObjects;
      DebugThis('-[DEBUG]- Objects are filtered');
    end;
    
    procedure SortObjects();
    var
      tmpObjects : TObjectArray;
      TIA : TIntegerArray;
      i : Integer;
    begin
      DebugThis('-[DEBUG]- Sorting Objects');
      SetLength(TIA, Length(Objects));
    
      for i := 0 to High(Objects) do
        TIA[i] := Objects[i].IXP;
    
      Quicksort(TIA);
      InvertTIA(TIA);
    
      SetLength(tmpObjects, Length(Objects));
    
      for i := 0 to High(TIA) do
        tmpObjects[i] := GetObjectByXP(TIA[i]);
    
      Objects := tmpObjects;
      DebugThis('-[DEBUG]- Objects are sorted');
    end;
    
    procedure UpdateObjects();
    var
      tmpObjects : TObjectArray;
      i : Integer;
    begin
      if(not(AutoUpdate))then Exit;
    
      DebugThis('-[DEBUG]- Updating Objects');
    
      SetLength(tmpObjects, Length(Objects));
    
      for i := 0 to High(Objects) do
        tmpObjects[i] := GetObjectData(Objects[i].ObjID);
    
      DebugThis('-[DEBUG]- Objects are updated');
    end;
    
    procedure SetFalse(reason : string; logOutPlayer : Boolean);
    begin
      WriteLn('** SetFalse ** Reason := ' + reason);
      Players[CurrentPlayer].Active := False;
    
      if(logOutPlayer)then
        Logout;
    
      if(HowManyPlayers = 1)then
        TerminateScript();
    end;
    
    function CheckForRandoms() : Boolean;
    var
      i : Integer;
    begin
      DebugThis('-[DEBUG]- Checking for randoms');
    
      if(Players[CurrentPlayer].Booleans[1])then
      begin
        for i := 0 to High(SRL_Randoms) do
        begin
          if (SRL_Randoms[i].detect <> nil) and (SRL_Randoms[i].detect()) then
          begin
            Result := True;
            Break;
          end;
        end;
    
        if(Result)then
          SetFalse('Random Detected', True);
      end else
        FindNormalRandoms();
    end;
    
    function K_FindObj(var x, y, vObj : Integer) : Boolean;
    var
      fObj : TObj;
      a, h : Integer;
      TPA  : TPointArray;
      ATPA : T2DPointArray;
      tmpCTS : Integer;
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Starting Object search');
    
      fObj := GetObject(vObj);
    
      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      with fObj do
      begin
        DebugThis('-[DEBUG]- Searching for Object - ' + Name);
        SetColorSpeed2Modifiers(Hue, Sat);
    
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, Color, TB.X1, TB.Y1, TB.X2, TB.Y2, Tol);
        ATPA := TPAtoATPAEx(TPA, 20, 20);
        SortATPASize(ATPA,True);
    
        H := High(ATPA);
    
        for a := 0 to H do
        begin
          MiddleTPAEx(atpa[a], X, Y);
    
          DebugThis('-[DEBUG]- Length(ATPA[a]) = ' + ToStr(Length(ATPA[a])));
    
          if((Length(atpa[a]) < Min) or (Length(atpa[a]) > Max))then
            Continue;
    
          MMouse(X, Y, 5, 5);
    
          DebugThis('-[DEBUG]- GetUpText = ' + GetUpText);
    
          if(WaitUpTextMulti(UpText, RandomRange(350, 450)))then
          begin
            ClickMouse2(True);
    
            if(DidRedClick)then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
    
              if(Misclick)then
              begin
                Wait(RandomRange(600, 700));
                If IsMoving Then
                Begin
                  Mouse(249, 177, 2, 2, True);
                  Wait(RandomRange(300, 400));
                  Repeat
                    Wait(100);
                  Until (Not(Ismoving));
                  FirstIsland := True;
                  Exit;
                End;
              end;
              Result := True;
              Exit;
            end else
            begin
              Higher := True;
    
              if(Misclick)then
              begin
                Mouse(249, 177, 2, 2, True);
                Wait(RandomRange(300, 400));
                Repeat
                  Wait(100);
                Until (Not(Ismoving));
                FirstIsland := True;
                Exit;
              end;
            end;
          end else
          if(IsUptextMultiCustom(['esswraith', 'wraith', 'raith', 'Floating ess', 'Float', 'ing ess', 'Floating essence', 'lan vex', 'ead Clan', 'an vexillum', 'Read Clan vexillum']))then
          begin
            Clickmouse2(False);
    
            if(WaitOptionMulti(UpText, 800))then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
    
              Result := True;
              Exit;
            end;
          end;
        end;
      end;
    
      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    end;
    
    Function FindObjectPlatform : Boolean;
    var
      CTS, I, L : Integer;
      TPA : TPointArray;
      ATPA : T2DPointArray;
    begin
      Result := False;
    
      If (TimeFromMark(TI) < 60000) And (Not FirstIsland) Then
      Begin
        Result:=True;
        Exit;
      End;
    
      DebugThis('-[DEBUG]- Searching for Object platform');
    
      If SafeNub Then
      Begin
        TB := IntToBox(MSX1, MSY1, MSX2, MSY2);
        Result := True;
        Exit;
      End;
    
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      SetColorSpeed2Modifiers(IslandHue, IslandSat);
      FindColorsTolerance(TPA, IslandColor, MSX1, MSY1, MSX2, MSY2, IslandTol);
      ATPA := FloodFillTPA(TPA);
      SortATPASize(ATPA, True);
      ColorToleranceSpeed(CTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    
      If Debug Then
        DebugATPABounds(ATPA);
    
      DebugThis('-[DEBUG]- ATPA = ' + ToStr(ATPA));
    
      If Length(TPA) < 1 then
        Exit;
    
      L := High(ATPA);
      For I := 0 To L do
      Begin
        TB:= GetTPABounds(ATPA[I]);
        If Not (PointInBox(Point(MSCX, MSCY), TB)) then
        begin
          if I = L then
          begin
            DebugThis('-[DEBUG]- at high, point is not inside');
            exit;
          end else
            continue;
        end else break;
      end;
    
      DebugThis('-[DEBUG]- TB = ' + ToStr(TB));
      Result := True;
    
      MarkTime(TI);
      FirstIsland:=False;
    end;
    
    function FindWizard: Boolean;
    var
      a, h : Integer;
      TPA  : TPointArray;
      ATPA : T2DPointArray;
      tmpCTS : Integer;
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Searching for Wizard');
    
      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      SetColorSpeed2Modifiers(0.05, 1.65);
    
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 5357278, MSX1, MSY1, MSX2, MSY2, 18);
      ATPA := TPAtoATPAEx(TPA, 20, 20);
      SortATPASize(ATPA,True);
    
      H := High(ATPA);
      DebugThis('Wizard');
    
      for a := 0 to H do
      begin
        MiddleTPAEx(atpa[a], X, Y);
    
        DebugThis(tostr(Length(atpa[a])));
    
        if((Length(atpa[a]) < 100) Or (Length(atpa[a]) > 2000))then
          Continue;
    
        MMouse(X, Y, 5, 5);
    
        if(WaitUpTextMulti(['Wizard', 'zard', 'izard'], 750))then
        begin
          repeat
            InvMouse(RandomRange(2, 8), 3);
          until(WaitUpTextMulti(['rune', 'une'], RandomRange(1800, 2000)));
    
          ClickMouse2(False);
    
          if(not(WaitOptionMulti(['Use', 'Use ', 'se '],RandomRange(800, 900))))then
            Exit;
    
          MMouse(X, Y, 5, 5);
    
          if(WaitUpTextMulti(['Wizard', 'zard', 'izard'], 750))then
          begin
            ClickMouse2(True);
    
            if(DidRedClick)then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
    
              Result := True;
              MarkTime(TW);
              Exit;
            end;
          end;
        end;
      end;
    
      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    end;
    
    function FindMayScreen() : Boolean;
    var
      TPA  : TPointArray;
      tmpCTS : Integer;
    begin
      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      SetColorSpeed2Modifiers(0.44, 1.62);
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1013212, MSX1, MSY1, MSX2, MSY2, 8);
    
      Result := (Length(TPA) > 1500);
    
      if(Result)then
        MouseBox(494, 16, 503, 24, mouse_Left);
    
      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    end;
    
    procedure AntiBan();
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Performing Antiban');
    
      case (Random(1000)) of
        0 : RandomRClick;
        1 : HoverSkill('random', False);
        2 : ExamineInv;
        3 : MouseSpeed := (RandomRange(10, 12));
        4 : begin HoverSkill('Runecrafting', False); Wait(RandomRange(2000, 4000)); end;
        5 : begin PickUpMouse; SleepAndMoveMouse(1500 + Random(500)); end;
        6 : begin GameTab(tab_Stats); Wait(1500 + Random(500)); GameTab(tab_Inv); end;
        7 .. 100 : Wait(RandomRange(750, 2000));
        101: begin BoredHuman; SetAngle(SRL_ANGLE_HIGH); end;
      end;
    end;
    
    function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor : Integer) : Boolean;
    var
      h, m, s : Integer;
    begin
      if not LoggedIn then Exit;
    
      if (HowManyPlayers = 1) then
      begin
        if (GetTimeRunning < ((w) + (y) + BreakRounds)) then Exit
        else
          if (GetTimeRunning > ((w) + (y) + BreakRounds)) then
          begin
            RealBTime := ((x + z) / 60000);
            Logout;
            MarkTime(CurrentBTime);
            repeat
              Wait(21000);
              ConvertTime((x + z) - TimeFromMark(CurrentBTime), h, m, s);
              ClearDebug;
            until(TimeFromMark(CurrentBTime) > (x + z));
            if SwitchWorlds then
              if LoginPlayerToLob then
                ChangeWorld(RandomWorld(True, False))
            else
              LoginPlayer;
            Wait(4000);
            Result := LoggedIn;
            ClickNorth(SRL_ANGLE_HIGH);
            IncEx(BreakRounds, (w) + (x));
            w := (BreakIn * 60000);
            x := (BreakFor * 60000);
            y := RandomRange(-Bir * 60000, Bir * 60000);
            z := RandomRange(-Bfr * 60000, Bfr * 60000);
          end;
      end;
    end;
    
    procedure Proggy;
    begin
      if(not(Debug))then
        ClearDebug();
      Stats_Commit;
      XP := (GetXPBarTotal - StartXP);
      XPH:= Round(((XP) / (GetTimeRunning / 1000)) * 3600);
      Writeln('======== Kyle''s Esswraith Extractor =========');
      WriteLn('Version ' + Version);
      Writeln('Time Running: ' + TimeRunning);
      Writeln('Experience Earned: ' + IntToStr(XP));
      Writeln('Experience/Hour: ' + IntToStr(XPH));
      WriteLn('Runecrafting Level: ' + IntToStr(RCLvl));
      WriteLn('Floor: ' + IntToStr(Floors));
      Writeln('=============================================');
      MarkTime(TP);
    end;
    
    Procedure GetMoreEssence;
    var
      a, h, t: Integer;
      TPA  : TPointArray;
      ATPA : T2DPointArray;
      tmpCTS : Integer;
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Getting more essence');
      MarkTime(T);
    
      repeat
        if(not(LoggedIn))then Exit;
    
        if(TimeFromMark(t) > 30000)then
          SetFalse('Failed to get more essence.', True);
    
        tmpCTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);
    
        SetColorSpeed2Modifiers(0.60, 0.10);
    
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4408645, MSX1, MSY1, MSX2, MSY2, 14);
        ATPA := TPAtoATPAEx(TPA, 20, 20);
        SortATPASize(ATPA,True);
    
        H := High(ATPA);
        DebugThis('Rocks');
    
        for a := 0 to H do
        begin
          MiddleTPAEx(atpa[a], X, Y);
    
          DebugThis('-[DEBUG]- Length(ATPA[a]) = ' + ToStr(Length(ATPA[a])));
    
          if((Length(atpa[a]) < 50) Or (Length(atpa[a]) > 2000))then
            Continue;
    
          MMouse(X, Y, 5, 5);
    
          if(WaitUpTextMulti(['Collect', 'llect', 'Float'], 750))then
          begin
            ClickMouse2(True);
    
            if(DidRedClick)then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
              Exit;
            end;
          end else
          if(not(IsUptextMultiCustom(['Walk', 'lk here', 'here'])))then
          begin
            Clickmouse2(False);
    
            if(WaitOptionMulti(['Collect', 'llect', 'Float'], 800))then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
              Exit;
            end;
          end;
        end;
        ColorToleranceSpeed(tmpCTS);
        SetColorSpeed2Modifiers(0.2, 0.2);
      until FindDTM(EssenceDTM, X, Y, MIX1, MIY1, MIX2, MIY2);
    end;
    
    procedure ScriptSetup();
    var
      Floor1, Floor2, Floor3, X, Y: Integer;
    begin
      SetupObjects();
      UpdateObjects();
      Filterobjects;
      SortObjects();
    
      if(FindMayScreen())then
        Wait(RandomRange(500, 750));
    
      SetAngle(SRL_ANGLE_HIGH);
      StartXP := GetXPBarTotal;
      RCLvl := GetSkillLevel(SKILL_RUNECRAFTING);
      Gametab(tab_Inv);
    
      Higher := False;
      SafeNub:= False;
      FirstIsland := True;
    
      Floor1 := DTMFromString('mbQAAAHicY2VgYLBjZGBwBWIjILYEYi8g/ggUfw7Er4D4LxD/AOKepcwMZemKDJOrnRkMpLkZ/B11GESA4uiYEQsGAwD8Rgr4');
      Floor2 := DTMFromString('mbQAAAHicY2VgYMhlZGAoBeIsIE4G4nIgFgSK8wExFxBLQvHWhUcYdrWdYbjQ/pTBwy+AQZRPkEEEKI6OGbFgMAAAtVQKcQ==');
      Floor3 := DTMFromString('mbQAAAHicY2VgYFACYlkg1gZiSShdBMTNQFwFxMVAXALEpz58ZehasASMt508w3Dx7n0GEaA4OmbEgsEAAHWJDpY=');
    
      If FindDTM(Floor1, X, Y, 9, 99, 52, 146) Then
        Floors := 1
      Else If FindDTM(Floor2, X, Y, 9, 99, 52, 146) Then
        Floors := 2
      Else If FindDTM(Floor3, X, Y, 9, 99, 52, 146) Then
        Floors := 3
      Else
        Floors := 0;
    
      If ClickAnywhere Then
        Floors := 0;
    
      FreeDTM(Floor1);
      FreeDTM(Floor2);
      FreeDTM(Floor3);
      Case Floors Of
        0 : SafeNub := True;
        1 : Begin IslandHue := 0.19; IslandSat := 0.71; IslandColor := 3112315; IslandTol := 12; End;
        2 : Begin IslandHue := 3.58; IslandSat := 0.43; IslandColor := 8224087; IslandTol := 14; End;
        3 : Begin IslandHue := 0.12; IslandSat := 0.73; IslandColor := 9145506; IslandTol := 12; End;
      End;
    end;
    
    procedure MainLoop();
    var
      fObj : TObj;
      x, y, i, InitialXP, UpdateXP, t: Integer;
    Label
      Waiting;
    begin
      repeat
        DebugThis('-[DEBUG]- In first repeat loop.');
        repeat
          DebugThis('-[DEBUG]- In second repeat loop.');
          if not loggedin then loginplayer;
          CheckForRandoms();
    
          if(TakeBreaks)then BreakHandler(BreakIn, BreakFor, Bir, Bfr);
    
          if(TimeFromMark(TW) > 600000)then
            FindWizard;
    
          if not WaitFindDTMEX(EssenceDTM, EX, EY, MIX1, MIY1, MIX2, MIY2, 100, 2000) then
            GetMoreEssence;
    
          if(TimeFromMark(RCt) > (3600000 + RandomRange(-1800000, 1800000)))then
          begin
            RCLvl := GetSkillLevel(SKILL_RUNECRAFTING);
            MarkTime(RCt);
          end;
    
          for i := 0 to High(Objects) do
          begin
            fObj := GetObject(i);
    
            DebugThis('-[DEBUG]- fObj.Name = ' + fObj.Name + '.');
            DebugThis('-[DEBUG]- RCLvl = ' + IntToStr(RCLvl) + '.');
            DebugThis('-[DEBUG]- fObj.LvlReq = ' + IntToStr(fObj.LvlReq) + '.');
    
            if(RCLvl >= fObj.LvlReq)then
            begin
              DebugThis('-[DEBUG]- RCLvl > fObj.LvlReq');
              if(FindObjectPlatform)then
                if(K_FindObj(x, y, i))then
                begin
                  DebugThis('-[DEBUG]- Found platform and Object');
                  Waiting:
    
                  if(TimeFromMark(TP) > 60000)then
                    Proggy;
    
                  Wait(RandomRange(500, 750));
                  InitialXP := GetXPBarTotal;
                  CurrentXP := fObj.IXP;
    
                  DebugThis('-[DEBUG]- InitialXP = ' + IntToStr(InitialXP));
                  DebugThis('-[DEBUG]- CurrentXP = ' + IntToStr(CurrentXP));
    
                  MarkTime(T);
                  repeat
                    DebugThis('-[DEBUG]- In third repeat loop');
                    Wait(1000);
                    CheckForRandoms();
    
                    if(TimeFromMark(T) > RandomRange(7000, 7200))then
                      Break;
    
                    AntiBan;
                    DebugThis('-[DEBUG]- Searching for better XP Objects');
                    for i := 0 to High(Objects) do
                    begin
                      fObj := GetObject(i);
                      CheckForRandoms();
    
                      DebugThis('-[DEBUG]- fObj.Name = ' + fObj.Name + '.');
                      DebugThis('-[DEBUG]- fObj.LvlReq = ' + IntToStr(fObj.LvlReq) + '.');
                      DebugThis('-[DEBUG]- fObj.IXP = ' + IntToStr(fObj.IXP) + '.');
    
                      if(RCLvl >= fObj.LvlReq) And (CurrentXP < fObj.IXP)then
                      begin
                        if(FindObjectPlatform)then
                          if(K_FindObj(x, y, i))then
                          begin
                            DebugThis('-[DEBUG]- (RCLvl >= fObj.LvlReq) AND (CurrentXP < fObj.IXP)');
                            DebugThis('-[DEBUG]- Found higher XP Object, breaking for loop');
                            Higher := True;
                            Break;
                          end;
                      end;
                    end;
    
                    if(Higher)then
                      Break;
    
                    UpdateXP := GetXPBarTotal;
                    CheckForRandoms();
    
                    DebugThis('-[DEBUG]- UpdateXP = ' + IntToStr(UpdateXP));
    
                    if(UpdateXP > InitialXP)then
                    begin
                      DebugThis('-[DEBUG]- UpdateXP > InitialXP');
                      InitialXP := GetXPBarTotal;
                      T := 0;
                      MarkTime(T);
                      CheckForRandoms();
                    end;
                  until(False);
    
                  if(Higher)then
                  begin
                    DebugThis('-[DEBUG]- Higher = True');
                    Higher := False;
                    Goto Waiting;
                  end;
                end;
            end;
          end;
    
          CheckForRandoms();
        until(not(LoggedIn));
    
        if(Players[CurrentPlayer].Active)then
          SetFalse('Not Logged in', False);
    
        NextPlayer(Players[CurrentPlayer].Active);
        ScriptSetup();
        MainLoop();
      until(AllPlayersInactive);
    end;
    
    begin
    
      SetupSRL;
      SetupSRLStats(1036, SRLStats_Username, SRLStats_Password);
      ClearDebug();
    
      {* Initial Break Settings *}
      w := (BreakIn * 60000);
      x := (BreakFor * 60000);
      y := RandomRange(-Bir * 60000, Bir * 60000);
      z := RandomRange(-Bfr * 60000, Bfr * 60000);
    
      ActivateClient();
      DeclarePlayers();
      LoginPlayer();
    
      while(not(RSReady()))do
        Wait(9000);
    
      AddOnTerminate('Fr33DTM');
      SetDtm;
    
      MarkTime(TP);
      MarkTime(RCt);
    
      _SetRandoms();
      ScriptSetup();
    
      if(not(WaitFindDTMEX(EssenceDTM, EX, EY, MIX1, MIY1, MIX2, MIY2, 100, 2000)))then
        GetMoreEssence;
    
      MainLoop;
    end.

  20. #2345
    Join Date
    Mar 2007
    Posts
    24
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Mylo View Post
    This is most likely a simple one for most: Version 1.8

    How do I get around this one please?

    Unknown identifier 'DebugATPABounds' at line 882

    Code:
        Active        := True;    // Use in the Script. True / False.
    	  Booleans[0]   := True;    // Set to False if you want to search for all Objects
        Booleans[1]   := False;   // Logout if a random is found
    
        // This is for searching for specific Objects, add / remove as needed. Order doesn't matter
        Integers      := [objWaterEssling, objVine, objAirEss, objWaterPool,
                          objFireStorm, objEarthEss, objRockFrag, objFireball,
                          objMindEssling, objCyclone, objMindStorm];
      end;
    end;
    
    procedure SetDTM;
    begin
      EssenceDTM := DTMFromString('mrAAAAHic42BgYHBkYmDwAGIXILYBYksodgdiXyB+DlTzCIgfQvEzIP4AxG+A+CkQW5ibMRjo64ExiG1tZcHg6uLE4O7mwmBsZMjABVSDDzMSwDAAAJ3CDvU=');
    end;
    
    procedure Fr33DTM;
    begin
      FreeDTM(EssenceDTM);
    end;
    
    procedure DebugThis(s : string);
    begin
      if(Debug)then
        WriteLn(s);
    end;
    
    procedure SetupObjects();
    begin
      DebugThis('-[DEBUG]- Setup Objects');
      SetLength(Objects, 30);
    
      with Objects[objBloodWraith] do
      begin
        ObjID := objBloodWraith;
        Name := 'Blood esswraith';
        UpText := ['lood ess', 'ood essw', 'Siphon Blood esswraith'];
        Color := 6263962;
        Tol := 15;
        Hue := 0.12;
        Sat := 0.72;
        LvlReq := 77;
        Max := 250;
        Min := 50;
        IXP := 77;
      end;
    
      with Objects[objDeathWraith] do
      begin
        ObjID := objDeathWraith;
        Name := 'Death esswraith';
        UpText := ['eath ess', 'iphon De', 'ath essw', 'Siphon Death esswraith'];
        Color := 5278586;
        Tol := 26;
        Hue := 0.04;
        Sat := 0.58;
        LvlReq := 65;
        Min := 0;
        Max := 1000;
        IXP := 60;
      end;
    
      with Objects[objSoulWraith] do
      begin
        ObjID := objSoulWraith;
        Name := 'Soul esswraith';
        UpText := ['oul ess', 'iphon So', 'oul essw', 'Siphon Soul esswraith'];
        Color := 6251056;
        Tol := 24;
        Hue := 0.25;
        Sat := 1.01;
        LvlReq := 90;
        Min := 0;
        Max := 1000;
        IXP := 108;
      end;
    
      with Objects[objLivingSoul] do
      begin
        ObjID := objLivingSoul;
        Name := 'Living Soul';
        UpText := ['Siphon Living', 'on Liv', 'iving', 'oul'];
        Color := 12867973;
        Tol := 9;
        Hue := 0.51;
        Sat := 0.99;
        LvlReq := 90;
        Min := 0;
        Max := 1000;
        IXP := 213;
      end;
    
      with Objects[objJumper] do
      begin
        ObjID := objJumper;
        Name := 'Jumper';
        UpText := ['Siphon Jumper', 'on Jum', 'Jumper', 'mper'];
        Color := 16624975;
        Tol := 7;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 54;
        Min := 10;
        Max := 50;
        IXP := 107;
      end;
    
      with Objects[objBloodPool] do
      begin
        ObjID := objBloodPool;
        Name := 'Blood Pool';
        UpText := ['Siphon Blood Pool', 'on blo', 'blood', 'od poo'];
        Color := 1252488;
        Tol := 10;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 77;
        Min := 80;
        Max := 250;
        IXP := 146;
      end;
    
      with Objects[objNebula] do
      begin
        ObjID := objNebula;
        Name := 'Nebula';
        UpText := ['Siphon Nebula', 'on Neb', 'Nebula', 'bula'];
        Color := 8988293;
        Tol := 6;
        Hue := 1.15;
        Sat := 3.71;
        LvlReq := 40;
        Min := 55;
        Max := 1000;
        IXP := 85;
      end;
    
      with Objects[objSkulls] do
      begin
        ObjID := objSkulls;
        Name := 'Skulls';
        UpText := ['Siphon Skulls', 'on Sku', 'Skulls', 'ulls'];
        Color := 9748431;
        Tol := 7;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 65;
        Min := 3;
        Max := 1000;
        IXP := 120;
      end;
    
      with Objects[objUndeadSoul] do
      begin
        ObjID := objUndeadSoul;
        Name := 'Undead Soul';
        UpText := ['ndead', 'oul', 'ndead So', 'd Soul'];
        Color := 10979231;
        Tol := 4;
        Hue := 0.48;
        Sat := 0.61;
        LvlReq := 95;
        Min := 0;
        Max := 1000;
        IXP := 255;
      end;
    
      with Objects[objBloodySkulls] do
      begin
        ObjID := objBloodySkulls;
        Name := 'Bloody Skulls';
        UpText := ['Bloody', 'skulls', 'oody', 'kulls'];
        Color := 396358;
        Tol := 2;
        Hue := 0.15;
        Sat := 1.52;
        LvlReq := 83;
        Min := 5;
        Max := 1000;
        IXP := 176;
      end;
    
      with Objects[objShifter] do
      begin
        ObjID := objShifter;
        Name := 'Shifter';
        UpText := ['Siphon Shifter', 'on Shi', 'Shifter', 'ifter'];
        Color := 1830421;
        Tol := 7;
        Hue := 0.02;
        Sat := 1.70;
        LvlReq := 54;
        Max := 900;
        Min := 400;
        IXP := 87;
      end;
    
      with Objects[objWaterEssling] do
      begin
        ObjID := objWaterEssling;
        Name := 'Water Essling';
        UpText := ['Water Essling', 'ater', 'er essl', 'ssling'];
        Color := 12085388;
        Tol := 17;
        Hue := 1.29;
        Sat := 0.99;          //messed up for now
        LvlReq := 5;
        Max := 0;
        Min := 0;
        IXP := 13;
      end;
    
      with Objects[objVine] do
      begin
        ObjID := objVine;
        Name := 'Vine';
        UpText := ['Siphon Vine', 'phon V', 'hon v'];
        Color := 534306;
        Tol := 8;
        Hue := 0.62;
        Sat := 3.69;
        LvlReq := 17;
        Max := 900;
        Min := 150;
        IXP := 36;
      end;
    
      with Objects[objCCloud] do
      begin
        ObjID := objCCloud;
        Name := 'Chaotic Cloud';
        UpText := ['Siphon Chaotic', 'on Chaotic', 'Chaotic', 'haotic Cloud'];
        Color := 2167590;
        Tol := 4;
        Hue := 2.03;
        Sat := 2.57;
        LvlReq := 35;
        Min := 20;
        Max := 1000;
        IXP := 62;
      end;
    
      with Objects[objCosmicHound] do
      begin
        ObjID := objCosmicHound;
        Name := 'Cosmic Esshound';
        UpText := ['osmic', 'osmic essh', 'Cosmic', 'Siphon Cosmic', 'ic esshound', 'Siphon Cosmic esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 27;
        Min := 250;
        Max := 700;
        IXP := 27;
      end;
    
      with Objects[objChaosHound] do
      begin
        ObjID := objChaosHound;
        Name := 'Chaos Esshound';
        UpText := ['haos', 'haos essh', 'Chaos', 'Siphon Chaos', 'os esshound', 'Siphon Chaos esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 35;
        Min := 250;
        Max := 700;
        IXP := 31;
      end;
    
      with Objects[objAstralHound] do
      begin
        ObjID := objAstralHound;
        Name := 'Astral Esshound';
        UpText := ['stral', 'stral ess', 'Astral', 'Siphon Astral', 'ral esshound', 'Siphon Astral esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 40;
        Min := 250;
        Max := 700;
        IXP := 36;
      end;
    
      with Objects[objNatureHound] do
      begin
        ObjID := objNatureHound;
        Name := 'Nature Esshound';
        UpText := ['ature', 'ature ess', 'Nature', 'Siphon Nature', 'ture esshound', 'Siphon Nature esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 44;
        Min := 250;
        Max := 700;
        IXP := 44;
      end;
    
      with Objects[objLawHound] do
      begin
        ObjID := objLawHound;
        Name := 'Law esshound';
        UpText := ['Siphon Law', 'on Law', 'Law', 'aw ess', 'aw esshound', 'Siphon Law esshound'];
        Color := 14448236;
        Tol := 24;
        Hue := 0.06;
        Sat := 1.43;
        LvlReq := 54;
        Min := 250;
        Max := 700;
        IXP := 54;
      end;
    
      with Objects[objBodyHound] do
      begin
        ObjID := objBodyHound;
        Name := 'Body esshound';
        UpText := ['Siphon Body', 'on Bod', 'Body', 'ody ess', 'ody esshound', 'Siphon Body esshound'];
        Color := 14584962;
        Tol := 19;
        Hue := 0.10;
        Sat := 2.02;
        LvlReq := 20;
        Min := 250;
        Max := 700;
        IXP := 24;
      end;
    
      with Objects[objAirEss] do
      begin
        ObjID := objAirEss;
        Name := 'Air essling';
        UpText := ['ir ess', 'iphon Air', 'Siphon Air essling'];
        Color := 13934680;
        Tol := 21;
        Hue := 0.07;
        Sat := 1.98;
        LvlReq := 1;
        Max := 600;
        Min := 50;
        IXP := 10;
      end;
    
      with Objects[objWaterPool] do
      begin
        ObjID := objWaterPool;
        Name := 'Water Pool';
        UpText := ['ter poo', 'iphon Wat', 'Siphon Water pool', 'ater pool'];
        Color := 15187588;
        Tol := 20;
        Hue := 0.05;
        Sat := 2.04;
        LvlReq := 5;
        Max := 900;
        Min := 50;
        IXP := 25;
      end;
    
      with Objects[objFleshyGrowth] do
      begin
        ObjID := objFleshyGrowth;
        Name := 'Fleshy Growth';
        UpText := ['eshy', 'on Fle', 'rowth', 'shy gro'];
        Color := 4082573;
        Tol := 11;
        Hue := 0.07;
        Sat := 0.49;
        LvlReq := 20;
        Max := 5000;
        Min := 900;
        IXP := 47;
      end;
    
      with Objects[objFireStorm] do
      begin
        ObjID := objFireStorm;
        Name := 'Fire Storm';
        UpText := ['ire sto', 'iphon Fir', 'Siphon Fire storm', 'sto'];
        Color := 1780091;
        Tol := 18;
        Hue := 0.09;
        Sat := 1.29;
        LvlReq := 27;
        Max := 700;
        Min := 200;
        IXP := 42;
      end;
    
      with Objects[objEarthEss] do
      begin
        ObjID := objEarthEss;
        Name := 'Earth essling';
        UpText := ['rth ess', 'iphon Ear', 'Siphon Earth essling', 'arth essl'];
        Color := 4744582;
        Tol := 15;
        Hue := 0.04;
        Sat := 0.32;
        LvlReq := 1;
        Max := 250;
        Min := 50;
        IXP := 15;
      end;
    
      with Objects[objRockFrag] do
      begin
        ObjID := objRockFrag;
        Name := 'Rock Fragment';
        UpText := ['Siphon Rock', 'on Roc', 'Rock', 'Fragment'];
        Color := 3434345;
        Tol := 13;
        Hue := 0.41;
        Sat := 0.46;
        LvlReq := 9;
        Min := 150;
        Max := 900;
        IXP := 29;
      end;
    
      with Objects[objFireball] do
      begin
        ObjID := objFireball;
        Name := 'Fireball';
        UpText := ['Siphon Fireball', 'on Fire', 'reball', 'fireball'];
        Color := 2055350;
        Tol := 14;
        Hue := 0.41;
        Sat := 1.20;
        LvlReq := 14;
        Min := 120;
        Max := 900;
        IXP := 35;
      end;
    
      with Objects[objMindEssling] do
      begin
        ObjID := objMindEssling;
        Name := 'Mind Essling';
        UpText := ['Mind Essling', 'ind', 'nd essl', 'ssling'];
        Color := 7905200;
        Tol := 17;
        Hue := 0.21;
        Sat := 0.40;
        LvlReq := 1;
        Max := 150;
        Min := 2;
        IXP := 12;
      end;
    
      with Objects[objCyclone] do
      begin
        ObjID := objCyclone;
        Name := 'Cyclone';
        UpText := ['Siphon Cyclone', 'clone', 'yclone', 'cyclone'];
        Color := 2698292;
        Tol := 6;
        Hue := 0.51;
        Sat := 1.10;
        LvlReq := 1;
        Min := 80;
        Max := 900;
        IXP := 19;
      end;
    
      with Objects[objMindStorm] do
      begin
        ObjID := objMindStorm;
        Name := 'Mind Storm';
        UpText := ['nd sor', 'iphon Min', 'Mind', 'Siphon Mind Storm'];
        Color := 1645086;
        Tol := 6;
        Hue := 0.56;
        Sat := 0.84;
        LvlReq := 1;
        Min := 100;
        Max := 800;
        IXP := 20;
      end;
    
      DebugThis('-[DEBUG]- Objects are setup');
    end;
    
    function GetObject(vObj : Integer) : TObj;
    begin
      Result := Objects[vObj];
    end;
    
    function GetObjectByXP(xp : Integer) : TObj;
    var
      i : Integer;
    begin
      for i := 0 to High(Objects) do
        if(Objects[i].IXP = xp)then
          Result := Objects[i];
    end;
    
    function GetObjectData(ID : Integer) : TObj;
    var
      webClient, i : Integer;
      postData, objDataStr : string;
      objDataStrArray : TStringArray;
      tmpObj : TObj;
    begin
      try
        webClient := InitializeHTTPClient(False, False);
        postData := 'http://srl.kyleundefined.com/Scripts/KEE/?ObjID=' + IntToStr(ID);
        objDataStr := GetHTTPPage(webClient, postData);
        DebugThis('-[DEBUG]- Object Data String = ' + objDataStr);
        objDataStrArray := Explode('|', objDataStr);
    
        if(objDataStr = '0')then
        begin
          DebugThis('-[DEBUG]- Failed to grab Object data!');
          Exit;
        end;
    
        if(Debug)then
          for i := 0 to High(objDataStrArray) do
            WriteLn('-[DEBUG]- ObjDataStrArray[' + IntToStr(i) + '] = ' + objDataStrArray[i]);
    
        with tmpObj do
        begin
          ObjID := ID;
          Name := objDataStrArray[0];
          UpText := [objDataStrArray[1]];
          Color := StrToIntDef(objDataStrArray[2], Objects[ID].Color);
          Tol := StrToIntDef(objDataStrArray[3], Objects[ID].Tol);
          Hue := StrToFloatDef(objDataStrArray[4], Objects[ID].Hue);
          Sat := StrToFloatDef(objDataStrArray[5], Objects[ID].Sat);
          LvlReq := StrToIntDef(objDataStrArray[6], Objects[ID].LvlReq);
          Max := StrToIntDef(objDataStrArray[7], Objects[ID].Max);
          Min := StrToIntDef(objDataStrArray[8], Objects[ID].Min);
          IXP := StrToIntDef(objDataStrArray[9], Objects[ID].IXP);
        end;
    
        Result := tmpObj;
      except
        DebugThis('-[ERROR]- Failed to grab Object Data! : ' + exceptionToString(exceptionType, exceptionParam));
      finally
        FreeHTTPClient(webClient);
      end;
    end;
    
    procedure AddObject(var objArr : TObjectArray; ObjID : Integer);
    begin
      SetLength(objArr, Length(objArr) + 1);
      objArr[High(objArr)] := GetObject(ObjID);
    end;
    
    procedure FilterObjects();
    var
      tmpObjects : TObjectArray;
      i : Integer;
    begin
      if(not(Players[CurrentPlayer].Booleans[0]))then
        Exit;
    
      DebugThis('-[DEBUG]- Filtering Objects');
      for i := 0 to High(Objects) do
        if(InIntArray(Players[CurrentPlayer].Integers, Objects[i].ObjID))then
          AddObject(tmpObjects, Objects[i].ObjID);
    
      SetLength(Objects, High(tmpObjects));
      Objects := tmpObjects;
      DebugThis('-[DEBUG]- Objects are filtered');
    end;
    
    procedure SortObjects();
    var
      tmpObjects : TObjectArray;
      TIA : TIntegerArray;
      i : Integer;
    begin
      DebugThis('-[DEBUG]- Sorting Objects');
      SetLength(TIA, Length(Objects));
    
      for i := 0 to High(Objects) do
        TIA[i] := Objects[i].IXP;
    
      Quicksort(TIA);
      InvertTIA(TIA);
    
      SetLength(tmpObjects, Length(Objects));
    
      for i := 0 to High(TIA) do
        tmpObjects[i] := GetObjectByXP(TIA[i]);
    
      Objects := tmpObjects;
      DebugThis('-[DEBUG]- Objects are sorted');
    end;
    
    procedure UpdateObjects();
    var
      tmpObjects : TObjectArray;
      i : Integer;
    begin
      if(not(AutoUpdate))then Exit;
    
      DebugThis('-[DEBUG]- Updating Objects');
    
      SetLength(tmpObjects, Length(Objects));
    
      for i := 0 to High(Objects) do
        tmpObjects[i] := GetObjectData(Objects[i].ObjID);
    
      DebugThis('-[DEBUG]- Objects are updated');
    end;
    
    procedure SetFalse(reason : string; logOutPlayer : Boolean);
    begin
      WriteLn('** SetFalse ** Reason := ' + reason);
      Players[CurrentPlayer].Active := False;
    
      if(logOutPlayer)then
        Logout;
    
      if(HowManyPlayers = 1)then
        TerminateScript();
    end;
    
    function CheckForRandoms() : Boolean;
    var
      i : Integer;
    begin
      DebugThis('-[DEBUG]- Checking for randoms');
    
      if(Players[CurrentPlayer].Booleans[1])then
      begin
        for i := 0 to High(SRL_Randoms) do
        begin
          if (SRL_Randoms[i].detect <> nil) and (SRL_Randoms[i].detect()) then
          begin
            Result := True;
            Break;
          end;
        end;
    
        if(Result)then
          SetFalse('Random Detected', True);
      end else
        FindNormalRandoms();
    end;
    
    function K_FindObj(var x, y, vObj : Integer) : Boolean;
    var
      fObj : TObj;
      a, h : Integer;
      TPA  : TPointArray;
      ATPA : T2DPointArray;
      tmpCTS : Integer;
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Starting Object search');
    
      fObj := GetObject(vObj);
    
      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      with fObj do
      begin
        DebugThis('-[DEBUG]- Searching for Object - ' + Name);
        SetColorSpeed2Modifiers(Hue, Sat);
    
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, Color, TB.X1, TB.Y1, TB.X2, TB.Y2, Tol);
        ATPA := TPAtoATPAEx(TPA, 20, 20);
        SortATPASize(ATPA,True);
    
        H := High(ATPA);
    
        for a := 0 to H do
        begin
          MiddleTPAEx(atpa[a], X, Y);
    
          DebugThis('-[DEBUG]- Length(ATPA[a]) = ' + ToStr(Length(ATPA[a])));
    
          if((Length(atpa[a]) < Min) or (Length(atpa[a]) > Max))then
            Continue;
    
          MMouse(X, Y, 5, 5);
    
          DebugThis('-[DEBUG]- GetUpText = ' + GetUpText);
    
          if(WaitUpTextMulti(UpText, RandomRange(350, 450)))then
          begin
            ClickMouse2(True);
    
            if(DidRedClick)then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
    
              if(Misclick)then
              begin
                Wait(RandomRange(600, 700));
                If IsMoving Then
                Begin
                  Mouse(249, 177, 2, 2, True);
                  Wait(RandomRange(300, 400));
                  Repeat
                    Wait(100);
                  Until (Not(Ismoving));
                  FirstIsland := True;
                  Exit;
                End;
              end;
              Result := True;
              Exit;
            end else
            begin
              Higher := True;
    
              if(Misclick)then
              begin
                Mouse(249, 177, 2, 2, True);
                Wait(RandomRange(300, 400));
                Repeat
                  Wait(100);
                Until (Not(Ismoving));
                FirstIsland := True;
                Exit;
              end;
            end;
          end else
          if(IsUptextMultiCustom(['esswraith', 'wraith', 'raith', 'Floating ess', 'Float', 'ing ess', 'Floating essence', 'lan vex', 'ead Clan', 'an vexillum', 'Read Clan vexillum']))then
          begin
            Clickmouse2(False);
    
            if(WaitOptionMulti(UpText, 800))then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
    
              Result := True;
              Exit;
            end;
          end;
        end;
      end;
    
      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    end;
    
    Function FindObjectPlatform : Boolean;
    var
      CTS, I, L : Integer;
      TPA : TPointArray;
      ATPA : T2DPointArray;
    begin
      Result := False;
    
      If (TimeFromMark(TI) < 60000) And (Not FirstIsland) Then
      Begin
        Result:=True;
        Exit;
      End;
    
      DebugThis('-[DEBUG]- Searching for Object platform');
    
      If SafeNub Then
      Begin
        TB := IntToBox(MSX1, MSY1, MSX2, MSY2);
        Result := True;
        Exit;
      End;
    
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      SetColorSpeed2Modifiers(IslandHue, IslandSat);
      FindColorsTolerance(TPA, IslandColor, MSX1, MSY1, MSX2, MSY2, IslandTol);
      ATPA := FloodFillTPA(TPA);
      SortATPASize(ATPA, True);
      ColorToleranceSpeed(CTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    
      If Debug Then
        DebugATPABounds(ATPA);
    
      DebugThis('-[DEBUG]- ATPA = ' + ToStr(ATPA));
    
      If Length(TPA) < 1 then
        Exit;
    
      L := High(ATPA);
      For I := 0 To L do
      Begin
        TB:= GetTPABounds(ATPA[I]);
        If Not (PointInBox(Point(MSCX, MSCY), TB)) then
        begin
          if I = L then
          begin
            DebugThis('-[DEBUG]- at high, point is not inside');
            exit;
          end else
            continue;
        end else break;
      end;
    
      DebugThis('-[DEBUG]- TB = ' + ToStr(TB));
      Result := True;
    
      MarkTime(TI);
      FirstIsland:=False;
    end;
    
    function FindWizard: Boolean;
    var
      a, h : Integer;
      TPA  : TPointArray;
      ATPA : T2DPointArray;
      tmpCTS : Integer;
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Searching for Wizard');
    
      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      SetColorSpeed2Modifiers(0.05, 1.65);
    
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 5357278, MSX1, MSY1, MSX2, MSY2, 18);
      ATPA := TPAtoATPAEx(TPA, 20, 20);
      SortATPASize(ATPA,True);
    
      H := High(ATPA);
      DebugThis('Wizard');
    
      for a := 0 to H do
      begin
        MiddleTPAEx(atpa[a], X, Y);
    
        DebugThis(tostr(Length(atpa[a])));
    
        if((Length(atpa[a]) < 100) Or (Length(atpa[a]) > 2000))then
          Continue;
    
        MMouse(X, Y, 5, 5);
    
        if(WaitUpTextMulti(['Wizard', 'zard', 'izard'], 750))then
        begin
          repeat
            InvMouse(RandomRange(2, 8), 3);
          until(WaitUpTextMulti(['rune', 'une'], RandomRange(1800, 2000)));
    
          ClickMouse2(False);
    
          if(not(WaitOptionMulti(['Use', 'Use ', 'se '],RandomRange(800, 900))))then
            Exit;
    
          MMouse(X, Y, 5, 5);
    
          if(WaitUpTextMulti(['Wizard', 'zard', 'izard'], 750))then
          begin
            ClickMouse2(True);
    
            if(DidRedClick)then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
    
              Result := True;
              MarkTime(TW);
              Exit;
            end;
          end;
        end;
      end;
    
      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    end;
    
    function FindMayScreen() : Boolean;
    var
      TPA  : TPointArray;
      tmpCTS : Integer;
    begin
      tmpCTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
    
      SetColorSpeed2Modifiers(0.44, 1.62);
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1013212, MSX1, MSY1, MSX2, MSY2, 8);
    
      Result := (Length(TPA) > 1500);
    
      if(Result)then
        MouseBox(494, 16, 503, 24, mouse_Left);
    
      ColorToleranceSpeed(tmpCTS);
      SetColorSpeed2Modifiers(0.2, 0.2);
    end;
    
    procedure AntiBan();
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Performing Antiban');
    
      case (Random(1000)) of
        0 : RandomRClick;
        1 : HoverSkill('random', False);
        2 : ExamineInv;
        3 : MouseSpeed := (RandomRange(10, 12));
        4 : begin HoverSkill('Runecrafting', False); Wait(RandomRange(2000, 4000)); end;
        5 : begin PickUpMouse; SleepAndMoveMouse(1500 + Random(500)); end;
        6 : begin GameTab(tab_Stats); Wait(1500 + Random(500)); GameTab(tab_Inv); end;
        7 .. 100 : Wait(RandomRange(750, 2000));
        101: begin BoredHuman; SetAngle(SRL_ANGLE_HIGH); end;
      end;
    end;
    
    function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor : Integer) : Boolean;
    var
      h, m, s : Integer;
    begin
      if not LoggedIn then Exit;
    
      if (HowManyPlayers = 1) then
      begin
        if (GetTimeRunning < ((w) + (y) + BreakRounds)) then Exit
        else
          if (GetTimeRunning > ((w) + (y) + BreakRounds)) then
          begin
            RealBTime := ((x + z) / 60000);
            Logout;
            MarkTime(CurrentBTime);
            repeat
              Wait(21000);
              ConvertTime((x + z) - TimeFromMark(CurrentBTime), h, m, s);
              ClearDebug;
            until(TimeFromMark(CurrentBTime) > (x + z));
            if SwitchWorlds then
              if LoginPlayerToLob then
                ChangeWorld(RandomWorld(True, False))
            else
              LoginPlayer;
            Wait(4000);
            Result := LoggedIn;
            ClickNorth(SRL_ANGLE_HIGH);
            IncEx(BreakRounds, (w) + (x));
            w := (BreakIn * 60000);
            x := (BreakFor * 60000);
            y := RandomRange(-Bir * 60000, Bir * 60000);
            z := RandomRange(-Bfr * 60000, Bfr * 60000);
          end;
      end;
    end;
    
    procedure Proggy;
    begin
      if(not(Debug))then
        ClearDebug();
      Stats_Commit;
      XP := (GetXPBarTotal - StartXP);
      XPH:= Round(((XP) / (GetTimeRunning / 1000)) * 3600);
      Writeln('======== Kyle''s Esswraith Extractor =========');
      WriteLn('Version ' + Version);
      Writeln('Time Running: ' + TimeRunning);
      Writeln('Experience Earned: ' + IntToStr(XP));
      Writeln('Experience/Hour: ' + IntToStr(XPH));
      WriteLn('Runecrafting Level: ' + IntToStr(RCLvl));
      WriteLn('Floor: ' + IntToStr(Floors));
      Writeln('=============================================');
      MarkTime(TP);
    end;
    
    Procedure GetMoreEssence;
    var
      a, h, t: Integer;
      TPA  : TPointArray;
      ATPA : T2DPointArray;
      tmpCTS : Integer;
    begin
      if(not(LoggedIn))then Exit;
      CheckForRandoms();
      DebugThis('-[DEBUG]- Getting more essence');
      MarkTime(T);
    
      repeat
        if(not(LoggedIn))then Exit;
    
        if(TimeFromMark(t) > 30000)then
          SetFalse('Failed to get more essence.', True);
    
        tmpCTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);
    
        SetColorSpeed2Modifiers(0.60, 0.10);
    
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4408645, MSX1, MSY1, MSX2, MSY2, 14);
        ATPA := TPAtoATPAEx(TPA, 20, 20);
        SortATPASize(ATPA,True);
    
        H := High(ATPA);
        DebugThis('Rocks');
    
        for a := 0 to H do
        begin
          MiddleTPAEx(atpa[a], X, Y);
    
          DebugThis('-[DEBUG]- Length(ATPA[a]) = ' + ToStr(Length(ATPA[a])));
    
          if((Length(atpa[a]) < 50) Or (Length(atpa[a]) > 2000))then
            Continue;
    
          MMouse(X, Y, 5, 5);
    
          if(WaitUpTextMulti(['Collect', 'llect', 'Float'], 750))then
          begin
            ClickMouse2(True);
    
            if(DidRedClick)then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
              Exit;
            end;
          end else
          if(not(IsUptextMultiCustom(['Walk', 'lk here', 'here'])))then
          begin
            Clickmouse2(False);
    
            if(WaitOptionMulti(['Collect', 'llect', 'Float'], 800))then
            begin
              ColorToleranceSpeed(tmpCTS);
              SetColorSpeed2Modifiers(0.2, 0.2);
              Exit;
            end;
          end;
        end;
        ColorToleranceSpeed(tmpCTS);
        SetColorSpeed2Modifiers(0.2, 0.2);
      until FindDTM(EssenceDTM, X, Y, MIX1, MIY1, MIX2, MIY2);
    end;
    
    procedure ScriptSetup();
    var
      Floor1, Floor2, Floor3, X, Y: Integer;
    begin
      SetupObjects();
      UpdateObjects();
      Filterobjects;
      SortObjects();
    
      if(FindMayScreen())then
        Wait(RandomRange(500, 750));
    
      SetAngle(SRL_ANGLE_HIGH);
      StartXP := GetXPBarTotal;
      RCLvl := GetSkillLevel(SKILL_RUNECRAFTING);
      Gametab(tab_Inv);
    
      Higher := False;
      SafeNub:= False;
      FirstIsland := True;
    
      Floor1 := DTMFromString('mbQAAAHicY2VgYLBjZGBwBWIjILYEYi8g/ggUfw7Er4D4LxD/AOKepcwMZemKDJOrnRkMpLkZ/B11GESA4uiYEQsGAwD8Rgr4');
      Floor2 := DTMFromString('mbQAAAHicY2VgYMhlZGAoBeIsIE4G4nIgFgSK8wExFxBLQvHWhUcYdrWdYbjQ/pTBwy+AQZRPkEEEKI6OGbFgMAAAtVQKcQ==');
      Floor3 := DTMFromString('mbQAAAHicY2VgYFACYlkg1gZiSShdBMTNQFwFxMVAXALEpz58ZehasASMt508w3Dx7n0GEaA4OmbEgsEAAHWJDpY=');
    
      If FindDTM(Floor1, X, Y, 9, 99, 52, 146) Then
        Floors := 1
      Else If FindDTM(Floor2, X, Y, 9, 99, 52, 146) Then
        Floors := 2
      Else If FindDTM(Floor3, X, Y, 9, 99, 52, 146) Then
        Floors := 3
      Else
        Floors := 0;
    
      If ClickAnywhere Then
        Floors := 0;
    
      FreeDTM(Floor1);
      FreeDTM(Floor2);
      FreeDTM(Floor3);
      Case Floors Of
        0 : SafeNub := True;
        1 : Begin IslandHue := 0.19; IslandSat := 0.71; IslandColor := 3112315; IslandTol := 12; End;
        2 : Begin IslandHue := 3.58; IslandSat := 0.43; IslandColor := 8224087; IslandTol := 14; End;
        3 : Begin IslandHue := 0.12; IslandSat := 0.73; IslandColor := 9145506; IslandTol := 12; End;
      End;
    end;
    
    procedure MainLoop();
    var
      fObj : TObj;
      x, y, i, InitialXP, UpdateXP, t: Integer;
    Label
      Waiting;
    begin
      repeat
        DebugThis('-[DEBUG]- In first repeat loop.');
        repeat
          DebugThis('-[DEBUG]- In second repeat loop.');
          if not loggedin then loginplayer;
          CheckForRandoms();
    
          if(TakeBreaks)then BreakHandler(BreakIn, BreakFor, Bir, Bfr);
    
          if(TimeFromMark(TW) > 600000)then
            FindWizard;
    
          if not WaitFindDTMEX(EssenceDTM, EX, EY, MIX1, MIY1, MIX2, MIY2, 100, 2000) then
            GetMoreEssence;
    
          if(TimeFromMark(RCt) > (3600000 + RandomRange(-1800000, 1800000)))then
          begin
            RCLvl := GetSkillLevel(SKILL_RUNECRAFTING);
            MarkTime(RCt);
          end;
    
          for i := 0 to High(Objects) do
          begin
            fObj := GetObject(i);
    
            DebugThis('-[DEBUG]- fObj.Name = ' + fObj.Name + '.');
            DebugThis('-[DEBUG]- RCLvl = ' + IntToStr(RCLvl) + '.');
            DebugThis('-[DEBUG]- fObj.LvlReq = ' + IntToStr(fObj.LvlReq) + '.');
    
            if(RCLvl >= fObj.LvlReq)then
            begin
              DebugThis('-[DEBUG]- RCLvl > fObj.LvlReq');
              if(FindObjectPlatform)then
                if(K_FindObj(x, y, i))then
                begin
                  DebugThis('-[DEBUG]- Found platform and Object');
                  Waiting:
    
                  if(TimeFromMark(TP) > 60000)then
                    Proggy;
    
                  Wait(RandomRange(500, 750));
                  InitialXP := GetXPBarTotal;
                  CurrentXP := fObj.IXP;
    
                  DebugThis('-[DEBUG]- InitialXP = ' + IntToStr(InitialXP));
                  DebugThis('-[DEBUG]- CurrentXP = ' + IntToStr(CurrentXP));
    
                  MarkTime(T);
                  repeat
                    DebugThis('-[DEBUG]- In third repeat loop');
                    Wait(1000);
                    CheckForRandoms();
    
                    if(TimeFromMark(T) > RandomRange(7000, 7200))then
                      Break;
    
                    AntiBan;
                    DebugThis('-[DEBUG]- Searching for better XP Objects');
                    for i := 0 to High(Objects) do
                    begin
                      fObj := GetObject(i);
                      CheckForRandoms();
    
                      DebugThis('-[DEBUG]- fObj.Name = ' + fObj.Name + '.');
                      DebugThis('-[DEBUG]- fObj.LvlReq = ' + IntToStr(fObj.LvlReq) + '.');
                      DebugThis('-[DEBUG]- fObj.IXP = ' + IntToStr(fObj.IXP) + '.');
    
                      if(RCLvl >= fObj.LvlReq) And (CurrentXP < fObj.IXP)then
                      begin
                        if(FindObjectPlatform)then
                          if(K_FindObj(x, y, i))then
                          begin
                            DebugThis('-[DEBUG]- (RCLvl >= fObj.LvlReq) AND (CurrentXP < fObj.IXP)');
                            DebugThis('-[DEBUG]- Found higher XP Object, breaking for loop');
                            Higher := True;
                            Break;
                          end;
                      end;
                    end;
    
                    if(Higher)then
                      Break;
    
                    UpdateXP := GetXPBarTotal;
                    CheckForRandoms();
    
                    DebugThis('-[DEBUG]- UpdateXP = ' + IntToStr(UpdateXP));
    
                    if(UpdateXP > InitialXP)then
                    begin
                      DebugThis('-[DEBUG]- UpdateXP > InitialXP');
                      InitialXP := GetXPBarTotal;
                      T := 0;
                      MarkTime(T);
                      CheckForRandoms();
                    end;
                  until(False);
    
                  if(Higher)then
                  begin
                    DebugThis('-[DEBUG]- Higher = True');
                    Higher := False;
                    Goto Waiting;
                  end;
                end;
            end;
          end;
    
          CheckForRandoms();
        until(not(LoggedIn));
    
        if(Players[CurrentPlayer].Active)then
          SetFalse('Not Logged in', False);
    
        NextPlayer(Players[CurrentPlayer].Active);
        ScriptSetup();
        MainLoop();
      until(AllPlayersInactive);
    end;
    
    begin
    
      SetupSRL;
      SetupSRLStats(1036, SRLStats_Username, SRLStats_Password);
      ClearDebug();
    
      {* Initial Break Settings *}
      w := (BreakIn * 60000);
      x := (BreakFor * 60000);
      y := RandomRange(-Bir * 60000, Bir * 60000);
      z := RandomRange(-Bfr * 60000, Bfr * 60000);
    
      ActivateClient();
      DeclarePlayers();
      LoginPlayer();
    
      while(not(RSReady()))do
        Wait(9000);
    
      AddOnTerminate('Fr33DTM');
      SetDtm;
    
      MarkTime(TP);
      MarkTime(RCt);
    
      _SetRandoms();
      ScriptSetup();
    
      if(not(WaitFindDTMEX(EssenceDTM, EX, EY, MIX1, MIY1, MIX2, MIY2, 100, 2000)))then
        GetMoreEssence;
    
      MainLoop;
    end.
    I assume i need to set this as a global variable. Unsure what it would need to be set at.

    I apologize if this seems ridiculously easy to some but this is my first time looking at pascal for a long time.

    Thanks

  21. #2346
    Join Date
    Feb 2012
    Location
    UK
    Posts
    909
    Mentioned
    10 Post(s)
    Quoted
    191 Post(s)

    Default

    Progress Report:
    ======== Kyle's Esswraith Extractor =========
    Version 1.8
    Time Running: 3 Hours, 27 Minutes and 49 Seconds
    Experience Earned: 233835
    Experience/Hour: 64800
    Runecrafting Level: 91
    Floor: 3
    =============================================
    ** SetFalse ** Reason := Failed to get more essence.
    Successfully executed.

    Running better on a smaller island so NPC's are more crowded.
    Solar from RiD.

  22. #2347
    Join Date
    Jul 2012
    Posts
    17
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Should put me down for a 99 ;D

  23. #2348
    Join Date
    Aug 2012
    Posts
    4
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    [Hint] C:\Simba\Includes\SRL/SRL/core/antirandoms\randomtool.simba(215:3): Variable 'T' never used at line 214
    [Error] C:\Users\Careca\Desktop\KylesEsswraithExtractorV1. 8.simba(1318:3): Unknown identifier 'Smart_Server' at line 1317
    Compiling failed.

    any idea of what i can do to fix this?

  24. #2349
    Join Date
    Aug 2012
    Posts
    4
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    when i try to use it
    it says that i dont have an account at RSL and asks if i want to register it
    i press yess and put the informations, then it says ERROR and says that it's already registered
    any idea?

  25. #2350
    Join Date
    Mar 2012
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by rodrigomafia View Post
    [Hint] C:\Simba\Includes\SRL/SRL/core/antirandoms\randomtool.simba(215:3): Variable 'T' never used at line 214
    [Error] C:\Users\Careca\Desktop\KylesEsswraithExtractorV1. 8.simba(1318:3): Unknown identifier 'Smart_Server' at line 1317
    Compiling failed.

    any idea of what i can do to fix this?
    i keep having this problem too!!!

Page 94 of 99 FirstFirst ... 44849293949596 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •