Harry
06-27-2007, 12:25 PM
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' +
'4EAA999498432DF7D0CE6DD4328D16B1300A8801007921C97 9');
Anvil := BitmapFromString(1, 23, '433418433E3E433E3E4844444' +
'641414C47474844444C47474C47474F4A48544E4E5953535C 5656' +
'665F5E665F5E665F5E4844444844444844444F4A48524B4B5 24B4' +
'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('78DA63EC60606008614001E9F622609A11C A6' +
'76C25524D3801355D44AA0921424D10116A0208A8E924424D 3B11' +
'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('78DA63EC60606008614001E9F622609A11C A6' +
'76C25524D3801355D44AA0921424D10116A0208A8E924424D 3B11' +
'6A5A89541344845D61F8D50000A8A91310');
Bank1 := DTMFromString('78DA6314606060106500035608C5F0E70F1 30' +
'317906604E2FF40C0C88BA9E6ED5B06B81A106094C06F0E58 8D18' +
'A69A3367B0982386AAE6EE5D34359240420455CDD7AF686A4 06E1' +
'64655F3EF1F1FAA1A41C26A004D4414E1');
Bank2 := DTMFromString('78DA6314646060106600035608C570F72E0 30' +
'317906604E2FF40C0C8076408A2AAF9FA15A1060418B931D5 209B' +
'0356C389A9E6CF1F2654359244D82504240450D5FCFBC787A A460' +
'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('78DA6394626060106200035608C510A401A 11' +
'981F83F10304A001902B8D580695922D58812A14682801A90 BC38' +
'116A08D905F2BB180135F2986A6000AE06242F42400DC81C4 9026' +
'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('78DA630C676060B0624001AEF2109A11CA6 70' +
'C0512B604D48401090B026A4288546346404D38116A228184 2901' +
'355144F81DA4C686809A0822D44411F63B007E6D0A95');
EndOfWall := DTMFromString('78DA631463606010654001EB17768369462 89' +
'F51044808A2AA79F2E10BAA1A4922D44803096122D4881250 2301' +
'24C408A81125420DC82E21026AC488F09714A6BFD0C310004 C311' +
'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,MSX 2,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('78DA63FCC2C8C0F09F010E803C86B76F116 C2' +
'610FD0BC89267C4A9064CFF04B2C409A8F90A64B133E2B78B 08F7' +
'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('78DA6314676060906140014E3A0C0C46409 A1' +
'188FF0301A33090A1C0801530C2687E20A141408D1090D026 A046' +
'0C48A81150230524E409A89105125204D428020909026A548 1841' +
'801354A4498A30C248409A811C58C0BACE12349408D0C11E6 80CC' +
'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('78DA63146560601064400141B9950C46409 A1' +
'188FF0301A32490C1C58006189148202D0F247808A851C0B4 0B43' +
'8D0C901025A006E41E09026A4066C81050C30B24A409A8610 3129' +
'204D4B0020911026A40E1C78F5F0D004ED10738');
IronBar := DTMFromString('78DA63946060601065400129B1310C46409 A1' +
'188FF030123279021CE8006189148200D52234D400D2F9090 25A0' +
'461848C813500372B3020135D244D805B24792801A2520214 684B' +
'F8409A801B9978F801A6520C14F408D0A61BB006B4207D6') ;
SteelBar := DTMFromString('78DA8D914B0A80300C44D3AD8288A2D662F D5' +
'52FE025BBF6C43AEED42E2681BE74F1C804627A1171F2A933 4639' +
'D00DDE8532053E9DFCCABC889EA773122703BC62CE4C9C125 8885' +
'3012B711A2010C7021B7106C53E4E91350123719E9C813841 718B' +
'1DB00AA75564D5C4F1FCA637EBD109C7');
MithBar := DTMFromString('78DA6394666060106240013E3E850C46409 A1' +
'188FF0301231F9021C8800618914820CD0524448950234940 0DC8' +
'1E19026A4066C8115003728B2C0135BC40428A801A5922D42 8020' +
'931026A548084300135AA448433480D1F11EEE1C1AF060046 0807' +
'E7');
AddyBar := DTMFromString('78DA8DCFCB0D80201045D16165347E31441 43' +
'5C612AC8426ECBF047DECD4856F26E1C2E22480F122D2C86B E219' +
'E5C06EB02E8C2971A8E533E651EC39D2119321BDC20CC4A4F 78CC' +
'4A43F4DC4582410E3909918AFB82B28FEB5208E980DB1C4EC 48AB' +
'3015312B52FC9B1B0C4907F3');
RuneBar := DTMFromString('78DA63146660601062400141B9950C46409 A1' +
'188FF0301231790C1CF800618914820CD8E690E861A562021 4284' +
'1A09026A388184140135BC40429A801A907B6509A81123C21 C492' +
'2DC0C32438C801A5922C24701480810A18697801A1920C18D 5F0D' +
'00435B07E2');
SilverBar := DTMFromString('78DA63146160601067400173E6AC603002D 28' +
'C40FC1F081839800C510634C08844026956202141841A1902 6AB8' +
'81841C013502404281801A90BF1409A801B95796801A907B2 509A' +
'85120227C406A0409A8910612FCF8D500005DCF0840');
GoldBar := DTMFromString('78DA631467606010644001E7660B3018016 94' +
'620FE0F048C3C986A181898E06A4080911348883060000C35 1268' +
'0A18D1D4F003092902760903091974352CA86A40F6C8A299C 2C88' +
'AAA0664862401BB1489F09732901042F316139A7B5480041F 01BF' +
'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('78DA8D914B0A80300C44D3AD8288A2D662F D5' +
'5CFDAB527AEE34EED6212E84B178F4C20661411279FBA6294 846E' +
'F012CA54F80CF22BF3227A99CFC99C02F08A392B716A60234 E03E' +
'CC4E980401C0B1CC49914FB3845D602CCC4797226E204C52D 4EC0' +
'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('78DA6394626060106200035608C510A401A 11' +
'981F83F10304A001902B8D580695922D58812A14682801A90 BC38' +
'116A08D905F2BB180135F2986A6000AE06242F42400DC81C4 9026' +
'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.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.