The Killer
2012-12-31 13:16:35
How Long have You Played Runescape?
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
Yes, Google referred me here when I googled "Simba runescape" ;) (no the user google :P)
What is your general programming knowledge?
Just Pascal, Want to learn java soon and start to expand my knowledge. After all, knowledge is power ;)
Are you a member of any other communities?
No
Tell us about yourself…
Please show us one (or multiple) of your scripts.
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
Yes, Google referred me here when I googled "Simba runescape" ;) (no the user google :P)
What is your general programming knowledge?
Just Pascal, Want to learn java soon and start to expand my knowledge. After all, knowledge is power ;)
Are you a member of any other communities?
No
Tell us about yourself…
From: The Killer
Well, I'm Steven (As fellow skypes know), I'm 14, and live in the UK. I enjoy playing football. I'v been at villavu for about 10 months now and have got to learn a basic to intermediate knowledge of pascal. During my time here I'v also made friends etc.
Please, when voting can you explain why. I still have bits to learn and want to continue my learning so by posting I know what I'n doing right and what I'm doing wrong :P
note: not all my scripting abiltys are in the script due to the nature of it.
e.g. No Dtms and Walking.
Please show us one (or multiple) of your scripts.
Program KillersHeater;
{$DEFINE SMART}
{$I SRL/SRL.simba}
{==============================================================================}
{========== INSTRUCTIONS ==========}
{==============================================================================}
{========== Killer's Superheater v1.18 ==========}
{==============================================================================}
{========== 1. Fill out all the information below. =========}
{========== 2. Put Primary ore in 9th bank slot. =========}
{========== 3. Put the coal in the 10th bank slot. =========}
{========== 4. Enjoy the Script =========}
{========== 5. Post proggies and bugs please. =========}
{==============================================================================}
{==============================================================================}
const
BarsToDo = 5000;
Bank = 'veb'; // change to w/e you want from bank.simba (only required if not using bankchest)
BankChest = SRL_BANK_SW; // change to w/e you want from bank.simba (only required if using bankchest)
Chest = False; //Set to true if the bank your using is a chest
SpeedOfMouse = 20; //increase to speed up, decrease to slow down.
Debug = False; // Debugs, use if having problems. Havn't really put into full use yet
Bar = ''; //Valid Arguments: iron, silver, steel, gold, mithril, addy, rune
CoalBag = True; // true if using coalbag
Goldgauntlets = False; // true if using gauntlets while smelting gold (only needed for xp calc)
CoalColour = 1844517; // No need to touch this
TimeToWait = 250; //Time to wait in waitchooseoption
{==============================================================================}
{==============================================================================}
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ''; //login in name
Pass := ''; //Password
Pin := ''; // Leave blank if you don't have one
Active := True;
end;
end;
{==============================================================================}
{========== End of Setup ==========}
{==============================================================================}
type TOreInfo = record
UsesCoal: Boolean;
BarsPerInv, OreColour, SlotToClick: Integer;
Name: String;
SmithXpBar: Extended;
BoxCheck: TBox;
end;
var
loadsDone, loadtime, Heats, Tries: Integer;
BarInfo: TOreInfo;
Function CoalCheck(WithCoalBag, WithoutCoalBag: Integer): Integer;
begin
if Coalbag then
Result := WithCoalBag
else
Result := WithoutCoalBag;
end;
function GaulentsCheck: Extended;
begin
if Goldgauntlets then
Result := 56.2
else
Result := 22.5;
end;
function SlotToClick: Integer;
begin
if Coalbag then
Result := barinfo.BarsPerInv + 2
else
Result := barinfo.BarsPerInv +1;
end;
procedure LoadBarInfo;
begin
case lowercase (Bar) of
'silver': begin
barinfo.UsesCoal := False;
barinfo.BarsPerInv := 27;
barinfo.SmithXpBar := 13.7;
barinfo.OreColour := 9472650;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Silver';
end;
'iron': begin
barinfo.UsesCoal := False;
barinfo.BarsPerInv := 27;
barinfo.SmithXpBar := 12.5;
barinfo.OreColour := 1647162;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Iron';
end;
'steel': begin
barinfo.UsesCoal := True
barinfo.BarsPerInv := CoalCheck(17, 8);
barinfo.SmithXpBar := 17.5;
barinfo.OreColour := 1647162;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Steel';
end;
'gold': begin
barinfo.UsesCoal := False;
barinfo.BarsPerInv := 26;
barinfo.SmithXpBar := GaulentsCheck;
barinfo.OreColour := 1741753;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Gold';
end;
'mithril': begin
barinfo.UsesCoal := True
barinfo.BarsPerInv := CoalCheck(10, 5);
barinfo.SmithXpBar := 30;
barinfo.OreColour := 5388087;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Mithril';
end;
'addy': begin
barinfo.UsesCoal := True;
barinfo.BarsPerInv := CoalCheck(7, 3);
barinfo.SmithXpBar := 37.5;
barinfo.OreColour := 4015933;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Addy';
end;
'rune': begin
barinfo.UsesCoal := True
barinfo.BarsPerInv := CoalCheck(7, 3);
barinfo.SmithXpBar := 50;
barinfo.OreColour := 5722179;
barinfo.SlotToClick:= SlotToClick;
barinfo.Name := 'Rune';
end;
end;
end;
Procedure ResetBank;
begin
if not LoggedIn then LoginPlayer;
FindNormalRandoms;
if Chest then
OpenBankChestEdge(bankchest)
else
OpenBankFast(bank);
if not Bankscreen or Pinscreen then
begin
Tries := 0;
Repeat
if Chest then
OpenBankChestEdge(bankchest)
else
OpenBankFast(bank);
InPin(Players[0].Pin);
Inc(Tries);
Until (Tries > 3) or Bankscreen;
end;
if not Pinscreen then
begin
Tries := 0;
Repeat
InPin(Players[0].Pin);
Inc(Tries);
Until (Tries > 3) or Bankscreen;
end;
if Tries > 3 then
begin
Writeln('Entering pin or opening bank has failed');
writeln('logging off...');
Logout;
writeln('Terminating script...');
TerminateScript;
end;
FixBank;
if CoalBag then
begin
Deposit(3, 25, True);
Mouse(621, 232, 5, 5, mouse_right);
if not WaitOption('mpty', TimeToWait) then
Writeln('Failed to empty coalbag');
wait(1000);
Deposit(3, 28, True);
end else
Deposit(2, 25, True);
end;
Function FailedBank: Boolean;
var
x, y: integer;
ibox: Tbox;
begin
ibox := InvBox(barinfo.SlotToClick);
if not FindColorTolerance(x, y, barinfo.OreColour, ibox.x1, ibox.y1, ibox.x2, ibox.y2, 10) then
begin
Result := True;
if Debug then WriteLn('FailedBank');
Exit;
end;
if barinfo.UsesCoal then
begin
ibox := InvBox(20);
if not FindColorTolerance(x, y, CoalColour, ibox.x1, ibox.y1, ibox.x2, ibox.y2, 10) then
begin
Result := True;
if Debug then WriteLn('FailedBank2');
end;
end;
if not Result then
begin
if Debug then WriteLn('Successfull bank');
end;
end;
Procedure Banking;
begin
if Chest then
OpenBankChestEdge(bankchest)
else
OpenBankFast(bank);
if CoalBag then
Deposit(3, 20, True)
else
Deposit(2, 20, True);
if CoalBag then
begin
if Debug then Writeln('Withdrawing first coal');
MouseBox(397, 99, 415, 115, mouse_right);
if not WaitOption('ithdraw-All', TimeToWait) then
Withdraw(0, 9, 0);
if Debug Then Writeln('filling dat bag');
Mouse(621, 232, 5, 5, mouse_right);
WaitOption('ill', TimeToWait);
end;
if Debug then Writeln('Withdrawing ' + (barinfo.Name));
MouseBox(347, 92, 377, 123, mouse_right);
if not WaitOption('ithdraw-' + IntToStr(barinfo.BarsPerInv), TimeToWait) then
Withdraw(0, 8, barinfo.BarsPerInv);
if barinfo.UsesCoal then
begin
if Debug then Writeln('Withdrawing coal');
MouseBox(397, 99, 415, 115, mouse_right);
if not WaitOption('ithdraw-All', TimeToWait) then
Withdraw(0, 9, 0);
end;
If FailedBank then ResetBank
else
Closebank;
end;
(*Procedure FirstBank;
begin
if Chest then
OpenBankChestEdge(bankchest)
else
OpenBankFast(bank);
if CoalBag then
begin
if Debug then Writeln('Withdrawing first coal');
MouseBox(397, 99, 415, 115, mouse_right);
WaitOption('ithdraw-All', TimeToWait);
if Debug Then Writeln('filling dat bag');
Mouse(621, 232, 5, 5, mouse_right);
WaitOption('ill', TimeToWait);
end;
if Debug then Writeln('Withdrawing ' + (barinfo.Name));
Withdraw(7, 0, barinfo.BarsPerInv);
if barinfo.UsesCoal then
begin
if Debug then Writeln('Withdrawing coal');
MouseBox(397, 99, 415, 115, mouse_right);
ChooseOption('ithdraw-All');
end;
Closebank;
end; *)
Function NoOre: Boolean;
var
x, y: integer;
iBox: Tbox;
Begin
iBox := InvBox(barinfo.SlotToClick);
If not FindColorTolerance(x, y, 3492959, ibox.x1, ibox.y1, ibox.x2, ibox.y2, 10) then
Result := True;
end;
Procedure Heat;
var
T: Integer;
begin
MarkTime(t);
Repeat
InvMouse(barinfo.SlotToClick, 3);
Wait(1000);
Until (TimeFromMark(t)) > 150;
If FailedBank then ResetBank;
if not IsActionBarOpen then ToggleActionBar(True);
if PlayerChatActive then
begin
PressKey(13);
Wait(150+random(200));
PressKey(13);
end;
Repeat
Wait(100+Random(10));
SendKeys('1',100,100);
InvMouse(barinfo.SlotToClick, 1);
until NoOre or (TimeFromMark(T)>100000);
end;
Procedure progress;
var
HeatsHour, MageXp, MageXpHour, TimeRan:Integer;
SmithXp, SmithXpHour: Extended;
begin
TimeRan := (GetTimeRunning / 1000);
Heats := (barinfo.BarsPerInv) * (LoadsDone);
HeatsHour := (3600 * (Heats)) / ((TimeRan));
MageXp := (((Heats) * 53) / 1000);
MageXpHour := (((HeatsHour) * 53) / 1000);
SmithXp := ((Heats) * (barinfo.SmithXpBar) / 1000);
SmithXpHour := (((HeatsHour) * (barinfo.SmithXpBar)) / 1000);
if not Debug then ClearDebug;
Writeln('The Killers Heater');
Writeln((barinfo.Name) + ' Bars made: ' + IntToStr(Heats));
Writeln('Bars per hour: ' + IntToStr(HeatsHour));
Writeln('Time running: ' + TimeRunning);
Writeln('Magic Xp: ' + IntToStr(MageXp) + 'K');
Writeln('Magic Xp Per hour: ' + IntToStr(MageXpHour) + 'K');
Writeln('Smithing Xp: ' + ToStr(SmithXp) + 'K');
Writeln('Smithing Xp Per hour: ' + ToStr(SmithXpHour) + 'K');
End;
begin
ClearDebug;
SRL_SixHourFix := True;
SMART_FixSpeed := True;
If (SRL_SixHourFix) then
SRL_Procs[srl_OnRSUpdate] := @SixHourFix;
SetupSRL;
MouseSpeed:= (SpeedOfMouse);
LoadBarInfo;
DeclarePlayers;
LoginPlayer;
FindNormalRandoms;
ClickNorth(0);
if Chest then
OpenBankChestEdge(bankchest)
else
OpenBankFast(bank);
if not Bankscreen or Pinscreen then
begin
Tries := 0;
Repeat
if Chest then
OpenBankChestEdge(bankchest)
else
OpenBankFast(bank);
InPin(Players[0].Pin);
Inc(Tries);
Until (Tries > 3) or Bankscreen;
end;
if not Pinscreen then
begin
Tries := 0;
Repeat
InPin(Players[0].Pin);
Inc(Tries);
Until (Tries > 3) or Bankscreen;
end;
if Tries > 3 then
begin
Writeln('Entering pin or opening bank has failed');
writeln('logging off...');
Logout;
writeln('Terminating script...');
TerminateScript;
end;
FixBank;
ResetBank;
// FirstBank;
// Heat;
// inc(loadsdone);
Repeat
Banking;
MarkTime(LoadTime);
Heat;
if TimeFromMark(LoadTime) > 3000 then
inc(loadsdone);
Progress;
until Heats > BarsToDo;
Logout;
end.
{==============================================================================}