dudesareus
03-26-2007, 11:10 PM
Well I'm really stuck on my script here, its goin to be an Al Kharid Iron Smelter but I can't get it down pat.
program DudesKharidSmelter;
{.include SRL/SRL.scar}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
Const
BankPin = 'Bank Pin'; //Your bank pin
RunDir = 'E'; //Direction to Run away from randoms
StartPlayer = 0; //Your Start Player
{--------Colours--------}
BankBoothColour = 606035; //Colour of the Sleeve on the banker
FurnaceColour = 1121674; //Colour of the Furnace, Leave Alone
IronFurnace = 5921634; //Colour of the Iron Bar on the furnace
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
Var
Loads : integer;
{~~~~~Player Setup~~~~~}
Procedure DeclarePlayers;
begin
HowManyPlayers :=1; //Number of Players your using
NumberOfPlayers(HowManyPlayers); //Just Leave Alone
CurrentPlayer:= StartPlayer; //Your Start Player which you set above
Players[0].Name :='Username'; //Your Runescape Username
Players[0].Pass :='Password'; //Your Runescape Password
Players[0].Nick :='NickName'; //Choose 3 letters from the center of your username
Players[0].String1:='no' //Do you have a pin? Yes or no.
Players[0].Skill :='Smithing'; //The skill to put your Genie Lamp on
Players[0].Loc :='' //Please do NOT touch!
Players[0].Active :=True; //Only one player for now so just leave
end;
{~~~~~End Setup~~~~~}
{~~Find Randoms~~}
Function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i:=1 to 12 do
begin
case I of
1: If FindDead then
Result := True;
2: If FindMod then
Result := True;
3: If FindMime then
Result := True;
4: If FindMaze then
Result := True;
5: If FindQuiz then
Result := True;
6: If FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
If InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9 : If RC Then Result := True;
10 : If FindFight Then
Begin
Result := True;
MakeCompass('N');
RunTo(RunDir, True);
MakeCompass('N');
End;
11: If FindTalk Then Result := True;
End;
Wait(1);
end;
end;
{~~Map Settings~~}
Procedure MapSettings;
begin
Players[0].Loc:='Bank';
HighestAngle;
MakeCompass('N');
Wait(500);
MakeCompass('N');
Wait(500);
SetRun(True);
end;
{~~Half Way Furnace~~}
Procedure HalfWayFurn;
begin
MakeCompass('N');
Wait(300);
RadialRoadWalk(4024978, 35, 44, 30, 0, 1);
Players[0].Loc:='Half Way To Furnace';
FindFastRandoms;
Wait(1000);
end;
{~~To Furnace~~}
Procedure WalkToFurnace;
var
FoundFurnSym:Boolean;
begin
repeat
FindSymbol(x,y,'Furnace');
FoundFurnSym:=true;
MMouse(x,y,2,2);
Mouse(x,y,5,5,True);
FindFastRandoms;
Flag;
until(FoundFurnSym)
Players[0].Loc:='Furnace';
Writeln(Players[0].Loc);
end;
{~~Click on Furnace~~}
Procedure ClickOnFurn;
begin
LowestAngle;
MakeCompass('W');
Wait(350);
if (FindMMColorTol(x,y,FurnaceColour,10)) then
begin
MMouse(x,y,2,2);
Mouse(x,y,2,2,True);
end;
end;
{~~Smelt Iron~~}
Procedure SmeltIron;
begin
If (FindMSColor(x,y,IronFurnace)) then
begin
MMouse(x,y,2,2);
Mouse(x,y,2,2,True);
if(FindObj3(x,y,'ore',2371663,5)) then
repeat
FindFastRandoms;
FindNormalRandoms;
Wait(7500 +random(2500));
GameTab(2);
HoverSkill('smithing',false);
Wait(500);
GameTab(4);
until(Not (FindObj3(x,y,'ore',2371663,5)));
end;
end;
{~~Half Way Back~~}
Procedure HalfWayBack;
begin
Players[0].Loc:='Walking Back';
Writeln(Players[0].Loc);
HighestAngle;
MakeCompass('N');
Wait(500);
MakeCompass('N');
RadialWalk(4024978, 180, 188, 51, 0, 1);
FindFastRandoms;
Flag;
end;
{~~Back To Bank~~}
Procedure BackToBank;
var
FoundBankSym:Boolean;
begin
if (FindSymbol(x,y,'bank')) then
repeat
MMouse(x,y,2,2);
Mouse(x,y,2,2,true);
FindFastRandoms;
FoundBankSym:=True;
FindNormalRandoms;
Flag;
Players[0].Loc:='Bank';
until(FoundBankSym)
end;
{~~Bank~~}
procedure StartBanking;
begin
HighestAngle;
OpenBankQuiet('akb');
DepositAll;
if (Players[0].String1='no') then
begin
Withdraw(1,1,28);
CloseBank;
end
else if (Players[0].String1='yes') then
begin
InPin(BankPin);
Withdraw(1,1,28);
CloseBank;
end;
end;
{~~Progress Report~~}
Procedure DudeProgReport;
begin
ClearDebug;
writeln(' [ ]~~~Sweet Iron Smelter!~~~[ ]');
writeln('[ ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ ]');
writeln(' |------Made By Dudesareus!------|');
writeln(' |----Time Running: '+ ScriptTime2(2)+'----|');
writeln(' |------Loads Done: '+ inttostr(Loads) +' Loads------|');
writeln('[ ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ ]');
end;
{~~Neat Proggy~~}
Procedure NeatProggy;
begin
ClearDebug;
Writeln(' [');
Wait(150);
ClearDebug;
Writeln(' [ ]');
Wait(150);
ClearDebug;
Writeln(' [ ]~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~S');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sw');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Swe');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Swee');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet ');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet I');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Ir');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iro');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron ');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron S');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Sm');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Sme');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smel');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelt');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelte');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~[');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~[ ');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~[ ]');
Wait(150);
end;
{~~Main Frame~~}
begin
SetupSRL;
DeclarePlayers;
ActivateClient;
DisguiseScar('Welcome to Neopets! - Mozilla Firefox');
NEWLINE:='';
NeatProggy;
repeat
LoginPlayer;
DudeProgReport;
MapSettings;
if (Players[0].Loc='Bank') then
begin
StartBanking;
HalfWayFurn;
end;
if (Players[0].Loc='Half Way To Furnace') then
begin
WalkToFurnace;
end;
if (Players[0].Loc='Furnace') then
begin
SmeltIron;
HalfWayBack;
end;
if (Players[0].Loc='Walking Back') then
begin;
BackToBank;
end;
Until(False);
end.
program DudesKharidSmelter;
{.include SRL/SRL.scar}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
Const
BankPin = 'Bank Pin'; //Your bank pin
RunDir = 'E'; //Direction to Run away from randoms
StartPlayer = 0; //Your Start Player
{--------Colours--------}
BankBoothColour = 606035; //Colour of the Sleeve on the banker
FurnaceColour = 1121674; //Colour of the Furnace, Leave Alone
IronFurnace = 5921634; //Colour of the Iron Bar on the furnace
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
Var
Loads : integer;
{~~~~~Player Setup~~~~~}
Procedure DeclarePlayers;
begin
HowManyPlayers :=1; //Number of Players your using
NumberOfPlayers(HowManyPlayers); //Just Leave Alone
CurrentPlayer:= StartPlayer; //Your Start Player which you set above
Players[0].Name :='Username'; //Your Runescape Username
Players[0].Pass :='Password'; //Your Runescape Password
Players[0].Nick :='NickName'; //Choose 3 letters from the center of your username
Players[0].String1:='no' //Do you have a pin? Yes or no.
Players[0].Skill :='Smithing'; //The skill to put your Genie Lamp on
Players[0].Loc :='' //Please do NOT touch!
Players[0].Active :=True; //Only one player for now so just leave
end;
{~~~~~End Setup~~~~~}
{~~Find Randoms~~}
Function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i:=1 to 12 do
begin
case I of
1: If FindDead then
Result := True;
2: If FindMod then
Result := True;
3: If FindMime then
Result := True;
4: If FindMaze then
Result := True;
5: If FindQuiz then
Result := True;
6: If FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
If InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9 : If RC Then Result := True;
10 : If FindFight Then
Begin
Result := True;
MakeCompass('N');
RunTo(RunDir, True);
MakeCompass('N');
End;
11: If FindTalk Then Result := True;
End;
Wait(1);
end;
end;
{~~Map Settings~~}
Procedure MapSettings;
begin
Players[0].Loc:='Bank';
HighestAngle;
MakeCompass('N');
Wait(500);
MakeCompass('N');
Wait(500);
SetRun(True);
end;
{~~Half Way Furnace~~}
Procedure HalfWayFurn;
begin
MakeCompass('N');
Wait(300);
RadialRoadWalk(4024978, 35, 44, 30, 0, 1);
Players[0].Loc:='Half Way To Furnace';
FindFastRandoms;
Wait(1000);
end;
{~~To Furnace~~}
Procedure WalkToFurnace;
var
FoundFurnSym:Boolean;
begin
repeat
FindSymbol(x,y,'Furnace');
FoundFurnSym:=true;
MMouse(x,y,2,2);
Mouse(x,y,5,5,True);
FindFastRandoms;
Flag;
until(FoundFurnSym)
Players[0].Loc:='Furnace';
Writeln(Players[0].Loc);
end;
{~~Click on Furnace~~}
Procedure ClickOnFurn;
begin
LowestAngle;
MakeCompass('W');
Wait(350);
if (FindMMColorTol(x,y,FurnaceColour,10)) then
begin
MMouse(x,y,2,2);
Mouse(x,y,2,2,True);
end;
end;
{~~Smelt Iron~~}
Procedure SmeltIron;
begin
If (FindMSColor(x,y,IronFurnace)) then
begin
MMouse(x,y,2,2);
Mouse(x,y,2,2,True);
if(FindObj3(x,y,'ore',2371663,5)) then
repeat
FindFastRandoms;
FindNormalRandoms;
Wait(7500 +random(2500));
GameTab(2);
HoverSkill('smithing',false);
Wait(500);
GameTab(4);
until(Not (FindObj3(x,y,'ore',2371663,5)));
end;
end;
{~~Half Way Back~~}
Procedure HalfWayBack;
begin
Players[0].Loc:='Walking Back';
Writeln(Players[0].Loc);
HighestAngle;
MakeCompass('N');
Wait(500);
MakeCompass('N');
RadialWalk(4024978, 180, 188, 51, 0, 1);
FindFastRandoms;
Flag;
end;
{~~Back To Bank~~}
Procedure BackToBank;
var
FoundBankSym:Boolean;
begin
if (FindSymbol(x,y,'bank')) then
repeat
MMouse(x,y,2,2);
Mouse(x,y,2,2,true);
FindFastRandoms;
FoundBankSym:=True;
FindNormalRandoms;
Flag;
Players[0].Loc:='Bank';
until(FoundBankSym)
end;
{~~Bank~~}
procedure StartBanking;
begin
HighestAngle;
OpenBankQuiet('akb');
DepositAll;
if (Players[0].String1='no') then
begin
Withdraw(1,1,28);
CloseBank;
end
else if (Players[0].String1='yes') then
begin
InPin(BankPin);
Withdraw(1,1,28);
CloseBank;
end;
end;
{~~Progress Report~~}
Procedure DudeProgReport;
begin
ClearDebug;
writeln(' [ ]~~~Sweet Iron Smelter!~~~[ ]');
writeln('[ ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ ]');
writeln(' |------Made By Dudesareus!------|');
writeln(' |----Time Running: '+ ScriptTime2(2)+'----|');
writeln(' |------Loads Done: '+ inttostr(Loads) +' Loads------|');
writeln('[ ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ ]');
end;
{~~Neat Proggy~~}
Procedure NeatProggy;
begin
ClearDebug;
Writeln(' [');
Wait(150);
ClearDebug;
Writeln(' [ ]');
Wait(150);
ClearDebug;
Writeln(' [ ]~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~S');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sw');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Swe');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Swee');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet ');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet I');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Ir');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iro');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron ');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron S');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Sm');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Sme');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smel');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelt');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelte');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~[');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~[ ');
Wait(150);
ClearDebug;
Writeln(' [ ]~~~Sweet Iron Smelter!~~~[ ]');
Wait(150);
end;
{~~Main Frame~~}
begin
SetupSRL;
DeclarePlayers;
ActivateClient;
DisguiseScar('Welcome to Neopets! - Mozilla Firefox');
NEWLINE:='';
NeatProggy;
repeat
LoginPlayer;
DudeProgReport;
MapSettings;
if (Players[0].Loc='Bank') then
begin
StartBanking;
HalfWayFurn;
end;
if (Players[0].Loc='Half Way To Furnace') then
begin
WalkToFurnace;
end;
if (Players[0].Loc='Furnace') then
begin
SmeltIron;
HalfWayBack;
end;
if (Players[0].Loc='Walking Back') then
begin;
BackToBank;
end;
Until(False);
end.