Results 1 to 9 of 9

Thread: GerauchertPowerChopper

  1. #1
    Join Date
    Apr 2007
    Location
    Michigan -.-
    Posts
    1,357
    Mentioned
    2 Post(s)
    Quoted
    4 Post(s)

    Default GerauchertPowerChopper

    My FIRST script =)

    i dont know how to put the script so you can just download it into scar form so here it is....

    SCAR Code:
    {////////////////////////GERAUCHERT'S POWERCHOPPER///////////////////////
    THIS IS MY FIRST SCRIPT WOOT!
    *Has FindFastRandoms - CREDITS TO WT-Fakawi
    *Has my own anitban creation
    *Has multiplayer
    *No axehead finder
      SETUP:
        1) Put your character by the trees you want to chop
        2) Pick your colors
        3) Fill in constants and declare players
        4) Hit play (logged in or out) and enjoy =p
        5) Post progress reports and errors =D
    /////////////////////////////////////////////////////////////////////////}


    program Powerchopper;
    {.include SRL/SRL.scar}
    {.include SRL/SRL/skill/WoodCutting.scar}

    var LoadsA: Integer; LoadsB: Integer;

    //SETUP HERE//
    const

      TreeColor1= 1718320 ; //Set tree colors here
      TreeColor2= 2572344;
      TreeColor3= 1853504;
     
      TreeType='illow'; //What tree you want to chop (minus first letter)

      ChopTime= 6000;   //Time before it clicks tree again (milliseconds)
     
      Loads= 10;    //How many loads you want before you switch
     
    procedure DeclarePlayers;
      begin
        HowManyPlayers := 5;//Dont touch (just state whether active or not)
        NumberOfPlayers(HowManyPlayers);
        CurrentPlayer := 0;

        Players[0].Name := 'UserName';
        Players[0].Pass := 'Password';
        Players[0].Nick := 'Nick'; //3 - 4 letters of YOUR username
        Players[0].Active :=True; //Auto with this account?

        Players[1].Name := 'UserName';
        Players[1].Pass := 'Password';
        Players[1].Nick := 'Nick'; //3 - 4 letters of YOUR username
        Players[1].Active :=False; //Auto with this account?
       
        Players[2].Name := 'UserName';
        Players[2].Pass := 'Password';
        Players[2].Nick := 'Nick'; //3 - 4 letters of YOUR username
        Players[2].Active :=False; //Auto with this account?
       
        Players[3].Name := 'UserName';
        Players[3].Pass := 'Password';
        Players[3].Nick := 'Nick'; //3 - 4 letters of YOUR username
        Players[3].Active :=False; //Auto with this account?

        NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
    end;

    //STARTING UP//
    procedure ScriptSetup;
    begin
      ClearDebug;
      SetupSRL;
      DeclarePlayers;
      ActivateClient;
    end;

    procedure Setup;
    begin
      Wait(500 + random(250));
      SetRun(True);
      Wait(500 + random(150));
      GameTab(4);
    end;

    //ANTIBAN//

    procedure DontGetBanned;
    begin
      if(not(LoggedIn))then
      Exit;
      case Random(15) of
        0: begin
              GameTab(5);
              Wait(2000 + random(1200));
              GameTab(4);
           end;
        1: begin
              HoverSkill('Random', False);
              Wait(500+ random (250));
              HoverSkill('Woodcutting', False);
           end;
        2: begin
             GameTab(5);
             MMouse(590,304,3,3);
             Wait(500 + random(300));
             Mouse(590,304,3,3,False);
             ChooseOption(x,y,'xamine');
             Wait(1500 + random(1300));
             MMouse(610,261,3,3);
             Mouse(610,261,3,3,False);
             ChooseOption(x,y,'xamine');
             Wait(700 + random(200));
             GameTab(4);
          end;
        3: begin
             GameTab(6);
             Wait(400 + random(200));
             MouseBox(566,209,734,455,3);
             Sleep(2000 + random(500));
             HoverSkill('random',False);
             Wait(500 + random(150));
             GameTab(4);
           end;
        4: begin
            GameTab(7);
            Wait(500 + random(100));
            MouseBox(566,209,734,455,3);
            Sleep(3000 + random(1000));
            Wait(300 + random(125));
            GameTab(4);
           end;
        5: begin
             GameTab(8);
             MouseBox(566,209,734,455,3);
             Sleep(2000 + random(700));
             Wait(500 + random(230));
             GameTab(9);
             Wait(1000 + random(800));
             GameTab(1);
             Wait(3000 + random(750));
             GameTab(3);
             Wait(2500 + random(1200));
             GameTab(11);
             Wait(1000 + random(250));
             GameTab(4);
            end;
         6: PickUpMouse;
         7: MouseBox(MSX1,MSY1,MSX2,MSY2,3);
         8: MouseBox(MMX1,MMY1,MMX2,MMY2,3);
         9: RandomRClick;
        10: BoredEvery(2 + random(1));
        11: SleepAndMoveMouse(5000 + random(1500));
        12: RotateEvery(2 + random(1));
        13: BoredHuman;
        end;
      end;




    //PROGRESS REPORT//
    procedure Proggy;
    begin
      ClearDebug;
      SRLRandomsReport;
      Writeln('*************************************');
      Writeln('=========== PROGRESS REPORT =========');
      Writeln('Chopped:  ' + IntToStr(LoadsA) + '   Loads');
      Writeln('Ran For:  ' + TimeRunning);
      Writeln('Ents Avoided: ' + IntToStr(EntsAvoided) + '  Ents');
      Writeln('REMEMBER TO POST PROGRESS REPORTS!!!');
      Writeln('=========== HAPPY AUTOING!! =========');
      Writeln('*************************************');
    end;

    //ANTIRANDOMZ//

    Function FindFastRandoms: Boolean;    // By WT-Fakawi.

    Var
      i: Integer;

    Begin
      For I := 1 To 11 Do
      Begin
        Case I Of
           1:  If FindDead Then
                 Result := True;

           2:  If FindMod Then
                 Result := True;

           3:  If FindMime Then
                 Result := True;

           4:  If FindMaze Then
                 Result := True;

           5:  If FindQuiz Then
                 Result := True;

           6:  If FindDemon Then
                 Result := True;

           7: Begin
                 If NoGameTab Then
                 Begin
                   Result := True;
                   Players[CurrentPlayer].loc := 'No GameTab';
                   Logout;
                   Exit;
                 End;
               End;

           8 : If RC Then
                 Result := True;

           9 : If FindFight Then
                  Begin
                    Result := True;
                    RunTo('S', True);
                  End;

           10: If FindTalk Then
                 Result := True;

           11: If FindTrade Then
                 Result := True;
        End;
        Wait(1);
      End;
    End;

    procedure Randoms;
    begin
      FindFastRandoms;
      FindNormalRandoms;
    end;

    //CHOPPING PROCEDURE//
    procedure Chop;
    var WaitTime: Integer;

    begin
      repeat
      if(FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX2,MSY2,3))or
        (FindColorTolerance(x,y,TreeColor2,MSX1,MSY1,MSX2,MSY2,3))or
        (FindColorTolerance(x,y,TreeColor3,MSX1,MSY1,MSX2,MSY2,3))then
        begin
        case random(2) of
          0: begin
             MMouse(x,y,3,3);
             if IsUpText(TreeType) then
               Mouse(x,y,3,3,True);
               MarkTime(WaitTime);
               if(InvFull)or FindEnt(TreeColor1) or (FindFastRandoms) or (not(FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX2,MSY2,3)))then
               Break;
               while(TimeFromMark(WaitTime) < ChopTime)do
               FindEnt(TreeColor2);
               Randoms;
               FindEnt(TreeColor3);
               DontGetBanned;
             end;
          1: begin
             MMouse(x,y,3,3);
             if IsUpText(TreeType) then
               Mouse(x,y,3,3,False);
               ChooseOption(x,y,'own');
               MarkTime(WaitTime);
               if(InvFull)or FindEnt(TreeColor1) or (FindFastRandoms) or (not(FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX2,MSY2,3)))then
               Break;
               while(TimeFromMark(WaitTime) < ChopTime)do
               FindEnt(TreeColor2);
               Randoms;
               FindEnt(TreeColor3);
               DontGetBanned;
             end;
           end;
        end;
      until(InvFull);
    end;


    //DROPPING PROCEDURE//
    procedure Drop;
    begin
      GameTab(4);
      if(InvFull)then
      begin
        DropTo(2,28)
        LoadsA:=LoadsA + 1;
        LoadsB:=LoadsB + 1;
        TimeRunning;
      end;
    end;

    //MAIN LOOP//
    begin
      ScriptSetup;
      NEWLINE:='';
      if (not(LoggedIn)) then
        LogInPlayer;
        Setup;
        repeat
        if (not(LoggedIn)) then
          LogInPlayer;
          Chop;
          Drop;
          Proggy;
          if (LoadsB = Loads) then
          begin
            NextPlayer(True);
            LoadsB:= 0;
            Writeln('w00t switched players');
            Setup;
          end;
      until(False);
    end.
    METAL HEAD FOR LIFE!!!

  2. #2
    Join Date
    Apr 2007
    Location
    Perth, Australia
    Posts
    3,926
    Mentioned
    3 Post(s)
    Quoted
    2 Post(s)

    Default

    wow a pretty good first script. i haven't tested it yet but it looks good.
    i've got a few suggestions.

    first of all... with your drop procedure, i've noticed that DropTo sometimes misses the item. For future versions, you should use DTM's to check for the logs and then right click and 'ChooseOption(x, y, 'rop');'.

    secondly, you've told the script to do randoms every time the DontGetBanned procedure is called. this means every 13/15 times will probably be an antiban. I recommend you change your random(15) to something like random(50) which will antiban less.

    other than that wicked first script, ill test it when i get home.

  3. #3
    Join Date
    May 2007
    Location
    NSW, Australia
    Posts
    2,823
    Mentioned
    3 Post(s)
    Quoted
    25 Post(s)

    Default

    Well done for a first script!

    There is about nothing wrong but i suggest:
    The drop procedure use:
    SCAR Code:
    DropAllLogs;
    (This will drop all logs and other stuff i think)

    Maybe the Antiban is over done, lol. Because if it keeps doing the same type of this it has a chance of getting banned, but ill doubt that.

    And still nice first script. Goodluck with your future scripts.

  4. #4
    Join Date
    Apr 2007
    Location
    Michigan -.-
    Posts
    1,357
    Mentioned
    2 Post(s)
    Quoted
    4 Post(s)

    Default

    thanks =D

    worked pretty hard on it and i think it turned out decent as well =)

    yea ill probably add DTM dropping to it and change that antiban as well

    thanks so much im excited i finally finished it lol
    METAL HEAD FOR LIFE!!!

  5. #5
    Join Date
    Jun 2007
    Location
    Kentucky, United States of America
    Posts
    409
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Much better than my first script Gotta love the classic autotyper though. . .I'll test this in a bit, once I get my internet connection to steady out.

    I would take their advice about your anti-ban lol. Otherwise it looks pretty good.

  6. #6
    Join Date
    Apr 2007
    Location
    Michigan -.-
    Posts
    1,357
    Mentioned
    2 Post(s)
    Quoted
    4 Post(s)

    Default

    i just did a full test on my script last night and the only bug that occured for me is when my player died...it didnt switch to the next player but the proggie was pretty good for lvl 1 wcers that i started =p
    both are lvl 17 wc now lol

    Chopped: 9 loads

    Ran for: 1 hour 12 minutes and 34 seconds

    Avoided: 2 ents



    /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
    | SRL Randoms Report |
    | www.villu-reborn.com |
    |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
    | Logged in : 1 |
    | Trade[s] Missed : 1 |
    | Fight Random[s] : 4 |
    | Talking Random[s] : 1 |
    | Capn Hand[s] Solved : 1 |
    | New Box[es] Solved : 1 |
    | Nr of Ents Avoided : 2 |
    \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
    METAL HEAD FOR LIFE!!!

  7. #7
    Join Date
    Apr 2007
    Location
    Michigan -.-
    Posts
    1,357
    Mentioned
    2 Post(s)
    Quoted
    4 Post(s)

    Default

    AHHHH ok i have this new bug and i want to know if any1 else has it...

    so when the script starts up it runs fine until it begins the setup where it sets your guy to run....it just sits there and does nothing. I tested just the setup; procedure alone in a new script to make sure it wasnt messed up due to jagex update but it ran my setup; fine grrrr just wont work in my script ffs....

    ok if anyone has this problem let me know or if you see something that is causing my guy just to sit there let me know =) thanks

    (BTW SRY FOR DOUBLE POST)
    METAL HEAD FOR LIFE!!!

  8. #8
    Join Date
    Apr 2007
    Location
    Perth, Australia
    Posts
    3,926
    Mentioned
    3 Post(s)
    Quoted
    2 Post(s)

    Default

    Its because of the update. The coords for checking if the player was logged in or not changed so when the script went to check if the player was logged, it returned false. This then stuffs up the main loops cos you have lots of 'if(not(LoggedIn)) then' lines.

    To fix this problem you just need to download SRL 3.81 or look at one of the threads in the Runescape Updates forum.

    In short, in the Login include in SRL under the LoggedIn function, change this:
    SCAR Code:
    Result := (GetColor(422, 480) = 16777215);

    To this:
    SCAR Code:
    Result := (GetColor(421, 480) = 16777215);

  9. #9
    Join Date
    Apr 2007
    Location
    Michigan -.-
    Posts
    1,357
    Mentioned
    2 Post(s)
    Quoted
    4 Post(s)

    Default

    tyvm
    METAL HEAD FOR LIFE!!!

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
  •