• Log in or sign up for an account here: https://www.sythe.org/login

wiLLow kiLLer and banker!

ipain

Newcomer

Banned
Joined
Jan 25, 2009
Sythe Gold
0
Messages
18
Here is my new Willow cutter and banker hope you enjoy and please post proggies sythe users!
»»»»»»What the script has««««««
Srl stats >_<
Multiplayer :laugh:
Fast movement :p
Great Anti-ban:D

Script Download ------>http://www.mediafire.com/?dznod5w4d4z

Havent Got Reflection Go Here---»http://www.mediafire.com/?m4qzjwzdtnm

Having Questions OR Problems With My Script? PM ME AND I WILL ASSIST YOU :)
 
I added 1 or 2 things

Code:
program WillowKiller;
{.include SRL/SRL/Misc/SMART.Scar}
{.include SRL/SRL.Scar}
{.include srl/srl/skill/woodcutting.scar}
{.Include SRL\SRL\Reflection\Reflection.Scar}


var
 x, y, i, Logs, Loads, nap, wclvl, BrokenAxe, BrokenAxes, cblvl, Responds, logsdropped, OriginalWcLvl, CurrentWcLvl, LevelUps, ExpGained :Integer;
 ExpGain :Extended;

const
 World = 35;
 SRLStatsID = '5774';
 SRLStatsPass = 'leechme';
 HowLongToSleep = 15;
 Smart = True;
 Signed= True;
 Responder =  True;
 Skill = 'Woodcutting';



procedure DeclarePlayers;
begin

  HowManyPlayers := 1; //Change this to number players you got
  NumberOfPlayers(HowManyPlayers);
  CurrentPlayer := 0;

  Players[0].Name := ''; // Enter your Username here
  Players[0].Pass := ''; // Enter your password here
  Players[0].Nick := ''; // Enter 3 - 4 letters from your username here
  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;
  }
end;



//-------------------------------DO NOT TOUCH ANYTHING BELOW THIS!----------------------------\\



procedure AntiBannage;
begin
  case Random(30) of
  0 : MMouse(0, 0, 700, 500);
  1 : begin
        Hoverskill('Woodcutting', false);
        wait(3500 + Random(1000));
        Hoverskill('Mining', false);
      end;
  2 : BoredHuman;
  3 : RandomMovement;
  4 : PickupMouse;
  5 : begin
        GameTab(random(10));
        wait(3500 + Random(1000));
        GameTab(4);
      end;
  end;
end;

procedure BrokenAxeDTM;
begin
   BrokenAxe := DTMFromString('78DA636C616260E0636440061D697C601A26C' +
                  'AD80354C38FAA06260B57D30754C34D404D2F508D080135CD4035' +
                  '5C04D4D400D5A8E05703008C0604B4');

end;

        //Very Important Do Not Touch-Script Wont Cut Trees\\

function FindObjTPAKing(var x, y: integer; colors : array of integer; tol, cts, ObjWidth, ObjHeight, minCount :Integer; UpText: tstringarray): Boolean;
var
   I, j, tcts: Integer;
   myPoint: TPoint;
   Points, TempPoints: TPointArray;
   aPoints: T2DPointArray;
   s: string;
begin
  tcts := GetColorToleranceSpeed;
  SetLength(Points, 0);
  if CTS * 9 mod 3 <> 0 then
    CTS := 1;
  ColorToleranceSpeed(cts);
  For I := 0 to High(colors) do   //Loop through the colors array
    begin
      FindColorsSpiralTolerance(x, y, TempPoints, Colors[I], MSX1, MSY1, MSX2, MSY2, Tol);//Check for the current color
      Points := CombineTPA(Points, TempPoints); //Add the different results together
    end;
  aPoints := TPAtoATPAEx(Points, ObjWidth, ObjHeight);
  SetLength(Points, 0);
  for I := 0 to Length(aPoints) - 1 do
  begin
    if Length(aPoints[I]) < minCount then
      Continue;
    myPoint := MiddleTPA(aPoints[I]);
    MMouse(myPoint.X, myPoint.Y, 0, 0);
    Wait(100 + Random(50));
    ColorToleranceSpeed(1);
    s := rs_getuptext;
    for j := 0 to high(uptext) do
      if pos(uptext[j], s) <> 0 then
      begin
        x := myPoint.X;
        y := myPoint.Y;
        Result := True;
        ColorToleranceSpeed(tcts);
        Exit;
      end;
    ColorToleranceSpeed(cts);
  end;
  ColorToleranceSpeed(tcts);
end;

//DeathWalk- Using Reflection\\

