Adblock breaks this site

No script will work for me...

Discussion in 'Scar/Simba Help' started by Runescapian321, Sep 21, 2007.

  1. Runescapian321

    Runescapian321 Active Member

    Joined:
    Sep 19, 2007
    Posts:
    179
    Referrals:
    0
    Sythe Gold:
    0
    No script will work for me...

    I'm new to this and I can't get any script to work for me. I have SCAR 3.11 and SRL 4. I've been trying ever SRL4 script I could find, but I can't get them to work. I'm probably putting something in wrong when I have to fill the stuff in on the script. Could somebody fill this script out for me so I will see what I'm doing wrong? (Lets say the 3 guys I want to auto with are Bob1, Bob2, and Bob3, and for the passwords (which you need to put in, right?) are all Bob) Heres the script (oh and where you filled stuff in could you make it in another color so I see what you changed? I'd appreciate it) -

    {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
    | |
    | [SRL]PowerChopper Free Version |
    | By : Pwnaz0r |
    | |
    | Updates : September 09, 2007 |
    | - Script Released |
    | |
    | Features : - Stable chopping and dropping |
    | |
    | Instructions : Fill in player array (Line 37) |
    | Locate Players near the tree types |
    | Hit Run! |
    | |
    | Credits : Hy - Asked For it ;) |
    | |
    | |
    | |
    | |
    |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}

    program SRL_PowerChopper;
    {.include SRL/SRL.scar}
    {.include SRL/SRL/Skill/Woodcutting.scar}

    Const DebugAll = True; //Debugs every detail
    MaxTime = 8; //Max time to cut tree in seconds
    DropRandomItems = True; // Drop All items from randoms?
    Version = '1.10'; //Dont mess


    var
    TreeCols: array [0..2] of integer;
    TreeName: string;
    logs, gems, loads: integer;
    strLogs, strGems, PlayerTreeName: String;

    procedure ClearVars; forward;
    procedure DeclarePlayers;
    begin

    SRLID := '';
    SRLPassword := '';
    HowManyPlayers := 2;
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer := 0;

    Players[0].Name :='';
    Players[0].Pass :='';
    Players[0].Nick :='';
    Players[0].Integers[2] := 50; //Loads To Do
    Players[0].Strings[1] := 'regular'; // Regular, Oak, Willow

    Players[1].Name :='';
    Players[1].Pass :='';
    Players[1].Nick :='';
    Players[1].Integers[2] := 50; //Loads To Do
    Players[1].Strings[1] := 'regular'; // Regular, Oak, Willow

    {Players[2].Name :='';
    Players[2].Pass :='';
    Players[2].Nick :='';
    Players[2].Integers[2] := 50; //Loads To Do
    Players[2].Strings[1] := 'regular'; // Regular, Oak, Willow

    Players[3].Name :='';
    Players[3].Pass :='';
    Players[3].Nick :='';
    Players[3].Integers[2] := 50; //Loads To Do
    Players[3].Strings[1] := 'regular'; // Regular, Oak, Willow

    Players[4].Name :='';
    Players[4].Pass :='';
    Players[4].Nick :='';
    Players[4].Integers[2] := 50; //Loads To Do
    Players[4].Strings[1] := 'regular'; // Regular, Oak, Willow
    }

    Writeln('Player(s): '+IntToStr(HowManyPlayers)+';');
    ClearVars;
    end;

    var
    x,y: integer;

    procedure ClearVars;
    var
    I : integer;
    begin
    for I := 0 to HowManyPlayers - 1 do
    begin
    Players.Integers[0] := 0;
    Players.Integers[1] := 0;
    Players.Integers[6] := 0;
    Players.Integers[5] := 0;
    Players.Integers[7] := 0;
    Players.Active := True;
    Players.Loc := '';
    Players.Rand := '';
    end;
    if SRLid = '' then
    begin
    SRLid := '';
    SrlPassword := '';
    end;
    ScriptId := '274';
    logs:= 0;
    gems:= 0;
    loads:= 0;
    strLogs:= '0';
    strGems:= '0';
    end;

    procedure Debug(str: string);
    begin
    str:= '['+TheTime+']- ' + str;
    AddToReport(str);
    end;

    procedure PlayerDebug(str: string);
    begin
    str:= 'Player['+IntToStr(CurrentPlayer)+'] - '+Str;
    Writeln(str);
    end;

    Procedure ChatBoxStyle;
    begin
    If GetColor(17,484) = 1452085 then exit else Mouse(51,496,3,3,true);
    SetChat('friends',1);
    end;

    procedure Tab11Details;
    begin
    Gametab(11);
    if not GetColor(709,229) = 9584920 then Mouse(709,229,3,3,true);
    if not GetColor(609,265) = 10172937 then Mouse(609,265,3,3,true);
    if not GetColor(608,302) = 10172937 then Mouse(608,302,3,3,true);
    if not GetColor(607,339) = 10172937 then Mouse(607,339,3,3,true);
    SetRun(true);
    end;

    function FindAxeEx: boolean; forward;
    function SetUpNextPlayer(ChangePlayer, Active: boolean): boolean;
    begin
    result:= true;
    If ChangePlayer then NextPlayer(Active);
    TreeName:= 'none';
    Case LowerCase(Players[CurrentPlayer].Strings[1]) of
    'none': begin
    Writeln('Invalid Tree Name! Cutting regulars instead');
    PlayerTreename:= 'regular';
    end;
    'regular','tree','normal': PlayerTreename:= 'regular';
    'oak': playertreename:= 'oak';
    'willow': Playertreename:= 'willow';
    end;
    NickNameBMP := CreateBitMapMaskFromtext(Players[CurrentPlayer].Nick,UpChars);
    ChatBoxStyle;
    Tab11Details;
    PerfectNorth;
    SetRun(false);
    FindAxeEx;
    Loads:= 0;
    end;

    function AxePresent: boolean;
    var
    axemask: integer;
    begin
    axemask:= BitmapFromString(12, 6, 'z78DA3330200CDCC060F0A8A19' +
    '669C4DB854B3DA92660EA25D50400350956AD');
    result:= FindBitmapMaskTolerance(axemask,x,y,547,203,737,467,5,5);
    end;

    function FindAxeEx: boolean;
    var
    I: integer;
    begin
    for i:= 4 to 5 do
    begin
    GameTab(i);
    if axepresent then
    begin
    result := true;
    players[currentplayer].integers[5] := GetColor(x,y);
    case I of
    4 : Players[currentplayer].booleans[5] := false;
    5 : begin
    Mouse(x,y,0,0,true);
    Wait(1200);
    Gametab(4);
    Players[CurrentPlayer].Booleans[5] := false;
    end;
    end;
    If DebugAll then
    begin
    Debug('Axe Found');
    PlayerDebug('Axe Color('+IntToStr(players[currentplayer].integers[5])+') Axe Wielded('+BoolToStr(Players[CurrentPlayer].Booleans[5])+')');
    end;
    exit;
    end;
    end;
    If DebugAll then
    begin
    Debug('Axe NOT Found');
    PlayerDebug('No Axe!');
    end;
    Players[CurrentPlayer].Loc := 'No Axe';
    NextPlayer(false);
    end;

    function ControlAxe: boolean;
    var
    rndx,rndy,I: integer;
    begin
    for I:= 4 to 5 do
    begin
    Gametab(I);
    Result:= FindColorTolerance(rndx,rndy,Players[CurrentPlayer].Integers[5],547,203,737,467,1);
    if Result and (I = 5)then
    begin
    Mouse(rndx,rndy,3,3,true);
    PlayerDebug('Axe was Somehow Wielded');
    end;
    if Result then Exit;
    end;
    end;

    function HandleAxe: boolean;
    var
    tmptArray: array of Tpoint;
    tmpint: integer;
    tmpCST: integer;
    begin
    result:= not ControlAxe;
    if result then
    begin
    tmpCST:= GetColorToleranceSpeed;
    SetColorSpeed2Modifiers(0.3,0.3);
    ColorToleranceSpeed(2);
    FindColorsTolerance(tmptarray,Players[CurrentPlayer].Integers[5],25,25,(MSX2-25),(MSY2-25),10);
    for tmpint:= 0 to Length(tmptarray) -1 do
    begin
    MMouse(tmptarray[tmpint].x,tmptarray[tmpint].y,0,0);
    if IsUpTextMulti('ake','ead','xe')then
    begin
    GetMousePos(x,y);
    Mouse(x,y,0,0,true);
    Flag;
    Wait(800);
    ColorToleranceSpeed(tmpCST);
    Exit;
    end;
    end;
    ColorToleranceSpeed(tmpCST);
    end;
    end;

    function HandleRandoms(x, y: integer): Boolean;
    var
    i: Integer;
    begin
    NickNameBMP:= CreateBitmapMaskFromText(Players[Currentplayer].Nick,UpChars);
    for i:= 1 to 3 do
    begin
    case I of
    1: if FindNormalRandoms then result:= true;
    2: if HandleAxe then result:= true;
    3: if FindEnt(x,y, true) then result:= true;
    end;
    wait(1);
    end;
    end;

    procedure Reset(var X, Y: integer);
    begin
    try
    X := Round(MSX2/2);
    Y := Round(MSY2/2);
    except
    X := MSCX;
    Y := MSCY;
    end;
    end;

    procedure SetData(tree: String);
    begin
    case Lowercase(tree) of
    'regular','tree':
    begin
    TreeName:= 'ree';
    TreeCols[0]:= 1866347;
    TreeCols[1]:= 4096372;
    TreeCols[2]:= 3633766;
    end;
    'oak': begin
    TreeName:= 'ak';
    TreeCols[0]:= 4089180;
    TreeCols[1]:= 2317388;
    TreeCols[2]:= 1853512;
    end;
    'willow': begin
    TreeName:= 'illo';
    TreeCols[0]:= 6125682;
    TreeCols[1]:= 2526330;
    TreeCols[2]:= 3043941;
    end;
    end;
    end;

    function ReturnArray(TPA: array of TPoint; Modifiers: integer): TPointArray; forward;
    function FindTree(x1, y1, x2, y2:integer; Move: boolean): boolean;
    var
    tmp: integer;
    tmpt: array of TPoint;
    begin
    SetColorSpeed2Modifiers(1.0,1.0);
    Reset(x,y);
    ColorToleranceSpeed(2);
    FindColorsSpiralTolerance(x,y,tmpt,TreeCols[0],x1,y1,x2,y2,2);
    tmpt:= ReturnArray(tmpt,20);
    For tmp:= 0 to Length(tmpt) -1 do
    begin
    x:= tmpt[tmp].x;
    y:= tmpt[tmp].y;
    If FindColorSpiralTolerance(x,y,TreeCols[1],(x-5),(y-5),(x+5),(y+5),2)then
    If FindColorSpiralTolerance(x,y,TreeCols[2],(x-5),(y-5),(x+5),(y+5),2)then
    begin
    if Move then
    begin
    MMouse(x,y,0,0);
    result:= IsUpText(TreeName);
    end else
    begin
    result:= true;
    end;
    if result then exit;
    end;
    end;
    end;

    procedure ClickTree;
    begin
    GetMousePos(X,Y);
    case random(1) of
    0: Mouse(X,Y,0,0,true);
    1: begin
    Mouse(X,Y,0,0,false);
    ChooseOption('hop');
    end;
    end;
    end;

    function FollowTree(var x,y: integer): boolean;
    begin
    SetColorSpeed2Modifiers(1.0,1.0);
    ColorToleranceSpeed(2);
    result:= FindTree(x - 25, y - 25, x + 25, Y + 25, false);
    end;

    function TreeChoppedAt(x, y:integer): boolean;
    begin
    SetColorSpeed2Modifiers(1.0,1.0);
    ColorToleranceSpeed(2);
    result:= not FindTree(x - 25, y - 25, x + 25, Y + 25, false);
    end;

    function ReturnArray(TPA: array of TPoint; Modifiers: integer): TPointArray;
    var
    tmp, tmp1, tmp2: integer;
    begin
    SetArrayLength(TPA,10);
    for tmp:= 0 to Length(TPA) - 1 do
    begin
    for tmp1:= 0 to Length(TPA) - 1 do
    begin
    if Max(TPA[tmp].x,TPA[tmp1].x) - Min(TPA[tmp].x,TPA[tmp1].x) >= Modifiers then
    if Max(TPA[tmp].y,TPA[tmp1].y) - Min(TPA[tmp].y,TPA[tmp1].y) >= Modifiers then
    begin
    SetArrayLength(Result,Length(result) + 1);
    tmp2:= Length(result) - 1;
    result[tmp2].x:= TPA[tmp].x;
    result[tmp2].y:= TPA[tmp].y;
    end;
    end;
    end;
    Status('done');
    end;

    function Chop(data: string): boolean;
    var
    tmpMark: integer;
    begin
    SetData(data);
    If FindTree(0, 0, MSX2, MSY2, true) then
    begin
    GetMousePos(x, y);
    Clicktree;
    while FlagPresent do
    begin
    FollowTree(x, y);
    end;
    end;
    MarkTime(tmpMark);
    repeat
    if HandleRandoms(x, y) then
    begin
    If DebugAll then
    PlayerDebug('Random Found!');
    break;
    end;
    if TimeFromMark(tmpMark) >= (MaxTime + random(3)) * 1000 then
    begin
    if DebugAll then
    PlayerDebug('Too long to cut tree');
    break;
    end;
    until(TreeChoppedAt(x, y));
    result:= true;
    end;

    function GetInvSlot(x, y: integer): integer;
    var
    I: integer;
    begin
    result:= - 1;
    for I:= 1 to 28 do
    begin
    if IntInBox(x, y, invBox(I)) then
    begin
    result:= I;
    exit;
    end;
    end;
    end;

    function DropLogs: boolean;
    var
    LogMask, lx, ly, failsafemark, CurrentLog: Integer;
    begin
    LogMask := BitmapFromString(19, 14, 'z78DA3330A00E704302067407' +
    'F4B777D4C6A16EE3F0F09D1B5E400B9369E7F2E114D7230100008' +
    'F6836A8');
    Gametab(4);
    while FindBitMapMaskTolerance(LogMask, lx, ly, 554, 207, 727, 464, 3, 3) do
    begin
    CurrentLog:= GetInvSlot(lx, ly);
    Mouse(lx, ly, 4, 4, false);
    if ChooseOption('rop')then
    begin
    logs:= logs + 1;
    Players[Currentplayer].integers[6]:= Players[Currentplayer].integers[6] + 1;
    Reportvars[0]:= 1;
    SendSRLReport;
    strLogs:= IntToStr(logs);
    MarkTime(FailsafeMark);
    repeat
    wait(1);
    If TimeFromMark(FailSafeMark) >= 2300 then
    begin
    Logs:= Logs - 1;
    Players[Currentplayer].integers[6]:= Players[Currentplayer].integers[6] - 1;
    StrLogs:= IntToStr(Logs);
    break;
    end;
    until not ExistsItem(CurrentLog);
    end;
    end;
    result:= true;
    FreeBitmap(LogMask);
    end;

    procedure DropGems;
    var
    GemMask, gx, gy: integer;
    begin
    GemMask := BitmapFromString(18, 16, 'z78DA3330201FB88181015D00' +
    '3DED1ADEBE1BB56BD4AE511FE1D7452A30180503040097E74EE4');
    GameTab(4);
    While FindBitMapMaskTolerance(GemMask, gx, gy, 554, 207, 727, 464, 3, 3) do
    begin
    Players[Currentplayer].integers[7] := Players[Currentplayer].integers[7] + 1;
    Gems:= Gems + 1;
    strGems:= IntToStr(Gems);
    end;
    FreeBitmap(Gems);
    end;

    procedure Callibrate;
    var
    i: integer;
    begin
    If SRLId = '' then
    begin
    GetSelf.WindowState:= wsNormal;
    ChangeReportWidth(1);
    ClearDebug;
    For I:= 0 to 9 do
    Writeln('Please Register an SRL Stats ID and declare the Name and password in Declareplayers!');
    Try GetPage('http://www.stats.srl-forums.com/?action=register');
    except
    Writeln('http://www.stats.srl-forums.com/?action=register');
    end;
    Cleardebug;
    For I:= 0 to 9 do
    Writeln('Please Register an SRL Stats ID and declare the Name and password in Declareplayers!');
    Writeln('http://www.stats.srl-forums.com/?action=register');
    TerminateScript;
    end;
    end;

    procedure PlayerReport;
    var
    I, i2, i3: integer;
    exp, tmpstr: string;
    begin
    Writeln(' # | Nick | Logs Chopped | Gems Dropped | Exp Gained');
    for I:= 0 to length(Players) - 1 do
    begin
    i2:= Length(Players.Nick);
    tmpStr:= '';
    For i3 := 1 to i2 do
    tmpstr:= tmpStr+'*';
    case Lowercase(Players.Strings[1]) of
    'regular','tree': exp:= IntToStr(Players.integers[6] * Round(GetTreeExp('tree')));
    'oak': exp:= IntToStr(Players.integers[6] * Round(GetTreeExp('oak')));
    'willow': exp:= IntToStr(Players.integers[6] * Round(GetTreeExp('willow')));
    end;
    Writeln(' '+IntToStr(i)+' | '+tmpStr+' | Logs : '+IntToStr(Players.Integers[6])+' | Gems : '+IntToStr(Players.Integers[7])+' | Exp : '+Exp);
    end;
    end;

    procedure Report;
    var
    H, M, S: integer;
    begin
    SRLRandomsReport;
    SendSRLReport;
    ClearDebug;
    Writeln(' /=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\');
    Writeln(' | [SRL]PowerChopper V '+Version+' |');
    Writeln(' | By : Pwnaz0r |');
    Writeln(' \=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=--=/');
    Writeln('');
    ConvertTime(GetTimeRunning,H,M,S);
    Writeln(' Worked For ' + InttoStr(H) + ' hours, ' + IntToStr(M) + ' minutes and '+ IntToStr(S) + ' seconds ');
    Writeln(' Chopped '+strLogs+' tree(s) total');
    Writeln(' Dropped '+strGems+' gems(s) total');
    Writeln('');
    PlayerReport;
    end;

    begin
    SetupSRL;
    ScriptId:= '296';
    DeclarePlayers;
    ClearDebug;
    ActivateClient;
    repeat
    SetUpNextPlayer(false, false);
    if not LoggedIn then Exit;
    repeat
    if InvFull then
    begin
    DropLogs;
    If DropRandomItems then
    begin
    DropGems;
    end;
    Loads:= Loads + 1;
    end;
    Chop(PlayerTreeName);
    Report;
    until(Loads >= Players[CurrentPlayer].Integers[2]);
    SetUpNextPlayer(true, false);
    until(false);
    end.
     
  2. Zeta

    Zeta Guru
    Banned

    Joined:
    Jan 21, 2007
    Posts:
    1,680
    Referrals:
    3
    Sythe Gold:
    0
    No script will work for me...

    it wasn't your problem the script wasn't working, there was a space where there wasn't supposed to be, but here it should work now..

    Code:
    {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
    | |
    | [SRL]PowerChopper Free Version |
    | By : Pwnaz0r |
    | |
    | Updates : September 09, 2007 |
    | - Script Released |
    | |
    | Features : - Stable chopping and dropping |
    | |
    | Instructions : Fill in player array (Line 37) |
    | Locate Players near the tree types |
    | Hit Run! |
    | |
    | Credits : Hy - Asked For it  |
    | |
    | |
    | |
    | |
    |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
    
    program SRL_PowerChopper;
    {.include SRL/SRL.scar}
    {.include SRL/SRL/Skill/Woodcutting.scar}
    
    Const DebugAll = True; //Debugs every detail
    MaxTime = 8; //Max time to cut tree in seconds
    DropRandomItems = True; // Drop All items from randoms?
    Version = '1.10'; //Dont mess
    
    
    var
    TreeCols: array [0..2] of integer;
    TreeName: string;
    logs, gems, loads: integer;
    strLogs, strGems, PlayerTreeName: String;
    
    procedure ClearVars; forward;
    procedure DeclarePlayers;
    begin
    
    SRLID := '';
    SRLPassword := '';
    HowManyPlayers := 2;
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer := 0;
    
    Players[0].Name :=[b]'bob1;
    Players[0].Pass :='bob';
    Players[0].Nick :='ob1';
    Players[0].Integers[2] := 50; //Loads To Do
    Players[0].Strings[1] := 'regular'; // Regular, Oak, Willow
    
    Players[1].Name :='bob2';
    Players[1].Pass :='bob';
    Players[1].Nick :='ob2'[/b];
    Players[1].Integers[2] := 50; //Loads To Do
    Players[1].Strings[1] := 'regular'; // Regular, Oak, Willow
    
    {Players[2].Name :='';
    Players[2].Pass :='';
    Players[2].Nick :='';
    Players[2].Integers[2] := 50; //Loads To Do
    Players[2].Strings[1] := 'regular'; // Regular, Oak, Willow
    
    Players[3].Name :='';
    Players[3].Pass :='';
    Players[3].Nick :='';
    Players[3].Integers[2] := 50; //Loads To Do
    Players[3].Strings[1] := 'regular'; // Regular, Oak, Willow
    
    Players[4].Name :='';
    Players[4].Pass :='';
    Players[4].Nick :='';
    Players[4].Integers[2] := 50; //Loads To Do
    Players[4].Strings[1] := 'regular'; // Regular, Oak, Willow
    }
    
    Writeln('Player(s): '+IntToStr(HowManyPlayers)+';');
    ClearVars;
    end;
    
    var
    x,y: integer;
    
    procedure ClearVars;
    var
    I : integer;
    begin
    for I := 0 to HowManyPlayers - 1 do
    begin
    Players[i].Integers[0] := 0;
    Players[i].Integers[1] := 0;
    Players[i].Integers[6] := 0;
    Players[i].Integers[5] := 0;
    Players[i].Integers[7] := 0;
    Players[i].Active := True;
    Players[i].Loc := '';
    Players[i].Rand := '';
    end;
    if SRLid = '' then
    begin
    SRLid := '';
    SrlPassword := '';
    end;
    ScriptId := '274';
    logs:= 0;
    gems:= 0;
    loads:= 0;
    strLogs:= '0';
    strGems:= '0';
    end;
    
    procedure Debug(str: string);
    begin
    str:= '['+TheTime+']- ' + str;
    AddToReport(str);
    end;
    
    procedure PlayerDebug(str: string);
    begin
    str:= 'Player['+IntToStr(CurrentPlayer)+'] - '+Str;
    Writeln(str);
    end;
    
    Procedure ChatBoxStyle;
    begin
    If GetColor(17,484) = 1452085 then exit else Mouse(51,496,3,3,true);
    SetChat('friends',1);
    end;
    
    procedure Tab11Details;
    begin
    Gametab(11);
    if not GetColor(709,229) = 9584920 then Mouse(709,229,3,3,true);
    if not GetColor(609,265) = 10172937 then Mouse(609,265,3,3,true);
    if not GetColor(608,302) = 10172937 then Mouse(608,302,3,3,true);
    if not GetColor(607,339) = 10172937 then Mouse(607,339,3,3,true);
    SetRun(true);
    end;
    
    function FindAxeEx: boolean; forward;
    function SetUpNextPlayer(ChangePlayer, Active: boolean): boolean;
    begin
    result:= true;
    If ChangePlayer then NextPlayer(Active);
    TreeName:= 'none';
    Case LowerCase(Players[CurrentPlayer].Strings[1]) of
    'none': begin
    Writeln('Invalid Tree Name! Cutting regulars instead');
    PlayerTreename:= 'regular';
    end;
    'regular','tree','normal': PlayerTreename:= 'regular';
    'oak': playertreename:= 'oak';
    'willow': Playertreename:= 'willow';
    end;
    NickNameBMP := CreateBitMapMaskFromtext(Players[CurrentPlayer].Nick,UpChars);
    ChatBoxStyle;
    Tab11Details;
    PerfectNorth;
    SetRun(false);
    FindAxeEx;
    Loads:= 0;
    end;
    
    function AxePresent: boolean;
    var
    axemask: integer;
    begin
    axemask:= BitmapFromString(12, 6, 'z78DA3330200CDCC060F0A8A19' +
    '669C4DB854B3DA92660EA25D50400350956AD');
    result:= FindBitmapMaskTolerance(axemask,x,y,547,203,737,467,5,5);
    end;
    
    function FindAxeEx: boolean;
    var
    I: integer;
    begin
    for i:= 4 to 5 do
    begin
    GameTab(i);
    if axepresent then
    begin
    result := true;
    players[currentplayer].integers[5] := GetColor(x,y);
    case I of
    4 : Players[currentplayer].booleans[5] := false;
    5 : begin
    Mouse(x,y,0,0,true);
    Wait(1200);
    Gametab(4);
    Players[CurrentPlayer].Booleans[5] := false;
    end;
    end;
    If DebugAll then
    begin
    Debug('Axe Found');
    PlayerDebug('Axe Color('+IntToStr(players[currentplayer].integers[5])+') Axe Wielded('+BoolToStr(Players[CurrentPlayer].Booleans[5])+')');
    end;
    exit;
    end;
    end;
    If DebugAll then
    begin
    Debug('Axe NOT Found');
    PlayerDebug('No Axe!');
    end;
    Players[CurrentPlayer].Loc := 'No Axe';
    NextPlayer(false);
    end;
    
    function ControlAxe: boolean;
    var
    rndx,rndy,I: integer;
    begin
    for I:= 4 to 5 do
    begin
    Gametab(I);
    Result:= FindColorTolerance(rndx,rndy,Players[CurrentPlayer].Integers[5],547,203,737,467,1);
    if Result and (I = 5)then
    begin
    Mouse(rndx,rndy,3,3,true);
    PlayerDebug('Axe was Somehow Wielded');
    end;
    if Result then Exit;
    end;
    end;
    
    function HandleAxe: boolean;
    var
    tmptArray: array of Tpoint;
    tmpint: integer;
    tmpCST: integer;
    begin
    result:= not ControlAxe;
    if result then
    begin
    tmpCST:= GetColorToleranceSpeed;
    SetColorSpeed2Modifiers(0.3,0.3);
    ColorToleranceSpeed(2);
    FindColorsTolerance(tmptarray,Players[CurrentPlayer].Integers[5],25,25,(MSX2-25),(MSY2-25),10);
    for tmpint:= 0 to Length(tmptarray) -1 do
    begin
    MMouse(tmptarray[tmpint].x,tmptarray[tmpint].y,0,0);
    if IsUpTextMulti('ake','ead','xe')then
    begin
    GetMousePos(x,y);
    Mouse(x,y,0,0,true);
    Flag;
    Wait(800);
    ColorToleranceSpeed(tmpCST);
    Exit;
    end;
    end;
    ColorToleranceSpeed(tmpCST);
    end;
    end;
    
    function HandleRandoms(x, y: integer): Boolean;
    var
    i: Integer;
    begin
    NickNameBMP:= CreateBitmapMaskFromText(Players[Currentplayer].Nick,UpChars);
    for i:= 1 to 3 do
    begin
    case I of
    1: if FindNormalRandoms then result:= true;
    2: if HandleAxe then result:= true;
    3: if FindEnt(x,y, true) then result:= true;
    end;
    wait(1);
    end;
    end;
    
    procedure Reset(var X, Y: integer);
    begin
    try
    X := Round(MSX2/2);
    Y := Round(MSY2/2);
    except
    X := MSCX;
    Y := MSCY;
    end;
    end;
    
    procedure SetData(tree: String);
    begin
    case Lowercase(tree) of
    'regular','tree':
    begin
    TreeName:= 'ree';
    TreeCols[0]:= 1866347;
    TreeCols[1]:= 4096372;
    TreeCols[2]:= 3633766;
    end;
    'oak': begin
    TreeName:= 'ak';
    TreeCols[0]:= 4089180;
    TreeCols[1]:= 2317388;
    TreeCols[2]:= 1853512;
    end;
    'willow': begin
    TreeName:= 'illo';
    TreeCols[0]:= 6125682;
    TreeCols[1]:= 2526330;
    TreeCols[2]:= 3043941;
    end;
    end;
    end;
    
    function ReturnArray(TPA: array of TPoint; Modifiers: integer): TPointArray; forward;
    function FindTree(x1, y1, x2, y2:integer; Move: boolean): boolean;
    var
    tmp: integer;
    tmpt: array of TPoint;
    begin
    SetColorSpeed2Modifiers(1.0,1.0);
    Reset(x,y);
    ColorToleranceSpeed(2);
    FindColorsSpiralTolerance(x,y,tmpt,TreeCols[0],x1,y1,x2,y2,2);
    tmpt:= ReturnArray(tmpt,20);
    For tmp:= 0 to Length(tmpt) -1 do
    begin
    x:= tmpt[tmp].x;
    y:= tmpt[tmp].y;
    If FindColorSpiralTolerance(x,y,TreeCols[1],(x-5),(y-5),(x+5),(y+5),2)then
    If FindColorSpiralTolerance(x,y,TreeCols[2],(x-5),(y-5),(x+5),(y+5),2)then
    begin
    if Move then
    begin
    MMouse(x,y,0,0);
    result:= IsUpText(TreeName);
    end else
    begin
    result:= true;
    end;
    if result then exit;
    end;
    end;
    end;
    
    procedure ClickTree;
    begin
    GetMousePos(X,Y);
    case random(1) of
    0: Mouse(X,Y,0,0,true);
    1: begin
    Mouse(X,Y,0,0,false);
    ChooseOption('hop');
    end;
    end;
    end;
    
    function FollowTree(var x,y: integer): boolean;
    begin
    SetColorSpeed2Modifiers(1.0,1.0);
    ColorToleranceSpeed(2);
    result:= FindTree(x - 25, y - 25, x + 25, Y + 25, false);
    end;
    
    function TreeChoppedAt(x, y:integer): boolean;
    begin
    SetColorSpeed2Modifiers(1.0,1.0);
    ColorToleranceSpeed(2);
    result:= not FindTree(x - 25, y - 25, x + 25, Y + 25, false);
    end;
    
    function ReturnArray(TPA: array of TPoint; Modifiers: integer): TPointArray;
    var
    tmp, tmp1, tmp2: integer;
    begin
    SetArrayLength(TPA,10);
    for tmp:= 0 to Length(TPA) - 1 do
    begin
    for tmp1:= 0 to Length(TPA) - 1 do
    begin
    if Max(TPA[tmp].x,TPA[tmp1].x) - Min(TPA[tmp].x,TPA[tmp1].x) >= Modifiers then
    if Max(TPA[tmp].y,TPA[tmp1].y) - Min(TPA[tmp].y,TPA[tmp1].y) >= Modifiers then
    begin
    SetArrayLength(Result,Length(result) + 1);
    tmp2:= Length(result) - 1;
    result[tmp2].x:= TPA[tmp].x;
    result[tmp2].y:= TPA[tmp].y;
    end;
    end;
    end;
    Status('done');
    end;
    
    function Chop(data: string): boolean;
    var
    tmpMark: integer;
    begin
    SetData(data);
    If FindTree(0, 0, MSX2, MSY2, true) then
    begin
    GetMousePos(x, y);
    Clicktree;
    while FlagPresent do
    begin
    FollowTree(x, y);
    end;
    end;
    MarkTime(tmpMark);
    repeat
    if HandleRandoms(x, y) then
    begin
    If DebugAll then
    PlayerDebug('Random Found!');
    break;
    end;
    if TimeFromMark(tmpMark) >= (MaxTime + random(3)) * 1000 then
    begin
    if DebugAll then
    PlayerDebug('Too long to cut tree');
    break;
    end;
    until(TreeChoppedAt(x, y));
    result:= true;
    end;
    
    function GetInvSlot(x, y: integer): integer;
    var
    I: integer;
    begin
    result:= - 1;
    for I:= 1 to 28 do
    begin
    if IntInBox(x, y, invBox(I)) then
    begin
    result:= I;
    exit;
    end;
    end;
    end;
    
    function DropLogs: boolean;
    var
    LogMask, lx, ly, failsafemark, CurrentLog: Integer;
    begin
    LogMask := BitmapFromString(19, 14, 'z78DA3330A00E704302067407' +
    'F4B777D4C6A16EE3F0F09D1B5E400B9369E7F2E114D723010 0008' +
    'F6836A8');
    Gametab(4);
    while FindBitMapMaskTolerance(LogMask, lx, ly, 554, 207, 727, 464, 3, 3) do
    begin
    CurrentLog:= GetInvSlot(lx, ly);
    Mouse(lx, ly, 4, 4, false);
    if ChooseOption('rop')then
    begin
    logs:= logs + 1;
    Players[Currentplayer].integers[6]:= Players[Currentplayer].integers[6] + 1;
    Reportvars[0]:= 1;
    SendSRLReport;
    strLogs:= IntToStr(logs);
    MarkTime(FailsafeMark);
    repeat
    wait(1);
    If TimeFromMark(FailSafeMark) >= 2300 then
    begin
    Logs:= Logs - 1;
    Players[Currentplayer].integers[6]:= Players[Currentplayer].integers[6] - 1;
    StrLogs:= IntToStr(Logs);
    break;
    end;
    until not ExistsItem(CurrentLog);
    end;
    end;
    result:= true;
    FreeBitmap(LogMask);
    end;
    
    procedure DropGems;
    var
    GemMask, gx, gy: integer;
    begin
    GemMask := BitmapFromString(18, 16, 'z78DA3330201FB88181015D00' +
    '3DED1ADEBE1BB56BD4AE511FE1D7452A30180503040097E74 EE4');
    GameTab(4);
    While FindBitMapMaskTolerance(GemMask, gx, gy, 554, 207, 727, 464, 3, 3) do
    begin
    Players[Currentplayer].integers[7] := Players[Currentplayer].integers[7] + 1;
    Gems:= Gems + 1;
    strGems:= IntToStr(Gems);
    end;
    FreeBitmap(Gems);
    end;
    
    procedure Callibrate;
    var
    i: integer;
    begin
    If SRLId = '' then
    begin
    GetSelf.WindowState:= wsNormal;
    ChangeReportWidth(1);
    ClearDebug;
    For I:= 0 to 9 do
    Writeln('Please Register an SRL Stats ID and declare the Name and password in Declareplayers!');
    Try GetPage('http://www.stats.srl-forums.com/?action=register');
    except
    Writeln('http://www.stats.srl-forums.com/?action=register');
    end;
    Cleardebug;
    For I:= 0 to 9 do
    Writeln('Please Register an SRL Stats ID and declare the Name and password in Declareplayers!');
    Writeln('http://www.stats.srl-forums.com/?action=register');
    TerminateScript;
    end;
    end;
    
    procedure PlayerReport;
    var
    I, i2, i3: integer;
    exp, tmpstr: string;
    begin
    Writeln(' # | Nick | Logs Chopped | Gems Dropped | Exp Gained');
    for I:= 0 to length(Players) - 1 do
    begin
    i2:= Length(Players[i].Nick);
    tmpStr:= '';
    For i3 := 1 to i2 do
    tmpstr:= tmpStr+'*';
    case Lowercase(Players[i].Strings[1]) of
    'regular','tree': exp:= IntToStr(Players[i].integers[6] * Round(GetTreeExp('tree')));
    'oak': exp:= IntToStr(Players[i].integers[6] * Round(GetTreeExp('oak')));
    'willow': exp:= IntToStr(Players[i].integers[6] * Round(GetTreeExp('willow')));
    end;
    Writeln(' '+IntToStr(i)+' | '+tmpStr+' | Logs : '+IntToStr(Players[i].Integers[6])+' | Gems : '+IntToStr(Players[i].Integers[7])+' | Exp : '+Exp);
    end;
    end;
    
    procedure Report;
    var
    H, M, S: integer;
    begin
    SRLRandomsReport;
    SendSRLReport;
    ClearDebug;
    Writeln(' /=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\');
    Writeln(' | [SRL]PowerChopper V '+Version+' |');
    Writeln(' | By : Pwnaz0r |');
    Writeln(' \=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=--=/');
    Writeln('');
    ConvertTime(GetTimeRunning,H,M,S);
    Writeln(' Worked For ' + InttoStr(H) + ' hours, ' + IntToStr(M) + ' minutes and '+ IntToStr(S) + ' seconds ');
    Writeln(' Chopped '+strLogs+' tree(s) total');
    Writeln(' Dropped '+strGems+' gems(s) total');
    Writeln('');
    PlayerReport;
    end;
    
    begin
    SetupSRL;
    ScriptId:= '296';
    DeclarePlayers;
    ClearDebug;
    ActivateClient;
    repeat
    SetUpNextPlayer(false, false);
    if not LoggedIn then Exit;
    repeat
    if InvFull then
    begin
    DropLogs;
    If DropRandomItems then
    begin
    DropGems;
    end;
    Loads:= Loads + 1;
    end;
    Chop(PlayerTreeName);
    Report;
    until(Loads >= Players[CurrentPlayer].Integers[2]);
    SetUpNextPlayer(true, false);
    until(false);
    end.
    
     
  3. Runescapian321

    Runescapian321 Active Member

    Joined:
    Sep 19, 2007
    Posts:
    179
    Referrals:
    0
    Sythe Gold:
    0
    No script will work for me...

    Thanks :) I was also writing some things in wrong too
     
< Simple errors help | i'm having some problems with auto wc and fisher >


 
 
Adblock breaks this site