Help plz

Discussion in 'Scar/Simba Help' started by udie2day2, Jun 1, 2009.

Help plz
  1. Unread #1 - Jun 1, 2009 at 9:04 AM
  2. udie2day2
    Joined:
    Apr 27, 2009
    Posts:
    11
    Referrals:
    0
    Sythe Gold:
    0

    udie2day2 Newcomer

    Help plz

    i need help editing a script
    it is supposed to drop the logs but all it does is glitches up when i try to get it to drop the logs
    can someone please edit this

    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.
     
< [Request] Includes Folder for SCAR! | Lagging!! Whats wrong with my script? >

Users viewing this thread
1 guest


 
 
Adblock breaks this site