need help with S.C.A.R scripting

Discussion in 'Archives' started by vinthepin, Jul 9, 2007.

need help with S.C.A.R scripting
  1. Unread #1 - Jul 9, 2007 at 11:51 AM
  2. vinthepin
    Referrals:
    0

    vinthepin Guest

    need help with S.C.A.R scripting

    evreytime i try to run this script i get this message

    line 395: [error] (15209:21) : unkown identifier 'runewhere' in script

    and i went to file and pressed download srl, but it still dose that. This is the script im having trouble on.

    {=========================================================================]
    [ 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 ]
    [ www.Villu-Reborn.com ]
    [=========================================================================]
    [ 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.');
    Writeln(' Cut Aprox. '+inttostr(Banked*27)+(' logs.'));
    Writeln('\==========================================/');
    for i := 0 to HowManyPlayers-1 do
    begin
    if Players.Active=True then Active:='True' else Active:='False';
    writeln( (inttostr(i))+' : '+Players.Name+ ' = '+Active+
    ' , Lvl = '+IntToStr(Players.Level[1])+ ', '+
    IntToStr(Players.Banked)+' Banked, '+
    IntToStr(Players.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('| WWW.Villu-Reborn.Com |');
    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 9, 2007 at 12:11 PM
  4. vinthepin
    Referrals:
    0

    vinthepin Guest

    need help with S.C.A.R scripting

    Someone please help i realy need help wuth this ive been having this problem for ever
     
  5. Unread #3 - Jul 9, 2007 at 2:23 PM
  6. -------owned-------
    Joined:
    Jan 27, 2007
    Posts:
    1,225
    Referrals:
    0
    Sythe Gold:
    0

    -------owned------- Guru
    Banned

    need help with S.C.A.R scripting

    I don't think runwhere is declared, or your SRL is outdated.
     
  7. Unread #4 - Jul 11, 2007 at 11:25 PM
  8. Sly St0ne
    Joined:
    Jul 10, 2007
    Posts:
    186
    Referrals:
    0
    Sythe Gold:
    0

    Sly St0ne Active Member

    need help with S.C.A.R scripting

    try using SCAR Divi 3.06 or 3.11. and update your SRL.
     
  9. Unread #5 - Aug 12, 2007 at 3:23 AM
  10. Evo_02
    Referrals:
    0

    Evo_02 Guest

    need help with S.C.A.R scripting

    u should get a better computer
     
< buying any pure! | selling lvl 92 barrow pure >

Users viewing this thread
1 guest


 
 
Adblock breaks this site