Iroki
2008-10-13 12:22:30
<!– BEGIN TEMPLATE: formanswers –>
manfromczech - SRL Member Application Form
manfromczech
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C++, delphi, and i think SCAR
Other Communitys
How Long have You Played Runescape
1 year
Are you affilated in anyway with Jagex LTD?
No Comment
—————————————————–
Please write down a paragraph about Yourself.
Hi, i'm 14 years old i come from Czech (beutiful country) and i LOVE programming( in SCAR) and here are 2 of my scripts:
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
i taken one or two procedures from iroki script
First script:
Second script:
and in public test corner is my pluginmy plugin
——————————————————
<!– END TEMPLATE: formanswers –>
manfromczech - SRL Member Application Form
manfromczech
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C++, delphi, and i think SCAR
Other Communitys
How Long have You Played Runescape
1 year
Are you affilated in anyway with Jagex LTD?
No Comment
—————————————————–
Please write down a paragraph about Yourself.
Hi, i'm 14 years old i come from Czech (beutiful country) and i LOVE programming( in SCAR) and here are 2 of my scripts:
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
i taken one or two procedures from iroki script
First script:
{.Script Info:
# ScriptName = ManFromCzech Al-Kharid Smelter
# Author = ManFromCzech
# Version = 1.00
# Comments = Smelts all bars in Al-Kharid.
# Instructions = Have visable ores at bank, and 2-3 free bank slots
/Script Info}
// bar names: bronze, iron, silver, steel, gold, mithril, adamant, rune !!!!!!!!
program Smelter;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/users.scar}
{.include srl/srl/reflection/reflection.scar}
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
const
WorldNumber = 13;
HD = False;
SignedClient = True;
HDMode = False;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
var
BarMaskDTM, xTempOre, yTempOre, FromInve, FirstOreDTM, SecondOreDTM,
Loads: integer;
xOreName, yOreName: string;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function LoadOreDTM(OreName: string): integer;
begin
case OreName of
'tin' :
begin
Result := DTMFromString('78DA6354656060B06040015D0DF50C92409A1' +
'188FF0301A32E9061CF8006189148202D02246C08A8910112B604' +
'D468000933FC6A00107C077D');
end;
'copper':
begin
Result := DTMFromString('78DA635463606090644001B76BCCC0428C40F' +
'C1F08181531D54064612490D60412E204D468000939026AC48084' +
'027E3500D3AA06E6');
end;
'iron':
begin
Result := DTMFromString('78DA635465606098C18002BC7495182481342' +
'310FF070246454C3510591809A4B581C414026A4488304705482C' +
'C0AF060035B00862');
end;
'silver':
begin
Result := DTMFromString('78DA6354636060B8C9800296AFD8CC2009A41' +
'981F83F10302A0219D719D000231209A43580C435026A4480C45D' +
'026A5480C443FC6A0098540B11');
end;
'coal':
begin
Result := DTMFromString('78DA63BCCCC8C0F0098891809DAD160317900' +
'689FE0702C64340D657543510591809A4CF629A83A1E63C90F591' +
'809A8B40D67F026AEE12B60B0077C90F63');
end;
'gold':
begin
Result := DTMFromString('78DA63D46460602866400157D74A314802694' +
'620FE0F048C4A404611031A60442281B43E902824A0461C4894E3' +
'56C304A20D09AB0100957F08CA');
end;
'mithril':
begin
Result := DTMFromString('78DA63D4646060B8CC8002BCBCF3192481342' +
'310FF070246154C3510591809A4F58950230E24AE13506304246E' +
'E0570300F9B80A15');
end;
'adamantite':
begin
Result := DTMFromString('78DA63D4636060B06640013E09BE0C5C409A1' +
'188FF0301A30C9061C3800618914820AD08241C09A8D10412E604' +
'D4E8000927FC6A00B68006FF');
end;
'runite':
begin
Result := DTMFromString('78DA63D46360608866400101D9E50C92409A1' +
'188FF0301A30CA61A882C8C04D2A644A85127428D2E9048C1AF06' +
'00299A07F9');
end;
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function DTMMasks(MaskName: string): integer;
begin
case MaskName of
'bar mask':
begin
Result := DTMFromString('78DA63B4636060106340038C70F23F10303A0' +
'3198AB8D580E900202143404D28901026A0C61748F01350E30624' +
'F808A8F10412CA04D458010939FC6A00E6210715');
end;
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SmeltingProperties;
var
temp_Bar: string;
begin
temp_Bar := Players[CurrentPlayer].Strings[1]
if (temp_Bar = '') then
begin
srl_Warn('Name of bar', 'Unknow name, ', Warn_AllVersions);
TerminateScript;
end;
case temp_Bar of
'bronze':
begin
xTempOre := 14;
yTempOre := 14;
xOreName := 'tin';
yOreName := 'copper';
FromInve := 14;
end;
'iron':
begin
xTempOre := 28;
yTempOre := 0;
xOreName := 'iron';
yOreName := '';
FromInve := 28;
end;
'silver':
begin
xTempOre := 28;
yTempOre := 0;
xOreName := 'silver';
yOreName := '';
FromInve := 28;
end;
'steel':
begin
xTempOre := 18;
yTempOre := 9;
xOreName := 'coal';
yOreName := 'iron';
FromInve := 9;
end;
'gold':
begin
xTempOre := 28;
yTempOre := 0;
xOreName := 'gold';
yOreName := '';
FromInve := 28;
end;
'mithril':
begin
xTempOre := 20;
yTempOre := 5;
xOreName := 'coal';
yOreName := 'mithril';
FromInve := 5;
end;
'adamant':
begin
xTempOre := 24;
yTempOre := 4;
xOreName := 'coal';
yOreName := 'adamantite';
FromInve := 4;
end;
'rune':
begin
xTempOre := 24;
yTempOre := 3;
xOreName := 'coal';
yOreName := 'runite';
FromInve := 3;
end;
end;
FirstOreDTM := LoadOreDTM(xOreName);
if (yOreName <> '') then
begin
SecondOreDTM := LoadOreDTM(yOreName);
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure TakeOres;
var
x, y: integer;
begin
if not LoggedIn then Exit;
SmeltingProperties;
if (xOreName = '') then Exit;
repeat
Wait(700 + RandomRange(500, 700));
until (not(PinScreen)) or (not (BankScreen));
Wait(700 + RandomRange(500, 700));
if PinScreen then
if not InPin(Players[CurrentPlayer].Strings[0]) then
begin
srl_Warn('Pin', 'Wrong pin, next player ', Warn_AllVersions);
Wait(900 + Random(500));
CloseBank;
Players[CurrentPlayer].Active := False;
LogOut;
Exit;
end;
DepositAll;
FixBank;
FindDTM(FirstOreDTM, x, y, MSX1, MSY1, MSX2, MSY2);
if (xTempOre = 28) then
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-All');
Wait(700 + RandomRange(500, 700));
end else
begin
if (xTempOre + yTempOre = 28) then
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
if ChooseOption('Withdraw-' + IntToStr(xTempOre))then
begin
end else
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-X');
Wait(700 + RandomRange(500, 700));
TypeSend(IntToStr(xTempOre));
Wait(700 + RandomRange(500, 700));
end;
end else
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-X');
Wait(700 + RandomRange(500, 700));
TypeSend(IntToStr(xTempOre));
Wait(700 + RandomRange(500, 700));
end;
end;
FreeDTM(FirstOreDTM);
if not (yOreName = '') then
begin
FindDTM(SecondOreDTM, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(700 + RandomRange(500, 700));
if (xTempOre + yTempOre = 28) then
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-All');
Wait(700 + RandomRange(500, 700));
end else
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-X');
Wait(700 + RandomRange(500, 700));
TypeSend(IntToStr(yTempOre));
Wait(700 + RandomRange(500, 700));
end;
FreeDTM(SecondOreDTM);
end;
CloseBank;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function LoadToFurnacePath: TPointArray;
begin
Result := [Point(3277, 3174), Point(3275, 3186)];
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function LoadToBankPath: TPointArray;
begin
Result := [Point(3277, 3174), Point(3270, 3167)];
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure WalkTheFurnacePath;
var
I: Integer;
Path: TPointArray;
begin
Path := LoadToFurnacePath;
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 1, 8);
FindNormalRandoms;
end;
Wait(1500 + Random(700));
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure WalkTheBankPath;
var
I: Integer;
Path: TPointArray;
begin
Path := LoadToBankPath;
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 1, 8);
FindNormalRandoms;
end;
Wait(500 + Random(700));
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function SmeltBars(Kind: string): Boolean;
var
Msx, Msy, ForInv: integer;
Smeltor, OreSmelting: string;
BarBox : TBox;
begin
repeat
Wait(400 + Random(200));
until FindText(Msx, Msy, 'would', NPCChars, MCX1, MCY1, MCX2, MCY2);
case LowerCase(Kind) of
'bronze' : begin ForInv := 14;
OreSmelting := 'copper';
BarBox := IntToBox(40, 402, 60, 421);
end;
'blurite' : begin ForInv := 28;
OreSmelting := 'blurite';
BarBox := IntToBox(90, 398, 110, 419);
end;
'iron' : begin ForInv := 28;
OreSmelting := 'iron';
BarBox := IntToBox(140, 400, 160, 423);
end;
'silver' : begin ForInv := 28;
OreSmelting := 'silver';
BarBox := IntToBox(190, 401, 210, 422);
end;
'steel' : begin ForInv := 9;
OreSmelting := 'steel';
BarBox := IntToBox(245, 399, 265, 417);
end;
'gold' : begin ForInv := 28;
OreSmelting := 'gold';
BarBox := IntToBox(295, 398, 315, 425);
end;
'mithril' : begin ForInv := 5;
OreSmelting := 'mithril';
BarBox := IntToBox(345, 400, 365, 418);
end;
'adamant' : begin ForInv := 4;
OreSmelting := 'adamantite';
BarBox := IntToBox(415, 404, 435, 423);
end;
'rune' : begin ForInv := 3;
OreSmelting := 'runite';
BarBox := IntToBox(460, 401, 480, 422);
end;
'canon balls from ores':
begin ForInv := 36;
OreSmelting := 'canon balls';
BarBox := IntToBox(245, 399, 265, 417);
end;
'canon balls from bars':
begin ForInv := 243;
OreSmelting := 'canon balls';
BarBox := IntToBox(245, 399, 265, 417);
end;
else
begin
srl_Warn('SmeltBars', 'Unknow name of bar - ' + LowerCase(Kind) + ' ', Warn_AllVersions);
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Unknow name of bar.';
Result := False;
Exit;
end;
end;
if ((ForInv <= 5) and (ForInv >= 3)) then Smeltor := '5';
if ((ForInv <= 10) and (ForInv > 5)) then Smeltor := '10';
if ((ForInv > 10) and (ForInv < 36)) then Smeltor := 'X';
if (ForInv >= 36) then Smeltor := 'All';
Wait(RandomRange(400, 600));
MouseBox(BarBox.X1, BarBox.Y1, BarBox.X2, BarBox.Y2, 2);
Wait(200 + Random(200));
if (ForInv >= 36) then
begin
ChooseOption(Smeltor);
Result := True;
end;
if (ForInv > 10) then
begin
ChooseOption('Smelt ' + Smeltor);
Wait(1500 + Random(500));
TypeSend(IntToStr(RandomRange(28, 99)));
Wait(500 + Random(500));
Result := True;
end else
begin
ChooseOption('Smelt ' + Smeltor);
Result := True;
end;
Wait(RandomRange(1000, 2000));
if FindText(Msx, Msy, OreSmelting, NPCChars, MCX1, MCY1, MCX2, MCY2) then
begin
srl_Warn('SmeltBars', 'No ores ', Warn_AllVersions);
Players[CurrentPlayer].Active := False;
Result := False;
Exit;
end;
WriteLn('We are smelting : ' + IntToStr(ForInv) + ' ' + LowerCase(Kind) + ' bars');
Exit;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure Smelt;
var
x, y, MySmeltingTime: Integer;
TB: TBox;
p : TPoint;
begin
if not LoggedIn then Exit;
BarMaskDTM := DTMMasks('bar mask');
TB := InvBox(FromInve);
p := TileToMS(Point(3272, 3187), 25);
Mouse(p.x, p.y, 5, 5, True);
FindNormalRandoms;
SmeltBars(Players[CurrentPlayer].Strings[1]);
MarkTime(MySmeltingTime);
repeat
Wait(700 + RandomRange(500, 700));
FindNormalRandoms;
SRLRandomsReport;
until (FindDTM(BarMaskDTM, x, y, TB.x1, TB.y1, TB.x2, TB.y2)) or (TimeFromMark(MySmeltingTime) >= 40000);
FreeDTM(BarMaskDTM);
Loads := Loads + 1;
WriteLn(IntToStr(Loads));
SendSRLReport;
Exit;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function AllPlayersAreInactive: Boolean;
var
mm, ms: Integer;
begin
ms := HowManyPlayers - 1;
for mm := 0 to ms do
begin
if (Players[mm].Active = True) then Exit;
end;
Result := True;
Writeln('Thanks for using my script. All players inactive.');
TerminateScript;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SetUpPlayer;
begin
if not LoggedIn then LoginPlayer;
SetAngle(True);
MakeCompass('N');
FindNormalRandoms;
SetAllChats('Off', 'Friends', 'Friends', 'Friends', 'Off');
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SetUpSMART;
begin
SmartSetupEx(WorldNumber, HD, SignedClient, HDMode);
SetTargetDC(SmartGetDC);
repeat
Wait(2500);
Until SmartGetColor(253, 233)<>1118604;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure MainLoop;
begin
OpenBankReflection('akb');
TakeOres;
SetRun(True);
FindNormalRandoms;
WalkTheFurnacePath;
FindNormalRandoms;
Smelt;
FindNormalRandoms;
WalkTheBankPath;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
begin
SRLPlayerForm(True, [], ['Loads to do?'], ['Bank pin?', 'Bar name?'], []);
SetUpSMART;
SetUpSRL;
SetUpPlayer;
SmeltingProperties;
repeat
SetUpPlayer;
repeat
MainLoop;
ClearDebug;
WriteLn('Time running: ' + TimeRunning);
WriteLn('Bars smelted: ' + IntToStr(Loads * FromInve));
until Loads >= Players[CurrentPlayer].Integers[1];
until AllPlayersAreInactive;
end.
Second script:
{.Script Info:
# ScriptName = ManFromCzech Superheater
# Author = ManFromCzech
# Version = 1.00
# Comments = Superheat all bars at varrock east bank.
# Instructions = Have visable ores at bank, nats in first inv slot and
wield fire staff.
/Script Info}
// bar names: bronze, iron, silver, steel, gold, mithril, adamant, rune !!!!!!!!
program SuperHeater;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/magic.scar}
{.include srl/srl/misc/users.scar}
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
const
WorldNumber = 13;
HD = False;
SignedClient = True;
HDMode = False;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
var
BarMaskDTM, xTempOre, yTempOre, FromInve, FirstOreDTM, SecondOreDTM,
Loads: integer;
xOreName, yOreName: string;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function LoadOreDTM(OreName: string): integer;
begin
case OreName of
'tin' :
begin
Result := DTMFromString('78DA6354656060B06040015D0DF50C92409A1' +
'188FF0301A32E9061CF8006189148202D02246C08A8910112B604' +
'D468000933FC6A00107C077D');
end;
'copper':
begin
Result := DTMFromString('78DA635463606090644001B76BCCC0428C40F' +
'C1F08181531D54064612490D60412E204D468000939026AC48084' +
'027E3500D3AA06E6');
end;
'iron':
begin
Result := DTMFromString('78DA635465606098C18002BC7495182481342' +
'310FF070246454C3510591809A4B581C414026A4488304705482C' +
'C0AF060035B00862');
end;
'silver':
begin
Result := DTMFromString('78DA6354636060B8C9800296AFD8CC2009A41' +
'981F83F10302A0219D719D000231209A43580C435026A4480C45D' +
'026A5480C443FC6A0098540B11');
end;
'coal':
begin
Result := DTMFromString('78DA63BCCCC8C0F0098891809DAD160317900' +
'689FE0702C64340D657543510591809A4CF629A83A1E63C90F591' +
'809A8B40D67F026AEE12B60B0077C90F63');
end;
'gold':
begin
Result := DTMFromString('78DA63D46460602866400157D74A314802694' +
'620FE0F048C4A404611031A60442281B43E902824A0461C4894E3' +
'56C304A20D09AB0100957F08CA');
end;
'mithril':
begin
Result := DTMFromString('78DA63D4646060B8CC8002BCBCF3192481342' +
'310FF070246154C3510591809A4F58950230E24AE13506304246E' +
'E0570300F9B80A15');
end;
'adamantite':
begin
Result := DTMFromString('78DA63D4636060B06640013E09BE0C5C409A1' +
'188FF0301A30C9061C3800618914820AD08241C09A8D10412E604' +
'D4E8000927FC6A00B68006FF');
end;
'runite':
begin
Result := DTMFromString('78DA63D46360608866400101D9E50C92409A1' +
'188FF0301A30CA61A882C8C04D2A644A85127428D2E9048C1AF06' +
'00299A07F9');
end;
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function DTMMasks(MaskName: string): integer;
begin
case MaskName of
'bar mask':
begin
Result := DTMFromString('78DA63B4636060106340038C70F23F10303A0' +
'3198AB8D580E900202143404D28901026A0C61748F01350E30624' +
'F808A8F10412CA04D458010939FC6A00E6210715');
end;
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function OtherDTM(DTMName: string): integer;
begin
case DTMName of
'fire staff':
begin
Result := DTMFromString('78DA63B4636060106340038C70F23F10303A0' +
'3198AB8D580E900202143404D28901026A0C61748F01350E30624' +
'F808A8F10412CA04D458010939FC6A00E6210715');
end;
'fire rune':
begin
Result := DTMFromString('78DA63B4636060106340038C70F23F10303A0' +
'3198AB8D580E900202143404D28901026A0C61748F01350E30624' +
'F808A8F10412CA04D458010939FC6A00E6210715');
end;
'nature rune':
begin
Result := DTMFromString('78DA63B4636060106340038C70F23F10303A0' +
'3198AB8D580E900202143404D28901026A0C61748F01350E30624' +
'F808A8F10412CA04D458010939FC6A00E6210715');
end;
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SmeltingProperties;
var
temp_Bar: string;
begin
temp_Bar := Players[CurrentPlayer].Strings[1]
if (temp_Bar = '') then
begin
srl_Warn('Name of bar', 'Unknow name, ', Warn_AllVersions);
TerminateScript;
end;
case temp_Bar of
'bronze':
begin
xTempOre := 13;
yTempOre := 13;
xOreName := 'tin';
yOreName := 'copper';
FromInve := 13;
end;
'iron':
begin
xTempOre := 27;
yTempOre := 0;
xOreName := 'iron';
yOreName := '';
FromInve := 27;
end;
'silver':
begin
xTempOre := 27;
yTempOre := 0;
xOreName := 'silver';
yOreName := '';
FromInve := 27;
end;
'steel':
begin
xTempOre := 16;
yTempOre := 8;
xOreName := 'coal';
yOreName := 'iron';
FromInve := 8;
end;
'gold':
begin
xTempOre := 27;
yTempOre := 0;
xOreName := 'gold';
yOreName := '';
FromInve := 27;
end;
'mithril':
begin
xTempOre := 16;
yTempOre := 4;
xOreName := 'coal';
yOreName := 'mithril';
FromInve := 4;
end;
'adamant':
begin
xTempOre := 18;
yTempOre := 3;
xOreName := 'coal';
yOreName := 'adamantite';
FromInve := 3;
end;
'rune':
begin
xTempOre := 16;
yTempOre := 2;
xOreName := 'coal';
yOreName := 'runite';
FromInve := 2;
end;
end;
FirstOreDTM := LoadOreDTM(xOreName);
if (yOreName <> '') then
begin
SecondOreDTM := LoadOreDTM(yOreName);
end;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure TakeOres;
var
x, y: integer;
begin
if not LoggedIn then Exit;
SmeltingProperties;
if (xOreName = '') then Exit;
repeat
Wait(700 + RandomRange(500, 700));
until (not(PinScreen)) or (not (BankScreen));
Wait(700 + RandomRange(500, 700));
if PinScreen then
if not InPin(Players[CurrentPlayer].Strings[0]) then
begin
srl_Warn('Pin', 'Wrong pin, next player ', Warn_AllVersions);
Wait(900 + Random(500));
CloseBank;
Players[CurrentPlayer].Active := False;
LogOut;
Exit;
end;
Deposit(2, 28, True);
FixBank;
FindDTM(FirstOreDTM, x, y, MSX1, MSY1, MSX2, MSY2);
if (xTempOre = 28) then
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-All');
Wait(700 + RandomRange(500, 700));
end else
begin
if (xTempOre + yTempOre = 28) then
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
if ChooseOption('Withdraw-' + IntToStr(xTempOre))then
begin
end else
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-X');
Wait(700 + RandomRange(500, 700));
TypeSend(IntToStr(xTempOre));
Wait(700 + RandomRange(500, 700));
end;
end else
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-X');
Wait(700 + RandomRange(500, 700));
TypeSend(IntToStr(xTempOre));
Wait(700 + RandomRange(500, 700));
end;
end;
FreeDTM(FirstOreDTM);
if not (yOreName = '') then
begin
FindDTM(SecondOreDTM, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(700 + RandomRange(500, 700));
if (xTempOre + yTempOre = 28) then
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-All');
Wait(700 + RandomRange(500, 700));
end else
begin
Mouse(x, y, 3, 3, False);
Wait(700 + RandomRange(500, 700));
ChooseOption('Withdraw-X');
Wait(700 + RandomRange(500, 700));
TypeSend(IntToStr(yTempOre));
Wait(700 + RandomRange(500, 700));
end;
FreeDTM(SecondOreDTM);
end;
CloseBank;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SuperHeat;
var
x, y, i, MySmeltingTime, OreTempDTM: Integer;
TB: TBox;
begin
if not LoggedIn then Exit;
BarMaskDTM := DTMMasks('bar mask');
if (yOreName = '') then
begin
OreTempDTM := LoadOreDTM(xOreName);
end else
begin
OreTempDTM := LoadOreDTM(yOreName);
end;
TB := InvBox(FromInve + 1);
FindNormalRandoms;
MarkTime(MySmeltingTime);
GameTab(7);
for i := 1 to FromInve do
begin
// Mouse(692, 313, 5, 5, True);
CastSpell(26);
Wait(RandomRange(50, 100));
FindNormalRandoms;
FindDTM(OreTempDTM, x, y, MIX1, MIY1, MIX2, MIY2);
Mouse(x, y, 5, 5, True);
Wait(RandomRange(2000, 2100));
SRLRandomsReport;
end;
GameTab(4);
FreeDTM(BarMaskDTM);
FreeDTM(OreTempDTM);
Loads := Loads + 1;
WriteLn(IntToStr(Loads));
SendSRLReport;
Exit;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
function AllPlayersAreInactive: Boolean;
var
mm, ms: Integer;
begin
ms := HowManyPlayers - 1;
for mm := 0 to ms do
begin
if (Players[mm].Active = True) then Exit;
end;
Result := True;
Writeln('Thanks for using my script. All players inactive.');
TerminateScript;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SetUpPlayer;
begin
if not LoggedIn then LoginPlayer;
SetAngle(True);
MakeCompass('N');
FindNormalRandoms;
SetAllChats('Off', 'Friends', 'Friends', 'Friends', 'Off');
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure SetUpSMART;
begin
SmartSetupEx(WorldNumber, HD, SignedClient, HDMode);
SetTargetDC(SmartGetDC);
repeat
Wait(2500);
Until SmartGetColor(253, 233)<>1118604;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
procedure MainLoop;
begin
OpenBankFast('veb');
TakeOres;
FindNormalRandoms;
SuperHeat;
end;
//,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"'
// ,.;'"ManFromCzech Script"';.
//"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.;'"';.,.
begin
SRLPlayerForm(True, [], ['Loads to do?'], ['Bank pin?', 'Bar name?'], []);
SetUpSMART;
SetUpSRL;
SetUpMagic;
SetUpPlayer;
SmeltingProperties;
repeat
SetUpPlayer;
repeat
MainLoop;
ClearDebug;
WriteLn('Time running : ' + TimeRunning);
WriteLn('Bars supereated: ' + IntToStr(Loads * FromInve));
until Loads >= Players[CurrentPlayer].Integers[1];
until AllPlayersAreInactive;
end.
and in public test corner is my pluginmy plugin
——————————————————
<!– END TEMPLATE: formanswers –>