Results 1 to 8 of 8

Thread: General Advice and a few things

  1. #1
    Join Date
    Sep 2006
    Location
    include srl/srl.scar ( aussie)
    Posts
    2,875
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default General Advice and a few things

    Hello this my script so far


    SCAR Code:
    program VarrokYewCutter;
    {.include SRl/SRL/Misc/SMART.scar}
    {.include SRl/SRl.scar}
    {.include SRL/SRL/Skill/Woodcutting.scar}
    {.include SRL/SRL/misc/Users.scar}


    //////////////////////////////////////////////////////////////////////
    //                       Varrok Yew Cutter By Nicbaz                 //
    //                                                                  \\
    // This Script Has Theese Fetures                                   //
    // DTM's                                                            \\
    // TPA's                                                            //
    // Multi                                                            \\
    // Map Walking                                                      //
    // Multi Player                                                     \\
    // Colour Usage                                                    //
    // Cases                                                            \\
    //                         Hello And Welcome To My first real       \\
    //   Script this script is designed to cut and bank yew logs in     //
    //   Varrok bank Fill in the script in the below lines lines 60-67   \\
    //                                                                  //
    ////////////////////////////////////////////////////////////////////\\
    // V 1.1                                                            //
    // Wrote Wcing Procedure                                            \\
    // Walking With symbols                                             //
    //                                                                  \\
    //////////////////////////////////////////////////////////////////////
    //V 1.2                                                             \\
    // Started To learn DTM's                                           //
    // And Radial Map Walking                                           \\
    //                                                                  //
    /////////////////////////////////////////////////////////////////////
    //V 1.3                                                            \\
    //TPA's In the wood Cutting Procedure                              //
    //                                                                 \\
    /////////////////////////////////////////////////////////////////////
    //V 1.4                                                            \\
    //Added in random talking                                          //
    //And DTM's For Banking                                            \\
    /////////////////////////////////////////////////////////////////////
    //V 1.5                                                            //
    //Removed Random Talking                                           \\
    //Added In Multi Player                                            //
    //                                                                 \\
    /////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////
    //Future Updates                                                   \\
    //Needed Failsafes                                                 //
    //Needed SRL stats                                                 \\
    //                                                                 \\
    /////////////////////////////////////////////////////////////////////
    //   Thanks to Torrent of Flame for his Tutorials and Help :D      \\
    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Delcare Players //////////////////
    /////////////////////////////////////////////////////////////////////

    const
       YourSRLId = '0';
       YourSRLPassword ='0';
       SmartWorld = 77;


    procedure DeclarePlayers;
    begin
      Disguise('Cs 1.6');
      SRLPlayerForm(True, ['Do Not Change', 'Do Not Change'], ['Loads'], ['Do Not Change', 'Do Not Change'], ['Do Not Change']);
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////Dont Edit Below Here ////////////////////////
    /////////////////////////////////////////////////////////////////////

    var x, y: integer;
      Loads, Yew: integer;
      BrokenAxe: integer;
      NormalAxe: integer;
      BrokenAxes: integer;
      FallyBank, VarrokBank, EdgeBank: integer;
      LevelsGained: integer;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////nicbaz load DDTM's //////////////////////////
    /////////////////////////////////////////////////////////////////////

    function DDTMYews: integer;
    var
      YewMP: TDTMPointDef;
      YewSP: array of TDTMPointDef;
      YewDDTM: TDTM;
    begin
      SetArrayLength(YewSP, 4);

      YewMP.x := 23;
      YewMP.y := 17;
      YewMP.color := 671314;
      YewMP.tolerance := 9;

      YewSP[0].x := 31;
      YewSP[0].y := 7;
      YewSP[0].color := 65536;
      YewSP[0].Tolerance := 5;

      YewSP[1].x := 11;
      YewSP[1].y := 9;
      YewSP[1].color := 3424328;
      YewSP[1].Tolerance := 5;

      YewSP[2].x := 21;
      YewSP[2].y := 28;
      YewSP[2].color := 65536;
      YewSP[2].Tolerance := 5;

      YewSP[3].x := 36;
      YewSP[3].y := 20;
      YewSP[3].color := 65536;
      YewSP[3].Tolerance := 5;

      YewDDTM.MainPoint :=  YewMP;
      YewDDTM.SubPoints :=  YewSP;
      result := AddDTM(YewDDTM);
    end;

    /////////BANK////////////////
    function DDTMBank: integer;
    var
      BankMP: TDTMPointDef;
      BankSP: array of TDTMPointDef;
      BankDDTM: TDTM;
     begin
      SetArrayLength(BankSP, 4);

      BankMP.x := 80;
      BankMP.y := 30;
      BankMP.color := 8094084;
      BankMP.tolerance := 225;

      BankSP[0].x := 90;
      BankSP[0].y := 34;
      BankSP[0].areasize := 2;
      BankSP[0].areashape := 0;
      BankSP[0].color := 1310462;
      BankSP[0].Tolerance := 5;

      BankSP[1].x := 71;
      BankSP[1].y := 33;
      BankSP[1].areasize := 2;
      BankSP[1].areashape := 0;
      BankSP[1].color := 195836;
      BankSP[1].Tolerance := 5;

      BankSP[2].x := 79;
      BankSP[2].y := 34;
      BankSP[2].areasize := 2;
      BankSP[2].areashape := 0;
      BankSP[2].color := 195836;
      BankSP[2].Tolerance := 5;

      BankSP[3].x := 75;
      BankSP[3].y := 33;
      BankSP[3].areasize := 2;
      BankSP[3].areashape := 0;
      BankSP[3].color := 195836;
      BankSP[3].Tolerance := 5;

      BankDDTM.MainPoint :=  BankMP;
      BankDDTM.SubPoints :=  BankSP;
      result := AddDTM(BankDDTM);
    end;
    ////////////////////////////////////////////////////////////////////////
    {             THIS IS WORK OF FR0ZON SOUL IM USEING THIS
    FOR ANIT-BAN FOR TYPING I REPEAT IT IS NOT MINE USEING IT BEACUSE IT IS
    BETTER THEN THE SRL TYPESEND                                           }

    ////////////////////////////////////////////////////////////////////////
    Type
      TextType =  Record
        NWord, OWord : String;
        ChangeType : Integer;
      end;

    {*************************************************************************************************
    Procedure TypeSend2(Text: String; SMART : Boolean);
    By: FrÕzÑ_§ÕµL.
    Description: Types Text Human-like, pressing random keys around the original.Will not mess up words such as red: or wave:
      as long as there is no space before the :. Will type in SMART if needed.
    Use: TypeSend2('i want to change this text', false);
    SMART use: TypeSend2('i want to change this text', true);
    *************************************************************************************************}

    Procedure TypeSend2(Text: String; SMART : Boolean);

    var
      i, j, k, l, DP : integer;
      WordArr : Array [0..100] of TextType;
      Keys : Array [0..3] of String;

    Begin
      i := 0;
      Text := Padr(Padl(Trim(Text), Length(Trim(Text)) + 1), Length(Trim(Text)) + 2);
      Repeat
        WordArr[i].OWord := Between(' ', ' ', Text);
        WordArr[i].NWord := WordArr[i].OWord;
        Delete(Text, Pos(WordArr[i].OWord, Text) - 1, Length(WordArr[i].OWord) + 1);
        i := i + 1;
      Until(Text = ' ');
      for i := 0 to 100 do
      Begin
        WordArr[i].ChangeType := -1;
        if Random(100) < 10 then
          if Pos(':', WordArr[i].OWord) < 1 then
            WordArr[i].ChangeType := Random(3);
      end;
      i := 0;
      Repeat
        Repeat
          if WordArr[i].ChangeType = -1 then
          Begin
            i := i + 1;
            if i > 100 then
              Break;
          end;
        until(WordArr[i].ChangeType >= 0);
        if Length(WordArr[i].OWord) = 0 then
          Break;
        j := Random(Length(WordArr[i].OWord)) + 1;
        if WordArr[i].ChangeType = 1 then
          DP := Pos(Copy(Lowercase(WordArr[i].OWord), j, 1), WordArr[i].OWord);
        Keys[3] := '1234567890';
        Keys[2] := 'qwertyuiop';
        Keys[1] := 'asdfghjkl';
        Keys[0] := 'zxcvbnm';
        Repeat
          for k := 3 downto 0 do
          Begin
            l := Pos(Copy(Lowercase(WordArr[i].OWord), j, 1), Keys[k]);
            if l > 0 then
              Break;
          end;
          if l = 0 then
          Begin
            i := i + 1;
            if (i > 100) then
              Break;
          end;
        until(l > 0);
        if (i > 100) then
          Break;
        case k of
          0 : k := k + Random(1);
          1, 2 : k := k - 1 + Random(2);
          3 : k := k - 1 + Random(1);
        end;
        case l of
          1 : l := 1 + Random(1);
          Length(Keys[k]) : l := Length(Keys[k]) - 1 + Random(1);
          else
            l := l - 1 + Random(2);
        end;
        if (Random(100) > 70) or (WordArr[i].ChangeType = 1) then
        Begin
          Delete(WordArr[i].NWord, j, 1);
          Insert(Copy(Keys[k], l, 1), WordArr[i].NWord, j);
        end else
          Insert(Copy(Keys[k], l, 1), WordArr[i].NWord, j - 1 + Random(1));
        i := i + 1;
      Until(i = 101);
      for i := 0 to 100 do
      Begin
        for l := 1 to Length(WordArr[i].NWord) do
        Begin
          if Pos(Copy(WordArr[i].NWord, l, 1), '~!@#$%^&*()_+{}|:"<>?') > 0 then
          Begin
            KeyDown(VK_SHIFT);
            Wait(100 + Random(100));
          end;
          if SMART then
            SmartSendKeys(Copy(WordArr[i].NWord, l, 1))
          else
            TypeByte(GetKeyCode(StrGet(WordArr[i].NWord, l)));
          Try
            if Not(Pos(Copy(WordArr[i].NWord, l + 1, 1), '~!@#$%^&*()_+{}|:"<>?') > 0) then
              KeyUp(VK_SHIFT);
          Except
          end;
          Wait(100 + Random(100));
          if (WordArr[i].ChangeType = 1) and (l = DP) then
            if (Copy(WordArr[i].NWord, l, 1) <> Copy(WordArr[i].OWord, DP, 1)) then
            Begin
              Wait(200 + Random(200));
              TypeByte(VK_BACK);
              Wait(200 + Random(200));
              if SMART then
                SmartSendKeys(Copy(WordArr[i].OWord, DP, 1))
              else
                TypeByte(GetKeyCode(StrGet(WordArr[i].OWord, DP)));
              Wait(200 + Random(200));
            end;
        end;
        if Length(WordArr[i].NWord) = 0 then
          Break;
        if SMART then
          SmartSendKeys(' ')
        else
          TypeByte(VK_SPACE);
      end;
      if SMART then
        SmartSendKeys(chr(10))
      else
        TypeByte(GetKeyCode(chr(13)));
      for l := 0 to 100 do
        if WordArr[l].ChangeType = 2 then
          if WordArr[l].OWord <> WordArr[l].NWord then
          Begin
            for i := 1 to Length(WordArr[l].OWord) do
            Begin
              if SMART then
                SmartSendKeys(Copy(WordArr[i].OWord, i, 1))
              else
                TypeByte(GetKeyCode(StrGet(WordArr[l].OWord, i)));
              Wait(100 + Random(100));
            end;
            if WordArr[l].OWord = '' then
              Exit;
            KeyDown(VK_SHIFT);
            Wait(100 + Random(100));
            if SMART then
              SmartSendKeys('*')
            else
              TypeByte(GetKeyCode('8'));
            Wait(200 + Random(200));
            KeyUp(VK_SHIFT);
            Wait(100 + Random(100));
            if SMART then
              SmartSendKeys(chr(10))
            else
              TypeByte(GetKeyCode(chr(13)));
            Exit;
          end;
    end;


    {END OF FR0ZON SOULS TYPESEND2 BACK ONTO MY SCRIPT}






    /////////////////////////////////////////////////////////////////////
    ////////////////////////nicbaz load DTM's ///////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure LoadDTMs;
    begin

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

      NormalAxe := DTMFromString('78DA63E4626060E067400175F17C609A11CA6' +
        '7640312720C688011550D0B909025A0860748B01050230E245809' +
        'A81105127C04D480E439F1AB01004CBC01C4');

      FallyBank := DTMFromString('78DA63CC656060886440017B764E673007D28' +
           'C40FC1F081813818C58881C1354CD9F3F10162394CF984A849A4C' +
           '201183AAE6DF3F615435B998E660A82922C2AE32C26A006AEF17D' +
           '7');
      VarrokBank := DTMFromString('78DA63F4636060906100034608C5D0D258CDF' +
           '00BCAFF0F048C1E408622448E09AAE6ED5B543D8CDE40420955CD' +
           '9F3F4CA86AFC31CDC150138CA9E6DF3F615435E144D8154D580D0' +
           '02B0C157D');
           EdgeBank := DTMFromString('78DA632C626060D06500032608C590979EC6F' +
           '00B483302F17F20602C04322C1850C0D7AF109A11CA672C001206' +
           'A8E6FCF9C384A94603B71A100B00D3460EA0');

    end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Fix Screen ///////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure FixScreen;
    begin
      MakeCompass('n');
      Wait(200+random(100));
      Setangle(true);
      Wait(200+random(100));
      MakeCompass('n');
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Is Axe Broken ////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure Talk;
    var
     P: Integer;
    begin
     if (not(LoggedIn)) then
      Exit;
     p:=1+Random(35);
     if (p=4) then
     begin
      case Random(36) of
       0: TypeSend2('hi all', true);
       1: TypeSend2('temple is near', true);
       2: TypeSend2('hellooo', true);
       3: TypeSend2('hay', true);
       4: TypeSend2('heya', true);
       5: TypeSend2('i hate those dam botters', true);
       6: TypeSend2('boring', true);
       7: TypeSend2('blaaaaahhh', true);
       8: TypeSend2('cutting yews takes long', true);
       9: TypeSend2('booooooooring', true);
       10: TypeSend2('yay', true);
       11: TypeSend2('ouch', true);
       12: TypeSend2('ohhhh', true);
       13: TypeSend2('blah.', true);
       14: TypeSend2('quiet', true);
       15: TypeSend2('bam', true);
       16: TypeSend2('come down yew', true);
       17: TypeSend2('meuahahah', true);
       18: TypeSend2('bleh', true);
       19: TypeSend2('yewwww', true);
       20: TypeSend2('bagh', true);
       21: TypeSend2('argh !', true);
       22: TypeSend2('gree !', true);
       23: TypeSend2('come down yew !', true);
       24: TypeSend2('yew come here !', true);
       25: TypeSend2('i mean it !', true);
       26: TypeSend2('argh !', true);
       27: TypeSend2('sozz !', true);
       28: TypeSend2('muahahahahahaha i kill yews !', true);
       29: TypeSend2('zzzz !', true);
       30: TypeSend2('sleeps for mees !', true);
       31: TypeSend2('i want to do this', true);
       32: TypeSend2('i lovvvessss all you guys', true);
       33: TypeSend2('i like sayig random stuff', true);
       34: TypeSend2('yew tree die', true);
       35: TypeSend2('lololol', true);
       
      end;
     end;
    end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////nicbaz Auto Responder ///////////////////////
    /////////////////////////////////////////////////////////////////////

    function AutoResponder:boolean;  // // ty to Leek for help fix eerrors
    var
    talks:integer;

    begin
      if inchat('wc') or inchat('oodcutting')then
      begin
        case Random(5) of
        0: typesend2('my wc lvl is 2 good to be tru', true);
        1: typesend2('rofl choob i never give my wc lvl', true);
        2: typesend2('m wc lvl is 9999', true);
        3: typesend2('lol 99', true);
        4: typesend2('wc 4 l3f2', true);
        end;
        Talks := Talks + 1;
        Result := true;
        gametab(4);
        Exit;
      end;
      if (inchat('macro')) or (inchat('bot')) or (inchat('autoer'))then
      begin
        case Random(5) of
        0: typesend2('macro rofl never', true);
        1: typesend2('no way i anit', true);
        2: typesend2('all bots should die', true);
        3: typesend2('lol 99', true);
        4: typesend2('wc 4 l3f2', true);
        end;
        Talks := Talks + 1;
        Result := true;
        exit;
      end;
      if (inchat('hey')) or (inchat('hi')) or (inchat('yo'))then
      begin
        case Random(11) of
        0: typesend2('yoooo wasssupppppppp', true);
        1: typesend2('hi', true);
        2: typesend2('hey', true);
        3: typesend2('yo', true);
        4: typesend2('yer', true);
        5: typesend2('what', true);
        6: typesend2('hiiies', true);
        7: typesend2('yoooooo', true);
        8: typesend2('lol yer hi', true);
        9: typesend2('noob', true);
        10: typesend2('hey', true);
        end;
       
        Talks := Talks + 1;
        Result := true;
        exit;
     end;
     if (inchat('auto')) or (inchat('talk')) or (inchat('noob'))then
      begin
       case Random(5) of
        0: typesend2('im not a noob i dont have to talk go away', true);
        1: typesend2('lol noob i dont auto', true);
        2: typesend2('rolf never', true);
        3: typesend2('fr00b', true);
        4: typesend2('im never talking to you f00b', true);
        end;
        Talks := Talks + 1;
        Result := true;
        exit;
     end;
      if (inchat('nice')) or (inchat('rich')) or (inchat('good'))then
      begin
        case Random(5) of
        0: typesend2('ty ur nice 2', true);
        1: typesend2('i am rich so i dont talk to noobs', true);
        2: typesend2('rolf never', true);
        3: typesend2('i am good rich guy', true);
        4: typesend2('yyoyo its nice being richss', true);
        end;
        Talks := Talks + 1;
        Result := true;
        exit;
     end;
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////nicbaz LevelsGained /////////////////////////
    /////////////////////////////////////////////////////////////////////
    function HandleContinue:boolean;
    var
      xx, yy:integer;
     begin
      if (FindText(xx, yy, 'ained', NPCChars, 0, 340, 500, 460))
      or (IsChatBlackTextAnyLine('ained')) then
        begin
          LevelsGained := LevelsGained + 1;
          result := true;
        end else
          result := false;
    end;




    /////////////////////////////////////////////////////////////////////
    ////////////////////////nicbaz Walk To Bank /////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure WalkTobank;
    begin
      MakeCompass('S');
      RoadColor := FindVarrockRoadColor;
      if (findSymbol(x, y, 'tree')) then
        begin
          mouse(x, y, 2, 2, true);
          FFlag(2);
         if not RadialWalk(RoadColor, 355, 25, 65, 4, 4)
         then
           RadialWalk(RoadColor, 355, 27, 65, 4, 4);
           Writeln('Walking To bank')
           if not RadialWalk(RoadColor, 359, 27, 72, 4, 4)
           then
             RadialWalk(RoadColor, 355, 33, 72, 4, 4);
             Writeln('Walking To bank')
             if not RadialWalk(RoadColor, 345, 15, 60, 4, 4)
             then
               RadialWalk(RoadColor, 345, 13, 60, 4, 4);
               Writeln('Walking To bank')
               if (findSymbol(x, y, 'bank')) then
               begin
                 mouse(x, y, 2, 2, true);
                 FFlag(2);
                 if not (findSymbol(x, y, 'bank')) then
                 begin
                 MakeCompass('s');
                 wait(1000);
                 if DTMRotated(VarrokBank, x, y,  MMX1, MMY1, MMX2, MMY2) then
                 begin
                   Writeln ('found bank dtm');
                   wait(1000)
                   Mouse(x - 6, y - 6, 12, 2, true);
                   FFlag(0)
                   if not  DTMRotated(VarrokBank, x, y,  MMX1, MMY1, MMX2, MMY2) then
                    Writeln ('did not find bank');
                   NextPlayer(False);
               end;
            end;
         end;
      end;
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz AntiBan //////////////////////////
    /////////////////////////////////////////////////////////////////////
    procedure AntiBans;
    begin
      if(not(LoggedIn))then
      Exit;
      case Random(16) of

        0: begin
             HoverSkill('Mining', false);
             wait(1000+random(1000));
             GameTab(4);
           end;

        1: begin
             HoverSkill('Woodcutting', false);
             wait(1000+random(1000));
             GameTab(4);
           end;

        2: begin
             HoverSkill('Smithing', false);
             wait(4000+random(550));
             GameTab(4);
           end;


        3: PickUpMouse;

        4: MouseBox(MMX1,MMY1,MMX2,MMY2,3);

        5: SleepAndMoveMouse(5000+random(6000));

        6: begin
             GameTab(2 + Random(12));
             wait(2000+random(1500));
             GameTab(4);
           end;


         7: begin
             GameTab(6 + Random(12));
             wait(1500+random(700));
             GameTab(4);
           end;

         8: begin
             HoverSkill('Defene', false);
             wait(4000+random(550));
             GameTab(4);
           end;
           
         9: begin
            RandomRClick;
            wait(1000)
            end;
           
         10: begin
             BoredHuman;
             wait(2000+random (333));
           end;
           
         11: begin
             PickUpMouse;
             end;
             
         12: begin
             RandomMovement;
              wait(2000+random (333));
            end;
           
         13: begin
             case (Random(6))of
               1: MakeCompass('S');
               2: MakeCompass('N');
               3: MakeCompass('W');
               4: MakeCompass('E');
             end;
      end;
    end;
    end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz randoms //////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure Randoms;
    begin
      FindTalk;
      FindNormalRandoms;
      FindLamp('Woodcutting');
      FindEnt(x, y, true);
      SolvePinball;
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz CheckAxe /////////////////////////
    /////////////////////////////////////////////////////////////////////


    procedure CheckAxe;
    begin
      if FindAxe then
      begin
        Writeln('Axe Found')
      end
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Check Versions ///////////////////
    /////////////////////////////////////////////////////////////////////

    function CheckVersions:boolean;      // ty to Leek for help fix eerrors
    begin
      result:=false;
      if (SRLVersionNumber < 15) then
        begin

          WriteLn('Wrong SRL Version; Download the latest update at http://www.sr'
            + 'l-forums.com/');
          TerminateScript;
        end;
      if (GetScarVersion < 314) then
        begin
          WriteLn('Wrong SCAR Version; Download the latest update at http://www.fr'
            + 'eddy1990.com/');
          TerminateScript;
        end;
      if (SRLVersionNumber = 15) and (GetScarVersion = 315) then
        result:=true;
    end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Talk//////////////////////////////
    /////////////////////////////////////////////////////////////////////
    procedure TalkLots;
     begin
     if(not(LoggedIn))then
      Exit;
      case Random(2) of
     
      0: talk;
     
      2:AutoResponder
    end;
    end;



    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Ent//// //////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure EntFinder; //By Yohojo - edited by bobbohobbo
    var
      EX, EY: integer;
      FX, FY: integer;
      SafeEntWait: LongInt;
    begin
      if (not (LoggedIn)) then
        Exit;
      begin
        Status('Ent Checking')
          if
          (FindObjCustom(EX, EY, ['Yew'], [4690821], 7)) then
        begin
          MMouse(EX, EY, 0, 0)
            if FindColorTolerance(FX, FY, 55769, 85, 15, 115, 15, 20) then
          begin
            Status('Found Ent');
            MarkTime(SafeEntWait)
              repeat
              FTWait(5)
                FindNormalRandoms;
              if not (LoggedIn) then
                NextPlayer(False);
            until TimeFromMark(SafeEntWait) > 20000 + Random(5000);
          end;
        end;
      end;
    end;



    /////////////////////////////////////////////////////////////////////
    ////////////////////////////Naum/Torrent// //////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure WaitWhilstChopping; //Credits to numan and torrent for this
    var
    CuttingMark : Integer;
    begin
    MarkTime(CuttingMark);
     repeat
      AntiBans;
      Randoms;
      CheckAxe;
      EntFinder;
      AntiBans;
     until (FindBlackChatMessage('cut some logs')) or (TimeFromMark(CuttingMark) > (200000));
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz FindDaYewTree/////////////////////
    /////////////////////////////////////////////////////////////////////
    function FindDaYewTree: boolean;   // with help from torrent of flame
     var
       YewTreeTPA: TPointArray;
       I: Integer;
       YewTreeColors : array [0..3] of integer;
       begin
         YewTreeColors[0] := 2380107;
         YewTreeColors[1] := 1328698;
         YewTreeColors[2] := 3239782;
         YewTreeColors[3] := 1520426;
         YewTreeColors[4] := 2044980;
       for i := 0 to 4 do
       FindColorsSpiralTolerance(X, Y, YewTreeTPA, YewTreeColors[i], MSX1, MSY1, MSX2, MSY2,45);
       begin
         MMouse(YewTreeTPA[i].x, YewTreeTPA[i].y, 3, 3);
         wait(78)
         if IsUptext('hop')
         then
           begin
           Result:= True;
          end;
       end;
     end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz ChooseColor///////////////////////
    /////////////////////////////////////////////////////////////////////

    function PickYewColour: Integer; // ty jesus for help
    begin
      case random(4) of
        0: Result := 3297356;
        1: Result := 3898223;
        2: Result := 534303;
        3: Result := 534046;
        4: Result := 4218718;
      end;
    end;



    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz banking //////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure Banking;
    begin

      Yew := DTMFromString('78DA6394616060E0674001A10E5C0C5C409A1' +
           '188FF0301A3169021C4800618914820AD0A243808A8910312AC04' +
           'D480EC6127A006E45E09026AE48184247E3500B4EB05E9');
      begin
        Wait(300 + random(160));
        OpenBankQuiet('sb');

        if (not (FindDTM(Yew, x, y, mix1, miy1, mix2, miy2))) then
        begin
          if (FindColorSpiralTolerance(x, y, 608352, mix1, miy1, mix2, miy2, 15)) then
          begin
            Mouse(x, y, 4, 3, false);
            ChooseOption('All');
            Loads := Loads + 1;
          end;
        end else

          if (FindDTM(Yew, x, y, mix1, miy1, mix2, miy2)) then
          begin
            Mouse(x, y, 4, 3, false);
            ChooseOption('All');
            Loads := Loads + 1;
          end;
        CloseBank;
        Wait(150 + random(278));
        MakeCompass('S');
      end;
    end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz To Tress /////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure WalkTrees;
    begin
        MakeCompass('N');
      RoadColor := FindVarrockRoadColor;
      if not RadialWalk(RoadColor, 350, 10, 65, 4, 4)
      then
        RadialWalk(RoadColor, 345, 5, 65, 4, 4);
        FFlag(2);
        if FindSymbol(x, y, 'water')  then
        begin
          if not  RadialWalk(RoadColor, 0, 25, 69, 4, 4)
          then
            RadialWalk(RoadColor, 0, 35, 69, 4, 4);
            Writeln('Walkig step 2')
            FFlag(2);
            if not  RadialWalk(RoadColor, 0, 18, 75, 4, 4)
            then
              RadialWalk(RoadColor, 350, 25, 70, 4, 4);
              Writeln('Walking To Tree')
              FFlag(2);
              if  (findSymbol(x, y, 'tree'))
              then
                begin
                  mouse(x, y, 2, 2, true);
                  FFlag(2);
                   if not FindSymbol(x, y, 'tree')
                  then
                 Writeln ('did not find Trees');
                NextPlayer(False);
          end;
      end;
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Is Axe Broken ////////////////////
    /////////////////////////////////////////////////////////////////////

    function IsAxeBroken: boolean;
    begin
      if FindDTM(BrokenAxe, x, y, 547, 206, 734, 464) then
        Writeln('Axe is broken! Attempting to bank and get new one.');
      BrokenAxes := BrokenAxes + 1;
      WalkTobank;
      begin
        Writeln('Banking for new axe..');
        Banking;
        if (FindDTM(NormalAxe, x, y, 151, 210, 595, 281)) then
        begin
          ChooseOption('1')
            CheckAxe;
          CloseBank;
        end;
      end;
    end;


    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz ChooseClick //////////////////////
    /////////////////////////////////////////////////////////////////////

    function ChooseClick: Integer;    // jesus for help TY
    begin
      case random(2) of
        0: begin
            Mouse(x, y, 3, 3, true);
          end;
        1: begin
            Mouse(x, y, 4, 4, false);
            ChooseOption('hop');
          end;
      end;
    end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz ChopYew //////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure ChopYew;
    var Attempts: integer;
      CuttingTime: integer;
    begin
      if (not (LoggedIn)) then NextPlayer(false);
      MarkTime(CuttingTime);
      SetAngle(true);
      repeat
        if (not (FindDaYewTree)) then
        begin
          Wait(2000 + random(250));
          Attempts := Attempts + 1;
          if (Attempts = 100) then
          begin
            Writeln('Could not find yews');
            Attempts := 0;
            NextPlayer(false);
            Wait(1500 + random(1200));
          end;
        end else
        begin
          if FindDaYewTree then
       begin
          ChooseClick;
          WaitWhilstChopping;
            end;
          begin
          Randoms;
          Antibans;
          EntFinder;
          FindEnt(x, y, True);
          end;
        end;
      until (TimeFromMark(CuttingTime) > 800000 + random(60000)) or (InvFull)
    end;



    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Nicbaz ///////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure text;
    begin
      ClearDebug;
      Writeln(' _______  .__      ___.                  ')
        wait(250 + random(30));
      Writeln(' \      \ |__| ____\_ |__ _____  ________')
        wait(250 + random(30));
      Writeln(' /   |   \|  |/ ___\| __ \\__  \ \___   /')
        wait(250 + random(30));
      Writeln('/    |    \  \  \___| \_\ \/ __ \_/    / ')
        wait(250 + random(30));
      Writeln('\____|__  /__|\___  >___  (____  /_____ \')
        wait(250 + random(30));
      Writeln('        \/        \/    \/     \/      \/')
        wait(2000)
        Writeln(' _____.___.               __________                          ')
        wait(250 + random(30));
      Writeln(' \__  |   | ______  _  __ \______   \______  _  __ ___________')
        wait(250 + random(30));
      Writeln('  /   |   |/ __ \ \/ \/ /  |     ___/  _ \ \/ \/ // __ \_  __ \')
        wait(250 + random(30));
      Writeln('  \____   \  ___/\     /   |    |  (  <_> )     /\  ___/|  | \/')
        wait(250 + random(30));
      Writeln('  / ______|\___  >\/\_/    |____|   \____/ \/\_/  \___  >__|   ')
        wait(250 + random(30));
      Writeln('  \/           \/                                     \/       ')
     end;

    /////////////////////////////////////////////////////////////////////
    ////////////////////////////nicbaz Anti Leech////////////////////////
    /////////////////////////////////////////////////////////////////////
    procedure DieLeech;
    begin
    if (SRLID = '') or (SRLPassword = '')then
     begin
     Wait(1000+Random(400));
        ClearDebug;
        Writeln('YOU ARE A LEACHER');
        wait (1000)
        Writeln('So Go Get Your Self a SRL ID and PAss');
        wait(1000)
        Writeln('If you dont do that you the script will not run');
        Wait(1000)
        Writeln('www.srl-forums.com');
        wait(1000)
        Writeln('Go kill your SELF!!!!!');
        Wait(1000)
        Writeln('NICBAZZZZ');
        TerminateScript;
      end;
    end;


    /////////////////////////////////////////////////////////////////////////
    ///////////////////////////nicbaz Proggy/////////////////////////////////
    /////////////////////////////////////////////////////////////////////////

    procedure Proggy;
    begin
      ClearDebug;
      Writeln(',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,');
      Writeln('/\Please Post Progress Reports & Any problems /\ ');
      Writeln('//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\ ');
      Writeln('//\\Worked For: ' + TimeRunning + '         //\\');
      Writeln('//\\Did: ' + IntToStr(Loads) + ' Loads      //\\');
      Writeln('//\\Broke: ' + IntToStr(BrokenAxes) + ' Axes //\\');
      Writeln('//\\Talked: ' + IntToStr (Talks) + 'To       //\\');
      Writeln('//\\Levels: ' + IntToStr (LevelsGained) + 'Gained levels //\\');
      Writeln('//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\ ');
      Writeln('//\\      Thanks for Using my Script :D     //\\ ');
      Writeln('```````````````````````````````````````````````');
    end;



    /////////////////////////////////////////////////////////////////////
    ////////////////////////////Mainloop/////////////////////////////////
    /////////////////////////////////////////////////////////////////////

    procedure Setup;
    begin
      SetupSRL;
      SRLId := YourSRLId;
      SRLPassword:= YourSRLPassword;
      CheckVersions;
      DieLeech;
      text;
      SmartSetupEx(SMARTWorld, false, true);
      SetTargetDC(SmartGetDC);
      while not SmartReady do Wait(2000);
      DeclarePlayers;
      LoginPLayer;
    end;

    begin
      Setup;
      LoadDTMs;
      CheckAxe;
      Wait(900 + Random(333));
      repeat
        WalkTrees;
        ChopYew;
        WalkTobank;
        Banking;
        if (Loads = Players[CurrentPlayer].Integers[0]) then
        begin
          NextPlayer(True);
          Loads := 0;
          MakeCompass('S')
          Writeln('Players Switched successfully')
        end;
      Proggy;
      until (False);
    end.

    /////////////////////////////////////////////////////////////////////////
    //Thank you for useing my script!                                      //
    //Credits to                                                           //
    //Torrent Of Flame For Lots of Help!                                   //
    //Jesus For lots of help!                                              //
    //And Da Owner for lots of help!                                       //
    ///////////////////////////////////////////////////////////////////////
    //


    Q1: is this good enough for members i have included everything i was told that was needed?

    Q2: advice on wait whilst cutting?

    Q3: things to add?
    ????????????????????????????????????????????????

  2. #2
    Join Date
    Jan 2008
    Location
    Alberta
    Posts
    727
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    In your DDTM's, this color: 65536, it doesn't need tolerance. Is that a yew log for your ddtm? If so it should be a static DTM not a DDTM.

    You need to add standards to certain places.

    I see this sort of thing in your walking
    SCAR Code:
    if not RadialWalk(RoadColor, 355, 25, 65, 4, 4) then
    RadialWalk(RoadColor, 355, 27, 65, 4, 4);
    So, what happens if the second one messes up? Also, you should have a backup plan for your findsymbol, like a ddtm.

    For your randoms to cut down lines you can do this instead of yours:
    SCAR Code:
    procedure Randoms;
    begin
      FindNormalRandoms;
      FindEnt(x, y, true);
    end;

    That accomplishes the same things.

    For this:
    SCAR Code:
    procedure CheckAxe;
    begin
      if FindAxe then
      begin
        Writeln('Axe Found')
      end
    end;

    Shorten it to:
    SCAR Code:
    procedure CheckAxe;
    begin
      if FindAxe then
       Writeln('Axe Found');
    end;

    Change your IsAxeBroken function to this:
    SCAR Code:
    function IsAxeBroken: boolean;
    begin
      if FindDTM(BrokenAxe, x, y, mix1, miy1, mix2, miy2) then
      begin
        Writeln('Axe is broken! Attempting to bank and get new one.');
        BrokenAxes := BrokenAxes + 1;
        WalkTobank;
        begin
          Writeln('Banking for new axe..');
          Banking;
          Mouse(x, y, 4, 4, false);
          ChooseOption('eposit'); //Change that to w/e the choose option on depositing is, I can't remember what it is
          if (FindDTM(NormalAxe, x, y, mix1, miy1, mix2, miy2)) then
          begin
            Mouse(x, y, 4, 4, false);
            ChooseOption('1')
            CheckAxe;
            CloseBank;
          end;
        end;
      end;
    end;


    Shorten your ChooseClick procedure to this:
    SCAR Code:
    function ChooseClick: Integer;    // jesus for help TY
    begin
      case random(2) of
        0: Mouse(x, y, 3, 3, true);
        1: begin
              Mouse(x, y, 4, 4, false);
              ChooseOption('hop');
          end;
      end;
    end;

  3. #3
    Join Date
    Sep 2006
    Location
    include srl/srl.scar ( aussie)
    Posts
    2,875
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    thanks for all that is it members worthy

  4. #4
    Join Date
    Jan 2008
    Location
    Alberta
    Posts
    727
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    It depends on who's voting, some people will think this its worthy and some won't, thats why theres a vote and not only one person saying that it's worthy.

  5. #5
    Join Date
    Apr 2007
    Location
    Perth, Australia
    Posts
    3,926
    Mentioned
    3 Post(s)
    Quoted
    2 Post(s)

    Default

    You have to be careful what you put in your auto responder:

    SCAR Code:
    if (inchat('auto')) or (inchat('talk')) or (inchat('noob'))then
      begin
       case Random(5) of
        0: typesend2('im not a noob i dont have to talk go away', true);
        1: typesend2('lol noob i dont auto', true);
        2: typesend2('rolf never', true);
        3: typesend2('fr00b', true);
        4: typesend2('im never talking to you f00b', true);
        end;
        Talks := Talks + 1;
        Result := true;
        exit;
     end;

    So if someone says something like 'You got noob armour', the script could reply 'lol noob i dont auto'. Now obviously that will look a bit suspicious.

    Also I see you've made TypeSend2 type using SMART everytime you talk. What happens if the user doesn't want to use SMART? You could add a constant at the top and ask the user to change the constant based on whether or not they're using SMART.

  6. #6
    Join Date
    Sep 2006
    Location
    include srl/srl.scar ( aussie)
    Posts
    2,875
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    oh ok kool thanks for that.

  7. #7
    Join Date
    Jun 2007
    Location
    La Mirada, CA
    Posts
    2,484
    Mentioned
    1 Post(s)
    Quoted
    3 Post(s)

    Default

    my $.02

    TypeSend2 length wise is a noticable portion of the script. also is all the

    SCAR Code:
    /////////////////////////////////////////////
    /////////////////adfadsfa//////////////////
    ////////////////////////////////////////////

    those take up tons of space, same with having so much empty/white space between your functions/procedures takes up a lot of lines

    your YewColour function wont ever use color numbered 4 b/c random(4) goes 0,1,2,3 you need random(5)

    many functions are taken from other people it looks like, or more than that should be, also it wouldn't hurt to have a more advanced cutting function and go more in-depth with the TPA capabilities.

    and like stated before you dont need to use a ddtm for an inventory log DTM will do

    "Failure is the opportunity to begin again more intelligently" (Henry Ford)


  8. #8
    Join Date
    Sep 2006
    Location
    include srl/srl.scar ( aussie)
    Posts
    2,875
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    yea im changing that up also i have not used others functions much also

    /////////////////////////////////////////////
    /////////////////adfadsfa//////////////////
    ////////////////////////////////////////////


    i like to make my scrips clean and thats how i do it no cares how many lines the script is its how the script works...

    kk il shorten the type send 2 also thanks for all that

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Looking For Advice
    By nhstarter10 in forum News and General
    Replies: 6
    Last Post: 11-18-2007, 01:44 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •