Results 1 to 6 of 6

Thread: Hill Giant Killer Request

  1. #1
    Join Date
    Mar 2008
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Hill Giant Killer Request

    Could someone make a script that kills hill giants and picks up the bones?

  2. #2
    Join Date
    Apr 2007
    Posts
    994
    Mentioned
    1 Post(s)
    Quoted
    0 Post(s)

    Default

    I tried to, but the legits respond way to fast.

    Here it is before I gave up.
    SCAR Code:
    program BigGiantBoneCollecter;
    //{.include SRL/SRL/Misc/Smart.scar}
    {.include srl\srl.scar}
    {.include srl\srl\skill\fighting.scar}

    const
    Number=5; {Number of food to bring on each round}

    var
    bigbone,food,Roadddtm,WaterDTM,LadderDTM:integer;
    nomorefood:boolean;

    {-------------------------------------------------------
                           Player Setup
    --------------------------------------------------------}


    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := ''; //username
      Players[0].Pass := ''; //password
      Players[0].Nick := ''; //3-4 letters from your username
      Players[0].strings[0] := 'trout'; // food name
      Players[0].Active := True;
    end;

    {----------------------------Do Not Edit Below This----------------------------}


    procedure DTMBMPsetup;
    begin
      Bigbone := DTMFromString('78DA63E46764607000622410151CCCA003140' +
           '289FE0702462120CB03550D44164602697120CB8E801A0120CB8A' +
           '801A3122D47003596604D47000599604D4700259B604D4B00059C' +
           'E04D430638621861A1E20CB89801A4920CB8588F071C7AF0600DA' +
           '56095C');
      WaterDTM := DTMFromString('78DA63BCC9C4C07091010574B41B318800694' +
           '620FE0F048CBB806A181951D4D4CFD80557030260354204D45C03' +
           'AA11465553DDA182A206000ABE0E84');
      LadderDTM:= DTMFromString('78DA637464646078C680025CACD419E480345' +
           '086E13F10307A01591F19B0024618ED03643D21A0C61CC87A4C40' +
           '8D1961BB0028EC0AA2');
      case Lowercase(Players[CurrentPlayer].Strings[0]) of
      'lobster': food:= DTMFromString('78DA631464646088076224B03F459C4107280' +
        '412FD0F048C12405610AA1A882C8C04D2D24056380135E2405632' +
        '0135C240562E0135FC40562A01359C40563A01358C44A861C20C1' +
        'F0C353C40562C0135A0708EC2AF0600E4290A61');
      'trout': food:= DTMFromString('78DA63EC6162603063644006EDF9D90C46401' +
           'A24FA1F08186700D5A8A3AA81C8C24820DD0B54A34D404D33A65D' +
           '186A1A806AEC89506345404D1F508D35013533816AF48950A34B4' +
           '04D27508D2D116A0CF1AB010004EA0E13');
      'salmon': food:= DTMFromString('78DA637CC7C4C0D0C4C8800CAEBA4B32A4006' +
        '990E87F2060BC0F54D389AA06220B2381F413A09A1E026ADE02D5' +
        '741150F303A8A69608352544D8554140CD534CBF63A8B94FA49BA' +
        'B08A8790954534F40CD27A09A66FC6A0089771701');
      'meat': food:= DTMFromString('78DA63B465646048026224D09099CA9002A44' +
        '1A2FF8180D103C80A41550391859140DA1DC88A23A00664571601' +
        '350640560E01354640560A01355640560C01354E405632013520B' +
        'F471050634E849B416A12F0AB0100F7380CB3');
      end;
    end;

    procedure LoadRoad;
    var
      roadMPbank: TDTMPointDef;
      roadSPbank: array of TDTMPointDef;
      RoadDDTM: TDTM;
    begin
      SetArrayLength(roadSPBank, 3);

      roadMPBank.x := 573;
      roadMPBank.y := 104;
      roadMPBank.areasize := 1;
      roadMPBank.areashape := 0;
      roadMPbank.color := 8752527;
      roadMPbank.tolerance := 10;

      roadSPbank[0].x := 572;
      roadSPbank[0].y := 93;
      roadSPbank[0].areasize := 1;
      roadSPbank[0].areashape := 0;
      roadSPbank[0].color := 8752527;
      roadSPbank[0].tolerance := 10;

      roadSPbank[1].x := 591;
      roadSPbank[1].y := 108;
      roadSPbank[1].areasize := 1;
      roadSPbank[1].areashape := 0;
      roadSPbank[1].color := 8752527;
      roadSPbank[1].tolerance := 10;

      roadSPbank[2].x := 637;
      roadSPbank[2].y := 72;
      roadSPbank[2].areasize := 1;
      roadSPbank[2].areashape := 0;
      roadSPbank[2].color := 4682620;
      roadSPbank[2].tolerance := 10;

      roadDDTM.MainPoint :=  roadMPbank;
      roadDDTM.SubPoints :=  roadSPbank;
      AddDTM(roadDDTM);
    end;

    procedure AntiBan;
    begin

    end;

    function AntiRandom:boolean;
    begin
      findnormalrandoms;
      result:=true;
    end;

    function checkforfood:boolean;

    var
    i,x,y:integer;

    begin
      while (HPpercent<75) and not(i=15) do
      begin
        gametab(4);
        inc(i);
        if finddtm(food,x,y, MIX1, MIY1, MIX2, MIY2) then
        begin
          Mouse(x,y,5,5,False);
          Result:=True;
        end else
        begin
          Nomorefood:=True;
          Result:=True;
          Writeln('No more food, going back to bank');
          Exit;
        end;
      end;
    end;

    procedure WithdrawFromBank;
    var
    x,y:integer;

    begin
      case random(2) of
        1: if not(Openbankquiet('vew')) then
           Openbankfast('vew');
        0: if not(Openbankfast('vew')) then
           Openbankquiet('vew');
      end;
      if FindDTM(Food, x, y, 0, 0, 800, 600) then
      begin
        Mouse(x, y, 5, 5,false);
        ChooseOption('ithdraw X');
        wait(1000+random(1000));
        Typesend(inttostr(Number));
        Antiban;
        Antirandom;
      end else
        writeln('Food not found. Requesting another DTM from you');
    end;

    procedure GoToDoor; {At the bank}

    var
    i,gay,gax,spx,spy,ifs,its,reps,tempx,tempy:integer;
    TPARoad,TPARoad2,TPARoad3,TPARoad4,TPAWater:TPointArray;

    begin
      if Finddtm(roadddtm,gax,gay,MMX1, MMY1, MMX2, MMY2) then
      begin
        Mouse(gax,gay,5,5,True);
        FFlag(5);
      end else
      begin
      if RadialWalkEx(tparoad2, MMCX, MMCY, 8621197, 25, 300, 220, 65) then   {Ripped the following off Radialwalk and changed the tolerance}
        for i := 0 to High(tparoad2) do
        if MFNF(tparoad2[i].x, tparoad2[i].y, 2, 2) then
        begin
          FFlag(10+random(2));
          Break;
        end;
        end;
        repeat
        reps:=reps+1;
        writeln('2');
      if RadialWalkEx(tparoad, MMCX, MMCY, 8621197, 18, 195, 255, 65) then
        for i := 0 to High(tparoad) do
        if MFNF(tparoad[i].x, tparoad[i].y, 2, 2) then
          begin
            FFlag(10+random(2));
            Break;
          end;
          until(reps=2)
          writeln('3');
      if RadialWalkEx(tparoad3, MMCX, MMCY, 8621197, 18, 240, 300, 65) then
        for i := 0 to High(tparoad3) do
        if MFNF(tparoad3[i].x, tparoad3[i].y, 2, 2) then
          begin
            FFlag(10+random(2));
            Break;
          end;
        spx:=595
        spy:=50
      if FindColorSpiralTolerance(spx,spy, 2527604, MMX1, MMY1, MMX2, MMY2,15)then
      begin
        Mouse(spx,spy,10,10,true);
        FFlag(5);
        spx:=595
        spy:=50
        FindColorSpiralTolerance(spx,spy, 2527604, MMX1, MMY1, MMX2, MMY2,15);
        Mouse(spx,spy,10,10,true);
        DTMRotated(waterdtm,tempx, tempy,MMX1, MMY1, MMX2, MMY2);
        MMouse(tempx,tempy,1,1);
      end else
      begin
        repeat
        ifs:=ifs+1
        if RadialWalkEx(tparoad4, MMCX, MMCY, 7435130, 18, 240, 300, 65) then
          for i := 0 to High(tparoad4) do
          if MFNF(tparoad4[i].x, tparoad4[i].y, 2, 2) then
            begin
              FFlag(10+random(2));
              Break;
            end;
        until(ifs=2)
      end;
      if DTMRotated(waterdtm,tempx, tempy,MMX1, MMY1, MMX2, MMY2) then
      begin
        MMouse(tempx,tempy,1,1);
      end;
      repeat
        its:=its+1
      if RadialWalkEx(tpawater, MMCX, MMCY, 2261365, 20, 0, 45, 65) then
        for i := 0 to High(tpawater) do
        if MFNF(tpawater[i].x, tpawater[i].y, 2, 2) then
          begin
            FFlag(10+random(2));
            Break;
          end;
      until(its=2);
    end;



    procedure GotoHillgiant;

    var
      GTx,GTy,objy,objx,nagrx,nagry,xpt,i:integer;
      NumbrArray : Array [0..3] of Integer;
      Doorpoint,Butpa:TpointArray;
      DP,butp:Tpoint;
      inside:boolean;
    label
      Backtostart;

    begin
      Numbrarray[0]:=2320775;
      Numbrarray[1]:=2121338;
      numbrarray[2]:=602948;
      Numbrarray[3]:=2651543;
      gtx:=596;
      gty:=19;
      if FindColorSpiralTolerance(gtx, gty, 238, MMX1, MMY1, MMX2, MMY2,20) then
      begin
        Mouse(gtx,gty,5,5,true);
        Flag;
      end else
      begin
        FindColorSpiralTolerance(gtx, gty, 238, MMX1, MMY1, MMX2, MMY2,30);
        Mouse(gtx,gty,5,5,true);
        Flag;
      end;
      i:=0;
      backtostart:
      //objx:=233;
      //objy:=135;
      inside:=false;
      for i:=0 to 3 do
      begin
        if FindObjTPA(objx, objy,Numbrarray[i], 19, -1, 15, 15, 60,['pen','oor','Open Door']) then
        //FindColorsSpiralTolerance( MSCX, MSCY,Doorpoint,Numbrarray[i], MSX1, MSY1, MSX2, MSY2 ,30);
        writeln('Wewt');
        //DP:=Middletpa(Doorpoint);
        //Mouse(dp.x,dp.y,1,1,false)
        Mouse(objx,objy,1,1,false);
        if chooseoption('pen') then
        inside:=true;
        break;
      end;
      xpt:=xpt+1
      if xpt=4 then {Tries to find door three times, incase it was open when finding}
      begin
        Writeln('Lost door, Exiting/Next Player');
        nextplayer(false);
        Exit;
      end;
      if not(inside) then
      begin
        goto backtostart;
      end;
      wait(2000+random(1000));
      if DTMRotated(ladderdtm,gtx, gty,MSX1, MSY1, MSX2, MSY2) then
      begin
        nagrx:=3;
        nagry:=3;
        Mouse(gtx,gty,nagrx,nagry,false);
        if (not(chooseoption('limb'))) then
        begin
          nagrx:=2;
          nagry:=2;
          Mouse(gtx,gty,nagrx,nagry,false);
          chooseoption('limb');
        end;
      end else
      begin
        for i:=0 to 2 do
        begin
          case i of
            0:Makecompass('0');
            2:Makecompass(inttostr(3+random(3)));
            1:Makecompass(inttostr(355+random(2)));
          end;
          Writeln('Didnt find ladder using Dtm, trying color 0 now.');
          Findcolorstolerance(BuTPA,0,MSX1,MSY1,MSX2,MSY2,0);
          BuTP:=MiddleTPA(BuTPA);
          Mouse(Butp.x,Butp.y,1,1,false);
          if chooseoption('limb') then
          begin
            inside:=true;
            break;
          end;
        end;
      end;
      if inside then
        Mouse(610,145,10,10,true); {I know im using coordinates, but its the fastest
        method I can currently think of. Maybe I should use colorspiraltotolerance...}

    end;

    function FightNPCFindMob(Color:TintegerArray; tol: integer;Uptext:TStringArray): integer; //My first function, so...

    var
      x,y,fcolx,fcoly,ftd:integer;
      bebs:integer;
      npccolortpa,npccolortpa2:Tpointarray;
     
    begin
      if (not (LoggedIn)) or (FindDead) or (InFight) then Exit;
      for ftd:=0 to high(color) do //Thanks to troll for pointing out the forgotten begin and end;
      begin
        x:=MSCX;
        y:=MSCY;
        if FindObjTPA(x, y, color[ftd], tol, -1, 15, 15, 25,Uptext)and
        not(FindColor(fcolx, fcoly, 65280, x - 20, y, x + 20, y + 80)) then
        begin
          Mouse(x,y,2,2,true);
          flag;
          wait(500 + random(200));
          if infight then
          begin
            Result:=1;
            Wait(1000+random(500));
            Exit;
            Writeln('Haven''t Exited');
          end;
        end;
      end;
      begin
        FindColorsSpiralTolerance(MMCX, MMCY,npccolorTPA, 195836, MMX1, MMY1, MMX2, MMY2,3);
        npccolortpa2:=ReArrangeandShortenArray(npccolorTPA,2);
        for bebs:=0 to high(npccolorTPA2) do
        begin
          if not(FindColorTolerance(x, y, 16711422, npccolorTPA2[bebs].x - 2, npccolorTPA2[bebs].y - 2, npccolorTPA2[bebs].x + 2,npccolorTPA2[bebs].y + 2, 5)) then
          begin
            Mouse(npccolorTPA2[bebs].x,npccolortpa2[bebs].y,3,3,true);
            Result:=2;
            FFlag(3);
            exit;
          end;
        end;
      end;
      begin
        Findcolorspie(npccolorTPA, 195836, 3, 0, 360, 0, 60, MMX1, MMY1, MMX2, MMY2, MMCX, MMCY);
        npccolortpa2:=ReArrangeandShortenArray(npccolorTPA,2);
        if (npccolorTPA[0].x <> 0 )then
        begin
          try
            for bebs:=random(2) to high(npccolorTPA2) do
            begin
              Mouse(npccolorTPA2[bebs].x,npccolortpa2[bebs].y,3,3,true);
              Result:=3;
              FFlag(3+random(2));
              Exit;
            end;
          except
            Writeln('Wow, we must be lost or something, there are less than 1 npc dots on the minimap!');
            result:=5;
            exit;
          finally
          end;
        end else
        result:=4;
      end;
    end;

    procedure pickup;
    begin
    end;

    procedure AttackHillgiantLoop;

    var
      dex,dey,Timemark,x,y:integer;
      tamplor:tpointarray;
      endcave:Tpoint;
    label
      Backtostart,FightingFS1,Fight;

    begin
      if not(loggedin) then Exit;
      Backtostart:
      checkforfood;
      if (invfull) or (nomorefood) then
      begin
        Exit;
      end;
      While not(invfull) or (nomorefood) do
      begin;
      Writeln('Looped once');
      if not(loggedin) then Exit;
        case random(4) of
          2: Antiban;
          0: begin
               Antirandom;
               pickup;
             end;
          3,1:Pickup;
        end;
        Fight:
        Setrun(true);
        case FightNPCFindMob([7578827,10535646,9615833,6458284],5,['ill']) of {Custom made function, if 1, it fights, 2,3 it ran to a minimap dot, 5, it has found less than one minimap dot}
        1:begin
            Writeln('1');
            FightingFS1:
            repeat
              Wait(2000);
              MarkTime(Timemark);
              if checkforfood then
              begin
                Exit;
              end;
              antirandom;
            until not(infight) or (timefrommark(timemark)<30000)
            if timefrommark(timemark)<30000 then
            begin
              if infight then
              begin
                dex:=MSCX;
                dey:=MSCY;
                if FindColorSpiralTolerance(dex,dey,65280,MSX1, MSY1, MSX2, MSY2,3) then
                begin
                  MMouse(dex,dey,2,2);
                  if not(Isuptextmulticustom(['ill'])) then
                  begin
                    Antirandom;
                  end else
                  goto fightingfs1;
                end;
              end else
            end;
          end;
        3,2:begin
            if not(infight) then
            begin
              Writeln('2,3');
              case random(6) of
                0,4: pickup;
                2,3: AntiRandom;
                5: AntiBan;
              end;
              wait(100+random(300));
            end else
            begin
              dex:=MSCX;
              dey:=MSCY;
              if FindColorSpiralTolerance(dex,dey,65280,MSCX - 20, MSY1 - 20, MSX2 + 20, MSY2 + 20,3) then
              begin
                MMouse(dex,dey,2,2);
                if not(Isuptextmulticustom(['ill'])) then
                begin
                  Antirandom;
                end;
              end else
              begin
                repeat
                  if checkforfood then
                  begin
                    Exit;
                  end;
                until not(infight) or (nomorefood);
              end;
            end;
          end;
        5:begin
            Antirandom;
            x:=MMCX
            y:=MMCY
            case random(2) of
            1:begin
                if FindColorsTolerance(tamplor,65536, 560, 62,697, 155,3) then
                begin
                  Endcave:=middletpa(tamplor);
                  Mouse(endcave.x + random(6),endcave.y + Random(6),2,2,true);
                end else
                begin
                  Writeln('We are lost in a place that is not a dungeon.');
                  Players[currentplayer].active:=false;
                  Logout;
                  Exit;
                end;
                Antiban;
              end;
            2:begin
                if FindColorsTolerance(tamplor,6058377, MSX1, MSY1, MSX2, MSY2,9) then
                begin
                  Endcave:=middletpa(tamplor);
                  Mouse(endcave.x,endcave.y,5,5,true);
                end else
                begin
                  Writeln('We are not in the hill giant cave.');
                  Players[currentplayer].active:=false;
                  logout;
                  Exit;
                end;
                Antiban;
              end;
            end;
          end;
        end;{This is the end for the case statement}
      end;{end for while statement}
    end;
       


    procedure GoToBank;
    begin
    end;


    begin
      {SmartSetupEx(21, False, True);
      SetTargetDC(SmartGetDC);
      while not(smartready) do
      begin
        wait(100);
      end;  }

      setupsrl;
      activateclient;
      cleardebug;
      declareplayers;
      loadroad;
      loginplayer;
      //fightnpcfindmob([0],5,['']);
      dtmbmpsetup;
      //withdrawfrombank;
      //gotohillgiant;
      attackhillgiantloop;
      {case checkforfood of
      true: writeln('1');
      false:writeln('2');
      end;}

    end.
    [QUOTE]<GoF`> oh no its Raymooond
    <Raymooond> Heya
    <GoF`> is it ray or some other ray?
    <LeeLokHin> No idea
    <LeeLokHin> Raymond, what's the game you like the most?
    <Raymooond> Runescape
    <-- LeeLokHin has kicked Raymooond from #srl (Faker.)[/QUOTE]

  3. #3
    Join Date
    Mar 2008
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    thx so much im sure i can find an empty world to use this

  4. #4
    Join Date
    Apr 2007
    Posts
    994
    Mentioned
    1 Post(s)
    Quoted
    0 Post(s)

    Default

    Note the above. This script is not finished, nor even in the beta stage. I have hoever done the banking and the attacking bit, even though the attacking bit is slow. What is needed is you to learn SCAR and update it, or make your own. Sorry, but the above will not even walk you to the hill giants

    GO AND LEARN SCAR NAW!
    [QUOTE]<GoF`> oh no its Raymooond
    <Raymooond> Heya
    <GoF`> is it ray or some other ray?
    <LeeLokHin> No idea
    <LeeLokHin> Raymond, what's the game you like the most?
    <Raymooond> Runescape
    <-- LeeLokHin has kicked Raymooond from #srl (Faker.)[/QUOTE]

  5. #5
    Join Date
    Dec 2006
    Location
    Program TEXAS home of AUTOERS
    Posts
    7,934
    Mentioned
    26 Post(s)
    Quoted
    237 Post(s)

    Default

    [QUOTE=leelokhin;405300]I tried to, but the legits respond way to fast.

    Here it is before I gave up.
    SCAR Code:
    program BigGiantBoneCollecter;
    //{.include SRL/SRL/Misc/Smart.scar}
    {.include srl\srl.scar}
    {.include srl\srl\skill\fighting.scar}

    const
    Number=5; {Number of food to bring on each round}

    var
    bigbone,food,Roadddtm,WaterDTM,LadderDTM:integer;
    nomorefood:boolean;

    {-------------------------------------------------------
                           Player Setup
    --------------------------------------------------------}


    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := ''; //username
      Players[0].Pass := ''; //password
      Players[0].Nick := ''; //3-4 letters from your username
      Players[0].strings[0] := 'trout'; // food name
      Players[0].Active := True;
    end;

    {----------------------------Do Not Edit Below This----------------------------}


    procedure DTMBMPsetup;
    begin
      Bigbone := DTMFromString('78DA63E46764607000622410151CCCA003140' +
           '289FE0702462120CB03550D44164602697120CB8E801A0120CB8A' +
           '801A3122D47003596604D47000599604D4700259B604D4B00059C' +
           'E04D430638621861A1E20CB89801A4920CB8588F071C7AF0600DA' +
           '56095C');
      WaterDTM := DTMFromString('78DA63BCC9C4C07091010574B41B318800694' +
           '620FE0F048CBB806A181951D4D4CFD80557030260354204D45C03' +
           'AA11465553DDA182A206000ABE0E84');
      LadderDTM:= DTMFromString('78DA637464646078C680025CACD419E480345' +
           '086E13F10307A01591F19B0024618ED03643D21A0C61CC87A4C40' +
           '8D1961BB0028EC0AA2');
      case Lowercase(Players[CurrentPlayer].Strings[0]) of
      'lobster': food:= DTMFromString('78DA631464646088076224B03F459C4107280' +
        '412FD0F048C12405610AA1A882C8C04D2D24056380135E2405632' +
        '0135C240562E0135FC40562A01359C40563A01358C44A861C20C1' +
        'F0C353C40562C0135A0708EC2AF0600E4290A61');
      'trout': food:= DTMFromString('78DA63EC6162603063644006EDF9D90C46401' +
           'A24FA1F08186700D5A8A3AA81C8C24820DD0B54A34D404D33A65D' +
           '186A1A806AEC89506345404D1F508D35013533816AF48950A34B4' +
           '04D27508D2D116A0CF1AB010004EA0E13');
      'salmon': food:= DTMFromString('78DA637CC7C4C0D0C4C8800CAEBA4B32A4006' +
        '990E87F2060BC0F54D389AA06220B2381F413A09A1E026ADE02D5' +
        '741150F303A8A69608352544D8554140CD534CBF63A8B94FA49BA' +
        'B08A8790954534F40CD27A09A66FC6A0089771701');
      'meat': food:= DTMFromString('78DA63B465646048026224D09099CA9002A44' +
        '1A2FF8180D103C80A41550391859140DA1DC88A23A00664571601' +
        '350640560E01354640560A01355640560C01354E405632013520B' +
        'F471050634E849B416A12F0AB0100F7380CB3');
      end;
    end;

    procedure LoadRoad;
    var
      roadMPbank: TDTMPointDef;
      roadSPbank: array of TDTMPointDef;
      RoadDDTM: TDTM;
    begin
      SetArrayLength(roadSPBank, 3);

      roadMPBank.x := 573;
      roadMPBank.y := 104;
      roadMPBank.areasize := 1;
      roadMPBank.areashape := 0;
      roadMPbank.color := 8752527;
      roadMPbank.tolerance := 10;

      roadSPbank[0].x := 572;
      roadSPbank[0].y := 93;
      roadSPbank[0].areasize := 1;
      roadSPbank[0].areashape := 0;
      roadSPbank[0].color := 8752527;
      roadSPbank[0].tolerance := 10;

      roadSPbank[1].x := 591;
      roadSPbank[1].y := 108;
      roadSPbank[1].areasize := 1;
      roadSPbank[1].areashape := 0;
      roadSPbank[1].color := 8752527;
      roadSPbank[1].tolerance := 10;

      roadSPbank[2].x := 637;
      roadSPbank[2].y := 72;
      roadSPbank[2].areasize := 1;
      roadSPbank[2].areashape := 0;
      roadSPbank[2].color := 4682620;
      roadSPbank[2].tolerance := 10;

      roadDDTM.MainPoint :=  roadMPbank;
      roadDDTM.SubPoints :=  roadSPbank;
      AddDTM(roadDDTM);
    end;

    procedure AntiBan;
    begin

    end;

    function AntiRandom:boolean;
    begin
      findnormalrandoms;
      result:=true;
    end;

    function checkforfood:boolean;

    var
    i,x,y:integer;

    begin
      while (HPpercent<75) and not(i=15) do
      begin
        gametab(4);
        inc(i);
        if finddtm(food,x,y, MIX1, MIY1, MIX2, MIY2) then
        begin
          Mouse(x,y,5,5,False);
          Result:=True;
        end else
        begin
          Nomorefood:=True;
          Result:=True;
          Writeln('No more food, going back to bank');
          Exit;
        end;
      end;
    end;

    procedure WithdrawFromBank;
    var
    x,y:integer;

    begin
      case random(2) of
        1: if not(Openbankquiet('vew')) then
           Openbankfast('vew');
        0: if not(Openbankfast('vew')) then
           Openbankquiet('vew');
      end;
      if FindDTM(Food, x, y, 0, 0, 800, 600) then
      begin
        Mouse(x, y, 5, 5,false);
        ChooseOption('ithdraw X');
        wait(1000+random(1000));
        Typesend(inttostr(Number));
        Antiban;
        Antirandom;
      end else
        writeln('Food not found. Requesting another DTM from you');
    end;

    procedure GoToDoor; {At the bank}

    var
    i,gay,gax,spx,spy,ifs,its,reps,tempx,tempy:integer;
    TPARoad,TPARoad2,TPARoad3,TPARoad4,TPAWater:TPointArray;

    begin
      if Finddtm(roadddtm,gax,gay,MMX1, MMY1, MMX2, MMY2) then
      begin
        Mouse(gax,gay,5,5,True);
        FFlag(5);
      end else
      begin
      if RadialWalkEx(tparoad2, MMCX, MMCY, 8621197, 25, 300, 220, 65) then   {Ripped the following off Radialwalk and changed the tolerance}
        for i := 0 to High(tparoad2) do
        if MFNF(tparoad2[i].x, tparoad2[i].y, 2, 2) then
        begin
          FFlag(10+random(2));
          Break;
        end;
        end;
        repeat
        reps:=reps+1;
        writeln('2');
      if RadialWalkEx(tparoad, MMCX, MMCY, 8621197, 18, 195, 255, 65) then
        for i := 0 to High(tparoad) do
        if MFNF(tparoad[i].x, tparoad[i].y, 2, 2) then
          begin
            FFlag(10+random(2));
            Break;
          end;
          until(reps=2)
          writeln('3');
      if RadialWalkEx(tparoad3, MMCX, MMCY, 8621197, 18, 240, 300, 65) then
        for i := 0 to High(tparoad3) do
        if MFNF(tparoad3[i].x, tparoad3[i].y, 2, 2) then
          begin
            FFlag(10+random(2));
            Break;
          end;
        spx:=595
        spy:=50
      if FindColorSpiralTolerance(spx,spy, 2527604, MMX1, MMY1, MMX2, MMY2,15)then
      begin
        Mouse(spx,spy,10,10,true);
        FFlag(5);
        spx:=595
        spy:=50
        FindColorSpiralTolerance(spx,spy, 2527604, MMX1, MMY1, MMX2, MMY2,15);
        Mouse(spx,spy,10,10,true);
        DTMRotated(waterdtm,tempx, tempy,MMX1, MMY1, MMX2, MMY2);
        MMouse(tempx,tempy,1,1);
      end else
      begin
        repeat
        ifs:=ifs+1
        if RadialWalkEx(tparoad4, MMCX, MMCY, 7435130, 18, 240, 300, 65) then
          for i := 0 to High(tparoad4) do
          if MFNF(tparoad4[i].x, tparoad4[i].y, 2, 2) then
            begin
              FFlag(10+random(2));
              Break;
            end;
        until(ifs=2)
      end;
      if DTMRotated(waterdtm,tempx, tempy,MMX1, MMY1, MMX2, MMY2) then
      begin
        MMouse(tempx,tempy,1,1);
      end;
      repeat
        its:=its+1
      if RadialWalkEx(tpawater, MMCX, MMCY, 2261365, 20, 0, 45, 65) then
        for i := 0 to High(tpawater) do
        if MFNF(tpawater[i].x, tpawater[i].y, 2, 2) then
          begin
            FFlag(10+random(2));
            Break;
          end;
      until(its=2);
    end;



    procedure GotoHillgiant;

    var
      GTx,GTy,objy,objx,nagrx,nagry,xpt,i:integer;
      NumbrArray : Array [0..3] of Integer;
      Doorpoint,Butpa:TpointArray;
      DP,butp:Tpoint;
      inside:boolean;
    label
      Backtostart;

    begin
      Numbrarray[0]:=2320775;
      Numbrarray[1]:=2121338;
      numbrarray[2]:=602948;
      Numbrarray[3]:=2651543;
      gtx:=596;
      gty:=19;
      if FindColorSpiralTolerance(gtx, gty, 238, MMX1, MMY1, MMX2, MMY2,20) then
      begin
        Mouse(gtx,gty,5,5,true);
        Flag;
      end else
      begin
        FindColorSpiralTolerance(gtx, gty, 238, MMX1, MMY1, MMX2, MMY2,30);
        Mouse(gtx,gty,5,5,true);
        Flag;
      end;
      i:=0;
      backtostart:
      //objx:=233;
      //objy:=135;
      inside:=false;
      for i:=0 to 3 do
      begin
        if FindObjTPA(objx, objy,Numbrarray[i], 19, -1, 15, 15, 60,['pen','oor','Open Door']) then
        //FindColorsSpiralTolerance( MSCX, MSCY,Doorpoint,Numbrarray[i], MSX1, MSY1, MSX2, MSY2 ,30);
        writeln('Wewt');
        //DP:=Middletpa(Doorpoint);
        //Mouse(dp.x,dp.y,1,1,false)
        Mouse(objx,objy,1,1,false);
        if chooseoption('pen') then
        inside:=true;
        break;
      end;
      xpt:=xpt+1
      if xpt=4 then {Tries to find door three times, incase it was open when finding}
      begin
        Writeln('Lost door, Exiting/Next Player');
        nextplayer(false);
        Exit;
      end;
      if not(inside) then
      begin
        goto backtostart;
      end;
      wait(2000+random(1000));
      if DTMRotated(ladderdtm,gtx, gty,MSX1, MSY1, MSX2, MSY2) then
      begin
        nagrx:=3;
        nagry:=3;
        Mouse(gtx,gty,nagrx,nagry,false);
        if (not(chooseoption('limb'))) then
        begin
          nagrx:=2;
          nagry:=2;
          Mouse(gtx,gty,nagrx,nagry,false);
          chooseoption('limb');
        end;
      end else
      begin
        for i:=0 to 2 do
        begin
          case i of
            0:Makecompass('0');
            2:Makecompass(inttostr(3+random(3)));
            1:Makecompass(inttostr(355+random(2)));
          end;
          Writeln('Didnt find ladder using Dtm, trying color 0 now.');
          Findcolorstolerance(BuTPA,0,MSX1,MSY1,MSX2,MSY2,0);
          BuTP:=MiddleTPA(BuTPA);
          Mouse(Butp.x,Butp.y,1,1,false);
          if chooseoption('limb') then
          begin
            inside:=true;
            break;
          end;
        end;
      end;
      if inside then
        Mouse(610,145,10,10,true); {I know im using coordinates, but its the fastest
        method I can currently think of. Maybe I should use colorspiraltotolerance...}

    end;

    function FightNPCFindMob(Color:TintegerArray; tol: integer;Uptext:TStringArray): integer; //My first function, so...

    var
      x,y,fcolx,fcoly,ftd:integer;
      bebs:integer;
      npccolortpa,npccolortpa2:Tpointarray;
     
    begin
      if (not (LoggedIn)) or (FindDead) or (InFight) then Exit;
      for ftd:=0 to high(color) do //Thanks to troll for pointing out the forgotten begin and end;
      begin
        x:=MSCX;
        y:=MSCY;
        if FindObjTPA(x, y, color[ftd], tol, -1, 15, 15, 25,Uptext)and
        not(FindColor(fcolx, fcoly, 65280, x - 20, y, x + 20, y + 80)) then
        begin
          Mouse(x,y,2,2,true);
          flag;
          wait(500 + random(200));
          if infight then
          begin
            Result:=1;
            Wait(1000+random(500));
            Exit;
            Writeln('Haven''t Exited');
          end;
        end;
      end;
      begin
        FindColorsSpiralTolerance(MMCX, MMCY,npccolorTPA, 195836, MMX1, MMY1, MMX2, MMY2,3);
        npccolortpa2:=ReArrangeandShortenArray(npccolorTPA,2);
        for bebs:=0 to high(npccolorTPA2) do
        begin
          if not(FindColorTolerance(x, y, 16711422, npccolorTPA2[bebs].x - 2, npccolorTPA2[bebs].y - 2, npccolorTPA2[bebs].x + 2,npccolorTPA2[bebs].y + 2, 5)) then
          begin
            Mouse(npccolorTPA2[bebs].x,npccolortpa2[bebs].y,3,3,true);
            Result:=2;
            FFlag(3);
            exit;
          end;
        end;
      end;
      begin
        Findcolorspie(npccolorTPA, 195836, 3, 0, 360, 0, 60, MMX1, MMY1, MMX2, MMY2, MMCX, MMCY);
        npccolortpa2:=ReArrangeandShortenArray(npccolorTPA,2);
        if (npccolorTPA[0].x <> 0 )then
        begin
          try
            for bebs:=random(2) to high(npccolorTPA2) do
            begin
              Mouse(npccolorTPA2[bebs].x,npccolortpa2[bebs].y,3,3,true);
              Result:=3;
              FFlag(3+random(2));
              Exit;
            end;
          except
            Writeln('Wow, we must be lost or something, there are less than 1 npc dots on the minimap!');
            result:=5;
            exit;
          finally
          end;
        end else
        result:=4;
      end;
    end;

    procedure pickup;
    begin
    end;

    procedure AttackHillgiantLoop;

    var
      dex,dey,Timemark,x,y:integer;
      tamplor:tpointarray;
      endcave:Tpoint;
    label
      Backtostart,FightingFS1,Fight;

    begin
      if not(loggedin) then Exit;
      Backtostart:
      checkforfood;
      if (invfull) or (nomorefood) then
      begin
        Exit;
      end;
      While not(invfull) or (nomorefood) do
      begin;
      Writeln('Looped once');
      if not(loggedin) then Exit;
        case random(4) of
          2: Antiban;
          0: begin
               Antirandom;
               pickup;
             end;
          3,1:Pickup;
        end;
        Fight:
        Setrun(true);
        case FightNPCFindMob([7578827,10535646,9615833,6458284],5,['ill']) of {Custom made function, if 1, it fights, 2,3 it ran to a minimap dot, 5, it has found less than one minimap dot}
        1:begin
            Writeln('1');
            FightingFS1:
            repeat
              Wait(2000);
              MarkTime(Timemark);
              if checkforfood then
              begin
                Exit;
              end;
              antirandom;
            until not(infight) or (timefrommark(timemark)<30000)
            if timefrommark(timemark)<30000 then
            begin
              if infight then
              begin
                dex:=MSCX;
                dey:=MSCY;
                if FindColorSpiralTolerance(dex,dey,65280,MSX1, MSY1, MSX2, MSY2,3) then
                begin
                  MMouse(dex,dey,2,2);
                  if not(Isuptextmulticustom(['ill'])) then
                  begin
                    Antirandom;
                  end else
                  goto fightingfs1;
                end;
              end else
            end;
          end;
        3,2:begin
            if not(infight) then
            begin
              Writeln('2,3');
              case random(6) of
                0,4: pickup;
                2,3: AntiRandom;
                5: AntiBan;
              end;
              wait(100+random(300));
            end else
            begin
              dex:=MSCX;
              dey:=MSCY;
              if FindColorSpiralTolerance(dex,dey,65280,MSCX - 20, MSY1 - 20, MSX2 + 20, MSY2 + 20,3) then
              begin
                MMouse(dex,dey,2,2);
                if not(Isuptextmulticustom(['ill'])) then
                begin
                  Antirandom;
                end;
              end else
              begin
                repeat
                  if checkforfood then
                  begin
                    Exit;
                  end;
                until not(infight) or (nomorefood);
              end;
            end;
          end;
        5:begin
            Antirandom;
            x:=MMCX
            y:=MMCY
            case random(2) of
            1:begin
                if FindColorsTolerance(tamplor,65536, 560, 62,697, 155,3) then
                begin
                  Endcave:=middletpa(tamplor);
                  Mouse(endcave.x + random(6),endcave.y + Random(6),2,2,true);
                end else
                begin
                  Writeln('We are lost in a place that is not a dungeon.');
                  Players[currentplayer].active:=false;
                  Logout;
                  Exit;
                end;
                Antiban;
              end;
            2:begin
                if FindColorsTolerance(tamplor,6058377, MSX1, MSY1, MSX2, MSY2,9) then
                begin
                  Endcave:=middletpa(tamplor);
                  Mouse(endcave.x,endcave.y,5,5,true);
                end else
                begin
                  Writeln('We are not in the hill giant cave.');
                  Players[currentplayer].active:=false;
                  logout;
                  Exit;
                end;
                Antiban;
              end;
            end;
          end;
        end;{This is the end for the case statement}
      end;{end for while statement}
    end;
       


    procedure GoToBank;
    begin
    end;


    begin
      {SmartSetupEx(21, False, True);
      SetTargetDC(SmartGetDC);
      while not(smartready) do
      begin
        wait(100);
      end;  }

      setupsrl;
      activateclient;
      cleardebug;
      declareplayers;
      loadroad;
      loginplayer;
      //fightnpcfindmob([0],5,['']);
      dtmbmpsetup;
      //withdrawfrombank;
      //gotohillgiant;
      attackhillgiantloop;
      {case checkforfood of
      true: writeln('1');
      false:writeln('2');
      end;}

    end.

    DONT GIVE UP!

  6. #6
    Join Date
    Mar 2008
    Posts
    60
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    yeah they are right.... the nonmembers worlds are usually filled and it wont really work.... well it probably will work on late nights

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Hill Giant + Bone Seller
    By awesom in forum RS3 Outdated / Broken Scripts
    Replies: 8
    Last Post: 03-23-2009, 01:56 AM
  2. [Request] Cow Killer
    By RedSpree in forum RS3 Outdated / Broken Scripts
    Replies: 3
    Last Post: 11-22-2008, 08:50 PM
  3. Hill Giant Script
    By blackhand101 in forum OSR Help
    Replies: 10
    Last Post: 11-13-2007, 04:52 PM
  4. Hill Giant killer and Smelter
    By masteryoda™ in forum RS3 Outdated / Broken Scripts
    Replies: 2
    Last Post: 10-31-2007, 02:50 AM
  5. Hill Giant stealing!
    By Secet in forum News and General
    Replies: 7
    Last Post: 06-27-2007, 01:49 PM

Posting Permissions

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