SRL Archive - S.M.A.R.T. Questions and Answers.

Does SMART have to be first in loop?


osmm

2008-02-09 13:32:12

Well everyone says SMART HAS to be the first thing to load, for example:
begin
SmartSetupEx(My_World, false, true); // Thanks Smartzkid for SmartSetupEx
SetTargetDC(SmartGetDC); // Thanks A LOT BenLand100 for S.M.A.R.T.
SetupSRL;
ScriptID := '551';
Startup;

^It is the first thing in my script's loop. But I don't want it to be the VERY first thing to load. I want to have this:


program New;
{.include SRL/SRL.scar}

var
// InitForm variables.
frmDesign : TForm;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Button1 : TButton;
Button2 : TButton;
Button3 : TButton;
Button4 : TButton;
Button5 : TButton;
Button6 : TButton;

// This form was parsed using: DFM Form Parser v.25 by Ron.
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.BorderStyle := bsSingle;
frmDesign.Caption := 'Owessm Willow Banker - v3.5';
frmDesign.ClientHeight := 184;
frmDesign.ClientWidth := 409;
frmDesign.Color := clBlack;
frmDesign.Font.Color := clRed;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 128;
Label1.Top := 8;
Label1.Width := 164;
Label1.Height := 25;
Label1.Caption := 'Owessm Willow Banker';
Label1.Font.Color := clNavy;
Label1.Font.Height := -16;
Label1.Font.Name := 'Papyrus';
Label1.Font.Style := [];
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 184;
Label2.Top := 32;
Label2.Width := 42;
Label2.Height := 18;
Label2.Caption := 'By Osmm';
Label2.Font.Color := clNavy;
Label2.Font.Height := -15;
Label2.Font.Name := 'Agency FB';
Label2.Font.Style := [];
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 136;
Label3.Top := 168;
Label3.Width := 142;
Label3.Height := 13;
Label3.Caption := 'Copyright '#169' 2007-2008 Osmm';
Button1 := TButton.Create(frmDesign);
Button1.Parent := frmDesign;
Button1.Left := 280;
Button1.Top := 64;
Button1.Width := 89;
Button1.Height := 25;
Button1.Caption := 'Go To Thread';
Button1.TabOrder := 8;
Button2 := TButton.Create(frmDesign);
Button2.Parent := frmDesign;
Button2.Left := 160;
Button2.Top := 96;
Button2.Width := 89;
Button2.Height := 25;
Button2.Caption := 'Start Script !';
Button2.TabOrder := 9;
Button3 := TButton.Create(frmDesign);
Button3.Parent := frmDesign;
Button3.Left := 40;
Button3.Top := 64;
Button3.Width := 89;
Button3.Height := 25;
Button3.Caption := 'Set Players';
Button3.TabOrder := 10;
Button4 := TButton.Create(frmDesign);
Button4.Parent := frmDesign;
Button4.Left := 40;
Button4.Top := 128;
Button4.Width := 89;
Button4.Height := 25;
Button4.Caption := 'Choose Options';
Button4.TabOrder := 11;
Button5 := TButton.Create(frmDesign);
Button5.Parent := frmDesign;
Button5.Left := 376;
Button5.Top := 0;
Button5.Width := 33;
Button5.Height := 17;
Button5.Caption := 'Close';
Button5.TabOrder := 12;
Button6 := TButton.Create(frmDesign);
Button6.Parent := frmDesign;
Button6.Left := 280;
Button6.Top := 128;
Button6.Width := 89;
Button6.Height := 25;
Button6.Caption := 'Credits';
Button6.TabOrder := 13;
end;

procedure SafeInitForm;
var
V : TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('InitForm', V);
end;

procedure ShowInitFormModal;
begin
frmDesign.ShowModal;
end;

procedure SafeShowInitFormModal;
var
V : TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowInitFormModal', V);
end;

procedure MainInitForm;
begin
SafeInitForm;
SafeShowInitFormModal;
FreeForm(frmDesign);
end;

procedure Intro;
begin
ClearDebug;
wait(225);
WriteLn(' ____ ');
wait(225);
WriteLn(' / __ \');
wait(225);
WriteLn(' | | | |___ ____ ___ ____ ___ ');
wait(225);
WriteLn(' | | | / __| _ ` _ \| _ ` _ \');
wait(225);
WriteLn(' | |__| \__ \ | | | | | | | | | |');
wait(225);
WriteLn(' \____/|___/_| |_| |_|_| |_| |_|');
wait(500);
WriteLn(' Copyright © 2007-2008 Osmm ');
wait(1500)
ClearDebug;
WriteLn('Presents:');
Wait(1000);
ClearDebug;
WriteLn('Owessm Draynor Willow Banker');
Wait(1000);
WriteLn(' Version 3.5')
Wait(1000);
end;

begin
SetUpSRL;
Intro;
ClearDebug;
MainInitForm;
end.

come before SMART loads. Is it possible to do so? Anything special I have to do?

OffTopic: Does anyone know what command checks for if a button is clicked? Like I want it to do, if setplayers button is clicked then load SRLSetPlayers thing. And if Go To Thread is clicked OpenWebPage…etc.

MasterKill

2008-02-09 13:38:26

Program Hoi;

{.include SRL/SRL/Misc/Smart.scar}
{.include srl\srl.scar}

const
world = 1;

begin
SetupSRL;
ClearDeBug;
WriteLn('Plz wait until RuneScape.SMART is loaded');
WriteLn('');
WriteLn('Loading world ' + IntToStr(world) + '...');
SmartSetupEx(world, False, False);
SetTargetDC(SmartGetDC);
while not(SmartReady) do Wait(100);
end.

thats how i use it

osmm

2008-02-09 14:19:41

That didn't help much…Plus I already know how you use it. I'v done my share of studying popular well writen scripts. :D.

I'm just asking if I can load SMART after showing my player form.

MasterKill

2008-02-09 14:23:04

erm, why not?

osmm

2008-02-09 14:27:49

OHHHHHHHHHHHHHHHHHHHHHHHHHHHHH. Wow….On the tut it says you should include SMART before everything else, not that SMART has to be first in loop. Arg, stupied me. Thanks.