Bonfield
2008-03-06 18:57:44
<!– BEGIN TEMPLATE: formanswers –>
Bonfield - SRL Member Application Form
Bonfield
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
scar
Other Communitys
none
How Long have You Played Runescape
2-3 years i think
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
heres my superheater script ive put a fair bit of work into it and it runs pretty well, i posted the script yesterday but no one gave me any feedback and i thought id apply for members because this is a much better script that my autofighter :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
Bonfield - SRL Member Application Form
Bonfield
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
scar
Other Communitys
none
How Long have You Played Runescape
2-3 years i think
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
heres my superheater script ive put a fair bit of work into it and it runs pretty well, i posted the script yesterday but no one gave me any feedback and i thought id apply for members because this is a much better script that my autofighter :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program SuperHeat;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/magic.scar}
{
==========================================================================
This script superheats any Ore to Bars
==========================================================================
Created for scar 3.12 and SRL 4 Rev 14
1. USE Runescape with Low Detail, Very Bright.
2. Set your Screen to 32 bit TRUE color.
3. Set Playernames and Passwords in DeclarePlayers.
4. Set NumberOfPlayers.
5. Position Players at Falador East Bank with fire staff equiped
and Nature runes in bank with nothing in your inventory
6. Make sure your Players has ores and nature runes
Credits to Rasta Magican and Cutem2it for all the help that
they both gave me with casting superheat
Version 1- Original release
==========================================================================
}
var
l, loads, x, y, c, nat: integer;
const
StartPlayer = 0; // Determines who will play first
MSpeed = 10; //speed of the mouse...higher number slower speed, lower number higher speed
MySRLID = 'ID'; // Must be a string!
MySRLPassword = 'Pass'; // Must be a string!
VersionNumber = 1; // No need to change
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer := StartPlayer; // CurrentPlayer = Array Index
Players[0].Name := 'name'; //username
Players[0].Pass := 'pass'; //password
Players[0].Nick := 'nick'; //3-4 consecutive letters of your user name(NOT First letter)
Players[0].Strings[0] := 'steel'; //type of bar bronze,iron,steel,mithril,adamantite,runite,gold,silver,
Players[0].integers[0] := 100; //how many times to cast superheat
Players[0].Active := True; //are you going to use this player
end;
procedure AntiRandoms;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
if FindFight then RunTo('N',True);
case Random(100) of
0: RandomRClick;
1: PickupMouse;
2: randommovement;
end;
end;
procedure WithdrawNats;
begin
if (not (Loggedin)) then exit;
if (not (bankscreen)) then exit;
nat := DTMFromString('78DA638C61606028634001825DA20C5C409A1' +
'188FF0301631A9091C18006189148209D83690E869A4420D14840' +
'4D1890A827A026004894105013042472F0AB01004CF40A86');
if FindDTM(nat, x, y, MSX1, MSY1, MSX2, MSY2) then
else begin
writeln('no nats')
terminatescript;
end;
begin;
Mouse(x, y, 3, 3, false)
wait(100 + random(50))
begin
ChooseOption('Withdraw X');
Wait(1000 + Random(100));
TypeSend(IntToStr(players[currentplayer].Integers[0]) + Chr(13));
FreeDTM(nat);
end;
end;
end;
function FindOre(oreType: string; var rx, ry: integer; x1, y1, x2, y2: integer):
boolean;
var
ore, oreColor: integer;
oreMP: TDTMPointDef;
oreSP: array of TDTMPointDef;
oreSkel: TDTM;
begin
case lowercase(oreType) of
'copper': oreColor := 3834079;
'tin': oreColor := 8553356;
'iron': oreColor := 2305869;
'silver': oreColor := 11971499;
'coal': oreColor := 2702653;
'gold': oreColor := 1815515;
'mithril': oreColor := 7425357;
'adamantite': oreColor := 5268302;
'runite': oreColor := 7958098;
else
begin
writeln('ore type not found');
Logout;
end;
end;
setarraylength(oreSP, 4);
oreMP.x := 580;
oreMP.y := 229;
oreMP.areasize := 1;
oreMP.areashape := 0;
oreMP.color := oreColor;
oreMP.tolerance := 15;
oreSP[0].x := 576;
oreSP[0].y := 227;
oreSP[0].areasize := 0;
oreSP[0].areashape := 0;
oreSP[0].color := 65536;
oreSP[0].tolerance := 0;
oreSP[1].x := 574;
oreSP[1].y := 229;
oreSP[1].areasize := 0;
oreSP[1].areashape := 0;
oreSP[1].color := 65536;
oreSP[1].tolerance := 0;
oreSP[2].x := 563;
oreSP[2].y := 230;
oreSP[2].areasize := 0;
oreSP[2].areashape := 0;
oreSP[2].color := 65536;
oreSP[2].tolerance := 0;
oreSP[3].x := 592;
oreSP[3].y := 227;
oreSP[3].areasize := 0;
oreSP[3].areashape := 0;
oreSP[3].color := 65536;
oreSP[3].tolerance := 0;
oreSkel.MainPoint := oreMP;
oreSkel.SubPoints := oreSP;
ore := AddDTM(oreSkel);
result := findDTM(ore, rx, ry, x1, y1, x2, y2);
freeDTM(ore);
end;
procedure WithdrawOres;
begin;
l := 0
if (not (Loggedin)) then exit;
if (not (bankscreen)) then exit;
case lowercase(players[currentplayer].Strings[0]) of
'bronze':
begin
if findOre('copper', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find copper');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
Wait(1000 + Random(100));
if chooseOption('X') then
begin
wait(100 + random(100));
typesend('13');
end;
end;
wait(500 + random(500));
if findOre('tin', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find tin');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('13');
end;
closebank;
end;
end;
'iron':
begin
if findOre('iron', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find iron');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
chooseOption('All');
end;
closebank;
end;
'silver':
begin
if findOre('silver', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find silver');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
chooseOption('All');
end;
closebank;
end;
'steel':
begin
if findOre('iron', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find iron');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('9');
end;
end;
wait(500 + random(500));
if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find coal');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('18');
end;
closebank;
end;
end;
'gold':
begin
if findOre('gold', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find gold');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
chooseOption('All');
end;
closebank;
end;
'mithril':
begin
if findOre('mithril', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find mirhril');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
chooseOption('5');
end;
wait(500 + random(500));
if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find coal');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('20');
end;
closebank;
end;
end;
'adamantite':
begin
if findOre('adamantite', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find adamantite');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
Wait(1000 + Random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('3');
end;
end;
wait(500 + random(500));
if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find coal');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('18');
end;
closebank;
end;
end;
'runite':
begin
if findOre('runite', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find runite');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('3');
end;
end;
wait(500 + random(500));
if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
else
begin
writeln('Can not find coal');
Logout;
end;
begin
mouse(x, y, 3, 3, false);
wait(100 + random(100));
if chooseOption('X') then
begin
Wait(1000 + Random(100));
typesend('24');
end;
closebank;
end;
end;
end;
end;
procedure CastSuperheats;
var
i, randomClick :integer;
begin
c:= 0;
if (not (Loggedin)) then exit;
if players[currentplayer].Strings[0] = 'bronze' then
c := 27;
if players[currentplayer].Strings[0] = 'iron' then
c := 27;
if players[currentplayer].Strings[0] = 'steel' then
c := 9;
if players[currentplayer].Strings[0] = 'mithril' then
c := 5;
if players[currentplayer].Strings[0] = 'adamantite' then
c := 3;
if players[currentplayer].Strings[0] = 'runite' then
c := 3;
if players[currentplayer].Strings[0] = 'gold' then
c := 27;
if players[currentplayer].Strings[0] = 'silver' then
c := 27;
Gametab(7);
repeat
wait(200)
if not CastSpell(26) then break;
Wait(450 + random(150));
if players[currentplayer].Strings[0] = 'bronze' then
if not findOre('copper', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find copper');
break;
end;
if players[currentplayer].Strings[0] = 'iron' then
if not findOre('iron', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find iron');
break;
end;
if players[currentplayer].Strings[0] = 'steel' then
if not findOre('iron', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find steel');
break;
end;
if players[currentplayer].Strings[0] = 'mithril' then
if not findOre('mithril', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find mith');
break;
end;
if players[currentplayer].Strings[0] = 'adamantite' then
if not findOre('adamantite', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find addy');
break;
end;
if players[currentplayer].Strings[0] = 'runite' then
if not findOre('runite', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find rune');
break;
end;
if players[currentplayer].Strings[0] = 'gold' then
if not findOre('gold', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find gold');
break;
end;
if players[currentplayer].Strings[0] = 'silver' then
if not findOre('silver', x, y, MIX1, MIY1, MIX2, MiY2) then
begin
writeln('didnt find silver');
break;
end;
begin
MMouse(x, y, 2, 2);
wait(250 + random(150));
if IsUpText('ore') then
begin
Mouse(x, y, 5, 5, True);
Wait(450 + random(150));
AntiRandoms;
c := c + 1;
end else
begin
writeln('Can not find ore');
break;
WithdrawOres;
c := c + 1;
MarkTime(randomClick);
repeat
i:= Random(27)+1;
if(not(ExistsItem(i))) then
begin
MouseItem(i,True);
Break;
end;
until(TimeFromMark(randomClick)>=10000)
end;
end;
until(false)
end;
procedure BankBars;
var
Bar, time: Integer;
begin
Bar := DTMFromString('78DA63946660601062400113DBDB19B880342' +
'310FF0702460520839B010D302291401A648E0C01353C40429880' +
'1A652021825F0D00B24D0699');
MarkTime(time);
repeat
if (not (Loggedin)) then break;
OpenBankQuiet('feb')
until (BankScreen or (TimeFromMark(time) > 120000));
if Bankscreen then
else exit;
begin
IsUpText('Bar')
Deposit(2, 3, 2);
CloseBank;
loads := l + 1;
AntiRandoms;
ReportVars[0] := ReportVars[0] + 1;
SRLRandomsReport;
end;
FreeDTM(Bar);
end;
procedure ProgressReport;
begin
ClearDebug;
Writeln('<|----------------------------------------------|>');
Writeln(' AutoFighter version 1 by Bonfield ');
Writeln(' ');
Writeln(' Worked for ' + TimeRunning);
Writeln(' ');
Writeln(' Cast Superheat ' + inttostr(c) + ' times');
Writeln('<|----------------------------------------------|>');
end;
procedure Setup;
begin;
SetupSRL;
ScriptID := '692';
SRLID := MySRLID;
SRLPassword := MySRLPassword; If ( SRLID = '' ) Or ( SRLPassword = '' )Then Begin Writeln(' You Need a SRL Stats Account, Create One');OpenWebPage('http://www.stats.srl-forums.com/');TerminateScript;End;
ActivateClient;
Mousespeed := Mspeed;
DeclarePlayers;
LoginPlayer;
SetAngle(true);
OpenBankQuiet('feb');
DepositAll;
WithdrawNats
AntiRandoms;
end;
begin
setup;
repeat
OpenBankQuiet('feb');
WithdrawOres;
CastSuperheats;
AntiRandoms;
BankBars;
ProgressReport;
until (c = Players[currentplayer].integers[0]);
if (LoggedIn) then
LogOut;
if (Players[CurrentPlayer].Active = false) then
terminatescript;
end.
——————————————————
<!– END TEMPLATE: formanswers –>