Page 28 of 34 FirstFirst ... 182627282930 ... LastLast
Results 676 to 700 of 827

Thread: AeroLib Include

  1. #676
    Join Date
    May 2008
    Posts
    203
    Mentioned
    0 Post(s)
    Quoted
    11 Post(s)

    Default

    Hey Flight,

    I've tried getting the new version working (2.0) but the following will occur (using the test code) ... SMART runs, it hangs for a while, then it gets the error.

    Do you know where this error message is being produced? I did a quick glance through some files but couldn't pinpoint where, so it's hard to trace what the problem is.

    Code:
    Compiled successfully in 1219 ms.
    [=================================]
    |        < Aero|Library >         |
    |        ----------------         |
    |          Version  : 2           |
    |          Revision : 0           |
    [=================================]
    [AL] Initiating AeroLib...
    [AL] AeroLib auto-update is disabled
    [AL] Loaded 2 MSObjects.
    Loading SMART: World 73
    [AL] Could not start up OSRS or RSReady was not detected!
    Successfully executed.
    EDIT - further information:

    +Simba r1100
    +Simba & extensions all up to date
    +SMART v8.5

    EDIT 2 - narrowed it down to line 218 of AeroLib.simba ... the function RSReady() never returns even after the SMART client has finished loading ... failing to detect it? I am running as an administrator. I cannot locate where RSReady() is declared at the moment but will keep digging!

    EDIT 3 -

    Today I decided to try a fresh install on another computer I have lying around, thinking the issue might be that I have two hard drives & this "test computer" only has one. Latest Java, Simba, all steps followed to update properly, downloaded & placed latest Plugins + AL 2.0 in place ... same results. Now thinking there's some sort of incompatibility with the latest AB and Simba? Again, unsure what library has the function RSReady() so I can't delve much further.

    I did also try rolling back to 1.6 but that also doesn't work:

    Code:
    Error: Plugin(AND_TPA32) has not been found
    Compiling failed.
    Assuming because that plugin has been removed either by the latest version of Simba/SRL or the Plugins for 2.0+.

    Also: running AL 2.0 without defining SMART results in this error in AL 2.0's Layer:

    Code:
    [AL] Initiating AeroLib...
    [AL] AeroLib auto-update is disabled
    [AL] Loaded 2 MSObjects.
    Error: Access violation at line 22
    Execution failed.
    The following bitmaps were not freed: [0, 1]
    All in all, things seem borked for me after trying to use it out of the box on multiple machines now. Any help is appreciated!
    Last edited by Queso; 07-30-2017 at 07:56 PM.

  2. #677
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Queso View Post
    All in all, things seem borked for me after trying to use it out of the box on multiple machines now. Any help is appreciated!
    If I may, have you tried using Simba 1.2-rc6 as recommended in a few of my recent posts? Download that (either full install or just the .exe and let me know what you come up with then and we'll go from there should you still have issues.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  3. #678
    Join Date
    May 2008
    Posts
    203
    Mentioned
    0 Post(s)
    Quoted
    11 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    If I may, have you tried using Simba 1.2-rc6 as recommended in a few of my recent posts? Download that (either full install or just the .exe and let me know what you come up with then and we'll go from there should you still have issues.
    Haha, didn't get time to update this cuz I had friends come over to do a mass watching of the newest Rick & Morty.

    Anywho, yes, I realized that was the case ... at one point I DID install 1.2-rc6 but thought it was broken cuz it was missing extensions ... a conversation with ppl on the ICQ chat corrected me though!

    UNFORTUNATELY, the current problem is that the latest Simba does not want to play with plugins at all. It just says it fails to include X.dll (doesn't matter which, it just fails). Ever run into this one?

    EDIT: My bad, installed the 64 bit version of Simba 1.2-rc6 .... needed 32 bit.

    However, RSReady STILL fails to find SMART.

    Without SMART, everything seems to work just fine.

    EDIT 2: Doesn't work without SMART either, both versions failing to identify the client? Hmm... Perhaps a java setup issue on my end. But I'm not sure what's wrong; everything should be configured properly.

    EDIT 3: The socket connection error threw me off for a long while ... got it fixed. Ironically, "fixed" screen wasn't selected in-game so it never found the color in the RSReady script. Whoops!
    Attached Images Attached Images
    Last edited by Queso; 08-01-2017 at 08:35 AM.

  4. #679
    Join Date
    Jul 2017
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Switching worlds freezes like this for about 20 seconds for some reason.

    Everything is updated to 8.5, newest Simba, all works fine except the world hops.

    Capture.PNG
    Last edited by Grendal; 08-01-2017 at 04:57 PM.

  5. #680
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Queso View Post
    EDIT 3: The socket connection error threw me off for a long while ... got it fixed. Ironically, "fixed" screen wasn't selected in-game so it never found the color in the RSReady script. Whoops!
    Happy to hear that's sorted out. Yeah AeroLib loads SMART with the default fixed client dimension settings, so anything other than that mode would break nearly all of this version of AeroLib. AeroLib HD would still perform no matter the client size but that's no longer a project of mine; it's also incomplete.

    Quote Originally Posted by Grendal View Post
    Switching worlds freezes like this for about 20 seconds for some reason.

    Everything is updated to 8.5, newest Simba, all works fine except the world hops.

    Capture.PNG
    I replied to your PM. Any freezing in-game should be coming as a result of server-side issues. SMART surely can't be blamed for that. I'd be willing to bet you'd yield the same result while playing via the official client, but on a side note I wouldn't recommend using it at all. I just recently had 2 accounts running the same script at the same time, one normal account running on SMART and one ironman account running on the official client, using the actual mouse & keyboard. The ironman account was banned and the account running SMART is untouched. I'm starting to wonder myself if the official client comes with extra security...

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  6. #681
    Join Date
    May 2008
    Posts
    203
    Mentioned
    0 Post(s)
    Quoted
    11 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    I just recently had 2 accounts running the same script at the same time, one normal account running on SMART and one ironman account running on the official client, using the actual mouse & keyboard. The ironman account was banned and the account running SMART is untouched. I'm starting to wonder myself if the official client comes with extra security...
    That's interesting cuz I was thinking to myself whether I should use SMART at all as I delve back into script development (which is more bannable). Initial thought is that SMART would be instantly detected & flagged.

    Were both accounts fresh (new)? Did you bot on them previously?

  7. #682
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Queso View Post
    That's interesting cuz I was thinking to myself whether I should use SMART at all as I delve back into script development (which is more bannable). Initial thought is that SMART would be instantly detected & flagged.

    Were both accounts fresh (new)? Did you bot on them previously?
    Both new, the ironman account was a couple weeks older and had a lot higher skill total and quest points. The difference being the ironman account had a 2-day ban roughly a week ago because I had a minor flaw in developing a script that caused the account to do a nonsensical action, which hours later led to the minor ban. So the ironman probably had more system closely monitoring it, ones that completely exclude 3rd-party clients because the script I ran on both accounts made no mistakes. And as I said, one was banned, one is still running, and via SMART I may add. So the detection that banned the ironman account? Either fake input (mouse/keyboard) or running programs perhaps.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  8. #683
    Join Date
    Jul 2017
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Quote Originally Posted by Flight View Post

    I replied to your PM. Any freezing in-game should be coming as a result of server-side issues. SMART surely can't be blamed for that. I'd be willing to bet you'd yield the same result while playing via the official client, but on a side note I wouldn't recommend using it at all. I just recently had 2 accounts running the same script at the same time, one normal account running on SMART and one ironman account running on the official client, using the actual mouse & keyboard. The ironman account was banned and the account running SMART is untouched. I'm starting to wonder myself if the official client comes with extra security...
    Yeah I got it, thanks for the update.
    Last edited by Grendal; 08-01-2017 at 09:09 PM.

  9. #684
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Quote Originally Posted by Queso View Post
    Haha, didn't get time to update this cuz I had friends come over to do a mass watching of the newest Rick & Morty.

    Anywho, yes, I realized that was the case ... at one point I DID install 1.2-rc6 but thought it was broken cuz it was missing extensions ... a conversation with ppl on the ICQ chat corrected me though!

    UNFORTUNATELY, the current problem is that the latest Simba does not want to play with plugins at all. It just says it fails to include X.dll (doesn't matter which, it just fails). Ever run into this one?

    EDIT: My bad, installed the 64 bit version of Simba 1.2-rc6 .... needed 32 bit.

    However, RSReady STILL fails to find SMART.

    Without SMART, everything seems to work just fine.

    EDIT 2: Doesn't work without SMART either, both versions failing to identify the client? Hmm... Perhaps a java setup issue on my end. But I'm not sure what's wrong; everything should be configured properly.

    EDIT 3: The socket connection error threw me off for a long while ... got it fixed. Ironically, "fixed" screen wasn't selected in-game so it never found the color in the RSReady script. Whoops!
    Glad you got it sorted dude, sorry I couldn't help more, I fell asleep
    Yer a wizard, 'oopi

  10. #685
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    If I may, have you tried using Simba 1.2-rc6 as recommended in a few of my recent posts? Download that (either full install or just the .exe and let me know what you come up with then and we'll go from there should you still have issues.
    Can confirm that under WINE, the .exe works just fine
    Yer a wizard, 'oopi

  11. #686
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    Hi all,

    I was a bit bored today so I thought I would create a few adjustments to some of the includes in Aerolib. Mainly just a few extra functions and some overload functions.

    Let me know if this sort of stuff is useful or not.

    @Flight

    Boxes.Simba - Simba\Includes\AeroLib\core\engine

    BoxMidPoint - Gets the mid point of a Tbox and returns it as a TPoint. Figured this would be handy with mouse functions like HumanMMouse and MissMouse, which require a tpoint, rather than a box.
    Simba Code:
    Function BoxMidPoint(Box: TBox): TPoint;
    begin
      Result.x := (Round(((Box.x2 - Box.x1) / 2) + Box.x1));
      Result.y := (Round(((Box.y2 - Box.y1) / 2) + Box.y1));
    end;

    InputHandler.simba - Simba\Includes\AeroLib\core\engine

    HumanMMouse & Missmouse Overload - Adds the additional functionality of left or right click to humanMMouse & Missmouse functions. I see this being used for quick movement + clicking of thing's that don't require Up text verification like TItems.
    Simba Code:
    Procedure humanMMouse(Pnt: TPoint; ranX, ranY, Button: Integer); Overload;
    var
      randSpeed: extended;
      X,Y,MS: integer;
    begin
      MS        := MouseSpeed;
      randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
      getMousePos(X, Y);
      humanWindMouse(X, Y, RandomRange(Pnt.X-ranX, Pnt.X+ranX), RandomRange(Pnt.Y-ranY,Pnt.Y+ranY), 7, 5, 10.0 * randSpeed, []);
      if ((button = MOUSE_MOVE) or (button = -1)) then Exit;
      getMousePos(x, y);
      holdMouse(x, y, button);

      wait(60+random(100));

      getMousePos(x, y);
      releaseMouse(x, y, button);
      MouseSpeed := MS;
    end;

    Procedure missMouse(Pnt: TPoint; ranX, ranY, Button: Integer); Overload;
    var
      randSpeed: extended;
      X,Y,X2,Y2,A,Dist,MP: integer;
    begin
      A := MouseSpeed;
      getMousePos(X, Y);
      Dist := Distance(X, Y, Pnt.X, Pnt.Y);
      MP := Round(Dist/150);
      if MP < 0 then
        MP := 1;

      randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
      X2 := RandomRange(Pnt.X-(A*MP), Pnt.X+(A*MP));
      Y2 := RandomRange(Pnt.Y-(A*MP), Pnt.Y+(A*MP));
      shiftWindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
      getMousePos(X, Y);
      MouseSpeed := round(A*0.7);
      if MouseSpeed < 7 then
        MouseSpeed := 7;
      brakeMMouse(Pnt, ranX, ranY, True);
      if ((button = MOUSE_MOVE) or (button = -1)) then Exit;
      getMousePos(x, y);
      holdMouse(x, y, button);

      wait(60+random(100));

      getMousePos(x, y);
      releaseMouse(x, y, button);
      MouseSpeed := A;
    end;

    VariedMMouse & VariedMMouse Overload - a mouse function that mixes MissMouse and HumanMMouse into a single function. You nominate the MissMouse percentage (out of 100) and it will use a case to pick a random mouse movement based on that frequency. The Overload function adds the left and right click functionalities.
    This is what a lot of people use in their scripts in a custom mouse function, so I figured it would have a multitude of use cases.
    Simba Code:
    {*******************************************************************************
    procedure VariedMMouse(Pnt: Tpoint; MissMousePC, ranX, ranY: Integer);
    By: Dan the man
    Description: Uses a combination of HumanMMouse and MissMouse functions at random.
                 The function is determined by a nominated percentage.
                 Pnt =          TPoint co-ordinates that the mouse will move to.
                 MissMousePC =  Percentage out of 100 that the MissMouse function will
                                trigger over the HumanMMouse function.
                 RanX, RanY  =  Randomness of the point that the mouse will move to.
    *******************************************************************************}


    procedure VariedMMouse(Pnt: Tpoint; MissMousePC, ranX, ranY: Integer);
    begin
      if (MissMousePC > 100) then MissMousePC := 99;
      if (MissMousePC < 1) then MissMousePC := 1;
      case random(100) of
        0..MissMousePC: MissMouse(Pnt, RanX, RanY);
        (MissMousePC+1)..100: HumanMMouse(Pnt, RanX, RanY);
      end;
    end;

    procedure VariedMMouse(Pnt: Tpoint; MissMousePC, ranX, ranY, Button: Integer); Overload;
    begin
      if (MissMousePC > 100) then MissMousePC := 99;
      if (MissMousePC < 1) then MissMousePC := 1;
      case random(100) of
        0..MissMousePC: MissMouse(Pnt, RanX, RanY, Button);
        (MissMousePC+1)..100: HumanMMouse(Pnt, RanX, RanY, Button);
      end;
    end;

    Time.Simba - Simba\Includes\AeroLib\core\engine

    Pause & Resume - Allows the user to pause the timer and then resume it, only counting the time that was accumulated prior to the pause or after the resume. Timer.start() resets the timer as usual.
    Simba Code:
    // Timer type & functions by Brandon
    type Timer = record
      Time, Paused, PausedFor: Int64;
    end;

    Procedure Timer.start();
    Begin
      Self.Time := getSystemTime();
      Self.Paused := 0;
      Self.PausedFor := 0;
    End;

    Procedure Timer.pause();
    begin
      Self.Paused := getSystemTime() - Self.Time;
    end;

    Procedure Timer.Resume();
    begin
      Self.PausedFor := (getSystemTime() - self.Time) - Self.Paused;
    end;

    Function Timer.timeElapsed(): Integer;
    Begin
      Result := (getSystemTime() - Self.Time) - Self.PausedFor;
    End;
    Last edited by Dan the man; 08-09-2017 at 11:21 PM.

  12. #687
    Join Date
    Mar 2016
    Location
    Isle de Muerta
    Posts
    40
    Mentioned
    0 Post(s)
    Quoted
    23 Post(s)

    Default

    aerolib downloaded zips are corrupted, you can't extract them, only plugins works

  13. #688
    Join Date
    Jul 2014
    Posts
    28
    Mentioned
    1 Post(s)
    Quoted
    10 Post(s)

    Default

    Quote Originally Posted by kyyskis View Post
    aerolib downloaded zips are corrupted, you can't extract them, only plugins works
    How so?

    Just extracted AeroLib_2.0.zip and plugins.zip. Both seem to extract fine.

  14. #689
    Join Date
    Sep 2014
    Location
    C:\Simba\
    Posts
    565
    Mentioned
    9 Post(s)
    Quoted
    71 Post(s)

    Default

    @Flight;

    I think you should lay out the difference between Aerolib 1.6 and 2.0 in black and white.
    My suggestion is to make an entire new thread for it and just barely mention it here in this thread, but I understand that that is a menial task noone is willing to do.

    There have been several people on irc now who have confused the new AeroLib with the old, thinking that it is compatible with Reflection and whatnot, and thus consequently trashing the irc channel with avoidable "halps!!".
    Feel free to ask me any questions, I will do my best to answer them!

    Previously known as YouPee.

  15. #690
    Join Date
    Oct 2006
    Posts
    6
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    What version does the github host? Seems like it hasnt been updated in a while?

  16. #691
    Join Date
    Jan 2013
    Posts
    86
    Mentioned
    0 Post(s)
    Quoted
    25 Post(s)

    Default

    Quote Originally Posted by Captin_55 View Post
    What version does the github host? Seems like it hasnt been updated in a while?
    Pretty sure it just hosts the latest version of 1.0.

    Just keep in mind from this version up it will not be auto-updated nor will it have any link to GitHub so you'll need to check back in this thread periodically for updates, or if something has broken.
    https://villavu.com/forum/showthread...24#post1388024

  17. #692
    Join Date
    Oct 2006
    Posts
    6
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Just a headsup if you are having trouble with the getHPBars() function its because the color is set incorrectly, at least for my client.

    Code:
    colG.create(65280, 1);
    Should be:

    Code:
    colG.create(50944, 1);

  18. #693
    Join Date
    May 2013
    Posts
    75
    Mentioned
    3 Post(s)
    Quoted
    48 Post(s)

    Default

    I have an issue where AeroLib seems to bounce off selected client dimensions. After I press Run, AeroLib loads, then the selected client (official OSRS loader) flashes for a half a second and the target resets. If I do not initialize AeroLib and run just a simple SRL script, everything works fine. The most interesting thing is that I have two machines running the same version of Windows (both fresh installs), same Simba version, same AeroLib etc, and only one machine has issues. Has anyone experienced anything like this before? I am kind of lost.

    Thank you!

    EDIT: Found the issue! It seems that on Windows 7 AeroLib only works with Aero themes. It is a bit of a bummer, because I've always been a fan of classic Windows 95 look, but it is what it is.

  19. #694
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Aerolib 2.0 Revision #1 released.

    From 2.0 to 2.0 Rev 1:
    • Fixed problem when closing the bank interface
    • Fixed login screen
    • Added box making tool (defineBox(out Box))
    • Added additional funcationality to Timers (Dan the man)

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  20. #695
    Join Date
    Sep 2017
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    please i need video for how to use

  21. #696
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    Not sure if this is useful to people or not, but I created a couple of functions. Self explanatory.
    Figured it may be useful when chatting to NPCs.

    Simba Code:
    {*
    ArrToStr
    ~~~~~~~~
    .. code-block:: pascal

        function ArrInStr(arrS: TStringArray; str: string): Boolean;

    Returns a String from a TStringArray. Seperates each part of the array with a space.
    ..
    Example: Writeln(ArrToStr(['Hello', 'World']));
    Returns: Hello World

    *}


    function ArrToStr(ArrS: TStringArray): String;
    begin
      if (length(Arrs) < 1) then exit;
      Result := Implode(' ', Arrs);
    end;

    {*
    StrToArr
    ~~~~~~~~
    .. code-block:: pascal

        function StrToArr(Str: String):TStringArray;

    Returns a TStringArray from a String. Breaks down the string using spaces.
    ..
    Example: Writeln(StrToArr('Hello World'));
    Returns: [Hello, World]

    *}


    function StrToArr(Str: String):TStringArray;
    begin
      if not (Str <> '') then exit;
      Result := Explode(' ', Str);
    end;

  22. #697
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    @Flight

    I have fixed magic.simba as some of the spells in Lunar had been changed around. Also added a function to check if spells are active. Currently only tested on Lunar.

    Simba Code:
    {
    =====
    Magic
    =====
    }


    // Magic routines by Dan the man


    function getSpellBox(Name: String): Tbox;
    begin
      case Capitalize(LowerCase(Name)) of
      //Normal Spell Book
        'Lumbridge Home Teleport':      Result := toBox(559, 220, 582, 243);
        'Wind Strike':                  Result := toBox(583, 220, 606, 243);
        'Confuse':                      Result := toBox(607, 220, 630, 243);
        'Enchant Crossbow Bolt':        Result := toBox(631, 220, 654, 243);
        'Water Strike':                 Result := toBox(655, 220, 678, 243);
        'Lvl-1 Enchant':                Result := toBox(679, 220, 702, 243);
        'Earth Strike':                 Result := toBox(703, 220, 726, 243);
        'Weaken':                       Result := toBox(559, 244, 582, 267);
        'Fire Strike':                  Result := toBox(583, 244, 606, 267);
        'Bones to Bananas':             Result := toBox(607, 244, 630, 267);
        'Wind Bolt':                    Result := toBox(631, 244, 654, 267);
        'Curse':                        Result := toBox(655, 244, 678, 267);
        'Bind':                         Result := toBox(679, 244, 702, 267);
        'Low Level Alchemy':            Result := toBox(703, 244, 726, 267);
        'Water Bolt':                   Result := toBox(559, 268, 582, 291);
        'Varrock Teleport':             Result := toBox(583, 268, 606, 291);
        'Lvl-2 Enchant':                Result := toBox(607, 268, 630, 291);
        'Earth Bolt':                   Result := toBox(631, 268, 654, 291);
        'Lumbridge Teleport':           Result := toBox(655, 268, 678, 291);
        'Telekenetic Grab':             Result := toBox(679, 268, 702, 291);
        'Fire Bolt':                    Result := toBox(703, 268, 726, 291);
        'Falador Teleport':             Result := toBox(559, 292, 582, 315);
        'Crumble Undead':               Result := toBox(583, 292, 606, 315);
        'Teleport to House':            Result := toBox(607, 292, 630, 315);
        'Wind Blast':                   Result := toBox(631, 292, 654, 315);
        'Superhead Item':               Result := toBox(655, 292, 678, 315);
        'Camelot Teleport':             Result := toBox(679, 292, 702, 315);
        'Water Blast':                  Result := toBox(703, 292, 726, 315);
        'Lvl-3 Enchant':                Result := toBox(559, 316, 582, 339);
        'Iban Blast':                   Result := toBox(583, 316, 606, 339);
        'Snare':                        Result := toBox(607, 316, 630, 339);
        'Magic Dart':                   Result := toBox(631, 316, 654, 339);
        'Ardougne Teleport':            Result := toBox(655, 316, 678, 339);
        'Earth Blast':                  Result := toBox(679, 316, 702, 339);
        'High Level Alchemy':           Result := toBox(703, 316, 726, 339);
        'Charge Water Orb':             Result := toBox(559, 340, 582, 363);
        'Lvl-4 Enchant':                Result := toBox(583, 340, 606, 363);
        'Watchtower Teleport':          Result := toBox(607, 340, 630, 363);
        'Fire Blast':                   Result := toBox(631, 340, 654, 363);
        'Charge Earth Orb':             Result := toBox(655, 340, 678, 363);
        'Bones to Peaches':             Result := toBox(679, 340, 702, 363);
        'Saradomin Strike':             Result := toBox(703, 340, 726, 363);
        'Claws of Guthix':              Result := toBox(559, 364, 582, 387);
        'Flames of Zamorak':            Result := toBox(583, 364, 606, 387);
        'Trollheim Teleport':           Result := toBox(607, 364, 630, 387);
        'Wind Wave':                    Result := toBox(631, 364, 654, 387);
        'Charge Fire Orb':              Result := toBox(655, 364, 678, 387);
        'Teleport to Ape Atoll':        Result := toBox(679, 364, 702, 387);
        'Water Wave':                   Result := toBox(703, 364, 726, 387);
        'Charge Air Orb':               Result := toBox(559, 388, 582, 411);
        'Vulnerability':                Result := toBox(583, 388, 606, 411);
        'Lvl-5 Enchant':                Result := toBox(607, 388, 630, 411);
        'Teleport to Kourend':          Result := toBox(631, 388, 654, 411);
        'Earth Wave':                   Result := toBox(655, 388, 678, 411);
        'Enfeeble':                     Result := toBox(679, 388, 702, 411);
        'Teleother Lumbridge':          Result := toBox(703, 388, 726, 411);
        'Fire Wave':                    Result := toBox(559, 412, 582, 435);
        'Entangle':                     Result := toBox(583, 412, 606, 435);
        'Stun':                         Result := toBox(607, 412, 630, 435);
        'Charge':                       Result := toBox(631, 412, 654, 435);
        'Teleother Falador':            Result := toBox(655, 412, 678, 435);
        'Tele Block':                   Result := toBox(679, 412, 702, 435);
        'Teleport to Bounty Target':    Result := toBox(703, 412, 726, 435);
        'Lvl-6 Enchant':                Result := toBox(559, 436, 582, 459);
        'Teleother Camelot':            Result := toBox(583, 436, 606, 459);
        'Lvl-7 Enchant':                Result := toBox(607, 436, 630, 459);
      //Lunar SpellBook
        'Lunar Home Teleport':          Result := toBox(555, 213, 578, 236);
        'Bake Pie':                     Result := toBox(585, 213, 608, 236); //Col.create(4241631, 16, 0.26, 1.85);
        'Geomancy':                     Result := toBox(615, 213, 638, 236); //Col.create(1675552, 19, 0.41, 1.57);
        'Cure Plant':                   Result := toBox(645, 213, 668, 236); //Col.create(1675552, 19, 0.41, 1.57);
        'Monster Examine':              Result := toBox(675, 213, 698, 236); //Col.create(4241631, 16, 0.26, 1.85);
        'NPC Contact':                  Result := toBox(705, 213, 728, 236); //Col.create(11986111, 13, 2.32, 3.48);
        'Cure Other':                   Result := toBox(555, 242, 578, 265); //Col.create(1675552, 19, 0.41, 1.57);
        'Humidify':                     Result := toBox(585, 242, 608, 265); //Col.create(11109949, 17, 0.10, 1.40);
        'Moonclan Teleport':            Result := toBox(615, 242, 638, 265); //Col.create(1675552, 19, 0.41, 1.57);
        'Tele Group Moonclan':          Result := toBox(645, 242, 668, 265); //Col.create(11986111, 13, 2.32, 3.48);
        'Cure Me':                      Result := toBox(675, 242, 698, 265); //Col.create(1675552, 19, 0.41, 1.57);
        'Ourania Teleport':             Result := toBox(705, 242, 728, 265); //Col.create(4241631, 16, 0.26, 1.85);
        'Hunter Kit':                   Result := toBox(555, 271, 578, 294); //Col.create(4473661, 5, 8.42, 0.70);
        'Waterbirth Teleport':          Result := toBox(585, 271, 608, 294); //Col.create(11986111, 13, 2.32, 3.48);
        'Tele Group Waterbirth':        Result := toBox(615, 271, 638, 294); //Col.create(11986111, 13, 2.32, 3.48);
        'Cure Group':                   Result := toBox(645, 271, 668, 294); //Col.create(1675552, 19, 0.41, 1.57);
        'Stat Spy':                     Result := toBox(675, 271, 698, 294); //Col.create(11986111, 13, 2.32, 3.48);
        'Barbarian Teleport':           Result := toBox(705, 271, 728, 294); //Col.create(1675552, 19, 0.41, 1.57);
        'Tele Group Barbarian':         Result := toBox(555, 300, 578, 323); //Col.create(11986111, 13, 2.32, 3.48);
        'Spin Flax':                    Result := toBox(585, 300, 608, 323); //Col.create(4241631, 16, 0.26, 1.85);
        'Superglass Make':              Result := toBox(615, 300, 638, 323); //Col.create(11986111, 13, 2.32, 3.48);
        'Tan Leather':                  Result := toBox(645, 300, 668, 323); //Col.create(6852530, 12, 0.11, 1.05);
        'Khazard Teleport':             Result := toBox(675, 300, 698, 323); //Col.create(1675552, 19, 0.41, 1.57);
        'Tele Group Khazard':           Result := toBox(705, 300, 728, 323); //Col.create(4241631, 16, 0.26, 1.85);
        'Dream':                        Result := toBox(555, 329, 578, 352); //Col.create(11986111, 13, 2.32, 3.48);
        'String Jewellery':             Result := toBox(585, 329, 608, 352); //Col.create(4241631, 16, 0.26, 1.85);
        'Stat Restore Pot Share':       Result := toBox(615, 329, 638, 352); //Col.create(11986111, 13, 2.32, 3.48);
        'Magic Imbue':                  Result := toBox(645, 329, 668, 352); //Col.create(11986111, 13, 2.32, 3.48);
        'Fertile Soil':                 Result := toBox(675, 329, 698, 352); //Col.create(1675552, 19, 0.41, 1.57);
        'Boost Potion Share':           Result := toBox(705, 329, 728, 352); //Col.create(11986111, 13, 2.32, 3.48);
        'Fishing Guild Teleport':       Result := toBox(555, 358, 578, 381); //Col.create(11986111, 13, 2.32, 3.48);
        'Teleport to Bounty Target':    Result := toBox(585, 358, 608, 381);
        'Tele Group Fishing Guild':     Result := toBox(615, 358, 638, 381); //Col.create(11986111, 13, 2.32, 3.48);
        'Plank Make':                   Result := toBox(645, 358, 668, 381); //Col.create(4241631, 16, 0.26, 1.85);
        'Catherby Teleport':            Result := toBox(675, 358, 698, 381); //Col.create(11986111, 13, 2.32, 3.48);
        'Tele Group Catherby':          Result := toBox(705, 358, 728, 381); //Col.create(11986111, 13, 2.32, 3.48);
        'Recharge Dragonstone':         Result := toBox(555, 387, 578, 410); //Col.create(4241631, 16, 0.26, 1.85);
        'Ice Plateau Teleport':         Result := toBox(585, 387, 608, 410); //Col.create(11986111, 13, 2.32, 3.48);
        'Tele Group Ice Plateau':       Result := toBox(615, 387, 638, 410); //Col.create(11986111, 13, 2.32, 3.48);
        'Energy Transfer':              Result := toBox(645, 387, 668, 410); //Col.create(4241631, 16, 0.26, 1.85);
        'Heal Other':                   Result := toBox(675, 387, 698, 410); //Col.create(11986111, 13, 2.32, 3.48);
        'Vengeance Other':              Result := toBox(705, 387, 728, 410); //Col.create(11986111, 13, 2.32, 3.48);
        'Vengeance':                    Result := toBox(555, 416, 578, 439); //Col.create(71890, 9, 0.17, 0.11);
        'Heal Group':                   Result := toBox(585, 416, 608, 439); //Col.create(11986111, 13, 2.32, 3.48);
        'Spellbook Swap':               Result := toBox(615, 416, 638, 439); //Col.create(4241631, 16, 0.26, 1.85);

      //Ancient spells
        'Edgeville Home Teleport':      Result := toBox(566, 213, 589, 236);
        'Smoke Rush':                   Result := toBox(611, 213, 634, 236);
        'Shadow Rush':                  Result := toBox(657, 213, 680, 236);
        'Paddewwa Teleport':            Result := toBox(698, 213, 721, 236);
        'Blood Rush':                   Result := toBox(566, 241, 589, 264);
        'Ice Rush':                     Result := toBox(611, 241, 634, 264);
        'Senntisten Teleport':          Result := toBox(657, 241, 680, 264);
        'Smoke Burst':                  Result := toBox(698, 241, 721, 264);
        'Shadow Burst':                 Result := toBox(566, 269, 589, 292);
        'Kharyrll Teleport':            Result := toBox(611, 269, 634, 292);
        'Blood Burst':                  Result := toBox(657, 269, 680, 292);
        'Ice Burst':                    Result := toBox(698, 269, 721, 292);
        'Lassar Teleport':              Result := toBox(566, 297, 589, 320);
        'Smoke Blitz':                  Result := toBox(611, 297, 634, 320);
        'Shadow Blitz':                 Result := toBox(657, 297, 680, 320);
        'Dareeyak Teleport':            Result := toBox(698, 297, 721, 320);
        'Blood Blitz':                  Result := toBox(566, 325, 589, 348);
        'Ice Blitz':                    Result := toBox(611, 325, 634, 348);
        'Carrallangar Teleport':        Result := toBox(657, 325, 680, 348);
        'Teleport to Bounty Target':    Result := toBox(698, 325, 721, 348);
        'Smoke Barrage':                Result := toBox(566, 353, 589, 376);
        'Shadow Barrage':               Result := toBox(611, 353, 634, 376);
        'Annakarl Teleport':            Result := toBox(657, 353, 680, 376);
        'Blood Barrage':                Result := toBox(698, 353, 721, 376);
        'Ice Barrage':                  Result := toBox(566, 381, 589, 404);
        'Ghorrock Teleport':            Result := toBox(611, 381, 634, 404);
      end;
    end;

    {*
    isSpellSelected
    ~~~~~~~~~~~~

    .. code-block:: AeroLib

        isSpellSelected: Boolean;

    Returns true if the specified spell is selected.

    Example:

        if isSpellSelected then
          WriteLn('We currently have a spell clicked.');

    *}


    function isSpellSelected: boolean;
    var
      col_SpellActive: TColEx;
    begin
      result := False;
      col_SpellActive.create(7829766, 25, 0.68, 0.42);
      if col_SpellActive.FindIn(toBox(40, 6, 108, 20)) then
        result := waitUpTextMulti(['->', '>'], 150);
    end;

    {*
    IsSpellActive
    ~~~~~~~~~~~~

    .. code-block:: AeroLib

        IsSpellActive(SpellName:String): Boolean

    Checks to see if the desired spell is illuminated.

    Examples:

        if IsSpellActive('Smoke Burst') then
          WriteLn('We can cast Smoke Burst!');

    *}

    function IsSpellActive(SpellName:String): Boolean;
    var
      Box: Tbox;
      i:integer;
      SpellColArray: Array of TColEx;
    begin
      SpellColArray := [createCol(4241631, 16, 0.26, 1.85), createCol(1675552, 19, 0.41, 1.57), createCol(11986111, 13, 2.32, 3.48), createCol(11109949, 17, 0.10, 1.40), createCol(4473661, 5, 8.42, 0.70), createCol(6852530, 12, 0.11, 1.05), createCol(71890, 9, 0.17, 0.11)];
      Result := False;
      if gameTab(TAB_MAGIC) then
      begin
        Box := getSpellBox(SpellName);
        for i := 0 to high(SpellColArray) do
          if SpellColArray[i].FindIn(Box) then
            exit(true);
        warn('May not have enough runes for the spell.', WT_CORE);
      end;
    end;

    {*
    CastSpell
    ~~~~~~~~~~~~

    .. code-block:: AeroLib

        CastSpell(SpellName: String): Boolean;

    Casts a spell with the designated name.

    Examples:

        if CastSpell('Smoke Burst') then
          WriteLn('We cast ' +SpellName);

        CastSpell('Smoke Burst');

    *}



    function castSpell(SpellName: String): Boolean;
    var
      Box: Tbox;
    begin
      Result := False;
      if gameTab(TAB_MAGIC) then
      begin
        Box := getSpellBox(SpellName);
        if not IsSpellActive(SpellName) then
          exit(false);
        mousebox(Box, MOUSE_MOVE);
        if waitUpTextMulti([SpellName], 150) then
        begin
          fastClick(MOUSE_LEFT);
          Exit(True);
        end;
      warn('Spell missing. May be incorrect spell book.', WT_CORE);
      end;
    end;

  23. #698
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Nicely done Dan, I'll add them in with the next revision.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  24. #699
    Join Date
    Mar 2013
    Posts
    32
    Mentioned
    0 Post(s)
    Quoted
    10 Post(s)

    Default

    Thanks for the update. Looking forward to future development.

    Quote Originally Posted by Flight View Post
    So the detection that banned the ironman account? Either fake input (mouse/keyboard) or running programs perhaps.
    Anecdotally, I am convinced that fake mouse / keyboard inputs are being used to flag accounts. Since the start of the year I have had two accounts at NMZ banned which were running my own custom script (with custom antiban / mouse movements) with a combination of the official client and OSBuddy, for no more than 6-8 hours a day, with breaks, and with manual farm runs throughout the day. Both accounts were >1 year old and had barrows gloves. I personally don't think Jagex auto-flags accounts based on automated analysis / profiling of mouse movements, so flagging based on fake input detection seems most likely to me.

  25. #700
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    Made a few more functions.
    @Flight

    Simba Code:
    {*
    itemsInSlots
    ~~~~~~~~~~

    .. code-block:: pascal

        function itemsInSlots(var slots:tIntegerArray): boolean;

    Checks if any items are in your inventory, stores them in an integer array, and returns the result as a boolean.

    .. note::

        by Dan the man

    Example:

    .. code-block:: pascal

        if ItemsInSlots(slots) then
          writeln(slots);
    *}


    function itemsInSlots(var slots:tIntegerArray): boolean;
    var
      i: integer;
    begin
      for i := 1 to 28 do
      begin
        if itemInSlot(i) then
        begin
          setArrayLength(slots, Length(slots)+1);
          slots[high(slots)] := i;
        end;
      end;
      if (Length(slots) > 0) then
        result := true;
    end;

    Simba Code:
    (*
    fastDropAllExcept
    ~~~~~~~~~~~~

    .. code-block:: pascal

        function fastDropAllExcept(Items: Array of TItem): Boolean;

    Drops all items in your inventory that arent listed in the Array of Titem's.

    .. note::

        Author: Dan the man


    Example:

    .. code-block:: pascal

        if FastDropAllExcept([Apples, Oranges, Redberries]) then
          writeln('dropped everything except Apples');
    *)


    function fastDropAllExcept(Items: Array of TItem): Boolean;
    var
      i, a : Integer;
      Slots: TIntegerArray;
      Found: boolean;
    begin
      if ItemsInSlots(Slots) then
      begin
        for i := 0 to high(Slots) do
        begin
          if not isKeyDown(VK_SHIFT) then
            keyDown(VK_SHIFT);
          Found := false;
          for a := 0 to high(Items) do
            if Items[a].InSlot(Slots[i]) then
            begin
              Found := true;
              break;
            end;
          if not Found then
          begin
            if (not MouseInBox(InvBox(slots[i]))) then
              MouseBox(InvBox(Slots[i]), MOUSE_MOVE);
            FastClick(MOUSE_LEFT);
          end;
        end;
        keyUp(VK_SHIFT);
        if isKeyDown(VK_SHIFT) then
          keyUp(VK_SHIFT);
      end;
      result := True;
    end;

Page 28 of 34 FirstFirst ... 182627282930 ... 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
  •