Results 1 to 4 of 4

Thread: |Have i forgot anything?|

  1. #1
    Join Date
    Mar 2007
    Location
    <3
    Posts
    2,683
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    |Have i forgot anything?|

    Cammalot Multi Cutter by N1kee

    Hi.. I need help with some new ideas and improvment for my Woodcutting script!

    Currently it those:
    Cuts Willow / Yews
    PowerChop
    MultiPlayer
    Banks the logs
    AntiRandom
    AntiBan

    Its compileable with Scar divi 3.12c and Rev 7..

    And one more question.. Will this script when its done get me into Srl Members ?

    Forgot to mention ! Right now its only for ScarScape!!

    SCAR Code:
    //////////////////////////////////////////////////////////////////////
    //                                  ___          __________
    //                              _  | __|        |          |
    //                         ___ |_| |__ |        | - Cuts - |
    //                  _     | _ |    |___|        |__________|
    //   __    _  ___  | |_/\ | _|                  |  Yews    |
    //  |  \  | |/   | |    / |___|                 |  Willows |
    //  |   \ | |\/| | |_|\_\                       |__________|
    //  | |\ \| |  |_|
    //  |_| \___|       Cammalot Multi WoodCutter!
    //////////////////////////////////////////////////////////////////////

    program CammalotWcer;
    {.include SRL\SRL.scar}

    Var
    Loads, fx, fy, Chopped, Tr33Type : integer;
    NoTree : boolean;
    Problemo : Boolean;

    Const
    Bankpin = ''; // BankPin? Put it between the ''
    LoadsToDo = 0;   // How many loads before switching player ?
    TreeType = ''; // Yew = Yew , llo = Willow
    PowerChop = ''; // If you answered 'Yes' to powerchop then stand near selected tree..
    WhatDirection = ''; // N = North / S = South / E= East / W= West!
    CurrentWcLevel = ''; // For Antiban!
    UsingDAxe = False; // True If you are using a Dragon axe.

    procedure DeclarePlayers;
    begin
      HowManyPlayers := 5;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := '';
      Players[0].Pass := '';
      Players[0].Nick := '';
      Players[0].Active := True;
     
      Players[1].Name := '';
      Players[1].Pass := '';
      Players[1].Nick := '';
      Players[1].Active := True;
     
      Players[2].Name := '';
      Players[2].Pass := '';
      Players[2].Nick := '';
      Players[2].Active := True;
     
      Players[3].Name := '';
      Players[3].Pass := '';
      Players[3].Nick := '';
      Players[3].Active := True;
     
      Players[4].Name := '';
      Players[4].Pass := '';
      Players[4].Nick := '';
      Players[4].Active := True;

      NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
    end;
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Don't Change anything under here!////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Procedure AxeUse;
    Var AxeDTM, ox, oy : Integer;
    begin
      If UsingDaxe = True then
      begin
        Exit;
      end else

      AxeDTM := DTMFromString('78DA63F4626260D0646440058C4824900E02A' +
           'AD125A02604A84695801A0FA01A65026A9C806A6C09A87100AAB1' +
           'C2AF06006A7C02F4');

      GameTab(5);
      If FindDtm(AxeDTM, ox, oy, 568, 286, 605, 322) = True then
      begin
        FreeDtm(AxeDTM);
      end else
      begin
        Writeln('Equip an axe');
        FreeDtm(AxeDTM);
        TerminateScript;
      end;
    end;

    Procedure ProgressReport;
    Begin
    Writeln(' _____________________________________');
    Writeln('/   Ran for ' + (TimeRunning) +   '');
    Writeln('>------------------------------------< ');
    Writeln('|    Did ' + IntToStr(Loads) + ' Loads');
    Writeln('>------------------------------------<');
    Writeln('|   Cutted ' + IntToStr(Chopped) + ' Logs');
    Writeln('>------------------------------------<');
    end;

    Procedure SomeRandomTalk;
    Var MindTalk : Integer;
    Begin
      MindTalk := Random(10);
      case MindTalk of

        0: TypeSend ('Boring stuff');
        1: TypeSend ('CutCutCut');
        2: TypeSend ('I Think i Logout soon');
        3: TypeSend ('Watching tv might not answer');
        4: TypeSend ('My birthday is in December');
        5: TypeSend ('BirdNest here i come');
        6: TypeSend ('I want 99 WoodCutting');
        7: TypeSend ('I got ' + IntToStr(Chopped) + ' Logs');
        8: TypeSend ('Wc levels? Mine is ' + (CurrentWcLevel));
        9: TypeSend ('Brum Brum');
      end;
    end;

    Procedure CheckSettings;
    var Problem : Boolean;
    Begin
     Problem := False;
     ClearDebug;
     If LoadsToDo = 0 then
       Problem := True;
     if TreeType = '' then
       Problem := True;
     If WhatDirection = '' then
       Problem := True;
     if PowerChop = '' then
       Problem := True;
     if CurrentWcLevel = '' then
     if Problem = True then
     begin
       Writeln('Check your Settings!');
       TerminateScript;
     end else
       Exit;
    end;


    Procedure WhatTree;
    begin
     Tr33Type := 0
     if TreeType = 'Yew' then
       Tr33Type := 1;
     If TreeType = 'llo' then
       Tr33Type := 2;
     If TreeType = '' then
     begin
       TerminateScript;
     end;
    end;

    Procedure Setup; // 0
    Begin
      HighestAngle;
      MakeCompass('N');
      AxeUse;
    end;

    Function FindFastRandoms: Boolean;    // By WT-Fakawi.
    var
      i: Integer;
    begin
      for i:=1 to 11 do
      begin
        case I of
           1:  If FindDead then
                 begin
                   Problemo := True;
                   Result := True;
                 end;
           2:  If FindMod then
                 begin
                   Problemo := True;
                   Result := True;
                 end;
           3:  If FindMime then
                 begin
                   Problemo := True;
                   Result := True;
                 end;
           4:  If FindMaze then
                 begin
                   Problemo := True;
                   Result := True;
                 end;
           5:  If FindQuiz then
                 begin
                   Problemo := True;
                   Result := True;
                 end;
           6:  If FindDemon then
                 begin
                   Problemo := True;
                   Result := True;
                 end;
           7:  if NoGameTab then
                 begin
                   Problemo := True;
                   Result := True;
                   Players[CurrentPlayer].loc := 'No GameTab';
                   Logout;
                   Exit;
                 end;
           8 : If RC Then Result := True;

           9: If FindTalk Then Result := True;

           10: If Findfight = True Then Result := True;
           11: ClickToContinue;
        End;
        Wait(1);
      end;
    end;

    Procedure AntiRandomish;
    Begin
      FindFastRandoms;
      If Problemo = True then
      nextplayer(False);
      If FindFight = True then
          RunAwayDirection(WhatDirection);
          RunBack;
    end;

    Procedure AntiBanish;
    var
    DBM : Integer;
    Begin
      DBM := Random(150);
      Case DBM of
       0: HoverSkill('Woodcutting', False);
       1: MouseSpeed := 9 + Random(3);
       3: PickUpMouse;
       5: GameTab(2);
       8: Wait(2000);
       9: Setrun(True);
       14: Hoverskill('Random', False);
       15: SomeRandomTalk;
       16: SomeRandomTalk;
     end;
    end;

    Procedure B4nk; // 1

    Var x, y, ax, ay: integer;
    Foundbank : Boolean;
    time: Integer;

    Begin
       MarkTime(time);
       Foundbank := False;
       Repeat
        if FindObjCustom(ax, ay, ['ank'], [8751501, 3370376, 803673], 7) then
        begin
          GetMousepos(x, y);
          AntiRandomish;
          AntiRandomish;
          Mouse(x, y, 1, 1, false);
          Chooseoption('kly');
          Foundbank := True;
          writeln('FoundBank');
          Wait(1000+random(1000));
          Inpin(Bankpin);
       end;
       Until (FoundBank = True) or (TimeFromMark(time) > 10000);
    end;

    Procedure CheckIfLevled;
    Var ox, oy : integer;
    Begin
      If FindColorTolerance(ox, oy, 16711680, 205, 434, 370, 459, 10) = True then
        begin
          Mouse(ox, oy, 0, 0, true);
          AntiBanish;
        end else
        Exit;
    end;

    Procedure Depos1tAll;
    Begin
      Fixbank;
      wait(1000+random(500));
      Deposit(1,1,2);
      Closebank;
      Wait(1000+random(500));
      AntiRandomish;
    end;

    Procedure YewWalking;
    Var hx, hy : Integer;
    begin
      If Tr33type = 1 then
      begin
        Writeln('Start Walking To Yews');
        RadialWalk( 6908273, 245, 255, 69, 0, 0);
        AntiRandomish;
        Flag;
        RadialWalk( 6908273, 265, 255, 59, 0, 0);
        AntiRandomish;
        Flag;
        RadialWalk( 5724247, 275, 255, 64, 0, 0);
        AntiRandomish;
        Flag;
        RadialWalk( 1195603, 273, 260, 64, 0, 0);
        AntiRandomish;
        Flag;
        If FindSymbol(hx, hy, 'tree') = True then
          begin
            Mouse(hx, hy, 0, 0, True);
            AntiRandomish;
            Flag;
          end else
            RadialWalk( 402999, 260, 270, 60, 0, 0);
            AntiRandomish;
            flag;
      end;
    end;

    Procedure LittleCheck;
    begin
      MMouse(fx, fy, 0, 0);
      if IsUpText(TreeType) then
      begin
        NoTree := True;
        end else
          NoTree := False;
          Exit;
    end;


    Procedure WillowWalking;
    begin
     If Tr33type = 2 then
     begin
       Writeln('Start Walking To Willows');
       RadialWalk( 6908273, 245, 255, 69, 0, 0);
       FindNormalRandoms;
       Flag;
       RadialWalk( 6908273, 265, 255, 59, 0, 0);
       FindNormalRandoms;
       Flag;
       RadialWalk( 402999, 250, 200, 50, 0, 0);
       FindNormalRandoms;
       Flag;
     end else
       Exit;
    end;

    Procedure WaitWhileWc;
    Var
    Tick : Integer;
    begin
      NoTree := False;
      MarkTime(Tick);
      repeat;
        AntiBanish;
        Wait(2000+random(1000));
        LittleCheck;
      until(NoTree = True) or (InvFull) or (TimeFromMark(tick) > 15000+random(10000));
    end;

    Procedure ChoppAYew;
    Var lx, ly : integer;
    Begin
        Repeat
          If FindObjCustom(lx, ly, ['Yew','ew','Ye'], [4223112, 4487056, 3694966, 4487056, 2000245], 10) then
            begin
              GetMousePos(fx, fy);
               MMouse(fx, fy, 0, 0);
               If IsUpText('Yew') then
                 Mouse(fx, fy, 0, 0, true);
                 AntiRandomish;
                 AntiBanish;
                 WaitWhileWc;
            end else
              LogOut;
              NextPlayer(False);
       Until(Invfull);
    end;

    Procedure ChoppAWillow;
    Var cx, cy : integer;
    Begin
        Repeat
          If FindObjCustom(cx, cy, ['Wil', 'illo', 'llow'], [2637371, 2325097, 3098178, 2448722], 7) then
            begin
              GetMousePos(fx, fy);
              MMouse(fx, fy, 0, 0);
              If IsUpText('Wil') then
                Mouse(fx, fy, 0, 0, true);
                AntiBanish;
                WaitWhileWc;
            end else
              LogOut;
              NextPlayer(False);
        Until(Invfull);
    end;

    Procedure YewWalkBack;
    Begin
      if Tr33Type = 1 then
      begin
        RadialWalk( 1195603, 339, 116, 50, 0, 0);
        FindNormalRandoms;
        Flag;
        RadialWalk( 5724247, 70, 115, 60, 0, 0);
        FindNormalRandoms;
        Flag;
        RadialWalk( 1195603 , 70, 90, 65, 0, 0);
        FindNormalRandoms;
        Flag;
        RadialWalk( 6908273, 75, 90, 60, 0, 0);
        FindNormalRandoms;
        Flag;
        if RadialWalk( 9408666, 35, 111, 65, 0, 0) then
        begin
          FindNormalRandoms;
          Flag;
        end else
          nextplayer(False);
      end;
    end;
     
    Procedure WillowWalkBack;
    Begin
      if Tr33Type = 2 then
      begin
        RadialWalk( 6908273, 40, 45, 59, 0, 0);
        FindNormalRandoms;
        Flag;
        if RadialWalk( 9408666, 35, 111, 65, 0, 0) then
        begin
          FindNormalRandoms;
          Flag;
        end else
          nextplayer(False);
      end;
    end;

    Procedure PCwhat;
    Begin
      If TreeType = 'llo' then
      begin
       ChoppAWillow;
      end else
        if TreeType = 'Yew' then
        begin
          ChoppAYew;
        end else
          Writeln('Select What Tree To Chop at line 10');
    end;


    Procedure ChopSelectedTree;
    begin
      Repeat
        PCwhat;
        WaitWhileWc;
      until(Invfull);
    end;

    Procedure DropPart;
    Begin
      DropAll;
      if (Not(InvCount = 0 )) then
        LogOut;
        NextPlayer(False);
    end;

    Procedure MainLoopYew;
    begin
      Repeat
        YewWalking;
        ChoppAYew;
        YewWalkBack;
        B4nk;
        Depos1tAll;
        Chopped:= Chopped+28;
        Loads:= Loads+1;
        ProgressReport;
      Until(Loads = LoadsToDo);
        Logout;
        NextPlayer(True);
        MainLoopYew;
    end;

    Procedure MainLoopWillow;
    begin
      Repeat
        WillowWalking;
        ChoppAWillow;
        WillowWalkBack;
        B4nk;
        Depos1tAll;
        Chopped:= Chopped+28;
        Loads:= Loads+1;
        ProgressReport;
      Until(Loads = LoadsToDo);
        Logout;
        NextPlayer(True);
        MainLoopWillow;
    end;

    Procedure MainLoopPowerChop;
    begin
      Repeat
        ChopSelectedTree;
        DropPart;
        Chopped:= Chopped+28;
        Loads:= Loads+1;
        ProgressReport;
      Until(Loads = LoadsToDo);
        Logout;
        NextPlayer(True);
        MainLoopPowerChop;
    end;

    begin
     SetupSrl;
     Activateclient;
     Disguise('Windows Live Messenger');
     CheckSettings;
     DeclarePlayers;
     WhatTree;
     Wait(1000+random(500));
     if (not (LoggedIn)) then
       LoginPlayer;
       Setup;
     If PowerChop = 'No' then
     begin
       If Tr33Type = 1 then
         MainLoopYew;
       If Tr33Type = 2 then
         MainLoopWillow;
     end else
     if PowerChop = 'Yes' then
     begin
       MainLoopPowerChop;
     end;
    end.

  2. #2
    Join Date
    Dec 2007
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Sugestion

    You should give your script a name:
    SCAR Code:
    //////////////////////////////////////////////////////////////////////
     
    program ->>>>NAMEHERE<<<<---;
    {.include SRL\SRL.scar}

    Stupid mistake IMO.
    If I see you autoing with level 3/default clothes/crap name I WILL report you. Auto Correctly. - put this in your sig (I did, so should u )

    http://www.fenjer.com/adnan/SRLStats/3907.png

  3. #3
    Join Date
    Sep 2007
    Location
    Sweden
    Posts
    765
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    wow man, this looks really great..im not very good at scripting so i might have wrong =P

  4. #4
    Join Date
    Mar 2007
    Location
    <3
    Posts
    2,683
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Lol that wasnt a mistake

    I just want to know if i missed something..
    Right now im Adding:
    EntFinder
    AxeConfirmer
    Then i can add random walks to the spots..

    Thx kor.. i want someone that sayed Voted No in my Srl member Application to see this
    Also uptaded so it now look if you have a Axe equiped..

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
  •