Where would i place said text?
program Smelter;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/Users.scar}
{ //////////////////////////////////////////
////////// Ub3r Sm3lt3r //////////////////
//By Thechineseman ///////////////////////
Credits to:
NaumanAkhlaQ (Form Design helped by NaumanAkhlaQ)
and to all the other people who helped me :) Thank you!!!!!!!!!!}
////////////////////////////////////////////////////////////////////////////////////////
/////To work the script you first have to setup you smart world then press play/////////
/////you will then get a form choose 'setup players' to setup your players and /////////
/////then press 'start script' to start!!///////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//Note:Remember this script is for fally west bank and will travel to the fally smelter to smelt your bars
//so start in fally west bank with nothing in ur inv
const
SMART = 152;//smart world
Steelc = 7369081;
Bronzec = 2440270;
Ironc = 5066067;
Goldc = 1479089;
Silverc = 8879228;
Mithc = 5124401;
Addyc = 3359283;
var
x,y,tries,t,bar,breaks:integer;
checked : Boolean;
var
// Main_Menu variables.
frmDesign : TForm;
GroupBox1 : TGroupBox;
Button1, Button2, Button3 : TButton;
Memo1 : TMemo;
Procedure Click(Sender : TObject);
Begin
Case Sender Of
Button1 : SRLPlayerForm(True, [], ['Loads Doing'], ['What To Smelt'], []);
Button2 : Wait(1);
Button3 : FrmDesign.ModalResult := mrOk;
end;
end;
// This form was parsed using: DFM Form Parser v.25 by Ron.
procedure Main_Menu;
var
TimeMain_Menu : Integer;
begin
TimeMain_Menu := GetSystemTime;
frmDesign := CreateForm;
with frmDesign do
begin
Position := poScreenCenter;
BorderStyle := bsSingle;
BorderIcons := [biMinimize,biSystemMenu];
ClientWidth := 304;
ClientHeight := 232;
Caption := ' Ub3r Sm3lt3r By TheChineseMan';
Color := clBtnFace;
Font.Color := clWindowText;
Font.Height := -11;
Font.Name := 'MS Sans Serif';
Font.Style := [];
PixelsPerInch := 96;
end;
GroupBox1 := TGroupBox.Create(frmDesign);
with GroupBox1 do
begin
Parent := frmDesign;
Left := 0;
Top := 0;
Width := 305;
Height := 233;
Caption := ' The Chinese Man'#39's Ub3r Sm3lt0r !!!';
Color := clTeal;
ParentColor := False;
TabOrder := 0;
end;
Button1 := TButton.Create(GroupBox1);
with Button1 do
begin
Parent := GroupBox1;
Left := 24;
Top := 48;
Width := 121;
Height := 49;
Caption := 'Set Up Your Players';
TabOrder := 0;
OnClick := @Click;
end;
Button2 := TButton.Create(GroupBox1);
with Button2 do
begin
Parent := GroupBox1;
Left := 24;
Top := 120;
Width := 121;
Height := 49;
Caption := 'Visit The Script Thread';
TabOrder := 1;
OnClick := @Click;
end;
Button3 := TButton.Create(GroupBox1);
with Button3 do
begin
Parent := GroupBox1;
Left := 24;
Top := 184;
Width := 249;
Height := 33;
Caption := 'Start Sm3lt0rzz!!!';
TabOrder := 2;
OnClick := @Click;
end;
Memo1 := TMemo.Create(GroupBox1);
with Memo1 do
begin
Parent := GroupBox1;
Left := 160;
Top := 48;
Width := 129;
Height := 121;
with Memo1.Lines do
begin
Add('Welcome to my smelter,');
Add('The current version is V4. ');
Add('Enjoy using :) !');
Add('');
Add('Current Version := 4.0');
Add('Resent Version := 4.0;');
Add('Up To Date !!!!!');
end;
ReadOnly := True;
TabOrder := 3;
end;
WriteLn('Main_Menu compiled in ' + IntToStr(GetSystemTime - TimeMain_Menu) + ' milliseconds!');
end;
procedure SafeMain_Menu;
var
V : TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('Main_Menu', V);
end;
procedure ShowMain_MenuModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowMain_MenuModal;
var
V : TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowMain_MenuModal', V);
end;
procedure MainMain_Menu;
begin
try
SafeMain_Menu;
SafeShowMain_MenuModal;
finally
FreeForm(frmDesign);
except
WriteLn('An error seems to have occurred in: Main_Menu');
end;
end;
Procedure Running;
Var
ColorSign: String;
Begin
if not LoggedIn then Exit;
If(GetMMLevels('run', ColorSign) > 40)Then
SetRun(True);
End;
procedure Antiban;
var
z: integer;
begin
if not LoggedIn then Exit;
z := random(8);
case z of
1: HoverSkill('Smithing',False);
2: Gametab(4);
3: Gametab(randomrange(3,5));
4: Gametab(8);
5: RandomMovement;
7: MouseSpeed := RandomRange(10,14);
8: MMouse(random(600),random(600),50,50);
end;
end;
procedure Waitforstar;
var
star: integer;
begin
if not LoggedIn then Exit;
Star := DTMFromString('78DA63946264607804C428A0814107280412F' +
'D0F048CB240D6434C35200013650499739F801A3122CC1107B29E' +
'10502343580D0008210D27');
repeat
FindDTM(Star,x,y,MCX1, MCY1, MCX2, MCY2);
Wait(1000);
tries := tries + 1;
until FindDTM(Star,x,y,MCX1, MCY1, MCX2, MCY2) or (tries =10);
FreeDTM(Star);
if (tries > 10) then
exit;
end;
procedure Bank;
var
c,f: integer;
begin
if not loggedin then exit;
setangle(True);
MakeCompass('N');
repeat
OpenBankFast('FEB');
C := C + 1
until (BankScreen) or (C > 3)
if (BankScreen) then
exit;
if (C > 3) then
begin
if (FindSymbol(x,y,'bank')) then
begin
FindNormalRandoms;
Mouse(x,y,2,2,True);
FFlag(0);
repeat
OpenBankFast('FEB');
f := f + 1
until (BankScreen) or (F > 3)
if (BankScreen) then
exit;
if (F > 3) then
begin
WriteLn('Cant find the bankers logging out');
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
end;
end;
Procedure Withdrawores;
var
Copper,Tin,Coal,Iron,Mith,Silver,Addy,Gold :integer;
Begin
if not loggedin then exit;
if (bankscreen) then
begin
depositall;
case lowercase(players[currentplayer].Strings[0]) of
'steel': begin
Coal := DTMFromString('78DA636C626460C80262246069A1C6C005A44' +
'1A2FF81807102909584AA06220B2381742390554E404D11909543' +
'404D1990954C404D0F9055885F0D000B0C0A45');
Iron := DTMFromString('78DA635CC7C8C09005C448C0434791810B488' +
'344FF0301E31E202B19550D44164602E9CD4056110135F380AC5C' +
'026A961061D70A20AB1CBF1A008B530B46');
if (FindDTM(Coal,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,1,1,false);;
chooseOption('X')
waitforstar;
Wait(50);
Typesend('18');
FreeDTM(Coal);
wait(100);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit;
end;
if (FindDTM(Iron,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
chooseOption('X')
waitforstar;
Wait(50);
Typesend('9');
FreeDTM(iron);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit;
end;
end;
'bronze': begin
Copper := DTMFromString('78DA63AC63646078C180026ED45A30C80169A' +
'00CC37F2060EC06B21E32A00146241248E703594F08A82904B23E' +
'1050D30164BDC7AF06002F600CB8');
Tin := DTMFromString('78DA635463646078C58002BA9B1A19E480345' +
'086E13F10301A0259F719D000231209A42580ACC704D4C801595F' +
'09A83100B2DEE357030079520B09');
if (FindDTM(Tin,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
chooseOption('X');
waitforstar;
wait(1000);
Typesend('14');
FreeDTM(Tin);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit;
end;
if (FindDTM(Copper,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('All');
FreeDTM(Copper);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
'iron': begin
Iron := DTMFromString('78DA635CC7C8C09005C448C0434791810B488' +
'344FF0301E31E202B19550D44164602E9CD4056110135F380AC5C' +
'026A961061D70A20AB1CBF1A008B530B46');
if (FindDTM(Iron,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('All');
FreeDTM(Iron);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
'silver': begin
Silver := DTMFromString('78DA6364636260C866644006F3E7AF66E007D' +
'220D1FF40C0F80DC8CA445503918591401A644E29013522403529' +
'04D43001D5C41050C3075453885F0D00539B09B7');
if (FindDTM(Silver,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('All');
FreeDTM(Silver);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
'gold': begin
Gold := DTMFromString('78DA63BCCDC8C09005C448E0F62669067E200' +
'D12FD0F048C2F81AC54543510591809A4CF02592904D45C04B20A' +
'08A8B905649511500372731C7E3500DD2B0D5F');
if (FindDTM(Gold,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('All');
FreeDTM(Gold);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
'mith': begin
Coal := DTMFromString('78DA636C626460C80262246069A1C6C005A44' +
'1A2FF81807102909584AA06220B2381742390554E404D11909543' +
'404D1990954C404D0F9055885F0D000B0C0A45');
Mith := DTMFromString('78DA63346462604867644006F6F631601A26C' +
'AE800549382AA06260B57A307541343408D12504D260135064035' +
'E5986AF891D5D800D5E4E336870588016EB204B4');
if (FindDTM(Mith,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('5');
FreeDTM(Mith);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit;
end;
if (FindDTM(Coal,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('X');
waitforstar;
wait(1000);
Typesend('20');
FreeDTM(Coal);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
'addy': begin
Coal := DTMFromString('78DA636C626460C80262246069A1C6C005A44' +
'1A2FF81807102909584AA06220B2381742390554E404D11909543' +
'404D1990954C404D0F9055885F0D000B0C0A45');
Addy := DTMFromString('78DA63DCC6C4C090C5C8800CBC62BD18F8813' +
'448F43F10301E01AA49415503918591407A05504D1A01359B816A' +
'CA09A801B9279E0A6A0E02D514E0570300B9140D01');
if (FindDTM(Addy,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
chooseOption('X');
waitforstar;
wait(1000);
Typesend('3');
FreeDTM(Addy);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit;
end;
if (FindDTM(Coal,x,y,MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x,y,2,2,false);
wait(1000);
chooseOption('X');
waitforstar;
wait(1000);
Typesend('21');
FreeDTM(Coal);
end else
begin
WriteLn('Cant find ores in bank logging');
closebank;
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
end;
end;
closebank;
FindNormalRandoms;
banks := banks + 1;
ReportVars[0] := ReportVars[0] + 1;
end;
procedure Checkores;
var
Ore: integer;
begin
if not LoggedIn then Exit;
MakeCompass('N');
antiban;
Ore := DTMFromString('78DA635CC7C8C09005C448C0434791E10B500' +
'824FA1F0818F70059C9A86A20B23012486F06B28A08A8990764E5' +
'1250B38408BB560059E5F8D500003BA10C31');
gametab(4)
findnormalrandoms;
if not (FindDTM(Ore,x,y,MIX1, MIY1, MIX2, MIY2)) then
begin
bank;
Withdrawores;
if (not(checked))then checkores;
WriteLn('Ore check failed');
end else
WriteLn('Ore check passed');
FreeDTM(Ore);
end;
function FailSafeRadialWalk(rad1, rad2, extend, roadtype: integer): boolean;//made by born2code
var
searchtime: integer;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
MarkTime(searchtime);
if (not(RadialWalk(roadtype, rad1, rad2, extend, 0, 0))) then
begin
repeat
rad1 := rad1 + 3;
rad2 := rad2 + 3;
WriteLn('Increading the radius');
Status('Increading the radius');
if (TimeFromMark(searchtime) >= 20000 + random(5550)) then
begin
WriteLn('Player got lost... bummer');
Status('Player got lost... bummer');
//Logout; You can change to whatever exit procedures you like
Break;
end;
until (RadialWalk(roadtype, rad1, rad2, extend, 0, 0));
end;
FFlag(0);
Wait(550 + random(250)); //Just to be safe!
Result := true;
end;
procedure walktofurnace;
begin
if not loggedin then exit;
MakeCompass('N');
Running;
FailSafeRadialWalk(29, 53, 65, FindFallyRoadColor);
FailSafeRadialWalk(79, 128, 55, FindFallyRoadColor);
SymbolAccuracy := 0.6;
if (FindSymbol(x,y,'Furnace')) then
begin
FindNormalRandoms;
Mouse(x,y,0,0,True);
FFLag(0);
Writeln('Found the furance symbol walking now');
end else
begin
Writeln('Cant find the furnace symbol trying again');
FailSafeRadialWalk(123, 202, 40, FindFallyRoadColor);
wait(1000);
SymbolAccuracy := 0.5;
if (FindSymbol(x,y,'Furnace')) then
begin
SymbolAccuracy := 0.7;
Mouse(x,y,0,0,True);
FFLag(0);
Writeln('Found the Furnace walking to it now');
wait(1000);
end else
begin
Writeln('Cant find the furnace symbol logging out');
NextPlayer(False);
Exit;
end;
end;
end;
Function FindFurnace: Boolean;
Var
T, B, CTS, I, X, Y: Integer;
STPA: TPointArray;
SmTPA: T2DPointArray;
Begin
if not loggedin then exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(0.05, 1.36);
FindColorsSpiralTolerance(MSCX, MSCY + 20, STPA, 3750205, MSX1, MSY1, MSX2, MSY2, 9);
SetColorspeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
SmTPA := TPAtoATPAEx(STPA, 30, 30);
T := GetSystemTime;
For I:= 0 To High(SmTPA) Do
Begin
If(GetSystemTime - T > 2500)Then Break;
if (not LoggedIn) then
Break;
MiddleTPAEx(SmTPA[I], X, Y);
MMouse(X, Y, 3, 3);
Wait(75 + Random(75));
if IsUpText('melt') Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
Wait(70 + Random(75));
begin
FFLag(0);
Result := FindColorTolerance(x,y,Steelc,30,389,498,451,15);
MarkTime(B);
repeat
Wait(100);
until (result) or (TimeFromMark(B) > 2000);
exit;
if (result) then
exit;
if (TimeFromMark(B) > 2000) then
begin
NextPlayer(False);
Exit;
end;
end;
end;
end;
End;
procedure Makebars;
var
Ore: integer;
begin
if not loggedin then exit;
Ore := DTMFromString('78DA635CC7C8C09005C448C0434791E10B500' +
'824FA1F0818F70059C9A86A20B23012486F06B28A08A8990764E5' +
'1250B38408BB560059E5F8D500003BA10C31');
case lowercase(players[currentplayer].Strings[0]) of
'bronze':
begin
FindColorTolerance(x,y,Bronzec,22,389,498,451,15);
Mouse(x, y, 0, 0, false);
chooseOption('X');
waitforstar;
wait(500);
Typesend('121');
repeat
wait(45000);
antiban;
until (TimeFromMark(t) > 45000) or (not loggedin)
bar := bar + 14;
ReportVars[1] := ReportVars[1] +14;
end;
'iron':
begin
FindColorTolerance(x,y,Ironc,30,389,498,451,15);
Mouse(x, y, 0, 0, false);
chooseOption('X');
waitforstar;
wait(500);
Typesend('121');
antiban;
repeat
wait(85000);
until (TimeFromMark(t) > 85000) or (not loggedin)
bar := bar + 14;
ReportVars[1] := ReportVars[1] +14
end;
'steel':
begin
FindColorTolerance(x,y,Steelc,30,389,498,451,15);
Mouse(x, y, 0, 0, false);
wait(500);
chooseOption('10');
antiban;
repeat
wait(33000);
until (TimeFromMark(t) > 34000) or (not loggedin) or not (FindDTM(Ore,x,y,MIX1, MIY1, MIX2, MIY2))
bar := bar + 9;
ReportVars[1] := ReportVars[1] +9;
end;
'silver':
begin
FindColorTolerance(x,y,Silverc,30,389,498,451,15);
Mouse(x, y, 0, 0, false);
chooseOption('X');
waitforstar;
wait(500);
Typesend('121');
antiban;
repeat
wait(85000);
until (TimeFromMark(t) > 85000) or (not loggedin)
bar := bar + 28;
ReportVars[1] := ReportVars[1] +28;
end;
'gold':
begin
FindColorTolerance(x,y,Goldc,30,389,498,451,15);
Mouse(x, y, 0, 0, false);
chooseOption('X');
waitforstar;
wait(500);
Typesend('121');
antiban;
repeat
wait(85000);
until (TimeFromMark(t) > 85000) or (not loggedin)
bar := bar + 28;
ReportVars[1] := ReportVars[1] +28;
end;
'mith':
begin
FindColorTolerance(x,y,Mithc,30,389,498,451,15);
Mouse(x, y, 0, 0, false);
wait(500);
chooseOption('10');
antiban;
repeat
wait(25000);
until (TimeFromMark(t) > 20000) or (not loggedin)
bar := bar + 5;
ReportVars[1] := ReportVars[1] +5;
end;
'addy':
begin
FindColorTolerance(x,y,Addyc,30,389,498,451,15);
Mouse(x, y, 0, 0, false);
wait(500);
chooseOption('10');
antiban;
repeat
wait(15000);
until (TimeFromMark(t) > 10000) or (not loggedin)
bar := bar + 3;
ReportVars[1] := ReportVars[1] +3;
end;
end;
Writeln('Made the bars going to Bank');
FreeDTM(Ore);
end;
procedure walktobank;
begin
if not loggedin then exit;
FindNormalRandoms;
FailSafeRadialWalk(325, 301, 60, FindfallyRoadColor);
FailSafeRadialWalk(271, 236, 60, FindfallyRoadColor);
FFlag(0);
if (FindSymbol(x,y,'bank')) then
begin
FindNormalRandoms;
Mouse(x,y,4,4,True);
Writeln('Found the bank');
end else
begin
Writeln('Cant find the bank trying again');
SymbolAccuracy := 0.7;
if (FindSymbol(x,y,'Bar')) then
begin
Mouse(x,y,3,3,True);
FFlag(0);
Writeln('We have found the Bar near the bank');
if (FindSymbol(x,y,'Bank')) then
begin
Mouse(x,y,3,3,True);
Writeln('Found the bank');
end else
begin
Writeln('Trying to find bank 1 more time!!!');
FailSafeRadialWalk(162, 193, 40, FindfallyRoadColor);
SymbolAccuracy := 0.6;
if (FindSymbol(x,y,'Bank')) then
begin
Mouse(x,y,3,3,True);
Writeln('Found the bank finally!!!');
end else
NextPlayer(False);
Exit; // Exit the procedure, so it wont continue!!
end;
end;
end;
end;
procedure breaktime;
begin
begin
if (Banks >= players[currentplayer].Integers[0]) then
begin
logout;
wait(10000);
if not LoggedIn then
begin
LoginPlayer;
WriteLn('1 min Break Taken');
Breaks := Breaks + 1;
end;
end;
end;
end;
procedure Proggies;
begin
WriteLn('?!?!?!?!?!?!?!Progrees Time?!?!?!?!?!?!?!?!??');
WriteLn('?!?!?!?!?!?!How long did the ub3r script run for??!?!?!?!');
WriteLn('?!?!?!?!?!?!?Pls post proggie after done?!?!?!?!?!?!?!?!');
WriteLn('You have made ' + IntToStr(bar)+ ' bars');
WriteLn('The Ub3r Sm3lt3r has been running for ' + Timerunning);
WriteLn('The Ub3r Sm3lt3r has banked ' + IntToStr(Banks)+ ' loads of bars that ur making');
WriteLn('The Ub3r Sm3lt3r taken ' + IntToStr(Breaks)+ ' breaks in you autoing time');
WriteLn('?!?!?!?!?!?!?Pls post proggie after done?!?!?!?!?!?!?!?!');
WriteLn('?!?!?!?!?!?!How long did the ub3r script run for??!?!?!?!');
WriteLn('?!?!?!?!?!?!?!Progrees Time?!?!?!?!?!?!?!?!??');
SRLrandomsReport;
SendSRLReport;
end;
procedure Mainloop;
begin
SmartSetupEx(SMART, true, true, false);
SetTargetDC(SmartGetDC);
SetupSRL;
ScriptID := '1049';
ClearDebug;
GetApplication.BringToFront;
MainMain_Menu;
GetApplication.Minimize;
SRLPlayerForm(False, [], ['Loads Doing'], ['What To Smelt'], []);
loginplayer;
cleardebug;
repeat
repeat
Bank;
Withdrawores;
Checkores;
Breaktime;
Walktofurnace;
Findfurnace;
Makebars;
Walktobank;
cleardebug;
Proggies;
Until (not loggedin);
If Not LoggedIn Then
NextPlayer(false);
until AllPlayersInactive;
end;
begin
Mainloop;
end.
Sorry if its super long not sure how to shrink code texts to a smaller format.
Greatly appreciated quick reply sir.
EDIT: I need this script if it even works to smelt 6k steel bars lol :)