ShowerThoughts
2008-04-24 06:48:56
i lost now like 100% of my range mage spotter with my first tpa function :(
i lost like 50% of my lumbridge all in one
so now i am going to post all my code here you can use it if you credit it! some things aren't by me but then that people name will be above it, it has good stuff like a almost finished spinning part(when it was 100%, so i am not sure.
i will also put my other templates(kinda starting scripts here):
Draynor oak cutter and banker walking kinda never failed(few months ago)
by Hobbit and me
Lumbridge AIO, this was a great project while working on it :( to bad i lost like i said 50% of the code i worked on this with timer, he is a great scripter we had a kinda good script i made a .exe installer i lost that to :(
autocolors jhave to be remade because i let the result:= save in a var but that was not needed -.- and they don't work btw
we had like 30 kb + 10 kb i guess this is only 17 kb :(
i am now deleting those from my computer and will start making a script(maybe redo lumbyaio)
Note:
The Walk from lumby aio from the lumb bank to down the stairs never failed! when i tested it like houndreds of times :D, it would be a shame if it wouldn't be used maybe i use it again if i start lumby aio again… whatever
thanks for reading!
Hermpie
i lost like 50% of my lumbridge all in one
so now i am going to post all my code here you can use it if you credit it! some things aren't by me but then that people name will be above it, it has good stuff like a almost finished spinning part(when it was 100%, so i am not sure.
i will also put my other templates(kinda starting scripts here):
Draynor oak cutter and banker walking kinda never failed(few months ago)
by Hobbit and me
{ __ __ __ __
/\ \/\ \ /\ \/\ \
\ \ \_\ \ \ \ \_\ \
\ \ _ \ \ \ _ \
\ \ \ \ \ \ \ \ \ \
\ \_\ \_\ \ \_\ \_\
\/_/\/_/ \/_/\/_/
____ __ __
/\ _`\ /\ \ /\ \__ __
\ \ \L\ \_ __ ___ \_\ \ __ __ ___\ \ ,_\/\_\ ___ ___
\ \ ,__/\`'__\/ __`\ /'_` \/\ \/\ \ /'___\ \ \/\/\ \ / __`\ /' _ `\
\ \ \/\ \ \//\ \L\ \/\ \L\ \ \ \_\ \/\ \__/\ \ \_\ \ \/\ \L\ \/\ \/\ \
\ \_\ \ \_\\ \____/\ \___,_\ \____/\ \____\\ \__\\ \_\ \____/\ \_\ \_\
\/_/ \/_/ \/___/ \/__,_ /\/___/ \/____/ \/__/ \/_/\/___/ \/_/\/_/}
program OakBankerandCutter;
{.Include SRL/SRL.Scar}
const
StartPlayer = 0;
OakColor = 7383972;
OakColor2 = 6530458;
HowManyMinutes = 5; //how many mins to get a fill load
YourSRLID = '';
YourSRLIDPASS = '';
var
X, Y, Logins: integer;
Time, Time2: integer;
function WalkToBank1: boolean; forward;
function WalkToBank2: boolean; forward;
function OpenBankDTM: boolean; forward;
function WalkToOak: boolean; forward;
Procedure FindOak; forward;
Procedure WalkToBank; forward;
function TreeGone: boolean; forward;
procedure TreeIsGone; forward;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
CurrentPlayer := StartPlayer;
NumberOfPlayers(HowManyPlayers); // set arraylength
Players[0].Name := 'bow of crust';
Players[0].Pass := 'harry52369';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Integers[0] := 5; //Loads?
Players[0].Integers[1] := 0; //let this
Players[0].Integers[2] := 0; //let this
Players[0].Integers[3] := 0; //let this
{Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;
Players[1].Integers[0]:=5;//Loads?
Players[1].Integers[1]:=0;//let this
Players[1].Integers[2]:=0;//let this
Players[1].Integers[3]:=0;//let this
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;
Players[2].Integers[0]:=5;//Loads?
Players[2].Integers[1]:=0;//let this
Players[2].Integers[2]:=0;//let this
Players[2].Integers[3]:=0;//let this
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True;
Players[3].Integers[0]:=5;//Loads?
Players[3].Integers[1]:=0;//let this
Players[3].Integers[2]:=0;//let this
Players[3].Integers[3]:=0;//let this}
end;
{==============================]
Function:FindClickNpc
by:Hermpie
Info:you could use it like this,
NPCFindNClick(Color1,Color2,'uptext1','uptext2','rade',InFight,False,10);
[==============================}
Procedure GetLevel(Skill: string; Option: boolean);
begin
if not LoggedIn then Exit;
if (Option = True) then
begin
GameTab(2);
Players[CurrentPlayer].Integers[1] := 0;
Players[CurrentPlayer].Integers[1] := GetSkillLevel(Skill);
end else
begin
GameTab(2);
Players[CurrentPlayer].Integers[2] := 0;
Players[CurrentPlayer].Integers[2] := GetSkillLevel(Skill);
end;
GameTab(4)
end;
function HandleFight:boolean;
begin
if FindFight then
begin
WalkToBank;
FindNormalRandoms;
WalkToOak;
Result:=true;
FindOak;
end;
end;
function GetAxe: boolean;
var
Axe: integer;
begin
WalkToBank;
OpenBankDTM;
DepositAll;
Axe := DTMFromString('78DA636C6664601003622080900C0CB5A5250' +
'CFFA1FCFF40C0580264E9C0646100550F631990A54D404D3990A5' +
'41404D0590A546404D1590A540845D3244D82549404D25227CF0F' +
'A5D91809A12C2FE0200E4860D2E');
if (FindDTM(Axe, X, Y, MSX1, MSY1, MSX2, MSY2)) then
begin
WriteLn('New Axe Found!');
wait(50);
MMouse(X, Y, 0, 0);
wait(50);
if IsUpText('axe') then
begin
wait(50);
Mouse(X, Y, 0, 0, True);
Result := True;
WriteLn('Took New Axe From Bank');
wait(50);
CloseBank;
Wait(500);
GameTab(4);
Wait(500);
if (FindDTM(Axe, X, Y, MIX1, MIY1, MIX2, MIY2)) then
begin
wait(50);
Mouse(X, Y, 0, 0, True)
wait(50);
OpenBankDtm;
Wait(500);
Depositall;
wait(50);
CloseBank;
wait(500);
WalkToOak;
end else logout;
end else
begin
WriteLn('Did NOT find New Axe, logging out');
Result := False;
logout;
end;
FreeDTM(Axe);
GameTab(4);
end;
end;
procedure Check;
begin
if FindBlackChatMessage('do not have an axe') then
begin
WriteLn('You Do NOT got an axe with your wcing level to use, getting new one');
GetAxe;
end;
if FindBlackChatMessage('level of 15') then
begin
WriteLn('your player Haves wcing level -15, logging out');
logout;
end;
end;
Procedure FindOak;
var
TMT,b: Integer;
begin
TMT := 0;
Check;
if (TreeGone = False) then exit;
repeat
TMT := TMT + 1
B := GetSystemTime
if FindObjCustom(X, Y, ['Oak', 'ak'], [OakColor, OakColor2], 10) then
begin
Wait(50+random(20));
Mouse(X, Y, 1, 1, False);
Wait(50+random(20));
if ChooseOption('hop') then
begin
WriteLn('Found Oak');
Break;
end;
end;
until (TMT > 10)
end;
{*******************************************************************************
Procedure TRef(symbol1, symbol2, symbol3:integer; NextPlayer:Boolean);
by: Hobbit
Decription: Uses Triangles made with mm symbols to check positions
Boolean: True - If reference symbols not found it switches to the next
player.
False - If reference symbols not found it leave current player
logged in.
*******************************************************************************}
function FindEntDTM: boolean;
var
Ent: integer;
begin
Ent := DTMFromString('78DA63EC626260886400034608C5F0E70F138' +
'30894FF1F0818EB106A98A06AF48305E06AC07A416A9C51D5A839' +
'70A1AA01D9A587DF1C003C790B25');
if (DTMRotated(Ent, X, Y, MMX1, MMY1, MMX2, MSY2)) then Result := True else Result := False;
FreeDTM(Ent);
if result then writeln('Found Ent');
end;
procedure Ent;
var
Pizza: integer;
begin
pizza := 0;
if FindEntDTM then
begin
MarkTime(Pizza);
repeat
Wait(500);
FindEntDTM;
wait(10)
until (FindEntDTM = False) or (TimeFromMark(Pizza) > 60000)
end;
pizza := 0;
end;
function TreeGone: boolean;
var
TreeStump: integer;
begin
TreeStump := DTMFromString('78DA638C656260F061644006F5E99E0CFC401' +
'A24FA1F0818416A4250D5746439C0D580006304A69A552D01A86A' +
'C2816AFC51D52CAEF3C554E38DAA66469907AA9A00A01A4F54350' +
'B6A7C50D58460FA0BC33D89403581A86A8A23CD50D52401D5F8A2' +
'AA49F2D14355130F54138C3F7C00ADE517F8');
if (DTMRotated(TreeStump, X, Y, MSX1, MSY1, MSX2, MSY2)) then Result:=True else Result:=False;
FreeDTM(TreeStump);
end;
procedure TreeIsGone;
var
Pizza: integer;
begin
pizza := 0;
if TreeGone then
begin
MarkTime(Pizza);
repeat
Wait(450);
TreeGone;
wait(10);
until (TreeGone = False) or (TimeFromMark(Pizza) > 10000)
end;
pizza := 0;
end;
function WalkToOak: boolean;
var
ToOak: integer;
begin
RunControl(True);
ToOak := DTMFromString('78DA636C676260086200034608C55018ABC4F' +
'01FCAFF0F048CB5403521A86A145CB8192491F88C3D4035C104D4' +
'80CC714055236EC88AAAA60DA84687803973806AECF1AB010093A' +
'C0D63');
if (DTMRotated(ToOak, X, Y, MMX1, MMY1, MMX2, MMY2)) then
begin
Result := True;
WriteLn('Found ToOak DTM.');
MouseFlag(x, y, 0, 0);
end else
begin
Result := False;
WriteLn('Could NOT Find ToOak DTM');
end;
FreeDTM(ToOak);
end;
function WalkToBank1: boolean;
var
ToBank: integer;
begin
ToBank := DTMFromString('78DA630C616260F06740017FFE30314802694' +
'620FE0F048C2035C1A86ADEBE6580AB0101C650A01A77DCE68000' +
'00E97D0C08');
if (DTMRotated(ToBank, X, Y, MMX1, MMY1, MMX2, MMY2)) then
begin
Result := True;
WriteLn('Found ToBank DTM.');
MouseFlag(x + 5, y, 3, 3);
end else
begin
Result := False;
WriteLn('Could NOT Find ToBank DTM');
end;
FreeDTM(ToBank);
end;
function WalkToBank2: boolean;
var
ToBank2: integer;
begin
ToBank2 := DTMFromString('78DA634C66626008644001C9B1310CFF81342' +
'310FF0702C614A09A02881C23548D7C000B8324129FB118A8269F' +
'809A74A09A18026A72816A3C08A86906AA8926A0A609A8C682809' +
'A3EFC6A407E0700034B144F');
if (DTMRotated(ToBank2, X, Y, MMX1, MMY1, MMX2, MMY2)) then
begin
Result := True;
WriteLn('Found ToBank2 DTM.');
MouseFlag(x, y, 0, 0);
end else
begin
Result := False;
WriteLn('Could NOT Find ToBank2 DTM');
end;
FreeDTM(ToBank2);
end;
Procedure WalkToBank;
Begin
RunControl(True);
if WalkToBank1 then else if WalkToBank2 then WalkToBank else logout;
end;
function OpenBankDTM: boolean;
var
Bank: integer;
begin
Bank := DTMFromString('78DA63BCC9C0C0B094010524C707338800694' +
'6289FF10690588FAA262B251E55CD2D203107554D64B037AA9A47' +
'986A826CB950D53C00126B08A8390724A6A1AA8976E5465573064' +
'8AC2360CE5920B108554D82070FAA9ABB40E20001739E00897602' +
'6A9E018942026A406E7E8D16CEFEBC7035FF8100003F971FE1');
if (DTMRotated(Bank, X, Y, MSX1, MSY1, MSX2, MSY2)) then
begin
WriteLn('Found Bank DTM.');
Wait(50);
Mouse(X ,Y,0,0, False);
Wait(50);
if ChooseOption('uickly') then
begin
Wait(1000 + random(500));
if Bankscreen then
begin
Writeln('opened the bank')
Result := True;
end else
if OpenBankFast('db') then Result := true else
begin
logout;
Result := False;
end;
end;
end else
begin
if openBankFast('db') then
begin
WriteLn('Found Bank DTM');
Result := True;
end else
WriteLn('Could NOT Find Bank DTM');
Result := False;
end;
FreeDTM(Bank);
end;
procedure WoodCutOak;
var
MaxTime: integer;
begin
if invfull then exit;
if WalkToOak then else logout;
ClickToContinue;
Marktime(Time);
Maxtime := HowManyMinutes * 60000;
repeat
TreeIsGone;
FindOak;
if FindNormalRandoms then FindOak;
FindNormalRandoms;
Check;
MarkTime(time2)
repeat
wait(10);
HandleFight;
FindTalk;
until (invfull) or (TimeFromMark(Time2) > 30000+random(5000)) or(TimeFromMark(Time) > MaxTime) or TreeGone or ClickToContinue or findtalk;
Wait(10);
until (invfull) or (TimeFromMark(Time) > MaxTime);
end;
procedure Setup;
begin
DeclarePlayers;
MouseSpeed := 15;
ActivateClient;
SRLID := YourSRLID;
SRLPassword := YourSRLIDPASS;
end;
procedure SetUpClient;
begin
LoginPlayer;
Logins := Logins + 1;
Wait(1000);
Setangle(true);
MakeCompass('N');
GetLevel('WoodCutting', True);
end;
begin
SetUpSRL;
Setup;
repeat
SetUpClient;
repeat
WoodCutOak;
WalkToBank;
GetLevel('WoodCutting', False);
OpenBankDTm;
Depositall;
until (false)
until (false)
end.My Bone Burrier dtm for opening bank in fally west bank -.-program Hermpie;
{.Include SRl/SRl.Scar}
{.include SRL/SRL/Misc/Users.scar}
Var
X, Y, Loads : Integer;// Normal Variables
Bone, BigBone, OpenFWBank : Integer;// DTM Variables
{==========================]
Loads The DTMs In Memory
[==========================}
Procedure LoadDTMs;
Begin
Bone := DTMFromString('78DA63DCC3C0C0E0CB00068C108AE1CCD1230' +
'C9250FE7F2060DC01648432A00146143D8C4781442001359B8084' +
'1F013587818407013520F7781150B319E12F5C6A00AC5B0DB9');
BigBone := DTMFromString('78DA63B467626078C400068C108AE1D9E3C70' +
'C9250FE7F20603407AA79CA80061851F430FA00D5BC2642CD0302' +
'6A1C806A9E1350E30254F392801A3BA09ADB4498739F801A5B22D' +
'CE30E54F30CBF1A009C351275');
OpenFWBank := DTMFromString('78DA635465646038CF00068C108AA13AC58D4' +
'112CAFF0F048C2035BB51D504DAABC1D580C5AD802C25461435ED' +
'CEF6A86ADA802C055435C78FEF4355130464ED40B52BD4490355C' +
'D2F20B10FBF7B00443410E9');
End;
Function WaitUntil(Secs : integer; UntilProc : boolean):Boolean;
Var
Time : Integer;
Begin
MarkTime(Time)
Repeat
Wait(50 + Random(25));
Until (TimeFromMark(time) > Secs) or (UntilProc);
if UntilProc then Result:=True;
End;
{==========================]
Performs Anti-Ban
[==========================}
Procedure AntiBan;
Begin
If Not (LoggedIn) Then Exit;
End;
Procedure HandlePin;
begin
if PinScreen then InPin(IntToStr(Players[CurrentPlayer].Integers[1]));
WaitUntil(1500,False);
end;
{==========================]
Take's Bones From Bank
[==========================}
Procedure Bank;
Begin
If Not (LoggedIn) Then Exit;
LoadDTMs;
If DTMRotated(OpenFWBank, X, Y, MSX1, MSY1, MSX2, MSY2) Then
Begin
Mouse(X,Y,3,3,False);
Wait(50 + Random (25));
If ChooseOption('quickly') Then
begin
wait(1000 + Random(500));
if PinScreen then HandlePin;
wait(1000 + Random(500));
If FindDTM(Bone, X, Y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,3,3,False);
if Chooseoption('ll')then
begin
CloseBank;
GameTab(4);
end;
end
end;
End;
end;
{==========================]
Bury's The Bones
[==========================}
Procedure Bury;
Begin
If Not (LoggedIn) Then Exit;
LoadDTMs;
Repeat
If FindDTM(Bone, X, Y, MIX1, MIY1, MIX2, MIY2) Then
begin
Wait(50 + Random(25));
MMouse(X,Y,2,2);
GetMousePos(X,Y);
if isuptext('one') then Mouse(x,y,0,0,True);
WaitUntil(1700,false);
end;
until (InvEmpty);
If InvEmpty then
begin
Writeln('Burried Bones');
Loads:= Loads + 1;
End;
end;
{==========================]
Writes an ProgressReport
[==========================}
Procedure ProgressReport;
Begin
End;
{==========================]
Multi-Player Procedure
[==========================}
Procedure LoginNewPlayer;
Begin
If LoggedIn Then Exit;
If Not(LoggedIn) Then If Players[CurrentPlayer].Integers[0] > Loads then Nextplayer(True) else Nextplayer(False);
Wait(1000 + Random(500));
SetAngle(True);
MakeCompass('N');
End;
{==========================]
Main Loop
[==========================}
Begin
SetupSrl;
SRLPlayerForm(True, ['Bank(True), Pick-Up(False)','Use BigBones'], ['How Many Loads','Pin, If you have one'], [''], ['']);
LoginPlayer;
Repeat
Bank;
Bury;
Until (False);
End.
Lumbridge AIO, this was a great project while working on it :( to bad i lost like i said 50% of the code i worked on this with timer, he is a great scripter we had a kinda good script i made a .exe installer i lost that to :(
autocolors jhave to be remade because i let the result:= save in a var but that was not needed -.- and they don't work btw
we had like 30 kb + 10 kb i guess this is only 17 kb :(
Program LumbyAIO;
{.Include SRl/SRl.Scar}
Var
X, Y:integer;
StairColor, SpinDoorColor, SpinWheelColor, ChickenColor, ChickenColor2, ChickenColor3, MMBankerColor:integer;
Stairs, SecStairs, SpinDoor, Load, SpinStair: Integer;
Function ACStair: Integer;
Var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
Begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.00);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 602954, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.04) and (X <= 4.08) and (Y >= 3.82) and (Y <= 3.86) and (Z >= 0.77) and (Z <= 0.81) then
begin
Result := arC[i];
StairColor:=Result;
Writeln('StairColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACSpinDoor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 2376802, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 8.58) and (H <= 8.62) and (S >= 46.25) and (S <= 46.29) and (L >= 26.25) and (L <= 26.29) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 7.40) and (X <= 7.44) and (Y >= 6.84) and (Y <= 6.88) and (Z >= 2.58) and (Z <= 2.62) then
begin
Result := arC[i];
SpinDoorColor:=Result;
Writeln('SpindDoorColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACSpinWheel: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 13224400, MSX1, MSY1, MSX2, MSY2, 22);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 0.00) and (H <= 0.02) and (S >= 6.31) and (S <= 7.22) and (L >= 75.47) and (L <= 84.53) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 50.06) and (X <= 64.74) and (Y >= 51.45) and (Y <= 67.32) and (Z >= 54.84) and (Z <= 72.53) then
begin
Result := arC[i];
SpinWheelColor:=Result;
Writeln('SpinWheelColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACChicken: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.92, 0.25);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 731741, MSX1, MSY1, MSX2, MSY2, 5);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.04) and (X <= 6.98) and (Y >= 3.82) and (Y <= 4.09) and (Z >= 0.77) and (Z <= 0.85) then
begin
Result := arC[i];
ChickenColor:=Result;
Writeln('ChickenColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACChicken2: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.00);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 8299448, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 36.61) and (X <= 36.65) and (Y >= 37.87) and (Y <= 37.91) and (Z >= 25.10) and (Z <= 25.14) then
begin
Result := arC[i];
ChickenColor2:=Result;
Writeln('ChickenColor2 = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACChicken3: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.00);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 2308426, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.57) and (X <= 4.61) and (Y >= 4.48) and (Y <= 4.52) and (Z >= 2.20) and (Z <= 2.24) then
begin
Result := arC[i];
ChickenColor3:=Result;
Writeln('ChickenColor3 = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACMMBanker: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 195836, MMX1, MMY1, MMX2, MMY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
if (rs_OnMinimap(arP[i].x, arP[i].y)) then
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 16.65) and (H <= 16.69) and (S >= 98.41) and (S <= 98.45) and (L >= 49.78) and (L <= 49.82) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 74.95) and (X <= 74.99) and (Y >= 90.30) and (Y <= 90.34) and (Z >= 13.52) and (Z <= 13.56) then
begin
Result := arC[i];
MMBankerColor:=Result;
Writeln('MMBankerColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
// By Hermpie
Procedure HWait;
Begin
Wait(50 + Random(25));
End;
// By Hermpie
Procedure HLogout;
Begin
LogOut;
Exit;
End;
// By Hermpie
Procedure LDTM(TheDTM:Integer );
Begin
If (TheDTM = Stairs) then
Stairs := DTMFromString('78DA637CCFC8C06008C44000211918DC9DEC1' +
'844A0FCFF40C07809C85284C9A2029828E37E204B18D51C3B2B2B' +
'B83960F18940D60B06FCE64C05B2BC09D8C5CCC4C0F01ABF3900E' +
'D0E0BE3');
If (TheDTM = secStairs) then
SecStairs := DTMFromString('78DA637CC9C0C050C000068C108AC1D7948B4' +
'112CAFF0F048C37818C6654351ECEF6703560F13740A21D554D80' +
'8F07AA9ADD402211558DBF9727AA9A1D987661A80900B26A50D58' +
'0008A9AAD40E23801358B81443901355781842901351A40963701' +
'35B781C45CFC6A0072FC1607');
If (TheDTM = Load) then
Load := DTMFromString('78DA63B467646058C400068C108AE1FFFFFF7' +
'03E90FD9F910BC85A835B0D9806A99941404D3711E67413614E1B' +
'90B58C801A7E206B010135EA40D642026A9280ACC504D4D411B60' +
'B00B81F2B60');
If (TheDTM = SpinStair) then
SpinStair := DTMFromString('78DA637CCBC0C0708A010C18211483BF19178' +
'32494FF1F0818BD81ACBFA86A6000C667BC0D243419F1ABE90012' +
'F70898B318484C25A0E63E90B88B2AE6EA6005773358FC3790B88' +
'FAAC6D7D31555CD1B20F112558DA78B03AA1A5620EB1C7E350038' +
'41153A');
End;
// By Hermpie
Function MSRotated(DTM: Integer; DTMOption,DTmUptext: String; Left:boolean):boolean;
Var
MaxTime:Integer;
Begin
MarkTime(MaxTime);
Repeat
If DTMRotated(DTM,X,Y,MSX1,MSY1,MSX2,MSY2) Then
Begin
MMouse(X, Y, 0, 0);
HWait;
IF IsUpText(DTMUptext) then
begin
Mouse(X, Y, 0, 0, Left);
If Left = True Then Exit;
Hwait;
Result:=True;
If (Not(ChooseOption(DTMOption))) Then HLogout Else Exit;
end else
If DTM = Stairs then
begin
ACStair;
If FindColorSpiral(X, Y, StairColor, MSX1, MSY1, MSX2, MSY2) Then
begin
Mouse(X,Y,0,0,false);
Hwait;
If Chooseoption('aircase') then exit else logout;
end;
end;
End else
Writeln('DTM '+inttostr(DTM)+'Is NOT Found');
Until (TimeFromMark(MaxTime)>5000);
End;
//By Hermpie
Function MMRotated (DTM: Integer):Boolean;
begin
If DTMRotated(DTM,X,Y,MMX1,MMY1,MMX2,MMY2) Then
Begin
MouseFlag(X, Y, 0, 0);
Flag;
Flag;
Result:=True;
End;
end;
// By Hermpie
Procedure LoadingPW;
Var
MaxTime:Integer;
Begin
LDTM(Load);
MarkTime(Maxtime);
Repeat
If ((FindDTM(Load,X,Y,0,0,150,40))) Then Break;
Wait(1);
Until TimeFromMark(MaxTime)>5000;
Repeat
If (not(FindDTM(Load,X,Y,0,0,150,40))) Then Exit;
Wait(1);
Until TimeFromMark(MaxTime)>3000;
Wait(1000+random(1000));
FreeDTm(Load);
End;
Function HOpenDoor(Color:Integer):Boolean;
Begin
Flag;
if FindColorspiral(X, Y, Color, MSX1,MSY1,MSX2,MSY2)then
mmouse(x,y,0,0);
Hwait;
if IsUpText('pen') then
begin
Mouse(x,y,0,0,True);
Flag;
Writeln('Door Was Closed, Door opened!');
end else
if IsUpText('lose') then Writeln('Door Was Open') else Hlogout;
end;
//Walks From Everywhere In Lumbridge To Everywhere In Lumbridge.
////////////Location List\\\\\\\\\\
// 1 = The Bank NOTE: \\
// 2 = The Castle Path \\
// 3 = The Shop \\
// 4 = Spinning wheel \\
// 5 = The Cows \\
// 6 = The Chickens \\
// 7 = The GraveYard (Yew) \\
// 8 = Behind The Castle (Yew) \\
// 9 = Add one \\
// 10 = Add one \\
// 11 = Add one \\
// 12 = Add one \\
// 13 = Add one \\
/////////////////\\\\\\\\\\\\\\\\\\
// By Hermpie
Procedure Walk(FLoc,TLoc:Integer);
Begin
FindRoadColor;
If (FLoc = 1) And (TLoc = 2) Then
Begin
RadialRoadWalk(RoadColor, 330, 380, 60, 3, 3);
Flag;
Wait(750 + Random(250));
Flag;
LDtm(Stairs)
MsRotated(Stairs,'own','aircase',True);
FreeDtm(Stairs)
LoadingPW;
LDtm(SecStairs)
MsRotated(secStairs,'own','aircase',False);
FreeDtm(SecStairs)
LoadingPW;
MakeCompass('E');
End;
If (FLoc = 1) And (TLoc = 4) Then
Begin
FindRoadColor;
RadialRoadWalk(RoadColor, 225, 135, 70, 0, 0);
Flag;
Wait(1000);
Flag;
ACStair;
If FindColorSpiral(X,Y,StairColor,MSX1,MSY1,MSX2,MSY2) then Mouse(x,y,0,0,true) else Logout;
LoadingPW;
Wait(1000);
FindRoadColor;
RadialRoadWalk(RoadColor, 320, 450, 32, 0+1, 0+1);
Flag;
Wait(1000);
Flag;
ACSpinDoor;
HOpendoor(SpinDoorColor);
end;
If (FLoc = 2) And (TLoc = 3) Then//From The Castle Path To The shop.
Begin
End;
If (FLoc = 2) And (TLoc = 4) Then//From The Castle Path To The Goblins.
Begin
End;
If (FLoc = 2) And (TLoc = 5) Then//From The Castle Path To The Cows.
Begin
End;
If (FLoc = 2) And (TLoc = 6) Then//From The Castle Path To The Chickens .
Begin
End;
If (FLoc = 2) And (TLoc = 7) Then//From The Castle Path To The GraveYard(Yew).
Begin
End;
//NOTE THIS DOESN'T START AT THE CASTLE PATH
If (FLoc = 1) And (TLoc = 8) Then//From The BANK To Behind The Castle(Yew).
Begin
RadialRoadWalk(RoadColor, 340, 380, 60, 0, 3);
Flag;
Wait(750 + Random(250));
Flag;
LDtm(Stairs)
MsRotated(Stairs,'own','aircase',True);
FreeDtm(Stairs)
LoadingPW;
LDtm(SecStairs)
MsRotated(secStairs,'own','aircase',False);
FreeDtm(SecStairs)
End;
If (FLoc = 2) And (TLoc = 1) Then
Begin
End;
If (FLoc = 2) And (TLoc = 10) Then
Begin
End;
If (FLoc = 3) And (TLoc = 2) Then
Begin
End;
If (FLoc = 4) And (TLoc = 1) Then
Begin
ACSpinDoor
HOpenDoor(SpinDoorColor);
FindRoaDColor;
RadialRoadWalk(RoadColor, 230, 160, 50, 0, 0);
Flag;
Wait(750 + Random(250));
Flag;
LDTM(SpinStair);
MsRotated(SpinStair,'limb-up','aircase',False);
FreeDTM(SpinStair);
LoadingPW;
Wait(2000);
ACMMBanker;
if FindColor(X, Y ,MMBankerColor, MMX1, MMY1, MMX2, MMY2) then
Begin
MouseFlag(X,Y+5,0,0);
writeln('Found and Clicked MMBanker');
End else
Hlogout;
End;
If (FLoc = 5) And (TLoc = 2) Then
Begin
End;
If (FLoc = 6) And (TLoc = 2) Then
Begin
End;
If (FLoc = 7) And (TLoc = 2) Then
Begin
End;
If (FLoc = 8) And (TLoc = 2) Then
Begin
End;
If (FLoc = 9) And (TLoc = 2) Then
Begin
End;
If (FLoc = 10) And (TLoc = 2) Then
Begin
End;
End;
// By Timer
Function Kill(MonsterName, Option: String; Colors: TIntegerArray; Tolerance, TimeOutTime: Integer): Boolean;
Var
MTPA: TPointArray;
MonsterUpText, ChooseText: String;
F, I, I2, TimeOut,
UpTo, ToLong: Integer;
Begin
I := Pos(' ', MonsterName);
MonsterUpText := Copy(MonsterName, 2, (I - 2));
I := Pos(' ', MonsterName);
ChooseText := Copy(Option, 2, (I - 2));
UpTo := High(Colors);
For F := 0 To UpTo Do
Begin
If FindDead Or FindNormalRandoms Then Exit;
FindColorsSpiralTolerance(MMCX, MMCY, MTPA, Colors[F], MSX1, MSY1, MSX2, MSY2, Tolerance);
I2 := High(MTPA);
For I := 0 To I2 Do
Begin
If FindDead Or FindNormalRandoms Then Exit;
MMouse(MTPA[I].x, MTPA[I].y, 2, 2);
Wait(50 + Random(50));
If FindDead Or FindNormalRandoms Then Exit;
If IsUpText(MonsterUpText) Then
Begin
If (Option <> '') Then
Begin
If FindDead Or FindNormalRandoms Then Exit;
Mouse(MTPA[I].x, MTPA[I].y, 0, 0, False);
Wait(50 + Random(50));
ChooseOption(Option);
Result := True;
Break;
End Else
Begin
If FindDead Or FindNormalRandoms Then Exit;
Mouse(MTPA[I].x, MTPA[I].y, 0, 0, True);
If FindDead Or FindNormalRandoms Then Exit;
Result := True;
Break;
End;
End Else
Result := False;
End;
If Result Then
Break;
End;
If FlagPresent Then
Begin
MarkTime(TimeOut);
Repeat
If FindDead Or FindNormalRandoms Then Exit;
Wait(100 + Random(20));
If Not FlagPresent Then
Break;
If TimeFromMark(TimeOut) >= 10000 Then
Break;
Until Not LoggedIn;
End;
Wait(2000 + Random(500));
If FindColorSpiral(x, y, 65280, 240, 140, 290, 175) Then
Result := True;
MarkTime(ToLong);
Repeat
Wait(1000 + Random(500));
If FindDead Or FindNormalRandoms Then Exit;
Until(Not FindColorSpiral(x, y, 65280, 240, 140, 290, 175) Or (TimeFromMark(ToLong) > TimeOutTime));
End;
//By Hermpie
Procedure OpenLBBank;
Var
LBBank, MaxTime: Integer;
Begin
LBBank := DTMFromString('78DA6364666460A86100034608C530BBA78C4' +
'104CAFF0F048C77818C7A543551CEDC703560712620AB95801A0D' +
'20AB8B801A7F20AB8F809A3B40A20D554D459A0BAA1A4620AB9B8' +
'01A4D206B0201357E40D614FC6A0078471512');
If DTMRotated(LBBank,X,Y,MSX1,MSY1,MSX2,MSY2) Then
Begin
HWait;
Mouse(X, Y, 5, 5, False);
HWait;
If (Not(ChooseOption('uickly'))) Then HLogout Else WriteLN('Opened The Bank');
MarkTime(MaxTime);
Repeat
Wait(10);
Until(BankScreen) Or (PinScreen) Or (TimeFromMark(Maxtime) > 5000);
HWait;
If (Not(PinScreen)) Or (Not(BankScreen)) Then HLogout;
HWait;
If PinScreen then InPin('0000');
MaxTime:=0;
MarkTime(MaxTime);
Repeat
Wait(10);
Until BankScreen Or (TimeFromMark(MaxTime)> 5000);
If (TimeFromMark(MaxTime)> 5000) Then HLogout;
If (Not(BankScreen)) then If PinScreen then InPin('0000');
FreeDTM(LBBank);
end else
begin
Writeln('Bank On MainScreen NOT Found');
HLogout;
FreeDTM(LBBank);
end;
end;
Procedure Perform;
Begin
end;
// By Hermpie
Procedure SetUp;
Begin
ActivateClient;
Wait(1000);
MakeCompass('N');
SetAngle(True);
Setrun(True);
GameTab(4);
End;
Begin
SetUpSRL;
SetUp;
Walk(1,4);
Walk(4,1);
End. and my best script ever :Dprogram BuzzHackzz;
Begin
Repeat
ClickMouse(104, 751, True);
Until (False)
End.i am now deleting those from my computer and will start making a script(maybe redo lumbyaio)
Note:
The Walk from lumby aio from the lumb bank to down the stairs never failed! when i tested it like houndreds of times :D, it would be a shame if it wouldn't be used maybe i use it again if i start lumby aio again… whatever
thanks for reading!
Hermpie