function LoadPath: TPointArray;
begin
  SetLength(Result, 15);

  Result[0] := Point(3222, 3219);
  Result[1] := Point(3236, 3225);
  Result[2] := Point(3228, 3231);
  Result[3] := Point(3224, 3238);
  Result[4] := Point(3221, 3246);
  Result[5] := Point(3213, 3247);
  Result[6] := Point(3207, 3247);
  Result[7] := Point(3200, 3247);
  Result[8] := Point(3195, 3251);
  Result[9] := Point(3191, 3255);
  Result[10] := Point(3188, 3258);
  Result[11] := Point(3181, 3264);
  Result[12] := Point(3172, 3264);
  Result[13] := Point(3164, 3267);
  Result[14] := Point(3163, 3270);
end;

procedure DeathWalk;
var
  I: Integer;
  Path: TPointArray;
begin
  if(FindBlackChatMessage('Oh Dear,You are dead!')) then
  begin
    Path := LoadPath;
    for i := 0 to High(Path) do
    begin
      WalkToTile(Path[i], 3, 0);
      Wait(7000+Random(3000));
    end;
  end;
end;

{*******************************************************************************
procedure NextPlayer2(Active: Boolean);
By: Dankness and modified by Ron and by Raymond and Tootoot222
Description: Logs in the next player.
Boolean: True - Current player is ok. False - Current player is false.
Doesn't go into an infinate loop when all players are false
*******************************************************************************}

procedure NextPlayer2(Active: Boolean);
begin
  if RandomPlayer then
    RandomNextPlayer(Active)
  else
  begin
    WriteLn('NextPlayer2(Active: ' + BoolToStr(Active)+ ');');
    Players[CurrentPlayer].Active := Active;
    Logout;
    PlayerCurTime := (GetSystemTime div 1000);
    Players[CurrentPlayer].Worked := Players[CurrentPlayer].Worked +
      ((PlayerCurTime - PlayerStartTime) / 60);
    if(AllPlayersInactive) then
      Exit;
    CurrentPlayer := (CurrentPlayer + 1) mod Length(Players);
    while Players[CurrentPlayer].Active = False do
      CurrentPlayer := (CurrentPlayer + 1) mod Length(Players);
    SRL_Logs := SRL_Logs + 1;
    LoginPlayer;
  end;
end;


               //Anti-Random\\

procedure AntiRandoms;
begin
  FindNormalRandoms;
  If(FindFight) Then
  begin
     SetRun(True);
     RunAway('N', True, 1, 15000 + random(5000));
  end;
  if (FindEnt(x, y, True)) then
  begin
     Mouse(MMCX + 3, MMCY - 4, 3, 3, true);
     wait(1000);
     repeat
     wait(100+random(100));
     FindNormalRandoms;
     until not (FindEnt(x, y, True))
  end;
  LampSkill := skill;
end;

//Auto-Responder (Pixelate)\\

procedure Responses;
var
  text: string;
begin
  if not LoggedIn then Exit;
  if(Responder)then
  begin
    if(not GetLastChatText(text))then
    begin
       //Writeln('Error while getting chat text. No-one is talking?');
    end else
    begin
        //Writeln('Chat text: ' + text);
      if(InChat('bot') and InChat(Players[CurrentPlayer].Nick))then
      begin
        case Random(4) of
          0: TypeSend('Me?');
          1: TypeSend('I''m not a bot!');
          2: TypeSend('Your a newb');
          3: TypeSend('Huh?');
        end;
        Responds := Responds +1;
      end;
      if(text = 'wc lvls?') or (text = 'woodcut lvls?') or (text = 'wc?') or (text = 'woocutting levels?')then
      begin
        SayCurrentLevels('Woodcutting');
      end;
    end;
  end;
  if(Responder)then
  begin
    case Random(40) of
      0: TypeSend('Runescape rox');
      1: TypeSend('Im watching tv and playing rs at the same time');
      2: Typesend('woodcut lvls?');
      3: Typesend('I got my wc lvl to' + IntToStr(CurrentWcLvl) + '.');
      4: Typesend('Hi!');
      5: Typesend('attck,str,def lvls?');
      6: Typesend('Old runescape was better than this.....');
      7: Typesend('Wcing is boring')
    end;
  end;
end;

                         //BrokenAxe Finder\\
Procedure IsAxeBroken;
begin
  if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
  begin
    BrokenAxes := BrokenAxes +1;
    Writeln('The axe was broken.The script will change players!');
    LogOut;
    NextPlayer2(False);
    Exit;
    FreeDTM(BrokenAxe);
  end;
end;


                ///Tree Finder\\

