Results 1 to 6 of 6

Thread: <AEROLIB>Unpowered orb crafter>

  1. #1
    Join Date
    Nov 2015
    Posts
    20
    Mentioned
    2 Post(s)
    Quoted
    7 Post(s)

    Default <AEROLIB>Unpowered orb crafter>

    Hello guys


    This script is really simple, all it does is craft Unpowered orbs.
    All you need to do is start it at the clan wars bank chest, have molten glass and atlease 2 pipes in your first inv tab (the one with the inifinity symbol) and near the top.

    This script gives around 80k xp/hr, which isn't too bad. The amazing thing is that the gp/xp is only around 2.5 gp/xp at the moment.

    If you have any problems with the script or if i should include some more info on this page (First script i "publish") please tell me and i'll fix it right away.

    Have fun

    -Rune
    Attached Files Attached Files
    Last edited by rune3132; 12-29-2015 at 11:50 PM.

  2. #2
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    @rune3132;

    only 14 posts and already a script posted very nice job!

    im going to give you a few tips, this is not to flame you but to help you

    1. use some space between your procedure example:
    Simba Code:
    // your code

    Procedure mouseBoxHover(x1, y1, x2, y2: Integer; Dist: Integer);
    var
      PT : TPoint;
    begin
      getMousePos(pt.x,pt.y);
      PT := randomPointBoxEx(pt,inttobox(x1,y1,x2,y2),Dist);
      brakeMMouse(PT, 0, 0, True);
      wait(randomRange(50,150));

    end;
    procedure customMouse(point: TPoint);
    begin
      case random(0, 6) of
        0..2: BrakeMMouse(point, random(5), random(5), true);
        3: BrakeMMouse(point, random(5), random(5), false);
        4..5: MissMouse(point, random(5), random(5));
        6: HumanMMouse(point, random(5), random(5));
      end;
    end;


    //new code

    Procedure mouseBoxHover(x1, y1, x2, y2: Integer; Dist: Integer);
    var
      PT : TPoint;
    begin
      getMousePos(pt.x,pt.y);
      PT := randomPointBoxEx(pt,inttobox(x1,y1,x2,y2),Dist);
      brakeMMouse(PT, 0, 0, True);
      wait(randomRange(50,150));
    end;

    procedure customMouse(point: TPoint);
    begin
      case random(0, 6) of
        0..2: BrakeMMouse(point, random(5), random(5), true);
        3: BrakeMMouse(point, random(5), random(5), false);
        4..5: MissMouse(point, random(5), random(5));
        6: HumanMMouse(point, random(5), random(5));
      end;
    end;

    2.
    Simba Code:
    ['Use', ' Glassblowing pipe', 'lassblowing pipe', 'Use Glassblowing pipe']
    this line, if it finds the text Glassblow pipe, there is no need to check for the check lassblowing pipe.

    3.
    Simba Code:
    While (FindDTM(MtG, x, y, mix1, miy1, mix2, miy2)) do
    Possible infinite loop, if it somehow stops with crafting it keeps waiting for ever, you dont want that of course.

    one last tip: enable the extension: parser.sex
    if you have a hard time making good standards this will fix some for you. (parser -> format script)

    finally, I want to say that you should keep going with this as this is not a bad first script at all!
    you DONT want to see my first script which was wayyyy worse, just keep practicing and good luck.
    Last edited by Hoodz; 12-29-2015 at 10:45 PM.

  3. #3
    Join Date
    Nov 2015
    Posts
    20
    Mentioned
    2 Post(s)
    Quoted
    7 Post(s)

    Default

    Thanks alot man, i really do appreciate it. I'll make it look a little nice and fix the loop right away, i should probably have noticed that possible loop. But again, thanks alot, I really do appreciate you bothering to look at a noob like me's script. I use some of your scripts and i see you everywhere helping people, so please keep doing what you do.

  4. #4
    Join Date
    Nov 2011
    Location
    Finland
    Posts
    49
    Mentioned
    1 Post(s)
    Quoted
    12 Post(s)

    Default

    Wow this script is amazing ! Getting 70 crafting for monkey maddnes 2 !
    Hardcore deadman mode seasonal player!

  5. #5
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Simba Code:
    if FindDTM(UpO, x, y, 680, 425, mix2, miy2) then
      run :=True;
    if run = True then
      openBank;
    ->
    Simba Code:
    if FindDTM(UpO, x, y, 680, 425, mix2, miy2) then
      openBank;

    Here's a way to ensure loops timeout after a certain time (example is for 2-3 seconds):
    Simba Code:
    TimeOut := GetTickCount64() + Random(2000, 3000);
    while (TimeOut >= GetTickCount64()) do
    begin
     //loop
    end;

  6. #6
    Join Date
    May 2013
    Posts
    98
    Mentioned
    1 Post(s)
    Quoted
    33 Post(s)

    Default

    used this for a few craft levels and I made some improvements. I added some failsafes, changed the banking method, improved antiban, and added support for making other glass items. I'll post it incase anyone wants to use it. @ OP: feel free to use and build on my work.

    PS sorry, dunno how to attach files so I'll have to dump the code here.

    Simba Code:
    program UOrbCrafter
    {$DEFINE SMART}
    {$I AEROLIB/AEROLIB.SIMBA}
    var
      GbP, MtG, UpO, x, y, Failed: Integer;
      loop, run: boolean;
    const
      Username = '';
      Password = '';

      item = 'fishbowl';  // - Choose lamp,vial, fishbowl, orb, lens


      {Have glassblowing pipe in first inv slot and molten glass
      visible in bank, banks on a chest.
       }


    Procedure DeclarePlayer
    begin
      Me.Name   := Username;
      Me.Pass   := Password;
      Me.Member := True;
      Me.Active := True;
    end;

    Procedure DTMSet
    begin
      GbP := DTMFromString('mPwEAAHicnc3BBoBAEMbx2eteerm99Q4lUVq7pVWHiJQeuD+7p0js8BufjzGFiHRKpEGNKuVWxd7CYcSMkLJHj437HQcu3DhTtyJggofFAIcFpTFslUXL9+gfeR+j1zzz6RB9');
      MtG := DTMFromString('mkwEAAHicrc5NCoNQDEbRvKlTdyMiBVEUrEjR9VhaxR9E6ypcgHtxPV4xww7fByckEEJcEUmMyBMpYoQI4CkfD0S6kyHHCxVKVaDj3qoWTBjRo8UHb9Taf3W+NBgw44dj36jGCkfsxc5Htz85AUchEe4=');
      UpO := DTMFromString('mFQEAAHic42VgYMhiYmBIB+J8IC4E4hIgLobyc6FyKVCcDcR5QPwcqO81EL8A4idA/BiIHwDxPSB+COU/hcq/hao9d/w4kGQkCXMxkA5IswGCUQAAEVgTyw==');
      addOnTerminate('FreeIt');
    end;

    Procedure FreeIt;
    begin
      freeDTM(GbP);
      freeDTM(MtG);
      freeDTM(UpO);
    end;


    Procedure Craft;
    begin

    if isBankOpen() then
      exit;

    if not GameTab(TAB_INV) then
    begin
      fTab(Tab_inv);
    end;

    if (waitXPBarChange(2000)) then
      exit();

    if waitFindDTM(GbP, x, y, inttobox(MIX1, MIY1, MIX2, MIY2),50,400) then
      begin
        HumanMMouse(Point(x, y), 6, 6);
        if waitUpTextMulti(['Use', ' Glassblowing pipe', 'Use Glassblowing pipe'], 500) then
          FastClick(Mouse_LEFT);
          if FindDTM(MtG, x, y, MIX1, MIY1, MIX2, MIY2) then
            begin
              HumanMMouse(Point(x, y), 6, 6);
              if waitUpTextMulti(['Use', 'Glassblowing pipe', ' Molten', 'glass'], 500) then
              FastClick(Mouse_LEFT);
              sleep(750+random(500));
            end;
      end else
      exit;
    end;


    Procedure mouseBoxHover(x1, y1, x2, y2: Integer; Dist: Integer);
    var
      PT : TPoint;
    begin
      getMousePos(pt.x,pt.y);
      PT := randomPointBoxEx(pt,inttobox(x1,y1,x2,y2),Dist);
      brakeMMouse(PT, 0, 0, True);
      wait(randomRange(50,150));

    end;

    procedure customMouse(point: TPoint);
    begin
      case random(0, 6) of
        0..2: BrakeMMouse(point, random(5), random(5), true);
        3: BrakeMMouse(point, random(5), random(5), false);
        4..5: MissMouse(point, random(5), random(5));
        6: HumanMMouse(point, random(5), random(5));
      end;
    end;

    procedure openBank
    var
      TPA: TPointArray;
      ATPA: T2DPointArray;
      color: TColEx;
      I: Integer;
      location: TPoint;
    begin

      //Bank has already been opened
      if(isBankOpen()) then
        begin
          exit;
        end;

      color.create(3425887, 21, 0.04,0.09);
      if (not color.findAllIn(AREA_MS, TPA)) then
        begin
          loop := false;
          exit;
        end;

      ATPA := FloodFillTPA(TPA);
      if (length(ATPA) <= 0) then
        begin
          loop := false;
          exit;
        end;

      SortATPAFromFirstPoint(ATPA, Point(275, 155));
      for I:= 0 to high(ATPA) do
        begin
          if(length(ATPA[I]) < 36) then
            continue;
          location := MiddleTPA(ATPA[I]);
          customMouse(location);
            if (waitUpTextMulti(['ank', 'ast'], 300)) then
              begin
                fastClick(MOUSE_LEFT);
                break;
              end;
        end;
      sleep(random(900,1200));
    end;

    Procedure banking;
    var
      g: Timer;
    begin
        if isBankOpen() then
          if getCurrentBankTab() <> 0 then
            SwitchBankTab(0);

              begin
              if (getinvcount > 1) then
                if not interactSlot(2+random(6), 'Deposit-All') then
                    exit;

                sleep(500+random(500));

                if FindDTM(MtG, x, y, msx1, msy1, msx2, msy2) then
                  begin
                    HumanMMouse(Point(x, y), 5, 5);
                    if WaitUpTextMulti(['Withdraw', 'Molten ', 'glass'], 400) then
                      FastClick(Mouse_Right);
                      waitOption('Withdraw-All ', 250);
                  end else
                    begin
                      WriteLn('Ran out of supplies, logging off.');
                      CloseInterface();
                      LogoutPlayer();
                      TerminateScript;
                    end;
              end;
      CloseInterface();
    end;

    Procedure Antiban;
    begin
      case Random(310) of
      0..150:
        if pointInBox(getMousePnt(), intToBox(1, 1, 766, 505)) then
          begin
            MMouseOffClient('random');
          end else
            exit;

      201..210:
        if pointInBox(getMousePnt(), intToBox(1, 1, 766, 505)) then
          begin
            HoverSkill(SKILL_CRAFTING, false);
            FTab(TAB_INV);
            MMouseOffClient('Random');
          end else
            exit;

      211..300:
        if pointInBox(getMousePnt(), intToBox(1, 1, 766, 505)) then
          begin
            Wait(RandomRange(2000, 4000));
            PickUpMouse;
            HumanRandomMouse();
          end else
            exit;

      301..310:
        if pointInBox(getMousePnt(), intToBox(1, 1, 766, 505)) then
          begin
            CheckMovingObjs(True);
          end else
            exit;

      end;
    end;

    Procedure doInterface;
    var
    TimeOut:Integer;
    begin




     case item of
        'vial':   gaussMouseBox(371, 77, 401, 132, Mouse_Move);
        'fishbowl':   gaussMouseBox(99, 197, 136, 251, Mouse_Move);
        'orb':   gaussMouseBox(198, 191, 223, 252, Mouse_Move);
        'lamp':  gaussMouseBox(275,79, 316,136 , Mouse_Move);
        'lens': gaussMouseBox(275, 191, 316, 259, Mouse_Move);
      End;


      Wait(RandomRange(100, 250));
        if WaitUpText('ake', 400) then
          begin
            FastClick(Mouse_RIGHT);
            WaitOption('Make X', 200);
            Wait(RandomRange(1000, 1500));

            case random(49) of
            0..10: TypeSend('123');
            11..19: TypeSend('66');
            20..29: TypeSend('33');
            30..39: TypeSend('99');
            40..49: TypeSend('44');
            50..59: TypeSend(inttostr(randomrange(27,999)));
          end;


          end else
            begin
              inc(Failed);
              if (Failed > 5) then
                Failed := 0;
                exit;
            end;

     TimeOut := GetTickCount64() + Random(78000, 100000);
        while (FindDTM(MtG, x, y, mix1, miy1, mix2, miy2)) and(TimeOut >= GetTickCount64()) do
        begin
            if ContinueChat(False) then
              begin
                exit;
              end else;
                antiban;
          end;
      wait(randomrange(250, 500));
      exit;
    end;

    Procedure MainLoop;
    var
    findPipe:array of Tpoint;
    begin
      if isLoggedIn then
        setAngle(ANGLE_HIGH);
      repeat

        if (anySlotActivated() or isUpTextMulti(['Use','olten','lassblowing'])) then
      begin
        mouseBox(AREA_MS, MOUSE_RIGHT);
        waitOption('Cancel', 200);
      end;

        MouseSpeed := RandomRange(15, 22);

         FindDTMs(gbp, findPipe, mix1, miy1, mix2, miy2);

        if not(length(findPipe) > 0) or not (FindDTM(mtg, x,y, 680, 425, mix2, miy2)or not (FindDTM(gbp, x,y, mix1, miy1, mix2, miy2))) then
          openBank;

        if isBankOpen() then
          Banking;

        if isInvFull and (FindDTM(mtg, x,y, mix1, miy1, mix2, miy2)) then
          Craft;

      doInterface;
      until not isLoggedIn;
    end;

    begin
      InitAL();
      DTMSet;
      DeclarePlayer;
      LoginPlayer(false);

      while isLoggedIn() do
        Mainloop;
    end;

Thread Information

Users Browsing this Thread

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

Tags for this Thread

Posting Permissions

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