Pixelate
2008-09-20 07:03:31
Pixelate - SRL Member Application Form
Pixelate
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Abit of VB
Other Communitys
RSC
How Long have You Played Runescape
Around 5 years on and off
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Been at SRL for nearly a year now, thought it was about time to give back to the community and learn SCAR. Well, this is supposed to be personally about me i now realize (thanks Jukka). Well i am 15, live in sussex in the uk and i am male. I play squash competitively and i play on my xbox quite a bit. Favourite game is halo 3. I also play hockey (field, not ice) and tennis, and currently, i am in my last year at secondary school in my GCSE year. Thanks, and oh, My name is Alex.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Here it is. I made a reflection script and a non reflection script but they do the same thing.
This is the non reflection.
program FallyEastCannonBallMaker;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/smithing.scar}
Var
BankDTM, SteelBar, MouldDTM, BarDTM, EstateSymbolDTM : Integer;
x,y, barstodo: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Pin := '0000'
Players[0].Integers[0] := 100; //How many loads to do
end;
function FindMyLocation: string;
var
sx, sy: Integer;
begin
if not LoggedIn then Exit;
SymbolAccuracy := 0.5;
If FindSymbol(sx,sy,'Furnace') then
begin
Result:='AtFurnace'
Writeln('At Furnace')
end else
if FindSymbol(sx,sy,'Bank') then
begin
Result := 'AtBank'
Writeln('We are at Bank');
end else
begin
Writeln('Lost... Could not find location, Logging out.');
Logout;
Exit;
end;
SymbolAccuracy := 0.8;
end;
procedure OpenBank2;
begin
if Not LoggedIn then Exit;
FFlag(0);
Writeln('Opening Bank')
OpenBankFast('Feb');
Wait(250+random(100));
if (BankScreen) then
begin
Writeln('Bank Opened');
end else
Writeln('Could Not open Bank');
Logout;
NextPlayer(False);
end;
procedure RandomGameTab;
begin
case Random(5) of
0: GameTab(10);
1: GameTab(3);
2: GameTab(13);
3: GameTab(6);
4: GameTab(8);
end;
end;
procedure AntiDie;
begin
case Random(2) of
0: RandomMovement;
1: BoredHuman;
end;
end;
procedure BallSafety;
begin
case Random(4) of
0:MakeCompass('N');
1:MakeCompass('E');
2:MakeCompass('S');
3:MakeCompass('W');
end;
end;
procedure AntiBans;
begin
case Random(6) of
0: PickUpMouse;
1: BoredHuman;
2: GameTab(5);
3: AntiDie;
end;
end;
procedure Anti;
begin
case random(4) of
0: AntiBans;
1: AntiDie;
2: Ballsafety;
end;
end;
procedure LoadDTMs(DTM: string);
begin
if not LoggedIn then Exit;
Case (DTM) of
'BankDTM' : if(Bankdtm < 1) then BankDTM := DTMFromString('78DA636C64626088604001FFFEFD636060042' +
'386FF40C0D805549300916385AAF9F387094C3342F98C2073E209' +
'A82925424D2D6135001FB8135B');
'SteelBar' :if(SteelBar < 1) then SteelBar := DTMFromString('78DA63CC616260E06264400681DEDE0CFF813' +
'448F43F1030C603D570A3AA81C8C248209D06542344404D11508D' +
'000135554035ECF8D500007300085B');
'MouldDTM' :if(MouldDTM < 1) then MouldDTM := DTMFromString('78DA637462626078C280024A7373192E27333' +
'03002D9FF8180D10CA8E631031A60442281B42D50CD7B026AFC80' +
'6A9E1250E30554F391801A53A09AB7F8D5000018EF0D9A');
'Bar' :if(BarDTM < 1) then BarDTM := DTMFromString('78DA63FCCAC0C0B09901055414E4836946289' +
'F9117C85A4B40CD0320B11F558DADA525AA9A5F40E21401359F81' +
'C4320276B102597B51D54CEDEE4655F30A48ACC76F0E00428F122' +
'F');
'EstateSymbolDTM' :if(EstateSymbolDTM < 1) then EstateSymbolDTM := DTMFromString('78DA63646760600061243073520D830890660' +
'4E2FF40C0C8046470A3AA11961607D38C503E23489E87801A5E20' +
'C14C400D07613500C9A80723');
end;
end;
{function LoadPathToFurnace: TPointArray;
begin
SetLength(Result, 5);
Result[0] := Point(2946, 3367);
Result[1] := Point(2947, 3374);
Result[2] := Point(2953, 3379);
Result[3] := Point(2964, 3375);
Result[4] := Point(2974, 3369);
end;
function LoadPathToBank: TPointArray;
begin
SetLength(Result, 5);
Result[0] := Point(2974, 3368);
Result[1] := Point(2967, 3376);
Result[2] := Point(2957, 3379);
Result[3] := Point(2949, 3374);
Result[4] := Point(2946, 3367);
end; }
Procedure WalkToFurnace;
begin
LoadDTMs('EstateSymbolDTM')
if Not LoggedIn then Exit;
MakeCompass('N');
SetRun(True);
GameTab(4)
RadialRoadWalk(FindFallyRoadColor, 277, 346, 64, 2, 0);
FFlag(0);
If Not(RadialWalk(FindFallyRoadColor, 90, 180, RandomRange(50,60), 2, 2)) then
Logout;
NextPlayer(False);
Exit;
RadialRoadWalk(FindFallyRoadColor, 277, 346, 64, 2, 0);
FFlag(0);
If Not(RadialWalk(FindFallyRoadColor, 90, 180, RandomRange(50,60), 2, 2)) then
Logout;
NextPlayer(False);
Exit;
SymbolAccuracy := 0.5;
if FindSymbol(x, y, 'Furnace') then
begin
Writeln('Found the Furnace Symbol');
Mouse(x,y,5,5,True);
FFlag(0);
SymbolAccuracy := 0.8;
Writeln('Entering Furnace');
end else
begin
Writeln('Cannot Find Furnace, Finding the Estate Agent')
if FindDTM(EstateSymbolDTM, x, y, MMX1, MMY1,MMX2, MMY2) then
Mouse(x, y, 3, 3, True);
Wait(800 +random(100));
FFlag(0);
if FindSymbol(x, y, 'Furnace') then
begin
Mouse(x, y, 3, 3, True);
Writeln('Found the Furnace this time');
SymbolAccuracy := 0.8;
FFlag(0);
end else
Writeln('Still cannot find Furnace...Lost');
Logout;
NextPlayer(False);
end;
end;
{Var
I: Integer;
Path: TPointArray;
Begin
Path := LoadPathToFurnace;
for i := 0 to High(Path) do
Begin
WalkToTile(Path[i], 3, 0);
end;
end;}
Procedure WalkToBank;
begin
if Not LoggedIn then Exit;
MakeCompass('N');
SetRun(True);
SymbolAccuracy := 0.5;
RadialWalk(FindFallyRoadColor, 45, 105, 70, 2, 1);
FFlag(0);
If(Not(RadialWalk(FindFallyRoadColor, 90, 180, RandomRange(50,60), 2, 2))) then
begin
Wait(100+random(10));
Exit;
end else
RadialWalk(FindFallyRoadColor, 95, 158, 66, 2, 0);
FFlag(0);
If(Not(RadialWalk(FindFallyRoadColor, 90, 180, RandomRange(50,60), 2, 2))) then
begin
Wait(100+random(10));
Exit;
end else
begin
if FindSymbol(x, y, 'Bank') then
begin
Writeln('Found the Bank Symbol');
Mouse(x,y,5,5,True);
FFlag(0);
Writeln('Entering Bank');
Anti;
end else
begin
Writeln('Could not find the Bank ');
Logout;
end;
SymbolAccuracy := 0.8;
end;
end;
{Var
I: Integer;
Path: TPointArray;
Begin
Path := LoadPathToBank;
for i := 0 to High(Path) do
Begin
WalkToTile(Path[i], 3, 0);
end;
end;}
function RandomClick(xx,yy: integer; WTF2CLICK: string) : Boolean;
begin
case Random(2) of
0:
begin
Mouse(xx, yy, 0, 0 + random(3), True);
Writeln('Left clicked');
FTWait(1);
Result:=true;
end;
1:
begin
Mouse(xx, yy, 0, 0 + random(3), False);
ChooseOption(WTF2CLICK);
Writeln('Right clicked');
FTWait(1);
Result:=true;
end else
begin
ChooseOption('ancel');
Result:=false;
end;
end;
end;
procedure FindDaBank;
begin
if not LoggedIn then Exit;
LoadDTMs('BankDTM');
if DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 5, 5, true);
WriteLn('Found The BankBooth');
FreeDTM(BankDTM);
end else
begin
Writeln('Not Found Bank...')
end;
end;
procedure WithdrawSteelBars;
begin
if not LoggedIn then Exit;
LoadDTMs('SteelBar');
SearchBank('Steel');
if FindDTM(SteelBar, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
Wait(500+random(150));
Mouse(x, y, 3, 3, False);
Wait(800 +random(100));
ChooseOption('All');
end else
begin
MouseBox(302, 300, 326, 316, 1);
repeat
Wait(100 +random(500));
until FindTextTPA(clBlack, 30, MCX1, MCY1, MCX2, MCY2, 'name of', UpChars, Nothing);
TypeSend('steel bar');
Wait(100 +random(500));
If FindDTM(SteelBar, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
Mouse(x, y, 5, 5, false);
Wait(25 +random(100));
ChooseOption('All');
CloseBank;
end else
Writeln('Could Not Find Steel Bars. All Cannon Balls Completed');
CloseBank;
Logout;
Players[CurrentPlayer].Active := False
NextPlayer(False);
end;
FreeDTM(SteelBar);
end;
procedure Bank;
begin
if not LoggedIn then Exit;
OpenBankFast('Feb');
Writeln('Opened Bank')
Wait(400 +random(100));
if(PinScreen)then
InPin(Players[CurrentPlayer].Pin);
if(BankScreen)then
begin
Writeln('Depositing CannonBalls')
Deposit(2,27,True);
Wait(50 +random(100));
Writeln('Closing Bank')
CloseBank;
Writeln('Bank Closed')
Anti;
end;
end;
Procedure UseSteelBars;
var
Counter: Integer;
begin
if not LoggedIn then Exit;
LoadDTMs('SteelBar');
repeat
if FindDTM(SteelBar, x, y, MIx1, MIy1, MIx2, MIy2) then
begin
Counter:=Counter+1;
Mmouse(x,y,5,5);
Wait(300+random(250))
GetUpText;
Wait(100+random(100))
end;
Until (IsUpText('teel')) or (Counter>=10)
if IsUpText('teel') then
begin
Mouse(x,y,0,0,true);
Wait(300+random(250));
Anti;
end;
if (Counter>=10)then
begin
Writeln('Cannot Find SteelBar')
Logout;
Players[CurrentPlayer].Active:=False;
Nextplayer(Players[CurrentPlayer].Active);
Exit;
end;
end;
Procedure ClickOnFurnace;
var
FurnaceTPA : Array of TPoint;
SplitFurnace : T2DPointArray;
Z : Integer;
Counter : Integer;
begin
if not loggedin then exit;
repeat
Counter:=Counter+1;
FindColorsSpiralTolerance(x,y,FurnaceTPA,4013378,MSx1,MSy1,MSx2,MSy2,15);
begin
SplitFurnace:=SplitTPA(FurnaceTPA,1);
for Z:=0 to High(SplitFurnace) do
if MiddleTPAEX(SplitFurnace[Z],x,y) then
begin
Mmouse(x,y,5,5);
Wait(300+random(250))//in case of lag
GetUpText;
Wait(100+random(100))
if isuptext('urnace') then
begin
Mouse(x,y,0,0,true);
if (not(Loggedin)) then NextPlayer(false); // Fail safe
Anti;
exit;
end;
end;
end;
until (Counter>=10)
Writeln('Couldnt Find Furnace')
end;
Procedure SmeltCannonBalls;
Begin
Wait(1000+random(150))
if FindTextTPA(clBlack, 30, MCX1, MCY1, MCX2, MCY2, 'steel bar', UpChars, Nothing) then
begin
if FindDTM(SteelBar, x, y, MCx1, MCy1, MCx2, MCy2) then
begin
Mouse(x, y, 3, 3, False);
Wait(800 +random(100));
ChooseOption('All');
Wait(11000+random(3000));
if (not(Loggedin)) then NextPlayer(false); // Fail safe
Anti;
end else
begin
Writeln('DTM not working');
Wait(5000);
Logout;
end;
end else
begin
Writeln('Did not use Bar on Furnace');
Wait(5000);
Logout;
end;
end;
function FindCraftSteelBar: Boolean;
begin
LoadDTMs('Bar');
if FindDTM(BarDTM, x, y, MIX1, MIY1,MIX2, MIY2) then
begin
Mouse(x, y, 3, 3, False);
Wait(800 +random(100));
ChooseOption('All');
Wait(11000+random(3000));
end else
begin
Writeln('DTM not working');
Wait(2000+random(100));
Writeln('Using random co-ords');
MMouse(515, 538, 20, 20);
if isuptext('urnace') then
begin
Mouse(x,y,0,0,false);
Wait(800 +random(100));
ChooseOption('All');
Wait(11000+random(3000));
end else
begin
Writeln('Could not smith the steel bar into balls');
NextPlayer(False);
end;
end;
end;
procedure MouldCheck;
begin
if not LoggedIn then Exit;
LoadDTMs('MouldDTM');
Wait(25);
GameTab(4)
if FindDTM(MouldDTM, x, y, MIX1, MIY1,MIX2, MIY2) then
begin
WriteLn('Found Mould')
end else
begin
Writeln('No Mould found, Looking in Bank.');
OpenBankFast('feb');
if FindDTM(MouldDTM, x, y, MSX1, MSY1,MSX2, MSY2) then
begin
Wait(200+random(100));
Mouse(x, y, 3, 3, True);
CloseBank;
end else
begin
MouseBox(302, 300, 326, 316, 1);
repeat
Wait(100 +random(500));
until FindTextTPA(clBlack, 30, MCX1, MCY1, MCX2, MCY2, 'name of', UpChars, Nothing);
TypeSend('ammo mould');
Wait(100 +random(500));
if FindDTM(MouldDTM, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
Mouse(x, y, 5, 5, true);
Wait(25 +random(100));
CloseBank;
end else
begin
Writeln('You do not have a mould. Look at thread to see how to get one')
Logout;
Players[CurrentPlayer].Active := False
NextPlayer(False)
end;
end;
end;
end;
begin
repeat
SetupSRL;
ClearDebug;
Writeln('Starting Smart');
SmartSetupEx(27,true,true,false);
SetTargetDC(SmartGetDC);
Writeln('Loading Runescape');
DeclarePlayers;
LoginPlayer;
SetAngle(True)
Wait(100 +random(500));
if (FindMyLocation = 'AtBank') then
begin
if (not(Loggedin)) then NextPlayer(false); // Fail safe
MouldCheck;
OpenBank2;
WithdrawSteelBars;
WalkToFurnace;
UseSteelBars;
ClickOnFurnace;
SmeltCannonBalls;
FindCraftSteelBar;
if (barstodo = Players[CurrentPlayer].Integers[0]) then
begin
NextPlayer(true);
end;
end else
begin
if (FindMyLocation = 'AtFurnace') then
begin
if (not(Loggedin)) then NextPlayer(false); // Fail safe
WalkToBank;
FindDaBank;
MouldCheck;
Bank;
OpenBank2;
WithdrawSteelBars;
WalkToFurnace;
UseSteelBars;
ClickOnFurnace;
SmeltCannonBalls;
FindCraftSteelBar;
if (barstodo = Players[CurrentPlayer].Integers[0]) then
begin
NextPlayer(true);
end;
end else
end;
until(PlayersActive < 1);
end.
//A Thanks to LeeHoKin, ss23 and Sirlaughalot for some help with functions and errors.//and this is the reflection
program FallyEastCannonBallMakerREFLECTION;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/smithing.scar}
{.Include SRL\SRL\Reflection\Reflection.Scar}
Var
BankDTM, SteelBar, MouldDTM, BarDTM: Integer;
x,y, barstodo: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Pin := '0000'
Players[0].Integers[0] := 100; //How many loads to do
end;
function FindMyLocation: string;
var
sx, sy: Integer;
begin
if not LoggedIn then Exit;
SymbolAccuracy := 0.5;
If FindSymbol(sx,sy,'Furnace') then
begin
Result:='AtFurnace'
Writeln('At Furnace')
end else
if FindSymbol(sx,sy,'Bank') then
begin
Result := 'AtBank'
Writeln('We are at Bank');
end else
begin
Writeln('Lost... Could not find location, Logging out.');
Logout;
Exit;
end;
SymbolAccuracy := 0.8;
end;
procedure OpenBank2;
begin
if Not LoggedIn then Exit;
FFlag(0);
Writeln('Opening Bank')
OpenBankFast('Feb');
Writeln('Bank Opened')
end;
procedure RandomGameTab;
begin
case Random(5) of
0: GameTab(10);
1: GameTab(3);
2: GameTab(13);
3: GameTab(6);
4: GameTab(8);
end;
end;
procedure AntiDie;
begin
case Random(2) of
0: RandomMovement;
1: BoredHuman;
end;
end;
procedure BallSafety;
begin
case Random(4) of
0:MakeCompass('N');
1:MakeCompass('E');
2:MakeCompass('S');
3:MakeCompass('W');
end;
end;
procedure AntiBans;
begin
case Random(6) of
0: PickUpMouse;
1: BoredHuman;
2: GameTab(5);
3: AntiDie;
end;
end;
procedure Anti;
begin
case random(4) of
0: AntiBans;
1: AntiDie;
2: Ballsafety;
end;
end;
procedure LoadDTMs(DTM: string);
begin
if not LoggedIn then Exit;
Case (DTM) of
'BankDTM' : if(bankdtm < 1) then BankDTM := DTMFromString('78DA636C64626088604001FFFEFD636060042' +
'386FF40C0D805549300916385AAF9F387094C3342F98C2073E209' +
'A82925424D2D6135001FB8135B');
'SteelBar' :if(SteelBar < 1) then SteelBar := DTMFromString('78DA63CC616260E06264400681DEDE0CFF813' +
'448F43F1030C603D570A3AA81C8C248209D06542344404D11508D' +
'000135554035ECF8D500007300085B');
'MouldDTM' :if(MouldDTM < 1) then MouldDTM := DTMFromString('78DA637462626078C280024A7373192E27333' +
'03002D9FF8180D10CA8E631031A60442281B42D50CD7B026AFC80' +
'6A9E1250E30554F391801A53A09AB7F8D5000018EF0D9A');
'Bar' :if(BarDTM < 1) then BarDTM := DTMFromString('78DA63FCCAC0C0B09901055414E4836946289' +
'F9117C85A4B40CD0320B11F558DADA525AA9A5F40E21401359F81' +
'C4320276B102597B51D54CEDEE4655F30A48ACC76F0E00428F122' +
'F');
end;
end;
function LoadPathToFurnace: TPointArray;
begin
SetLength(Result, 5);
Result[0] := Point(2946, 3367);
Result[1] := Point(2947, 3374);
Result[2] := Point(2953, 3379);
Result[3] := Point(2964, 3375);
Result[4] := Point(2974, 3369);
end;
function LoadPathToBank: TPointArray;
begin
SetLength(Result, 5);
Result[0] := Point(2974, 3368);
Result[1] := Point(2967, 3376);
Result[2] := Point(2957, 3379);
Result[3] := Point(2949, 3374);
Result[4] := Point(2946, 3367);
end;
Procedure WalkToFurnace;
Var
I: Integer;
Path: TPointArray;
Begin
Path := LoadPathToFurnace;
for i := 0 to High(Path) do
Begin
WalkToTile(Path[i], 3, 0);
end;
end;
{begin
if Not LoggedIn then Exit;
MakeCompass('N');
SetRun(True);
GameTab(4)
RadialRoadWalk(FindFallyRoadColor, 277, 346, 64, 2, 0);
FFlag(0);
RadialRoadWalk(FindFallyRoadColor, 277, 346, 64, 2, 0);
FFlag(0);
SymbolAccuracy := 0.5;
if FindSymbol(x, y, 'Furnace') then
begin
Writeln('Found the Furnace Symbol');
Mouse(x,y,5,5,True);
FFlag(0);
SymbolAccuracy := 0.8;
Writeln('Entering Furnace');
end else
begin
Writeln('Could not find the Furnace ');
Logout;
end;
end; }
Procedure WalkToBank;
Var
I: Integer;
Path: TPointArray;
Begin
Path := LoadPathToBank;
for i := 0 to High(Path) do
Begin
WalkToTile(Path[i], 3, 0);
end;
end;
{ begin
if Not LoggedIn then Exit;
MakeCompass('N');
SetRun(True);
SymbolAccuracy := 0.5;
RadialWalk(FindFallyRoadColor, 45, 105, 70, 2, 1);
FFlag(0);
RadialWalk(FindFallyRoadColor, 95, 158, 66, 2, 0);
FFlag(0);
if FindSymbol(x, y, 'Bank') then
begin
Writeln('Found the Bank Symbol');
Mouse(x,y,5,5,True);
FFlag(0);
Writeln('Entering Bank');
Anti;
end else
begin
Writeln('Could not find the Bank ');
Logout;
end;
SymbolAccuracy := 0.8;
end;
end; }
function RandomClick(xx,yy: integer; WTF2CLICK: string) : Boolean;
begin
case Random(2) of
0:
begin
Mouse(xx, yy, 0, 0 + random(3), True);
Writeln('Left clicked');
FTWait(1);
Result:=true;
end;
1:
begin
Mouse(xx, yy, 0, 0 + random(3), False);
ChooseOption(WTF2CLICK);
Writeln('Right clicked');
FTWait(1);
Result:=true;
end else
begin
ChooseOption('ancel');
Result:=false;
end;
end;
end;
procedure FindDaBank;
begin
if not LoggedIn then Exit;
LoadDTMs('BankDTM');
if DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 5, 5, true);
WriteLn('Found The BankBooth');
FreeDTM(BankDTM);
end else
begin
Writeln('Not Found Bank...')
end;
end;
procedure WithdrawSteelBars;
begin
if not LoggedIn then Exit;
LoadDTMs('SteelBar');
SearchBank('Steel');
if FindDTM(SteelBar, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
Wait(500+random(150));
Mouse(x, y, 3, 3, False);
Wait(800 +random(100));
ChooseOption('All');
end else
begin
MouseBox(302, 300, 326, 316, 1);
repeat
Wait(100 +random(500));
until FindTextTPA(clBlack, 30, MCX1, MCY1, MCX2, MCY2, 'name of', UpChars, Nothing);
TypeSend('steel bar');
Wait(100 +random(500));
If FindDTM(SteelBar, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
Mouse(x, y, 5, 5, false);
Wait(25 +random(100));
ChooseOption('All');
CloseBank;
end else
Writeln('Could Not Find Steel Bars. All Cannon Balls Completed');
CloseBank;
Logout;
Players[CurrentPlayer].Active := False
NextPlayer(False);
end;
FreeDTM(SteelBar);
end;
procedure Bank;
begin
if not LoggedIn then Exit;
OpenBankFast('Feb');
Writeln('Opened Bank')
Wait(400 +random(100));
if(PinScreen)then
InPin(Players[CurrentPlayer].Pin);
if(BankScreen)then
begin
Writeln('Depositing CannonBalls')
Deposit(2,27,True);
Wait(50 +random(100));
Writeln('Closing Bank')
CloseBank;
Writeln('Bank Closed')
Anti;
end;
end;
Procedure UseSteelBars;
var
Counter: Integer;
begin
if not LoggedIn then Exit;
LoadDTMs('SteelBar');
repeat
if FindDTM(SteelBar, x, y, MIx1, MIy1, MIx2, MIy2) then
begin
Counter:=Counter+1;
Mmouse(x,y,5,5);
Wait(300+random(250))
GetUpText;
Wait(100+random(100))
end;
Until (IsUpText('teel')) or (Counter>=10)
if IsUpText('teel') then
begin
Mouse(x,y,0,0,true);
Wait(300+random(250));
Anti;
end;
if (Counter>=10)then
begin
Writeln('Cannot Find SteelBar')
Logout;
Players[CurrentPlayer].Active:=False;
Nextplayer(Players[CurrentPlayer].Active);
end;
end;
Procedure ClickOnFurnace;
var
FurnaceTPA : Array of TPoint;
SplitFurnace : T2DPointArray;
Z : Integer;
Counter : Integer;
begin
if not loggedin then exit;
repeat
Counter:=Counter+1;
FindColorsSpiralTolerance(x,y,FurnaceTPA,4013378,MSx1,MSy1,MSx2,MSy2,15);
begin
SplitFurnace:=SplitTPA(FurnaceTPA,1);
for Z:=0 to High(SplitFurnace) do
if MiddleTPAEX(SplitFurnace[Z],x,y) then
begin
Mmouse(x,y,5,5);
Wait(300+random(250))//in case of lag
GetUpText;
Wait(100+random(100))
if isuptext('urnace') then
begin
Mouse(x,y,0,0,true);
if (not(Loggedin)) then NextPlayer(false); // Fail safe
Anti;
exit;
end;
end;
end;
until (Counter>=10)
Writeln('Couldnt Find Furnace')
end;
Procedure SmeltCannonBalls;
Begin
Wait(1000+random(150))
if FindTextTPA(clBlack, 30, MCX1, MCY1, MCX2, MCY2, 'steel bar', UpChars, Nothing) then
begin
if FindDTM(SteelBar, x, y, MCx1, MCy1, MCx2, MCy2) then
begin
Mouse(x, y, 3, 3, False);
Wait(800 +random(100));
ChooseOption('All');
Wait(11000+random(3000));
if (not(Loggedin)) then NextPlayer(false); // Fail safe
Anti;
end else
begin
Writeln('DTM not working');
Wait(5000);
Logout;
end;
end else
begin
Writeln('Did not use Bar on Furnace');
Wait(5000);
Logout;
end;
end;
function FindCraftSteelBar: Boolean;
begin
LoadDtms('Bar');
if FindDTM(BarDTM, x, y, MIX1, MIY1,MIX2, MIY2) then
begin
Mouse(x, y, 3, 3, False);
Wait(800 +random(100));
ChooseOption('All');
Wait(11000+random(3000));
end else
begin
Writeln('DTM not working');
Wait(2000+random(100));
Writeln('Using random co-ords');
MMouse(515+random(20),538+random(20),0,0);
if isuptext('urnace') then
begin
Mouse(x,y,0,0,false);
Wait(800 +random(100));
ChooseOption('All');
Wait(11000+random(3000));
end else
begin
Writeln('Could not smith the steel bar into balls');
NextPlayer(False);
end;
end;
end;
procedure MouldCheck;
begin
if not LoggedIn then Exit;
LoadDTMs('MouldDTM');
Wait(25);
GameTab(4)
if FindDTM(MouldDTM, x, y, MIX1, MIY1,MIX2, MIY2) then
begin
WriteLn('Found Mould')
end else
begin
Writeln('No Mould found, Looking in Bank.');
OpenBankFast('feb');
if FindDTM(MouldDTM, x, y, MSX1, MSY1,MSX2, MSY2) then
begin
Wait(200+random(100));
Mouse(x, y, 3, 3, True);
CloseBank;
end else
begin
MouseBox(302, 300, 326, 316, 1);
repeat
Wait(100 +random(500));
until FindTextTPA(clBlack, 30, MCX1, MCY1, MCX2, MCY2, 'name of', UpChars, Nothing);
TypeSend('ammo mould');
Wait(100 +random(500));
if FindDTM(MouldDTM, x, y, MSx1, MSy1, MSx2, MSy2) then
begin
Mouse(x, y, 5, 5, true);
Wait(25 +random(100));
CloseBank;
end else
begin
Writeln('You do not have a mould. Look at thread to see how to get one')
Logout;
Players[CurrentPlayer].Active := False
NextPlayer(False)
end;
end;
end;
end;
begin
repeat
SetupSRL;
ClearDebug;
Writeln('Starting Smart');
SmartSetupEx(27,true,true,false);
SetTargetDC(SmartGetDC);
Writeln('Loading Runescape');
DeclarePlayers;
LoginPlayer;
SetAngle(True)
Wait(100 +random(500));
if (FindMyLocation = 'AtBank') then
begin
if (not(Loggedin)) then NextPlayer(false); // Fail safe
MouldCheck;
OpenBank2;
WithdrawSteelBars;
WalkToFurnace;
UseSteelBars;
ClickOnFurnace;
SmeltCannonBalls;
FindCraftSteelBar;
if (barstodo = Players[CurrentPlayer].Integers[0]) then
begin
NextPlayer(true);
end;
end else
begin
if (FindMyLocation = 'AtFurnace') then
begin
if (not(Loggedin)) then NextPlayer(false); // Fail safe
WalkToBank;
FindDaBank;
MouldCheck;
Bank;
OpenBank2;
WithdrawSteelBars;
WalkToFurnace;
UseSteelBars;
ClickOnFurnace;
SmeltCannonBalls;
FindCraftSteelBar;
if (barstodo = Players[CurrentPlayer].Integers[0]) then
begin
NextPlayer(true);
end;
end else
end;
until(False);
end.
Thanks for taking your time to read this, and i appreciate all votes.
Pixelate
——————————————————
<!– END TEMPLATE: formanswers –>