procedure WillowCutter;   //Credit goes to ToF for his tree finding (chnaged the colours and wait times for less ban %)
var Failed: integer;
    TreeColors: array [0..3] of integer;
begin
  if(not(LoggedIn)) or (InvFull) then
    Exit;

              TreeColors[0] := 2504497;
              TreeColors[1] := 7309951;
              TreeColors[2] := 2702134;
              TreeColors[3] := 2242606;
              for i := 0 to 4 do
              AntiRandoms;
              AntiBannage;
              if FindObjTPAKing(x, y, TreeColors, 20, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) then
                begin
                repeat
                  if(InvFull) then
                    Exit;
                  FindEnt(x, y, True);
                  Responses;
                  FindObjTPAKing(x, y, TreeColors, 20, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])
                  Wait(100 + Random(300));
                  MMouse(x, y, 2, 2);
                  begin
                    Wait(100 + Random(200));
                    Wait(100 + Random(200));
                  case Random(10) of
                  0: begin
                       Mouse(x, y, 4, 4, False);
                       Wait(400 + Random(200));
                       ChooseOption('hop');
                       WriteLn('R Chopping Tree');;
                     end;
                  1: begin
                       Mouse(x, y, 4, 4, True);
                       WriteLn('L Chopping Tree');
                     end;
                  end;
                  Wait(900 + Random(100));
                  FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])
                  MMouse(x, y, 2, 2);
                  FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])
                  Wait(800 + Random(100));
              end;
              until Invfull or not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']);
              while (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) do
              repeat
                if(InvFull) then
                    Exit;
                if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then
                  MakeCompass('N');
                  Wait(100 + Random(300));
                  if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then
                    MakeCompass('E');
                    Wait(100 + Random(300));
                    if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then
                      MakeCompass('W');
                      Wait(100 + Random(300));
                      if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then
                        Inc(Failed);
              until FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) or (Failed = 5);
              if (Failed = 5) then
              begin
                WriteLn('Tree Finding Failed :(');
              end;
            end;
         end;
                  //DTMS\\


procedure LoadTheDTM; //Custom made with the help of tootoot222
begin
   AntiRandoms;
   AntiBannage;
   Logs := DTMFromString('78DA63E4636460D8C68001FE0331238806024' +
       '61E206B2DBA0A462412484B00595B09A8E105B2F61350C30464ED' +
       '23A006C4DA825F0D00CBD5099D');

   BrokenAxe := DTMFromString('78DA636C616260E0636440061D697C601A26C' +
                  'AD80354C38FAA06260B57D30754C34D404D2F508D080135CD4035' +
                  '5C04D4D400D5A8E05703008C0604B4');

end;

                   //Log Dropper\\

procedure WillowDropper;
begin
  if(not(LoggedIn)) or (InvEmpty) then
    Exit;
  if(InvFull) then
  begin
  LoadTheDtm;
  repeat
    if(InvEmpty) then
      Exit;
    if(FindDtm(Logs, X, Y, MIX1, MIY1, MIX2, MIY2)) then
    begin
      MMouse(X, Y, 2, 2);
      wait(300 + random(300));
      Mouse(X, Y, 2, 2, False);
      ChooseOption('rop');
      LogsDropped := LogsDropped + 1
      wait(200 + random(300));
      AntiRandoms;
      AntiBannage;
    end;
  until(not(FindDtm(Logs, X, Y, MIX1, MIY1, MIX2, MIY2)) or (not(LoggedIn)))
  FreeDTM(logs);
 end;
end;

procedure sleepp;
begin
  if(not(LoggedIn)) then
    Exit;
  if(TimeFromMark(nap) > HowLongToSleep * 60000) then
  begin
    logout;
    sleep(15 * 60000 + random(15 * 60000));
    loginplayer;
    Marktime(nap);
  end;
end;

procedure GetCBLevel;
begin
  GameTab(1);
  cblvl := GetCombatLevel;
  if(cblvl<19) then
  begin
    writeln('Your combat level is less than 20!Please get your combat to 20+ before you use this script!');
    Logout;
    NextPlayer2(False);
    Exit;
  end;
end;

procedure GetOriginalWcLevel;
begin
  GameTab(2);
  OriginalWcLvl := GetSkillLevel('Woodcutting');
  if(wclvl<29) then
  begin
    writeln('Your woodcutting level is not high enough to chop willows. Get it up to 30 then you can use this script.');
    Logout;
    NextPlayer2(False);
    Exit;
  end;
end;

procedure GetCurrentWcLevel;
begin
  GameTab(2);
  CurrentWcLvl := GetSkillLevel('Woodcutting');
end;

