Results 1 to 12 of 12

Thread: Deadlys' Air Tiara Crafter

  1. #1
    Join Date
    Dec 2011
    Posts
    327
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Deadlys' Air Tiara Crafter

    It is fully functional with SRL5

    You need to download this to be able to use the script: http://villavu.com/forum/showthread....objdtm+walking
    Follow the instructions at the bottom of this page on how to download and install it correctly.


    This is my first script, it crafts air tiaras and runs back to the bank to withdraw more tiaras and air talismans.

    Why use this method?
    This method is 2.5x faster then air runecrafting and you can do it at level 1 runecrafting!
    The downside is it costs around 14.5gp per exp.

    Important
    Make sure your tiaras and talismans are visible in your bank when you first open it up, make sure there is no other runes visible in the bank/ bank tabs.
    Better safe then sorry.

    Start Point:


    Recommended Set Ups

    Light weight gear and air tiara equipped

    Current Features
    Rests at the musician when run energy is below 50%

    Future Updates
    Progress Reports (How long the script has been running, how many trips you've made and eventually runecrafting exp gained, Tiaras crafted, cash gained.)
    Auto Updater and a downloadable link.

    Known Bugs
    Currently none!

    Current Version:
    Version 1: Released!

    Simba Code:
    program Deadlys_Air_Tiara_Crafter;

    {$i srl/srl/misc/smart.simba}
    {$i SRL/SRL.simba}
    //{.Include SRL\SRL\Misc\Debug.simba}
    //{$i SRL/SRL/misc/paintsmart.simba}
    {$i ObjectDTM/ObjDTMInclude.Simba}



    Const         //Yoho's
     SERVER  = ('54');     // Enter "0" to pick a random server.
     MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
     SRLStats_Username = ''; // Your SRL Stats Username
     SRLStats_Password = ''; // Your SRL Stats Password
     NumbOfPlayers= 1;     //How many players are you using
     StartPlayer=   0;     //Player to start auoting with! (0 means first char)
     Version = 1.1;

    Var
    Crafted:Integer;
    aFound: Extended;

    {*******************************************************************************
    procedure DeclarePlayers;
    By: SRL
    Description: SRL's Player Setup
    *******************************************************************************}

    procedure DeclarePlayers;
    var i:integer;
    begin
      NumberOfPlayers(2);
      CurrentPlayer := 0;
      for i := 0 to NumbOfPlayers-1 do
      Players[i].BoxRewards  := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];

      with Players[0] do
      begin
      Name :=''; // Name
      Pass :=''; // Pass
      Active := True; //True if you want this player to be ran in the script, false if not
    * Pin := ''; * * * * * *// Leave blank if you have no pin.
     
     with Players[1] do
      begin
      Name :=''; // Name
      Pass :=''; // Pass
      Active := True; //True if you want this player to be ran in the script, false if not
      Pin := '';            // Leave blank if you have no pin.

      end;
     end;
    end;

    Procedure ObjSetup;   //Euph's
    begin;
    ObjDTM_Setup;
     end;

    Procedure StatsGuise(wat:String); //Yoho's
    Begin
      Status(wat);
      Disguise(wat);
    End;

    //Function CheckAndClick(X,Y:Integer):Boolean;
    //By: YoHoJo
    //Description: Moves mouse to x,y, checks for uptext, and clikcs if found
    //*******************************************************************************}
    Function CheckAndClick(X,Y:Integer):Boolean;
    Begin
      MMouse(x, y, 5, 5);
      {Wait(100 + Random(50));
      If CountUpColor('B', 41, 5, 86, 24, 70, 140) Then}

      If WaitUpTextMulti(['Mine','ine'], 150) Then
      Begin
        Result:=True;
        GetMousePos(x, y);
        Mouse(x, y, 0, 0,True);
        Wait(100+Random(50));
        FFlag(0);
      End;
    End;

    Procedure FailSafe(Reason:String);     //Yoho's
    begin
      Players[CurrentPlayer].Loc:=reason;
      Logout;
      Terminatescript;
    end;

      Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
      var
        randSpeed: extended;
        X,Y,X2,Y2,A,Dist,MP: integer;
      begin
        A := MouseSpeed;
        GetMousePos(X, Y);
        Dist := Distance(X, Y, eX, eY);
        MP := Round(Dist/150);
        if MP < 0 then
          MP := 1;

        randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
        X2 := RandomRange(eX-(A*MP), eX+(A*MP));
        Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
        WindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
        GetMousePos(X, Y);
        MMouse(eX, eY, ranX, ranY);
        MouseSpeed := A;
      end;

     Procedure Loadvars;
     begin;
     MouseSpeed := RandomRange(14, 18);
     end;


    Procedure Antiban;   //I liked a few of Yoho's antibans, I implemented them here
    Begin
      Case Random(192) Of
        0: HoverSkill('runecrafting', False);
        1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
        2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
        3: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
        4: HoverSkill('random', False);
        5: RandomMovement;
      End;
    end;

    Procedure ProgressReport;
    begin
    Cleardebug;
    Writeln('You have been crafting for:' + TimeRunning);
    Writeln('Exp gained:' + IntToStr(Crafted*14*25));
    end;

    Procedure WithdrawTiara1;

    var
    Talisman, I, x, y:integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;

    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    Begin;
        SetAngle(SRL_ANGLE_HIGH);
        MakeCompass('W');
        If (FindObjCustom(x,y,['Bank','nk','booth','oot'], [1717052], 5)) Then
    begin
        MMouse(X, Y, 5, 5);
        ClickMouse2(False);
        Wait(600+random(250));
        ChooseOption('uickly');
        Wait(2500+random(500));

    end;


         Talisman := DTMFromString('mlwAAAHicY2dgYDjLxMBwCYivAfEFID4KxSeAuJuRgaEOiDuBeBIQzwLiPiBuBeKywkKgbiasmAtI4sKMeDAUAAAlsQs2');
         If FindDTM(Talisman, X, Y, MSX1, MSY1, MSX2, MSY2) Then
    begin
         Writeln('Withdrawing the Talismans');
         MMouse(X, Y, 5, 5);
         ClickMouse2(False);
         Wait(300+random(250));
         ChooseOption('X');
         Wait(1000+random(250));
         TypeSend('14');
    end;


    begin
      FindColorsTolerance(TPA, 9406857, MSX1, MSY1, MSX2, MSY2, 5);      // Thanks to Naums' Tutorial
      ATPA := TPAToATPAEx(TPA, 30, 10);
      For I := 0 To High(ATPA) Do
    Begin
      If MiddleTPAEx(ATPA[I], X, Y) Then
    begin
         Writeln('Withdrawing the Tiaras');
         MMouse(X, Y, 5, 5);
         ClickMouse2(False);
         Wait(300+random(250));
         ChooseOption('All');
         Wait(500+random(250));
        end;
       end;
      end;
    FreeDtm(Talisman)
     end;
    end;

    Procedure WithdrawTiara2;

    var
    Talisman, I, x, y:integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;

    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    Begin;
        SetAngle(SRL_ANGLE_HIGH);
        MakeCompass('W');
        If (FindObjCustom(x,y,['Bank','nk','booth','oot'], [1717052], 5)) Then
    begin
        MMouse(X, Y, 5, 5);
        ClickMouse2(False);
        Wait(600+random(250));
        ChooseOption('uickly');
        Wait(2500+random(500));
        DepositAll
    end;

    begin
         Talisman := DTMFromString('mlwAAAHicY2dgYDjLxMBwCYivAfEFID4KxSeAuJuRgaEOiDuBeBIQzwLiPiBuBeKywkKgbiasmAtI4sKMeDAUAAAlsQs2');
         If FindDTM(Talisman, X, Y, MSX1, MSY1, MSX2, MSY2) Then
    begin
         Writeln('Withdrawing the Talismans');
         MMouse(X, Y, 5, 5);
         ClickMouse2(False);
         Wait(300+random(250));
         ChooseOption('14');
         Wait(1000+random(250));
    end;


    begin
      FindColorsTolerance(TPA, 9406857, MSX1, MSY1, MSX2, MSY2, 5);      // Thanks to Naums' Tutorial
      ATPA := TPAToATPAEx(TPA, 30, 10);
      For I := 0 To High(ATPA) Do
    Begin
      If MiddleTPAEx(ATPA[I], X, Y) Then
    begin
         Writeln('Withdrawing the Tiaras');
         MMouse(X, Y, 5, 5);
         ClickMouse2(False);
         Wait(300+random(250));
         ChooseOption('All');
         Wait(500+random(250));
         end;
        end;
       end;
    FreeDtm(Talisman)
      end;
     end;
    end;

    function Walking(Color, Tolerance: Integer; SortFrom: tpoint): Boolean;
    var
      i, x, y, rx, ry: Integer;
      TPA: TPointArray;
    begin
      if not LoggedIn then Exit;
      FindNormalRandoms;
      FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, Tolerance);
      SortTPAFrom(TPA, SortFrom);

      for i := 0 to High(TPA) do
      begin
        x := TPA[i].x;
        y := TPA[i].y;

        rx := RandomRange(-6, 6);
        ry := RandomRange(-6, 6);
        if (not rs_OnMinimap(x + rx, y + ry)) then
          Continue;

        Mouse(x + rx, y + ry, 0, 0, true);
        FFlag(0);
        Wait(200 + Random(500));
        Result := True;
        Break;
      end;
    end;

    Procedure Walkies;

    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    begin
         if (Walking(2570554, 15, Point(583, 38))) then
       begin
         Wait(1800+Random(500));
       end;
      end;
    end;

    procedure Resting;
    var
    X,Y: Integer;
    s: String;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    begin
        if (Not runenergy(50)) then
    begin
        If FindObjCustom(x, y, ['Talk', 'alk'], [14464635, 9469760, 4297607], 10) then
     begin
          Writeln('Listening to the blissful music')
          Getmousepos(x, y)
    begin;
          MMouse(X, Y, 3, 3);
          ClickMouse2(False);
          Waitoption('isten', 3000);
          Wait(8000+Random(5000));
          RestUntil(80)
        end;
       end;
      end;
     end;
    end;

    procedure WalkToAlter;    //Mine, that's rare
    var
    Path: TStringArray;
    I: Integer;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    begin
        Path:= ['568:98:5:1:7:613:100:1:7:625:122:1:7:588:117:0:7:647:111:1:7:647:61'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(2000+Random(500));

    begin
          Resting;
    end;

    begin
        Path:= ['570:120:4:5:7:571:77:1:7:560:99:1:7:581:94:1:7:559:78'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(2000+Random(500));


        Path:= ['566:117:4:1:7:576:103:3:7:582:128:1:7:593:103:1:7:606:115'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(3500+Random(1000));
      end;
     end;
    end;

    Procedure Enter;
    var
    X,Y: Integer;

    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    begin
      If FindObjCustom(x, y, ['Ent', 'Enter'], [16631951, 16629135, 16171659, 14925721, 16499851], 15) then
    begin
      Writeln('Entered into the Mysterious rock formation')
      Getmousepos(x, y)
      if IsUpText('nter') then

      Case random(11) of
        0..10: begin
        MMouse(X, Y, 8, 8);
        ClickMouse2(True);
    end;
        // 9..10: begin;
       // MMouse(X, Y, 5, 5);
      //ClickMouse2(False);
     // Waitoption('nter', 3000);



       end;
      end;
     end;
    end;
    //end;

    Procedure Crafting;
    Var
    x,y: integer;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;
      ProgressReport;

    begin
        If FindObjCustom(x, y, ['raft', 'Rune'], [5591380, 5920344, 5723222, 5525587, 5525843, 5722966, 5723222], 3) then
    begin
        Writeln('Crafted Air runes')
        Getmousepos(x, y)
        if IsUpText('raft') then

    Case random(11) of
    0..10:  begin
             MMouse(X, Y, 15, 15);
             ClickMouse2(True);
             end;
            // 9..10: begin;
           // MMouse(X, Y, 15, 15);
          // ClickMouse2(False);
         // Waitoption('raft', 3000);

       end;
      end;
     end;
    end;
    //end;

    Procedure Waiting;

    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;

    begin
        Wait(5500+random(500));
     end;
    end;

    Procedure Leave;
    var
    X,Y,I: Integer;
    TPA : TPointArray;
    ATPA : T2DPointArray;

    Begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

    begin
        FindColorsTolerance(TPA, 5081226, MSX1, MSY1, MSX2, MSY2, 10);      // Thanks to Naums' Tutorial
        ATPA := TPAToATPAEx(TPA, 28, 28);
        For I := 0 To High(ATPA) Do
      Begin
          If MiddleTPAEx(ATPA[I], X, Y) Then
       begin
          MMouse(X, Y, 2, 2);
          ClickMouse2(True);
          Writeln('Leaving the Mysterious rock formation');
          Wait(4000+random(500));
       End;
      End;
     End;
    End;

    Procedure BackToTheBank;
    var
    Path: TStringArray;
    Alterarea, X, Y, I: Integer;
    Begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;

        AlterArea := DTMFromString('mwQAAAHic42RgYKhgYmCIBuIyIJ4GxDVAnAjEU4G4F4gzgTgcqC4CiK0YIOxiIM4F4mwgdoLiolRNhu7qIDCO9DdjiA40Z8hIUmWwNBVnqCnVAYtzAdURwoxEYDgAAF6XES8=');
        if FindDTMRotated(AlterArea, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
    begin
        leave;
    end;

    begin
        Path:= ['685:61:4:3:7:631:39:1:7:673:69:1:7:676:39:1:7:661:77'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(2000+Random(500));

        Path:= ['684:52:4:1:7:693:78:5:7:634:38:1:7:643:56:1:7:623:39'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(3000+Random(500));
    begin
          Resting;
    end;
           begin
        Path:= ['675:49:4:1:7:666:69:1:7:678:90:1:7:642:85:1:7:658:104'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(1000+Random(200));


        Path:= ['685:56:4:0:7:650:114:1:7:650:66:1:7:635:22:1:7:618:104'];
        for I := 0 to 0 do
        ObjDTM_Walk(Path[i], 0, 100, 80, True);
        Wait(3000+Random(500));
       end;
      FreeDTM(AlterArea);
     end;
    end;

    begin
      Smart_Server := 54;
      Smart_Members := False;
      Smart_Signed := True;
      Smart_SuperDetail := False;
      SetupSRL;
      Loadvars;
      ObjSetup;
      Declareplayers;
      if not (LoggedIn) then
      LoginPlayer;
      WithdrawTiara1;
      Repeat
      Repeat
      Walkies;
      WalkToAlter;
      Enter;
      Waiting;
      Crafting;
      Waiting;
      Leave;
      Waiting;
      BackToTheBank;
      WithdrawTiara2;
          Until(false) or (not LoggedIn);
          NextPlayer(Players[CurrentPlayer].Active);
          Until(false)
    end.
    Last edited by Deadly Serious; 01-24-2012 at 04:04 AM.

  2. #2
    Join Date
    Nov 2011
    Posts
    132
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Nice, may I ask what type of map walk method did you use, SPS DDTM?

  3. #3
    Join Date
    Dec 2011
    Posts
    327
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by loser69 View Post
    Nice, may I ask what type of map walk method did you use, SPS DDTM?
    I used Object DTMs for most of the walking and a color walking method for one point that Object DTMs weren't able to do, from lack of objects on the minimap.

  4. #4
    Join Date
    Nov 2011
    Posts
    1,532
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Why don't you simply combine the air runecrafter with this into one script?

  5. #5
    Join Date
    Dec 2011
    Posts
    327
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by nosaj.421 View Post
    Why don't you simply combine the air runecrafter with this into one script?
    I may in the future.
    I'll just put a variable in it, that says "True" for air runes and "False" for air tiaras.
    I didn't think of that at the time.

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

    Default

    Does anyone know the xp per hour?

  7. #7
    Join Date
    Dec 2011
    Posts
    327
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    This is about right:

    Method
    Creating air tiaras, standard route

    Time per run (seconds)
    209

    XP per run
    350

    XP per hour
    6,050


    I'll develop a progress report for it if enough people show an interest. Most people just use my air rune crafter.
    Last edited by Deadly Serious; 01-18-2012 at 10:27 PM.

  8. #8
    Join Date
    Dec 2011
    Posts
    327
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Updated, it should work in theory. I haven't tested it out yet.

  9. #9
    Join Date
    Oct 2010
    Posts
    44
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    why is the crafting code the same as your air rune crafter becouse i need a air taira crafter for leveling my rc but this one isnt working

    sorry for my bad english im dutch

    greets sander70

  10. #10
    Join Date
    Dec 2011
    Posts
    327
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by sander70 View Post
    why is the crafting code the same as your air rune crafter becouse i need a air taira crafter for leveling my rc but this one isnt working

    sorry for my bad english im dutch

    greets sander70
    It's almost the same, the only things that are different are the withdrawing procedures and the alter procedure.

  11. #11
    Join Date
    Oct 2010
    Posts
    44
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    i cant find any diffrences only the withdrawing the alter is the same or i am maby wrong but i dont know becouse this is the air taira crafting procedure
    Code:
    Procedure Crafting;
    Var
    x,y: integer;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;
      ProgressReport;
    
    begin
        If FindObjCustom(x, y, ['raft', 'Rune'], [5591380, 5920344, 5723222, 5525587, 5525843, 5722966, 5723222], 3) then
    begin
        Writeln('Crafted Air runes')
        Getmousepos(x, y)
        if IsUpText('raft') then
    
    Case random(11) of
    0..10:  begin
             MMouse(X, Y, 15, 15);
             ClickMouse2(True);
             end;
            // 9..10: begin;
           // MMouse(X, Y, 15, 15);
          // ClickMouse2(False);
         // Waitoption('raft', 3000);
    
       end;
      end;
     end;
    end;
    and this the air rune
    Code:
    Procedure Crafting;
    Var
    x,y: integer;
    begin
      if not loggedin then exit;
      FindNormalRandoms;
      Antiban;
      DidRedClick;
      ProgressReport;
    
    begin
        If FindObjCustom(x, y, ['raft', 'Rune'], [5591380, 5920344, 5723222, 5525587, 5525843, 5722966, 5723222], 3) then
    begin
        Writeln('Crafted Air runes')
        Getmousepos(x, y)
        if IsUpText('raft') then
    
    Case random(11) of
    0..10:  begin
             MMouse(X, Y, 15, 15);
             ClickMouse2(True);
             end;
            // 9..10: begin;
           // MMouse(X, Y, 15, 15);
          // ClickMouse2(False);
         // Waitoption('raft', 3000);
    
       end;
      end;
     end;
    end;
    i cant find any diffrences between them

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

    Default

    is there anti-leech?

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
  •