SRL Archive - Archive

manfromczech - SRL Member Application Form


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:

{.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 –>

Negaal

2008-10-13 12:31:43

Yes-Yes-Yes!

In! Someone of course verify scripts are his..

Magiic

2008-10-13 12:40:09

hmm ima hold my vote they both look ok but you only have reflection walking, i'll see what others say

Raskolnikov

2008-10-13 12:46:38

Hmm….


Dtms: huge yes
Object finding: with dtms but looks fairly relaible… (TPAs learn them)
Mapwalking: Reflection (not a huge fan, I think it is a super easy way to do mapwalking from the regular mapwalking)

Holding vote I think I want some more input…


Cut em2 it

sirlaughsalot

2008-10-13 13:41:59

I am leaning towards no, use DDTM's to walk or RadialWalk, and TPA's for object finding, and some procedures are used in the other script,sure i dont see why you would make another but they are the biggest ones so its like a script and a half… Ill vote later, but im thinking no… Good luck

Raskolnikov

2008-10-13 14:01:10

No sorry. You need to know tpas…

Cut em2 it

Magiic

2008-10-13 14:12:47

sorry, it's a no from me also no tpa's or color walking, however you know lots of advanced things just learn walking :P

Naike

2008-10-13 14:20:10

I was going to vote yes until i found you used reflection to find the furence.

The 15 posts arent helping :/

I be going for a No this time. Contribute more and learn TPA's & RadialWalk & DDTM's. Tip, Message an admin if you wanna make another Application before one month.

Iroki

2008-10-13 15:24:54

i know how to make TPA's, DDTMs, RadialWalking, but: this smelter is reflection smelter, so they aren't needed.

TPA's- i can make it with ACA

RadialWalking: :) fe: RadialWalk(room with furnace color, 0, 20, 76(or maybe a bit less), 0, 0); - its easy:P

DDTM's - i can make with DDTM editor but the same as above- in this script it's not needed:)

Magiic

2008-10-13 16:30:27

aca is fail we don't like reflection in apps you need to back up radial walk with failsafes and proof of ddtms please?

ZephyrsFury

2008-10-14 06:21:21

What I liked:
  • DTMs
  • Good use of cases
  • Great incorporation of SRL
  • Scripting style - Looks good :)

What I didn't like:
  • Don't allow people to declare players lol - how can we specify which bar we want to smelt? ;)
  • Above point leads me to this - tested the script???
  • Unneeded functions that are already in SRL - AllPlayersInactive, Perhaps Withdraw.
  • No Multiplayer
  • Removing all the DTM Loading and Reflection parts the scripts are infact quite short.
  • Low post count - I'd like to see more of your attitude, personality, etc.

What could be added:
  • More demonstrations of your non-reflection scripting abilities especially colour-based methods of walking (RadialWalk, Symbols, Auto colouring).
  • Aesthetic things like proggies, signatures, more thorough instructions - which specific banks (if the script needs it).
  • You can really impress us with more advance stuff like colourbased object finding, autocolouring but I don't think its really necessary.

Although you used reflection in your smelter I think you definately do know how to script and would be able to use colour-based walking methods if you wanted.

A certain post count is not generally required but I like to find out more about the applicant before I vote yes or no. Attitude, personality and helpfulness to the community and its members is also a large part of being an SRL Member.

Lastly my vote… after much deliberation I've decided to vote No. My reasons are started above but basically it comes down to your time at SRL and your script being too short for my liking. I wish you luck. :D

If you can show us/me some more examples of colour based walking I might consider a yes.

Note for other members voting…
The "requirements" for SRL membership such as DTMs, Multiplayer, etc are just guidelines. Just because they miss out one particular item in the list doesn't mean its an auto-decline. I see some of you talking about needing DDTM and TPAs as if its like "Wow good script, Imma vote yes… oh no, no DDTMs/TPA, autodecline…". DDTMs are just like DTMs, obviously if he can use DTMs then he can use DDTMs. And TPAs are just arrays of TPoints which are a record type of two integers. Why is it such a big deal? Its just a type like an Integer or a string. I mean if someone were to make an object finder but with Integers instead of TPoints would it be any different?

EDIT: Antiban, antirandoms would also be nice.

Iroki

2008-10-14 13:40:30

What I didn't like:
  • Don't allow people to declare players lol - how can we specify which bar we want to smelt? ;)
  • Above point leads me to this - tested the script???
  • Unneeded functions that are already in SRL - AllPlayersInactive, Perhaps Withdraw.
  • No Multiplayer
  • Removing all the DTM Loading and Reflection parts the scripts are infact quite short.
  • Low post count - I'd like to see more of your attitude, personality, etc.



i forgot to add NextPlayer(True); in end of script, and i tested script- it's working very good (150 addy bars/ hour)

Nava2

2008-10-14 15:08:47

Yes, two scripts shows you are ambitious.

Color map walking is good, but not all the script. P.S. Al Kharid is a pain to do it in.

You should have used SOME color object finding, but its not necessary. Just back some stuff up ;).

You are learning.

Also, GET RID OF THE FREAKING COMMENTED TITLES.
or at least make them useful….

NiCbaZ

2008-10-15 01:39:56

Yes, you can scrpt ;)

boberman

2008-10-15 01:48:30

I said yes. The scripts look pretty good. They use reflection, yes, but they also use a lot of other concepts important for programming.

I think he could easily use color finding principles if needed. (the fact that he used DDTMs and DTMs shows this).

nielsie95

2008-10-18 09:51:43

Welcome, sir.