please help with this script i dont know how to work it

Discussion in 'Scar/Simba Help' started by slipknot ffs, Jul 27, 2007.

please help with this script i dont know how to work it
  1. Unread #1 - Jul 27, 2007 at 3:02 PM
  2. slipknot ffs
    Joined:
    Feb 5, 2007
    Posts:
    19
    Referrals:
    0
    Sythe Gold:
    0

    slipknot ffs Newcomer

    please help with this script i dont know how to work it

    Code:
    {=========================================================================]
    [                   Draynor Willow Whacker                                ]
    [                                                                         ]
    [           NAME        : Draynor Willow Whacker                          ]
    [           WRITER      : Dankness + Sumilion                             ]
    [           CATEGORY    : Woodcutter                                      ]
    [           DESCRIPTION : Will cut and bank willows in Draynor            ]
    [           USAGE       : Start in Draynor Bank read notes below          ]
    [           AUTOCOLOR   : Yes                                             ]
    [                                                                         ]
    [                   More Scripts can be found at                          ]
    [                       [url]www.Villu-Reborn.com[/url]                              ]
    [=========================================================================]
    [                           Instructions.                                 ]
    [=========================================================================]
    [ 1. USE Runescape with Low Detail, Very Bright.                          ]
    [ 2. Set your Screen to 32 bit TRUE color.                                ]
    [ 3. Set Playernames and Passwords in the form (comes when started).      ]
    [ 4. Start script Logged Out / Logged in                                  ]
    [ 5. Set Colors or Leave at Zero to autopick                              ]
    [ 6. Have WC Axe in First inventoryslot and more in the bank              ]
    [ 7. Setup varables from 43-61                                            ]
    [=========================================================================]
    [ Credits to :                                                            ]
    [  Kaitneiks   --> For SCAR and everything else                           ]
    [  WT-Fakawi   --> For SRL and the SRL Community                          ]
    [  MoparisBest --> For his execellent scripts and contributions           ]
    [  Stupid3000  --> For his SSI2 include and his other execellent scripts  ]
    [  Dankness    --> For the original Willow Whacker                        ]
    [=========================================================================}
    Program WilllowWhacker;
    {.include SRL\SRL.SCAR}
    {.include SRL\SRL\skill\WoodCutting.scar}
    Var
      Banked, Loads, AxeMask, StickMask, Broken, LogMask : Integer;
      DoWeHaveAxe : Boolean;
      NewAxes, MyMark, Dx, Dy : Integer;
      WillowColors: Array[1..3] of Integer;
      OtherBank:    Array[1..5] of Integer;
    
    //************************************************************************//
    Const
      VersionNumber   = '1.4'; // Don't touch it :)
      TreeTol         = 5;     // The tolerance the tree's can have.
      WaitTime        = 15;    // Maximum time to wait before clicking again.
      MinutesPerLoad  = 5;     // Maximum minutes per load.
      MaxLoads        = 8;     // Maximum loads before switching players.
      BankLogs        = true;  // Bank the logs or power chop them ?
      BankMethod      = 4;     // 1=OpenBank; 2=OpenBank3; 3=OpenBankQuiet; 4=OpenMyBank; (my own creation, rather simple)
    //************************************************************************//
    
    Procedure SetupVars;
     Begin
    //******   Main Screen Colors   ******\\
       WillowColors[1] := 0;    // Leave at zero to autoset
       WillowColors[2] := 0;    // Leave at zero to autoset
       WillowColors[3] := 0;    // Leave at zero to autoset
    //******  Mini-Map Colors  ******\\
       BankColor       := 0;    // Leave at zero to autoset
    //******  Settings  ******\\
       MouseSpeed      := 10;   // Speed of the mouse.
       BenMouse        := True; // Use human-like mouse movements ?
     End;
    
    //*****************DON'T TOUCH BELOW !!!*****************\\
    
    Procedure DeclarePlayers;
     Begin
       StartPlayers ( true, '' );
     End;
    
    //*****************Progress Report*****************\\
    
    procedure ProgressReport;//Credits to fakawi, a part is from the guild raper...
    
    var Active: string;
    var i: Integer;
    begin
      Writeln(' ');
      Writeln('<============= Willow Whacker =============>');
      Writeln('<========= -'+VersionNumber+'- Progress Report ==========>');
      Writeln('/==========================================\');
      Writeln('      Worked for '+ TimeRunning);
      Writeln('      Banked '+IntToStr(Banked)+' loads[s].');
      Writeln('      Cut Aprox.  '+inttostr(Banked*27)+(' logs.'));
      Writeln('\==========================================/');
       for i := 0 to HowManyPlayers-1 do
        begin
          if Players[i].Active=True then Active:='True' else Active:='False';
          writeln( (inttostr(i))+' : '+Players[i].Name+ ' = '+Active+
          ' , Lvl = '+IntToStr(Players[i].Level[1])+ ', '+
          IntToStr(Players[i].Banked)+' Banked, '+
          IntToStr(Players[i].Worked)+' Mins.')
        end
      Writeln('<==========================================>');
     end;
    
    //*****************BMP Strings*****************\\
    
    Procedure LoadBMPs;
     Begin
       StickMask := BitmapFromString(8, 9, 'z78DA33304000373030C00' +
         '083477CF0BB04530D312A890700500C5941');
       AxeMask := BitmapFromString(9, 7, 'z78DA3330200CDCC000BF08B' +
           '57491A7975459525D42BC7AE201000E5B4C8D');
       Broken := BitmapFromString(8, 7, 'z78DA3330200CDCC080183598' +
           '2A7189E33719BF8DB4D645897F01F7BF4639');
       LogMask := BitmapFromString(13, 10, 'z78DA33301805E40037BC8' +
           '0BAB6D0C2E5F451494998D02E5471010034299979');
    
     End;
    
    
    //*****************AutoColor*****************\\
    
    procedure CouldNotFindColors;
    begin
      WriteLn('ERROR, failed finding colors.')
      Writeln('Please run it again or set your own colors.');
      TerminateScript;
    end;
    
    Function FindTreeColorsIfNeeded(refrencecol,tol,tol2:integer):boolean;  // stolen from moparisbest who stole from stupid3000 i think//Was still intact
    Var
      c,a,b,xm,ym,curcolor:integer;
      oc1,oc2,oc3:boolean;
    
     Begin
      If ((WillowColors[1]=0) or (WillowColors[2]=0) or (WillowColors[3]=0)) Then
       Begin
        If (FindColorTolerance(x,y,refrencecol,3,3,515,338,tol)) Then//Find tree close
         Begin
          if (FindObj(x,y,'Chop',refrencecol,tol)) Then
           Begin
            a:=1;
            GetMousePos(x,y);
            xm:=x;
            ym:=y;
            repeat
             xm:=xm+a;
             ym:=ym+b;
             curcolor:=GetColor(xm,ym);
             MMouse(xm,ym, 5, 5);
             Wait(5+random(5));
             If(IsUpText('Chop'))then
              Begin
               If(SimilarColors(curcolor,refrencecol,tol2))and(oc1=false)then
                Begin
                 WillowColors[1]:=curcolor;
                 oc1:=true;
                End;
               If(SimilarColors(curcolor,refrencecol,tol2))and
                 (not(curcolor=WillowColors[1]))and(oc2=false)then
                Begin
                 WillowColors[2]:=curcolor;
                 oc2:=true;
                End;
               if(SimilarColors(curcolor,refrencecol,tol2))and
                 (not(curcolor=WillowColors[1]))and
                 (not(curcolor=WillowColors[2]))and(oc3=false)then
                Begin
                 WillowColors[3]:=curcolor;
                 oc3:=true;
                End;
               End;
              If(not(IsUpText('Chop')))then
               Begin
                c:=c+1;
                xm:=x;
                ym:=y
                MMouse(xm,ym,1,1);
                wait(200+random(100)+random(100))
                if(c=1)then a:=-1;
                 if(c=2)then begin a:=0;b:=-1;end;
                if(c=3)then begin a:=0;b:=2;end;
               End;
             Until((oc1)and(oc2)and(oc3))or(c>=4);
            End;
           End;
          If(WillowColors[1]>0)and(WillowColors[2]>0)and(WillowColors[3]>0)then result:=true;
         End;
     End;
    
    
    Function TryOtherBankColor : integer;//Something i made in case it failed finding the bank :)
     Var Number : integer;
     Begin
      OtherBank[1] := 3786196;
      OtherBank[2] := 6809849;
      OtherBank[3] := 4903650;
      OtherBank[4] := 6414581;
      OtherBank[5] := 5689576;
      Number := 0;
      Repeat;
       Number := Number + 1;
       If(FindColorTolerance(x, y, OtherBank[Number], MMX1, MMY1, MMX2, MMY2, 25)) Then
        Begin
         Result := GetColor(x,y);
         Writeln('New Bank color is : '+IntToStr(Result));
         Break;
        End Else;
         Begin
          If (Number = 5)Then
           CouldNotFindColors
         End;
      Until(Number = 5);
     End;
    
    procedure Setcolorsifneeded;//Same, only deleted the find tree symbol...what was it for anyway ?!
    //var
    //  c:integer;
    begin
     {If Not (FindColor(x, y, BankColor, MMX1, MMY1, MMX2, MMY2)) Then BankColor := 0;
     if(BankColor=0)then begin
      Status('Finding bank color please Wait...');
      while(BankColor=0)do
       begin
        c:=c+1;
        if(BankColor=0)then Begin BankColor:=GetSymbolColor(x,y,'bank'); Break; End;
        if(c>20) then CouldNotFindColors;
        Wait(Random(50)+500);
       end;
      end;}
      BankColor := TryOtherBankColor;
    end;
    //*****************Pieces of Banking*****************\\
    
    Procedure Gotobank;//Totally redo this part, was broken like hell...
     Begin
      If Not(LoggedIn) Then Exit;
      If Not (FindColorTolerance(x, y, BankColor, MMX1, MMY1, MMX2, MMY2, 10)) Then
       Begin
        Writeln('Bank not found, please restart...');
        TerminateScript;
        If(FindColorTolerance(x, y, BankColor, MMX1, MMY1, MMX2, MMY2, 10)) Then
         Begin
          Mouse(x, y, 5, 5, true);
          FFlag(0);
         End;
       End;
      If(FindColorTolerance(x, y, BankColor, MMX1, MMY1, MMX2, MMY2, 10)) Then
       Begin
        Mouse(x, y, 5, 5, true);
        FFlag(0);
       End;
      ToBankers(BankColor,5,0);
      FFlag(0);
     End;
    
    Procedure BackToWillow;//Simple yet affective
     Begin
      If Not(LoggedIn) Then Exit;
      If FindColorTolerance(x,y,BankColor,11,7,759,382,2) Then
      Mouse(x-28,y+40,10,10,true);
      FFlag(0);
    end;
    
    //*****************Banking*****************\\
    
    Function CheckAxe : Boolean;//Made by Sumilion
     Begin
       GameTab(4);
       If(FindBitmapMaskTolerance(AxeMask, X, Y, MIX1, MIY1, MIX2, MIY2, 5, 5)) Then
        Begin
          Result := true;
        End else
         Begin
           GameTab(5);
           Wait(300+Random(200));
           If (FindBitmapMaskTolerance(AxeMask, X, Y, MIX1, MIY1, MIX2, MIY2, 5, 5))Then
            Begin
              Result := true;
              Mouse(x, y, 0, 0, true);
            End;
         End;
     End;
    
    Procedure OpenMyBank;
    Var
      BankMark : Integer;
     Begin
       MarkTime(BankMark);
       Repeat;
        If ( BankScreen ) Then Exit;
        If (FindObj(x, y, 'ank', 3355448, 10)) Then
         Begin
           Mouse(x, y, 5, 5, false);
           ChooseOption(x, y, 'uick');
           Wait(1000+Random(3000));
         End;
       Until (BankScreen) or (TimeFromMark(BankMark) > 60000)
     End;
    
    procedure DankDeposit; //Kept as original.... huh ?!
    var i,e :integer;
    begin
    i:=1;
     while(i<6) do
      begin
       if (i=5) and (e<8) then
        begin
         i:=0;
         e:=e+1;
        end;
       if(FindColor(x,y,65536,(569+42*i),(213+36*e),(569+42*i+31),(213+36*e+30)))then
        begin
         Mouse(574+((42-1)*i),218+((36-1)*e),20,20,false);
         chooseoption(x,y,'All');
         wait(1000+random(500));
         end;
       i:=i+1;
      end;
      if Not ( DoWeHaveAxe ) then begin // withdraws new axe from first bank slot and sets new colors
        DoWeHaveAxe := true;
        Wait(500+Random(500));
        If ( FindBitmapMaskTolerance(StickMask, x, y, MIX1, MIY1, MIX2, MIY2, 5, 5) ) Then
         Mouse(x, y, 0 ,0, true);
        If ( FindBitmapMaskTolerance(AxeMask, x, y, MSX1, MSY1, MSX2, MSY2, 5, 5) ) Then
         Begin
           Mouse(x, y, 0 ,0, true);
         End Else
          Begin
           Writeln('No more axes on'+Players[CurrentPlayer].Name);
           LogOut;
           NextPlayer(false);
          End;
        NewAxes := NewAxes+1;
        Writeln(IntToStr(NewAxes));
        CloseBank;;
        Wait(1500+random(500));
        FindAxeHeadColor;
      end;
    end;
    
    Procedure Banking; // Remained the same, aw, it was working ;)
     Begin
      If Not(Loggedin) then exit;
      Gotobank;
      If ( BankMethod = 1 ) Then OpenBank;
      If ( BankMethod = 2 ) Then OpenBank3;
      If ( BankMethod = 3 ) Then OpenBankQuiet('db');
      If ( BankMethod = 4 ) Then OpenMyBank;
      OpenMyBank;
      wait(500+Random(200));
      If (Bankscreen) Then
       Begin
        Players[CurrentPlayer].Loc:='Banking';
        Wait(500+Random(1000))
        DankDeposit;
        Wait(1000+Random(1000))
        If ( BankScreen ) Then CloseBank;
        If ( BankScreen ) Then CloseBank;
        Wait(1000+Random(1000))
        BackToWillow;
        Wait(1000)
       End Else exit;
    end;
    
    //*****************Randoms*****************\\
    Function WillowColor : Integer ; Forward;
    
    Function Ent(Ex,Ey : integer): Boolean;//Made by Charmz.
    Begin
     MMouse(Ex, Ey, 0, 0);
     If(FindColorSpiralTolerance(x, y, 3432536, MSX1, MSY1, MSX2, MSY2, 10))then
      MMouse(x, y, 0, 0);
      If(IsUpText('Chop')) or (IsUpText('Willow')) or (IsUpText('Down'))then
       Begin
        If(FindColorSpiralTolerance(x, y, 383705, 1, 1, 180, 39, 20))or
          (FindColorSpiralTolerance(x, y, 65535, 1, 1, 200, 40, 20))then
         Begin
          Result:= True;
          EntsAvoided:=EntsAvoided + 1;
          WriteLn('Ent found, waiting');
          Mouse(648, 83, 1, 1, True);
          Wait(5000+Random(2000));
         End else
          Result:= False;
          Exit;
      End;
    End;
    
    Function AxeDamaged:boolean;
    begin
     GameTab(4);
     Result:=FindBitmapMaskTolerance(Broken, x, y, MIX1, MIY1, MIX2, MIY2, 5, 5);
    end;
    
    Procedure Randoms;//Original procedure, added some stuff...
    begin
      If Not(LoggedIn) Then Exit;
      FindNormalRandoms;
      If (Axedamaged) Then Begin DoWeHaveAxe := false; Banking; End;
      FindHead;
      If (FindFight) Then RunWhere('N', true);
      If (FindDead) Then Begin Logout; NextPlayer(false); Writeln('Player died...'); End;
      FindEnt(WillowColor);
      FindBirdsNest;
    end;
    
    //*****************Chop Procedures(most is wizzups)*****************\\
    Function WillowColor : integer;//From Original script.
      Var RandomColor:integer;
     Begin
      Repeat
       RandomColor:=random(3)+1;
      Until (RandomColor >= 1) or (RandomColor <= 3);
     Result:=WillowColors[RandomColor];
    End;
    
    Function FindTree(MaxTol:Integer):Boolean;//Stolen from wizzups powerminer, modded by me
    
    Var Tol,Ex,Ey:Integer;
    
    Begin
      While (Not (FindColorTolerance(Ex, Ey, WillowColor, MSX1, MSY1, MSX2, MSY2, Tol))
      And Not (Tol > MaxTol)) Do
        Begin
          Tol:=Tol+1;
        End;
      If ((FindColorTolerance(Ex, Ey, WillowColor, MSX1,MSY1 ,MSX2, MSY2, Tol))
      And Not (Tol > MaxTol)) Then Result:=True;
      Tol:=1;
      Wait(10);
    End;
    
    Function StartChopping:Boolean; //Stolen from wizzups powerminer, modded by me
    
    Var
       Ex,Ey   :  Integer;
    Begin
      If Not (LoggedIn) Then Exit;
      If (FindTree(TreeTol)) Then
      Begin
        If ( BankLogs ) Then
          If Not FindColor(x, y, BankColor, MMX1, MMY1, MMX2, MMY2) Then Exit;
        Result := True;
        If FindObj(Dx, Dy, 'low', WillowColor, TreeTol) Then
         Begin
          If Not (Ent(Dx, Dy)) Then
           Begin
          If Random (20) < 18 Then
           Begin
            Mouse(Dx, Dy, 0, 0, True);
           End Else
            Begin
             Mouse(Dx, Dy, 0, 0, False);
             ChooseOption(Ex, Ey, 'own');
            End;
           If (FlagPresent) Then
            Begin
                Flag;
                Wait(500+Random(500));
              End;
            MarkTime(Mark);
            While (Not (TimeFromMark(Mark) > (1000 * WaitTime))) Do
              Begin
                Wait(1000);
                Randoms;
                If Not (IsUpText('low')) Then Break;
                If (InvFull) Then Break;
              End
            End;
           End
        End;
     End;
    
    //************************************************************************//
    //**     DO NOT REMOVE I GIVE FREE SCRIPTS DEAL WITH MY PLUGS           **//
    //************************************************************************//
    
    Procedure DebugStart1;
     Begin
      Writeln(' _____              _');
      Writeln('|  __ \            | |');
      Writeln('| |  | | __ _ _ __ | | ___ __   ___  ___ ___');
      Writeln('| |  | |/ _` | ''_ \| |/ / ''_ \ / _ \/ __/ __|');
      Writeln('| |__| | (_| | | | |   <| | | |  __/\__ \__ \');
      Writeln('|_____/ \__,_|_| |_|_|\_\_| |_|\___||___/___/');
      Writeln('+ A little Sumilion ;)   Scripts Brings You:');
      Writeln('');
      Writeln('           Draynor Willow Whacker            ');
     End;
    
    Procedure DebugStart2;
    Var a:string; i:integer;
     Begin
      a:='/';
      for i:=1 to 42 do a:=a+'=';
      a:=a+'\';
      writeln(a);
      a:='|';
      for i:=1 to 8 do a:=a+' ';
      a:=a+'Please visit my forums at';
      for i:=1 to 9 do a:=a+' ';
      a:=a+'|';
      writeln(a);
      writeln('|           [url]WWW.Villu-Reborn.Com[/url]           |');
      a:='\';
      for i:=1 to 42 do a:=a+'=';
      a:=a+'/';
      writeln(a);
     End;
    
    Procedure SetupUser; Forward;
    
    Procedure MyMultiPlayer;
     Begin
      If Not (LoggedIn) Then LoginPlayer;
      If (Loads >= MaxLoads) Then Logout;
     End;
    
    Procedure SetupClient;
     Begin
      SetupSRL;
      SetupVars;
      ClearDebug;
      DebugStart1;
      DebugStart2;
      DeclarePlayers;
      ActivateClient;
      Wait(1000+Random(2000));
      LoadBMPs;
     End;
    
    Procedure SetupUser;
     Begin
      If Not ( LoggedIn ) Then LoginPlayer;
      SetRun(true);
      PerfectNorth;
      Players[CurrentPlayer].Level[1] := GetSkillLevel('woodcutting');
     End;
    
    //*****************Main Line*****************\\
    
    Begin
      SetupClient;
      SetupUser;
      If ( BankLogs ) Then SetColorsIfNeeded;
      Repeat;
       If (LoggedIn) Then
        Begin
          If ( BankLogs ) Then BackToWillow;
          SetupUser;
          DoWeHaveAxe := FindAxeHeadColor;
          If Not DoWeHaveAxe Then Banking;
          FindTreeColorsifneeded(3102800,5,45);
        End;
       Repeat
        MarkTime(MyMark)
        Repeat
         If Not (LoggedIn) Then Break;
         StartChopping;
        Until (( InvFull )
        Or (TimeFromMark( MyMark ) > 1000 * 60 * MinutesPerLoad))
        Or (Not(LoggedIn));
        If (BankLogs) Then Banking;
        If (Not (BankLogs)) and (LoggedIn) Then
         ClickAllItemsBmpMaskTolWait('rop', LogMask, 5, 5, 2);
        Banked := Banked+ 1;
        Loads := Loads + 1;
        Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
        ProgressReport;
        SRLRandomsReport;
        MyMultiPlayer;
       Until Not(Loggedin);
       Loads := 0;
       NextPlayer(true);
      Until (false);
    End.
     
  3. Unread #2 - Jul 27, 2007 at 3:03 PM
  4. slipknot ffs
    Joined:
    Feb 5, 2007
    Posts:
    19
    Referrals:
    0
    Sythe Gold:
    0

    slipknot ffs Newcomer

    please help with this script i dont know how to work it

    please help me!!!


    thanks
     
  5. Unread #3 - Jul 27, 2007 at 3:11 PM
  6. slipknot ffs
    Joined:
    Feb 5, 2007
    Posts:
    19
    Referrals:
    0
    Sythe Gold:
    0

    slipknot ffs Newcomer

    please help with this script i dont know how to work it

    bump.
     
  7. Unread #4 - Jul 27, 2007 at 3:55 PM
  8. Town
    Joined:
    Jan 21, 2007
    Posts:
    3,776
    Referrals:
    3
    Sythe Gold:
    5

    Town Grand Master
    Scar Programmers

    please help with this script i dont know how to work it

    Copy + paste the script into Scar and press play.
     
  9. Unread #5 - Jul 28, 2007 at 9:21 AM
  10. arberb
    Referrals:
    0

    arberb Guest

    please help with this script i dont know how to work it

    26.07.2007

    If you bought SCAR, ask who you bought it from a refund NOW! SCAR is
    completely FREE.
    Loaded all chars. (NPCChars, TradeChars, SmallChars, StatChars, UpChars)
    Failed when compiling
    Line 25: [Error] (64:1): Duplicate identifier 'UpChars' in script C:\Program Files\SCAR 3.10\includes\srl\srl\core\Globals.scar
    User specified a new RS window
    Help thats what i tells me
     
  11. Unread #6 - Jul 28, 2007 at 10:39 AM
  12. Town
    Joined:
    Jan 21, 2007
    Posts:
    3,776
    Referrals:
    3
    Sythe Gold:
    5

    Town Grand Master
    Scar Programmers

    please help with this script i dont know how to work it

  13. Unread #7 - Jul 28, 2007 at 8:57 PM
  14. i am very 1337
    Referrals:
    0

    i am very 1337 Guest

    please help with this script i dont know how to work it

    thats cool i have never tried scar before
     
  15. Unread #8 - Aug 1, 2007 at 2:46 PM
  16. CHRIS999
    Referrals:
    0

    CHRIS999 Guest

    please help with this script i dont know how to work it

    man i can even get scar 2 work man
     
< im gettin a runtime error this time? | Is it possible? >

Users viewing this thread
1 guest


 
 
Adblock breaks this site