Could someone make a script that kills hill giants and picks up the bones?![]()
Could someone make a script that kills hill giants and picks up the bones?![]()
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]
thx so much im sure i can find an empty world to use this![]()
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]
[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!
yeah they are right.... the nonmembers worlds are usually filled and it wont really work.... well it probably will work on late nights
There are currently 1 users browsing this thread. (0 members and 1 guests)