Sorry, I got it and haven't bean runnign lol.. Be sure this time to give proggiez!!
Here if you need your script.. why are you hiving problems? Ugh, this is very long.
program DNASmilther;
{}{ ___ _ _ }{}
{}{ |.--\ | \ || /\ }{}
{}{ || \\ ||\\ || //\\ }{}
{}{ || || || \\ || //__\\ }{}
{}{ ||__// || \\|| //----\\ }{}
{}{ |___/ || \_| // \\ }{}
{}{ _______ }{}
{}{/.-----.\ || || __||__ || }{}
{}{\\______ || --..-- ||___ _-_ /\ }{}
{}{ `-----.\ /\ /\ || || || |.--.\ || \\ //\\ }{}
{}{ _______\\ //\\//\\ || || || || || ||_// || }{}
{}{/-------./ // \/ \\ || || || || || \\___ || }{}
{Thanks to WT-Fakawi, LordGreggreg1, Boreas, and Rs-Monkey, and to
anyone else that helped, remind me(i've been working on this too long to
remember everyone) }
{}{ INSTRUCTIONS }{}
{}{ 1. Start in West Fally Bank. }{}
{}{\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\_/`\}{}
{}{ wow that was easy }{}
{}{|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|^_^|}{}
{.include srl/srl.scar}
{.Include SRL/SRL/Extended/xAutoTalk.SCAR}
{.Include SRL/SRL/Extended/xAntiban.SCAR}
var
Anvil,Bars,Xamine,Exitit:integer;
RockColor,Cuser,Smithed,Smelted:integer;
DidRandomHappen: Boolean;
var AllBars:integer;
var SubPoints: array[0..2] of TDTMPointDef;
var MainPoint : TDTMPointDef;
var MasterTDTM,RoadTDTM: TDTM;
var TheDTM,RoadDTM:Integer;
CGx, CGy,DirtRoadColor,BridgeColor: Integer;
WhichAngle: Extended;
MyTBox : tbox;
var
MyTPA : TPointArray;
TempTPA : TPoint;
Memitems1, Memitems2 : TBox;
i : integer;
var
DNASmilther : TForm;
Label1 : TLabel;
Active : TLabel;
lblusern : TLabel;
Label2 : TLabel;
lblnick : TLabel;
lblloads : TLabel;
lblactive : TLabel;
lblbar : TLabel;
lbluser : TLabel;
GroupBox1 : TGroupBox;
btnstart : TButton;
cbBar : TComboBox;
ednick : TEdit;
edpass : TEdit;
eduser : TEdit;
Cbactive : TComboBox;
edloads : TEdit;
Add : TButton;
btndelete : TButton;
btnback : TButton;
btnfwd : TButton;
ProgressBar1 : TProgressBar;
type
TOre = record //as in T-Ore
orenames : Array of string;
orecolors : Array of integer;
oreamounts : Array of integer;
end;
procedure AddUser;
begin
SetArrayLength(Players, GetArrayLength(Players) + 1);
Players[GetArrayLength(Players) - 1].Name := 'New Name';
Players[GetArrayLength(Players) - 1].Pass := 'New Pass';
Players[GetArrayLength(Players) - 1].Nick := 'New Nick';
Players[GetArrayLength(Players) - 1].Active := True;
Players[GetArrayLength(Players) - 1].Integer1 := 0;
Players[GetArrayLength(Players) - 1].String1 := 'New Bar';
end;
procedure Inititate(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
Players[cUser].Nick := ednick.Text;
Players[cUser].Name := eduser.Text;
Players[cUser].Pass := edpass.Text;
Players[cUser].integer1 := (strtoint(edloads.Text));
Players[cUser].String1 := Cbbar.text;
if (cbactive.Text = 'True') then
Players[cUser].Active := True
else;
if (cbactive.Text = 'False') then
begin
Players[cUser].Active := False;
end;
cUser := GetArrayLength(Players) - 1;
end;
procedure CreateUser(Sender: TObject);
begin
Players[cUser].Nick := ednick.text;
Players[cUser].Name := eduser.Text;
Players[cUser].Pass := edpass.Text;
Players[cUser].integer1 := (strtoint(edloads.Text));
Players[cUser].String1 := Cbbar.text;
if (cbactive.Text = 'True') then
Players[cUser].Active := True
else;
if (cbactive.Text = 'False') then
begin
Players[cUser].Active := False;
end;
AddUser;
cUser := GetArrayLength(Players) - 1;
lblUser.Caption := IntToStr(cUser);
edloads.Text := inttostr(Players[cUser].integer1);
ednick.text := Players[cUser].Nick;
eduser.Text := Players[cUser].Name;
edpass.Text := Players[cUser].Pass;
cbbar.text := Players[cUser].String1;
if (Players[cUser].Active) then
cbactive.Text := 'True'
else;
if (Players[cUser].Active= false) then
cbactive.Text := 'False';
end;
procedure ForwardUser(Sender: TObject);
begin
Players[cUser].Nick := ednick.Text;
Players[cUser].Name := eduser.Text;
Players[cUser].Pass := edpass.Text;
Players[cUser].integer1 := strtoint(edloads.Text);
Players[cUser].String1 := Cbbar.text;
if (cbactive.Text = 'True') then
Players[cUser].Active := True
else;
if (cbactive.Text = 'False') then
begin
Players[cUser].Active := False;
end;
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edloads.Text := inttostr(Players[cUser].integer1);
ednick.Text := Players[cUser].Nick;
eduser.Text := Players[cUser].Name;
edpass.Text := Players[cUser].Pass;
cbbar.text :=Players[cUser].String1;
if (Players[cUser].Active) then
cbactive.Text := 'True'
else;
if (Players[cUser].Active= false) then
cbactive.Text := 'False';
end;
procedure BackUser(Sender: TObject);
begin
Players[cUser].Nick := ednick.Text;
Players[cUser].Name := eduser.Text;
Players[cUser].Pass := edpass.Text;
Players[cUser].integer1 := strtoint(edloads.Text);
Players[cUser].String1 := Cbbar.text;
if (cbactive.Text = 'True') then
Players[cUser].Active := True
else;
if (cbactive.Text = 'False') then
begin
Players[cUser].Active := False;
end;
if (cUser - 1 < 0) then
cUser := GetArrayLength(Players) - 1
else
cUser := cUser - 1;
lblUser.Caption := IntToStr(cUser);
edloads.Text := inttostr(Players[cUser].integer1);
ednick.Text := Players[cUser].Nick;
eduser.Text := Players[cUser].Name;
edpass.Text := Players[cUser].Pass;
cbbar.text := Players[cUser].String1;
if (Players[cUser].Active) then
cbactive.Text := 'True'
else
cbactive.Text := 'False';
end;
procedure DeleteUser(Sender: TObject);
var
int, na, ni, str: string;
ac: Boolean;
begin
int := inttostr(Players[GetArrayLength(Players) - 1].integer1);
na := Players[GetArrayLength(Players) - 1].Name;
ni := Players[GetArrayLength(Players) - 1].Nick;
ac := Players[GetArrayLength(Players) - 1].Active;
str := Players[GetArrayLength(Players) - 1].string1;
Players[cUser].integer1 := strtoint(int);
Players[cUser].Name := na;
Players[cUser].Nick := ni;
Players[cUser].Active := ac;
Players[cuser].String1 := str;
SetArrayLength(Players, GetArrayLength(Players) - 1);
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edloads.Text := inttostr(Players[cUser].integer1);
ednick.Text := Players[cUser].Nick;
eduser.Text := Players[cUser].Name;
edpass.Text := Players[cUser].Pass;
cbbar.text := Players[GetArrayLength(Players) - 1].string1;
if (Players[cUser].Active) then
cbactive.Text := 'True'
else
cbactive.Text := 'False';
end;
procedure Start(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
edloads.Text := inttostr(Players[cUser].integer1);
ednick.Text := Players[cUser].Nick;
eduser.Text := Players[cUser].Name;
edpass.Text := Players[cUser].Pass;
cbbar.text := Players[cuser].string1;
if (Players[cUser].Active) then
cbactive.Text := 'True'
else
cbactive.Text := 'False';
end;
procedure initform;
begin
DNASmilther := CreateForm;
DNASmilther.Left := 243;
DNASmilther.Top := 11;
DNASmilther.BorderStyle := bsSingle;
DNASmilther.Caption := 'DNASmilther';
DNASmilther.ClientHeight := 400;
DNASmilther.ClientWidth := 700;
DNASmilther.Color := clBlack;
DNASmilther.Font.Color := clWindowText;
DNASmilther.Font.Height := -11;
DNASmilther.Font.Name := '@SimHei';
DNASmilther.Font.Style := [];
DNASmilther.Visible := False;
DNASmilther.PixelsPerInch := 96;
Label1 := TLabel.Create(DNASmilther);
Label1.Parent := DNASmilther;
Label1.Left := 251;
Label1.Top := 203;
Label1.Width := 106;
Label1.Height := 15;
Label1.Caption := 'Type Of Bar To Make';
Active := TLabel.Create(DNASmilther);
Active.Parent := DNASmilther;
Active.Left := 300;
Active.Top := 78;
Active.Width := 30;
Active.Height := 15;
Active.Caption := 'Active';
lblusern := TLabel.Create(DNASmilther);
lblusern.Parent := DNASmilther;
lblusern.Left := 430;
lblusern.Top := 30;
lblusern.Width := 50;
lblusern.Height := 15;
lblusern.Caption := 'Username';
lblusern.Font.Color := clSkyBlue;
lblusern.Font.Height := -11;
lblusern.Font.Name := '@SimHei';
lblusern.Font.Style := [];
lblusern.ParentFont := False;
Label2 := TLabel.Create(DNASmilther);
Label2.Parent := DNASmilther;
Label2.Left := 430;
Label2.Top := 110;
Label2.Width := 49;
Label2.Height := 15;
Label2.Caption := 'Password';
Label2.Font.Color := clSkyBlue;
Label2.Font.Height := -11;
Label2.Font.Name := '@SimHei';
Label2.Font.Style := [];
Label2.ParentFont := False;
lblnick := TLabel.Create(DNASmilther);
lblnick.Parent := DNASmilther;
lblnick.Left := 430;
lblnick.Top := 190;
lblnick.Width := 22;
lblnick.Height := 15;
lblnick.Caption := 'Nick';
lblnick.Font.Color := clSkyBlue;
lblnick.Font.Height := -11;
lblnick.Font.Name := '@SimHei';
lblnick.Font.Style := [];
lblnick.ParentFont := False;
lblloads := TLabel.Create(DNASmilther);
lblloads.Parent := DNASmilther;
lblloads.Left := 430;
lblloads.Top := 270;
lblloads.Width := 30;
lblloads.Height := 15;
lblloads.Caption := 'Loads';
lblloads.Font.Color := clSkyBlue;
lblloads.Font.Height := -11;
lblloads.Font.Name := '@SimHei';
lblloads.Font.Style := [];
lblloads.ParentFont := False;
lblactive := TLabel.Create(DNASmilther);
lblactive.Parent := DNASmilther;
lblactive.Left := 50;
lblactive.Top := 30;
lblactive.Width := 36;
lblactive.Height := 15;
lblactive.Caption := 'Active?';
lblactive.Font.Color := clSkyBlue;
lblactive.Font.Height := -11;
lblactive.Font.Name := '@SimHei';
lblactive.Font.Style := [];
lblactive.ParentFont := False;
lblbar := TLabel.Create(DNASmilther);
lblbar.Parent := DNASmilther;
lblbar.Left := 50;
lblbar.Top := 100;
lblbar.Width := 17;
lblbar.Height := 15;
lblbar.Caption := 'Bar';
lblbar.Font.Color := clSkyBlue;
lblbar.Font.Height := -11;
lblbar.Font.Name := '@SimHei';
lblbar.Font.Style := [];
lblbar.ParentFont := False;
lbluser := TLabel.Create(DNASmilther);
lbluser.Parent := DNASmilther;
lbluser.Left := 640;
lbluser.Top := 15;
lbluser.Width := 32;
lbluser.Height := 15;
lbluser.Caption := inttostr(cuser);
lbluser.Font.Color := clSkyBlue;
lbluser.Font.Height := -11;
lbluser.Font.Name := '@SimHei';
lbluser.Font.Style := [];
lbluser.ParentFont := False;
GroupBox1 := TGroupBox.Create(DNASmilther);
GroupBox1.Parent := DNASmilther;
GroupBox1.Left := 22;
GroupBox1.Top := 172;
GroupBox1.Width := 322;
GroupBox1.Height := 115;
GroupBox1.Caption := 'Player Controls';
GroupBox1.Color := clNavy;
GroupBox1.Ctl3D := True;
GroupBox1.ParentColor := False;
GroupBox1.ParentCtl3D := False;
GroupBox1.TabOrder := 19;
btnstart := TButton.Create(DNASmilther);
btnstart.Parent := DNASmilther;
btnstart.Left := 300;
btnstart.Top := 330;
btnstart.Width := 102;
btnstart.Height := 34;
btnstart.Caption := 'Start';
btnstart.ModalResult := 1;
btnstart.TabOrder := 8;
cbBar := TComboBox.Create(DNASmilther);
cbBar.Parent := DNASmilther;
cbBar.Left := 49;
cbBar.Top := 120;
cbBar.Width := 197;
cbBar.Height := 23;
cbBar.Color := clSkyBlue;
cbBar.ItemHeight := 15;
cbBar.TabOrder := 9;
cbBar.Text := 'Bronze';
cbBar.Items.Add('Bronze');
cbBar.Items.Add('Iron');
cbBar.Items.Add('Silver');
cbBar.Items.Add('Steel');
cbBar.Items.Add('Gold');
cbBar.Items.Add('Mith');
cbBar.Items.Add('Addy');
cbBar.Items.Add('Rune');
ednick := TEdit.Create(DNASmilther);
ednick.Parent := DNASmilther;
ednick.Left := 430;
ednick.Top := 210;
ednick.Width := 165;
ednick.Height := 23;
ednick.Color := clSkyBlue;
ednick.TabOrder := 10;
ednick.Text := 'Nick';
edpass := TEdit.Create(DNASmilther);
edpass.Parent := DNASmilther;
edpass.Left := 430;
edpass.Top := 130;
edpass.Width := 165;
edpass.Height := 23;
edpass.Color := clSkyBlue;
edpass.TabOrder := 11;
edpass.Text := 'Pass';
eduser := TEdit.Create(DNASmilther);
eduser.Parent := DNASmilther;
eduser.Left := 430;
eduser.Top := 50;
eduser.Width := 165;
eduser.Height := 23;
eduser.Color := clSkyBlue;
eduser.TabOrder := 12;
eduser.Text := 'Username';
Cbactive := TComboBox.Create(DNASmilther);
Cbactive.Parent := DNASmilther;
Cbactive.Left := 50;
Cbactive.Top := 50;
Cbactive.Width := 197;
Cbactive.Height := 23;
Cbactive.Color := clSkyBlue;
Cbactive.ItemHeight := 15;
Cbactive.TabOrder := 13;
Cbactive.Text := 'True';
Cbactive.Items.Add('True');
Cbactive.Items.Add('False');
edloads := TEdit.Create(DNASmilther);
edloads.Parent := DNASmilther;
edloads.Left := 430;
edloads.Top := 290;
edloads.Width := 165;
edloads.Height := 23;
edloads.Color := clSkyBlue;
edloads.TabOrder := 14;
edloads.Text := '0';
Add := TButton.Create(DNASmilther);
add.onclick := @createuser;
Add.Parent := DNASmilther;
Add.Left := 81;
Add.Top := 222;
Add.Width := 102;
Add.Height := 34;
Add.Caption := 'Add';
Add.TabOrder := 15;
btndelete := TButton.Create(DNASmilther);
btndelete.onclick := @Deleteuser;
btndelete.Parent := DNASmilther;
btndelete.Left := 181;
btndelete.Top := 222;
btndelete.Width := 102;
btndelete.Height := 34;
btndelete.Caption := 'Delete';
btndelete.TabOrder := 16;
btnback := TButton.Create(DNASmilther);
btnback.onclick := @backuser;
btnback.Parent := DNASmilther;
btnback.Left := 34;
btnback.Top := 222;
btnback.Width := 49;
btnback.Height := 34;
btnback.Caption := '<<';
btnback.TabOrder := 17;
btnfwd := TButton.Create(DNASmilther);
btnfwd.onclick := @forwarduser;
btnfwd.Parent := DNASmilther;
btnfwd.Left := 279;
btnfwd.Top := 222;
btnfwd.Width := 49;
btnfwd.Height := 34;
btnfwd.Caption := '>>';
btnfwd.TabOrder := 18;
ProgressBar1 := TProgressBar.Create(DNASmilther);
ProgressBar1.Parent := DNASmilther;
ProgressBar1.Left := 17;
ProgressBar1.Top := 333;
ProgressBar1.Width := 205;
ProgressBar1.Height := 23;
ProgressBar1.TabOrder := 20;
end;
procedure SafeInitForm;
var
c: TVariantArray;
begin
setarraylength(c, 0);
ThreadSafeCall('InitForm', c);
end;
procedure ShowFormModal;
begin
DNASmilther.ShowModal;
end;
procedure SafeShowFormModal;
var
c: TVariantArray;
begin
setarraylength(c, 0);
ThreadSafeCall('ShowFormModal', c);
end;
procedure setupform;
begin
Safeinitform;
SafeShowFormModal;
end;
procedure Signature;
begin
ClearDebug;
writeln(' DNA Smilther - By:Dan Cardin ');
writeln(' ______ __ __ ');
writeln('| ___ \ / \ / / /\ ');
writeln('| | \ \ / /\ \ / / / \ ');
writeln('| | \ \ / / \ \ / / / /\ \ ');
writeln('| | / / / / \ \/ / / /__\ \ ');
writeln('| |___/ / / / \ / / /----\ \ ');
writeln('|______/ /_/ \/ /_/ \_\');
wait(3000 + random(750));
end;
procedure LoadBmps;
begin
Xamine := BitmapFromString(13, 13, 'z78DA33301889C00D091023' +
'4EAA999498432DF7D0CE6DD4328D16B1300A8801007921C979');
Anvil := BitmapFromString(1, 23, '433418433E3E433E3E4844444' +
'641414C47474844444C47474C47474F4A48544E4E5953535C5656' +
'665F5E665F5E665F5E4844444844444844444F4A48524B4B524B4' +
'B4B3C1B');
end;
Procedure Login;
begin
ClearDebug;
ActivateClient;
Wait(3000 +random(3000));
if(not(LoggedIn))then
LoginPlayer;
Writeln('You have successfully logged in.');
wait(3000+random(1000));
CheckUserNicks;
end;
procedure Compass;
begin
SetRun(true);
Writeln('Run is turned on.');
Wait (200+random(50));
HighestAngle;
Writeln('Angle is hightened.');
MakeCompass('N');
Writeln('Compass is set to north.');
Wait (1000+random(200));
SetChat('Off', 1);
Wait(1000+random(500));
SetChat('Off', 2);
Wait(1000+random(500));
SetChat('On', 3);
Wait(1000+random(500));
end;
procedure GetOre(ore : string);
var
Bars : TOre; //the variable that holds what we should get
i : integer;
begin
case ore of
'bronze' : begin
Bars.orenames := ['in', 'opper']; //tin, copper.
Bars.orecolors := [7960962, 4032748];
Bars.oreamounts := [14, 14];
end;
'iron' : begin
Bars.orenames := ['ron']; //iron
Bars.orecolors := [1646131];
Bars.oreamounts := [28];
end;
'steel' : begin
Bars.orenames := ['ron', 'oal']; //iron, coal
Bars.orecolors := [2240332, 1585453];
Bars.oreamounts := [9, 18];
end;
'mithril': begin
Bars.orenames := ['ith', 'oal']; //mith, coal
Bars.orecolors := [5715253, 1585453];
Bars.oreamounts := [5, 20];
end;
'adamant': begin
Bars.orenames := ['ddy', 'oal']; //addy, coal
Bars.orecolors := [5267534, 1585453];
Bars.oreamounts := [4, 24];
end;
'runite' : begin
Bars.orenames := ['une', 'oal']; //rune, coal
Bars.orecolors := [8482648, 1585453];
Bars.oreamounts := [3, 24];
end;
'silver' : begin
Bars.orenames := ['ilver']; //silver
Bars.orecolors := [12169134];
Bars.oreamounts := [28];
end;
'gold' : begin
Bars.orenames := ['old']; //gold
Bars.orecolors := [1816029];
Bars.oreamounts := [28];
end;
end;
OpenBankQuiet('feb');
if PinScreen then NextPlayer(false);
if not(PinScreen)then begin FixBank; DepositAll; end;
for i := 0 to GetArrayLength(Bars.orenames) - 1 do
begin
if FindObj(x,y,Bars.orenames[i],Bars.orecolors[i],5)then
begin
Mouse(x, y, 2, 2, False);
ChooseOption(x, y, 'draw X');
Wait(3000 + Random(300));
TypeSend(inttostr(Bars.oreamounts[i]));
end;
Wait(1000 + random(1000));
end;
CloseBank;
end;
procedure WalkToSmelter;
var Step,tries:integer;
begin
Step := DTMFromString('78DA63EC60606008614001E9F622609A11CA6' +
'76C25524D3801355D44AA0921424D10116A0208A8E924424D3B11' +
'6A5A89541344845D61F8D50000A8A91310');
repeat
If not FindDTM(Step,x,y,849, 207,798, 245) then
begin
tries:=tries+1
if tries >=5 then NextPlayer(true);
end;
until FindDTM(Step,x,y,849, 207,798, 245)
begin
Mouse(x,y,3,3,true);
FFlag(3);
if(FindSymbol(x,y,'funace')) or FindDTM(Step,x,y,798, 254,851, 203)then
begin
Mouse(x,y,2,2,true);
FFlag(3);
end;
end;
end;
function Smelt:Boolean;
begin
MakeCompass('E');
if(FindObj(x,y,'urnace',1451652,5))then
begin
result:=true
Wait(1000+random(500));
ChooseOption(x,y,'x');
Wait(1000+random(500));
HitKeys(true);
MarkTime(Mark)
repeat
if InChat('ou retrieve a bar of')then
Smelted:=Smelted+1
until TimeFromMark(Mark)>=60000
exitit:=1
end;
end;
procedure WalkToBank;
var Step1,Bank1,Bank2,tries:integer;
begin
Step1 := DTMFromString('78DA63EC60606008614001E9F622609A11CA6' +
'76C25524D3801355D44AA0921424D10116A0208A8E924424D3B11' +
'6A5A89541344845D61F8D50000A8A91310');
Bank1 := DTMFromString('78DA6314606060106500035608C5F0E70F130' +
'317906604E2FF40C0C88BA9E6ED5B06B81A106094C06F0E588D18' +
'A69A3367B0982386AAE6EE5D34359240420455CDD7AF686A406E1' +
'64655F3EF1F1FAA1A41C26A004D4414E1');
Bank2 := DTMFromString('78DA6314646060106600035608C570F72E030' +
'317906604E2FF40C0C8076408A2AAF9FA15A1060418B931D5209B' +
'0356C389A9E6CF1F2654359244D82504240450D5FCFBC787AA460' +
'C53CD9E4DD351D400005C1B12B0');
repeat
If not FindDTM(Step1,x,y,736, 244,710, 197) then
begin
tries:=tries+1
if tries >=5 then NextPlayer(true);
end;
until FindDTM(Step1,x,y,736, 244,710, 197)
begin
Mouse(x,y,3,3,true);
FFlag(3);
end
if FindSymbol(x,y,'bank') or
FindDTM(Bank1,x,y,MMX1, MMY1, MMX2, MMY2)or
FindDTM(Bank2,x,y,MMX1, MMY1, MMX2, MMY2)then
begin
Mouse(x,y+5,2,2,true);
FFlag(3);
end;
end;
procedure WalkToSmithy;
var LadderThing,tries:integer;
begin
LadderThing := DTMFromString('78DA6394626060106200035608C510A401A11' +
'981F83F10304A001902B8D580695922D58812A14682801A90BC38' +
'116A08D905F2BB180135F2986A6000AE06242F42400DC81C49026' +
'A2430FD8EA1461A48481150A380DF3D3C400C00B9B30ADF');
repeat
If not FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2) then
begin
tries:=tries+1
if tries >=5 then NextPlayer(true);
end;
until FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2)
begin
Mouse(x-30,y,2,2,true);
FFlag(3);
end;
end;
procedure WalkToVarrok;
var EndOfWall,WierdLadder,tries:integer;
begin
if(not(LoggedIn))then
Exit;
WierdLadder := DTMFromString('78DA630C676060B0624001AEF2109A11CA670' +
'C0512B604D48401090B026A4288546346404D38116A2281842901' +
'355144F81DA4C686809A0822D44411F63B007E6D0A95');
EndOfWall := DTMFromString('78DA631463606010654001EB1776836946289' +
'F51044808A2AA79F2E10BAA1A4922D44803096122D48812502301' +
'24C408A81125420DC82E21026AC488F09714A6BFD0C310004C311' +
'BBD');
repeat
If not FindDTM(WierdLadder,x,y,MMX1, MMY1, MMX2, MMY2) or FindSymbol(x,y,'water')then
begin
tries:=tries+1
if tries >=5 then NextPlayer(true);
end;
until FindDTM(WierdLadder,x,y,MMX1, MMY1, MMX2, MMY2) or FindSymbol(x,y,'water')
begin
Mouse(x+50,y,2,2,true);
FFlag(3);
end;
tries:=0
repeat
If not FindDTM(EndOfWall,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
tries:=tries+1
if tries >=5 then NextPlayer(true);
end;
until FindDTM(EndOfWall,x,y,MSX1,MSY1,MSX2,MSY2)
begin
Mouse(x,y,2,2,true);
FFlag(3);
if FindColorSpiralTolerance(x,y,5855584,MSX1,MSY1,MSX2,MSY2,5) then
begin
Mouse(x,y,2,2,true);
FFlag(3);
end;
if FindColorTolerance(x,y,8161159,MSX1,MSY1,MSX2,MSY2,5)then
Mouse(x,y,2,2,false);
if FindBitmap(Xamine,x,y)then
begin
Mouse(x,y,2,2,true);
Mouse(x,y,2,2,true);
end;
RadialRoadWalk(FindDirtRoadColor, 402, 420, 70, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 382, 411, 73, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 93, 111, 68, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 108, 141, 72, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 102, 132, 69, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 121, 155, 62, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 88, 121, 69, 0, 0);
Flag;
RadialRoadWalk(FindDirtRoadColor, 49, 105, 73, 0, 0);
Flag;
Mouse(715, 83,20,20,true);
end;
end;
procedure AssembleDTM;
begin
MainPoint .x:=821;
MainPoint .y:=242;
MainPoint .areasize:=0;
MainPoint .areashape:=0;
MainPoint .color:=DirtRoadColor;
MainPoint .tolerance:=0;
SubPoints[0].x:=823;
SubPoints[0].y:=256;
SubPoints[0].areasize:=1;
SubPoints[0].areashape:=0;
SubPoints[0].color:=WaterColor;
SubPoints[0].tolerance:=0;
SubPoints[1].x:=823;
SubPoints[1].y:=230;
SubPoints[1].areasize:=1;
SubPoints[1].areashape:=0;
SubPoints[1].color:=WaterColor;
SubPoints[1].tolerance:=0;
SubPoints[2].x:=801;
SubPoints[2].y:=239;
SubPoints[2].areasize:=1;
SubPoints[2].areashape:=0;
SubPoints[2].color:=DirtRoadColor;
SubPoints[2].tolerance:=0;
SubPoints[3].x:=843;
SubPoints[3].y:=241;
SubPoints[3].areasize:=1;
SubPoints[3].areashape:=0;
SubPoints[3].color:=DirtRoadColor;
SubPoints[3].tolerance:=0;
MasterTDTM.MainPoint := MainPoint;
MasterTDTM.SubPoints := SubPoints;
TheDTM:= AddDTM(MasterTDTM);
end;
procedure ResumeVarrokWalk;
begin
MainPoint.x:=152;
MainPoint.y:=108;
MainPoint.areasize:=0;
MainPoint.areashape:=0;
MainPoint.color:=RoadColor;
MainPoint.tolerance:=0;
SubPoints[0].x:=103;
SubPoints[0].y:=90;
SubPoints[0].areasize:=0;
SubPoints[0].areashape:=0;
SubPoints[0].color:=DirtRoadColor;
SubPoints[0].tolerance:=0;
SubPoints[1].x:=130;
SubPoints[1].y:=93;
SubPoints[1].areasize:=0;
SubPoints[1].areashape:=0;
SubPoints[1].color:=RoadColor;
SubPoints[1].tolerance:=0;
SubPoints[2].x:=126;
SubPoints[2].y:=101;
SubPoints[2].areasize:=0;
SubPoints[2].areashape:=0;
SubPoints[2].color:=RockColor;
SubPoints[2].tolerance:=0;
RoadTDTM.MainPoint := MainPoint;
RoadTDTM.SubPoints := SubPoints;
RoadDTM := AddDTM(RoadTDTM);
end;
procedure ResumeAgain;
var VarrokBank:integer;
begin
if(not(LoggedIn))then
Exit;
VarrokBank := DTMFromString('78DA63FCC2C8C0F09F010E803C86B76F116C2' +
'610FD0BC89267C4A9064CFF04B2C409A8F90A64B133E2B78B08F7' +
'0000221A106B');
RoadColor:=FindRoadColor;
RadialRoadWalk(RoadColor, 77, 113, 71, 0, 0);
Flag;
RadialRoadWalk(RoadColor, 59, 107, 74, 0, 0);
Flag;
RadialRoadWalk(RoadColor, 382, 432, 72, 0, 0);
Flag;
begin
MyTBox.x1 := 776;
MyTBox.y1 := 152;
MyTBox.x2 := 858;
MyTBox.y2 := 252;
if FindColorTolerance(x,y,3956588,MyTBox.x1,MyTBox.y1,MyTBox.x2,MyTBox.y2,5) then
Mouse(x,y,2,2,true);
end;
if FindDtmRotated(VarrokBank, x, y, MMX1, MMY1, MMX2, MMY2, -PI*2, PI*2, 0.2,WhichAngle) then
begin
Mouse(x,y,2,2,true);
end;
end;
procedure OpenBankForHammer;
var Hammer:integer;
begin
Hammer := DTMFromString('78DA6314676060906140014E3A0C0C46409A1' +
'188FF0301A33090A1C0801530C2687E20A141408D1090D026A046' +
'0C48A81150230524E409A89105125204D428020909026A5481841' +
'801354A4498A30C248409A811C58C0BACE12349408D0C11E680CC' +
'50C4AF0600E56207F7');
if(not(LoggedIn))then
Exit;
OpenBankQuiet('vwb');
if PinScreen then NextPlayer(false);
if not(PinScreen)then
begin
FixBank;
DepositAll;
end;
if(FindDtm(Hammer,x,y,MSX1,MSY1,MSX2,MSY2))then
Mouse(x,y,2,2,true);
end;
Procedure GetBars;
var BronzeBar,IronBar,SteelBar,MithBar,AddyBar:integer;
RuneBar,SilverBar,GoldBar,a:integer;
begin
BronzeBar := DTMFromString('78DA63146560601064400141B9950C46409A1' +
'188FF0301A32490C1C58006189148202D0F247808A851C0B40B43' +
'8D0C901025A006E41E09026A4066C81050C30B24A409A86103129' +
'204D4B0020911026A40E1C78F5F0D004ED10738');
IronBar := DTMFromString('78DA63946060601065400129B1310C46409A1' +
'188FF030123279021CE8006189148200D52234D400D2F909025A0' +
'461848C813500372B3020135D244D805B24792801A2520214684B' +
'F8409A801B9978F801A6520C14F408D0A61BB006B4207D6');
SteelBar := DTMFromString('78DA8D914B0A80300C44D3AD8288A2D662FD5' +
'52FE025BBF6C43AEED42E2681BE74F1C804627A1171F2A9334639' +
'D00DDE8532053E9DFCCABC889EA773122703BC62CE4C9C1258885' +
'3012B711A2010C7021B7106C53E4E91350123719E9C813841718B' +
'1DB00AA75564D5C4F1FCA637EBD109C7');
MithBar := DTMFromString('78DA6394666060106240013E3E850C46409A1' +
'188FF0301231F9021C8800618914820CD05244489502349400DC8' +
'1E19026A4066C8115003728B2C0135BC40428A801A5922D428020' +
'931026A548084300135AA448433480D1F11EEE1C1AF0600460807' +
'E7');
AddyBar := DTMFromString('78DA8DCFCB0D80201045D16165347E3144143' +
'5C612AC8426ECBF047DECD4856F26E1C2E22480F122D2C86BE219' +
'E5C06EB02E8C2971A8E533E651EC39D2119321BDC20CC4A4F78CC' +
'4A43F4DC4582410E3909918AFB82B28FEB5208E980DB1C4EC48AB' +
'3015312B52FC9B1B0C4907F3');
RuneBar := DTMFromString('78DA63146660601062400141B9950C46409A1' +
'188FF0301231790C1CF800618914820CD8E690E861A5620214284' +
'1A09026A388184140135BC40429A801A907B6509A81123C21C492' +
'2DC0C32438C801A5922C24701480810A18697801A1920C18D5F0D' +
'00435B07E2');
SilverBar := DTMFromString('78DA63146160601067400173E6AC603002D28' +
'C40FC1F081839800C510634C08844026956202141841A19026AB8' +
'81841C013502404281801A90BF1409A801B95796801A907B2509A' +
'85120227C406A0409A8910612FCF8D500005DCF0840');
GoldBar := DTMFromString('78DA631467606010644001E7660B301801694' +
'620FE0F048C3C986A181898E06A4080911348883060000C351268' +
'0A18D1D4F003092902760903091974352CA86A40F6C8A299C2C88' +
'AAA0664862401BB1489F09732901042F316139A7B5480041F01BF' +
'CB03096EFC6A005C300A0D');
if(not(LoggedIn))then
Exit;
OpenBankQuiet('vwb');
if PinScreen then NextPlayer(false);
if not(PinScreen)then
begin
FixBank;
DepositAll;
end;
begin
case Players[CurrentPlayer].string1 of
'bronze' : begin
a:=BronzeBar;
end;
'iron' : begin
a:=IronBar
end;
'steel' : begin
a:=SteelBar
end;
'mithril': begin
a:=MithBar
end;
'adamant': begin
a:=AddyBar
end;
'runite' : begin
a:=RuneBar
end;
'silver' : begin
a:=SilverBar
end;
'gold' : begin
a:=GoldBar
end;
end;
if(FindDtm(a,x,y,MSX1,MSY1,MSX2,MSY2))then
begin
Mouse(x, y, 2, 2, False);
ChooseOption(x, y, 'draw X');
Wait(3000 + Random(300));
HitKeys(true);
end;
end;
CloseBank;
HighestAngle;
MakeCompass('n');
end;
function Smith:Boolean;
var xAnvil, yAnvil:integer;
begin
AllBars := DTMFromString('78DA8D914B0A80300C44D3AD8288A2D662FD5' +
'5CFDAB527AEE34EED6212E84B178F4C20661411279FBA6294846E' +
'F012CA54F80CF22BF3227A99CFC99C02F08A392B716A60234E03E' +
'CC4E980401C0B1CC49914FB3845D602CCC4797226E204C52D4EC0' +
'2A9C5E91D512C7F39BDEDF9F0A94');
If FindDTM(AllBars,x,y,MIX1, MIY1, MIX2, MIY2)then
begin
Mouse(x,y,2,2,true);
if FindDeformed(xAnvil, yAnvil, Anvil, MSX1+30, MSY1, MSX2, MSY2)then
begin
result:=true
Mouse(x,y,2,2,true);
end;
end else
Exit;
Exitit:=1
end;
function CustomAntiBan:boolean;
begin
case random(10) of
1:RandomRClick;
2:HitKeys(true);
3:PickUpMouse;
4:AlmostLogout;
5:DontBanMe(1);
6:ArrangeInv;
end;
result:=true
end;
procedure WalkToBankFromSmithy;
var LadderThing,tries:integer;
begin
LadderThing := DTMFromString('78DA6394626060106200035608C510A401A11' +
'981F83F10304A001902B8D580695922D58812A14682801A90BC38' +
'116A08D905F2BB180135F2986A6000AE06242F42400DC81C49026' +
'A2430FD8EA1461A48481150A380DF3D3C400C00B9B30ADF');
repeat
If not FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2) then
begin
tries:=tries+1
if tries >=5 then NextPlayer(true);
end;
until FindDTM(LadderThing,x,y,MMX1, MMY1, MMX2, MMY2)
begin
Mouse(x-30,y,2,2,true);
FFlag(3);
end;
if FindSymbol(x,y,'bank')then
begin
Mouse(x,y,2,2,true);
MakeCompass('w');
LowestAngle;
end;
end;
{/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
----------> Random Finding <----------
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/}
function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
if (Result = true) then
DidRandomHappen := true;
end;
///////////////////////////////////////////////////////////////////////////
procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
if (FindNormalRandoms) then
DidRandomHappen := true;
end;
procedure Proggy;
Var I:Integer;
begin
For I := 0 to HowManyPlayers - 1 Do
begin
ClearDebug;
Writeln('|| Worked For : ' + ScriptTime2(2));
Writeln('|| Smelted' + IntToStr(Smelted) + Players[CurrentPlayer].string1+ 'bars in all ');
Writeln('|| Smithed' +IntToStr(Smithed) + 'bars into items');
SRLRandomsReport;
Login;
end;
end;
BEGIN
Signature;
SetupSRL;
NewLine:=Newline
loadus;
Cuser:=0;
if (GetArrayLength(Players) = 0) then
AddUser;
Setupform;
Saveus;
ActivateClient;
Bars:=Players[CurrentPlayer].integer1
LoadBmps;
Login;
Compass;
repeat
GetOre(Players[CurrentPlayer].string1)
if not FindColorTolerance(x,y,4942983,MIX1, MIY1, MIX2, MIY2,10)then
Break;
WalkToSmelter;
exitit:=0
while Smelt do
begin
repeat
FindRandoms;
CustomAntiBan;
until exitit=1
end;
WalkToBank;
until (Smelted>=Bars);
WalkToVarrok;
WaterColor:=FindWaterColor;
BridgeColor:=FindBridgeColor;
DirtRoadColor:=FindDirtRoadColor;
AssembleDTM;
if FindDtmRotated(TheDTM, CGx, CGy, MMX1, MMY1, MMX2, MMY2, -PI*2, PI*2, 0.2,WhichAngle) then
begin
Mouse(x,y,2,2,true);
ResumeVarrokWalk;
if FindDtmRotated(RoadDTM, CGx, CGy, MMX1, MMY1, MMX2, MMY2, -PI*2, PI*2, 0.2,WhichAngle) then
begin
Mouse(x,y,2,2,true);
ResumeAgain;
end;
end
else NextPlayer(true);
OpenBankForHammer;
repeat
GetBars;
WalkToSmithy;
exitit:=0
repeat
while Smith do
begin
repeat
FindRandoms;
CustomAntiBan;
until exitit=1
Wait(1000+random(750));
Memitems1 := Inttobox(333, 39, 460, 317);
Memitems2 := Inttobox(256, 281, 314, 322);
FindColorsTolerance(MyTPA, 16777215, 6, 49, 513, 322, 0);
if GetArrayLength(MyTPA) = 0 then Writeln('couldn''t find color');
for i := 0 to GetArrayLength(MyTPA) - 1 do
begin
if ((not(IntInBox(MyTPA[i].x, MyTPA[i].y, Memitems1))) and (not(IntInBox(MyTPA[i].x, MyTPA[i].y, Memitems2)))) then
begin
if Distance(MyTPA[i].x, MyTPA[i].y, 513, 322) < Distance(TempTPA.x, TempTPA.y, 513, 322) then
begin
TempTPA.x := MyTPA[i].x;
TempTPA.y := MyTPA[i].y;
end;
end;
end;
Mouse(TempTPA.x, TempTPA.y-10, 0, 0, True);
Wait(3000);
if InChat('ou hammer the')then
Smithed:=Smithed+1
end;
until not FindDTM(AllBars,x,y,MIX1, MIY1, MIX2, MIY2)
WalkToBankFromSmithy;
until (Smithed>=Bars);
NextPlayer(true);
end.