Procedure HowManyLevelsGained;
begin
  GetCurrentWcLevel;
  LevelUps := CurrentWcLvl - OriginalWcLvl;
end;


procedure Intro;
begin
Writeln('          .__.____    .____                          ');
Writeln('__  _  _|__|    |   |    |    ______  _  __          ');
Writeln('\ \/ \/ /  |    |   |    |   /  _ \ \/ \/ /          ');
Writeln(' \     /|  |    |___|    |__(  <_> )     /           ');
Writeln('  \/\_/ |__|_______ \_______ \____/ \/\_/            ');
Writeln('                   \/       \/                       ');
Writeln(' __   .__.____    .____                              ');
Writeln('|  | _|__|    |   |    |    ___________    ____      ');
Writeln('|  |/ /  |    |   |    |  _/ __ \_  __ \  /    \     ');
Writeln('|    <|  |    |___|    |__\  ___/|  | \/ |   |  \    ');
Writeln('|__|_ \__|_______ \_______ \___  >__|    |___|  /    ');
Writeln('     \/          \/       \/   \/             \/     ');
Writeln('___.                  __                ._.          ');
Writeln('\_ |__ _____    ____ |  | __ ___________| |          ');
Writeln(' | __ \\__  \  /    \|  |/ // __ \_  __ \ |          ');
Writeln(' | \_\ \/ __ \|   |  \    <\  ___/|  | \/\|          ');
Writeln(' |___  (____  /___|  /__|_ \\___  >__|   __          ');
Writeln('     \/     \/     \/     \/    \/       \/          ');
Writeln('                                    By !Pain         ');
end;


procedure proggy;
begin
  ClearDebug;
  Writeln('***************Willow kiLLer***************')
  Writeln('|The script has been running for ' + TimeRunning + '. ');
  Writeln('|Logs dropped: ' + IntToStr(LogsDropped) + '');
  Writeln('|Starting Wc Lvl: ' + InttoStr(OriginalWcLvl) +'');
  Writeln('|Current Wc Lvl: ' + IntToStr(CurrentWcLvl) + '');
  Writeln('|Axes Broken:' + InttoStr(BrokenAxes) + '');
  Writeln('|' + IntToStr(Loads) + ' loads done so far!');
  Writeln('*************************************************');
end;

procedure FinalProggy;
begin
  proggy;
  Writeln('|You have leveled up ' + IntToStr(LevelUps) + '              |');
end;

procedure SmartStart;
begin
  SmartSetupEx(World, false, Signed, false);
  SetTargetDC(SMARTGetDC);
  repeat
    wait(300);
  until(SmartGetColor(253, 233)<>1118604);
end;

begin
ClearDebug;
Intro;
SetupSRL;
MouseSpeed := 17;
Writeln('Openning SMART')
SmartStart;
ScriptID := '499';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPass;
ActivateClient;
DeclarePlayers;
  repeat
    if not loggedin then Loginplayer;
    SetAngle(True);
    MarkTime(nap);
    AntiRandoms;
    GetCBLevel;
    GetCurrentWcLevel;
    Loads := 0;
    repeat
      WillowCutter;
      Inc(Loads);
      Responses;
      sleepp;
      GetCurrentWcLevel;
      proggy;
      DeathWalk;
    until Loads > 39;
    NextPlayer2(True);
  until(AllPlayersinactive)
  FinalProggy;
  ExpGain := LogsDropped * 67.5;
  ExpGained := Round(ExpGain);
  ReportVars[0] := LogsDropped;
  ReportVars[1] := ExpGained;
  ReportVars[2] := Loads;
  ReportVars[3] := LevelUps;
  SRLRandomsReport;
  Writeln('##################################');
  Writeln('Thank you for using Willow Killer.');
  Writeln('##################################');
end.
 
imma try it out once i get my scar to work. i need instructions how to make scar work!! anyone help? pm me!
 
It cuts the trees, but doesn't bank. The anti ban is kinda annoying cuz its repetitive. Best if used in quick chat worlds tho.
 
I know I'm a noob, but what does it mean by SRL stats? I have no idea what that is...
 
Line 87: [Error] (17039:19): Unknown identifier 'SmartStringFromChars' in script C:\Program Files\SCAR 3.15\includes\SRL\SRL\Reflection\Core.Scar
 
this is my proggie

|The script has been running for 5 Minutes and 53 Seconds.
|Logs dropped: 0
|Starting Wc Lvl: 0
|Current Wc Lvl: 74
|Axes Broken:0
|33 loads done so far!

it started glitching up when it tried to drop the logs and went from skills to inv and started marking up loads
 
plzzzzzzzzzzzzzz
 
Runescape Gamblingrunescape gambling
Back
Top