Log in

View Full Version : Ok, I'm doing something wrong here with my locations, but I can't get it!



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.

JAD
03-26-2007, 11:33 PM
Whats the problem exactly?

dudesareus
03-26-2007, 11:36 PM
Well it only does the Bank location part and not the others, I don't know what I'm doing wrong.

gsquare567
03-27-2007, 03:41 AM
walkings tuff... i think you just need to test the walking. maybe theres something wrong with your radialwalk. can you specify which procedure it is stopping at?

dudesareus
03-27-2007, 08:56 PM
its not stopping, it just keeps doing the bank part, but I think i fixed the location problem, my radial walk is just messed up now :(, anyways here updated version of my script so you can point out any errors.

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--------}
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
HighestAngle;
MakeCompass('N');
Wait(500);
MakeCompass('N');
RadialWalk(4024978, 180, 188, 51, 0, 1);
FindFastRandoms;
Flag;
Players[0].Loc:='Walking Back';
Writeln(Players[0].Loc);
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';
Writeln(Players[0].Loc);
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.