can anyone help me fix the problem here? I can get the player forms to load but thats it.
SCAR Code:
program SrlPowerminer;
{.include SRL/SRL.scar}
const
rockcolor1= ;
rockcolor2= ;
var
x,y,randomm: integer;
cUser: Integer;
frmDesign: TForm;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
lblUser: TLabel;
gbControl: TGroupBox;
btnBack: TButton;
btnNext: TButton;
btnCreate: TButton;
btnDelete: TButton;
edUser: TEdit;
edPass: TEdit;
edLocation: TEdit;
edNick: TEdit;
cbActive: TComboBox;
{*******************************************************************************
procedure AddUser;
By: RsN
Description:
*******************************************************************************}
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].Loc := 'New Location';
end;
{*******************************************************************************
procedure Inititate(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
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].Loc := edLocation.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
cUser := GetArrayLength(Players) - 1;
end;
{*******************************************************************************
procedure CreateUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure CreateUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
Players[cUser].Loc := edLocation.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
AddUser;
cUser := GetArrayLength(Players) - 1;
lblUser.Caption := IntToStr(cUser);
edLocation.Text := Players[cUser].Loc;
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure ForwardUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure ForwardUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
Players[cUser].Loc := edLocation.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edLocation.Text := Players[cUser].Loc;
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure BackUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure BackUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
Players[cUser].Loc := edLocation.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
if (cUser - 1 < 0) then
cUser := GetArrayLength(Players) - 1
else
cUser := cUser - 1;
lblUser.Caption := IntToStr(cUser);
edLocation.Text := Players[cUser].Loc;
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure DeleteUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure DeleteUser(Sender: TObject);
var
lo, na, ni: string;
ac: Boolean;
begin
lo := Players[GetArrayLength(Players) - 1].Loc;
na := Players[GetArrayLength(Players) - 1].Name;
ni := Players[GetArrayLength(Players) - 1].Nick;
ac := Players[GetArrayLength(Players) - 1].Active;
Players[cUser].Loc := lo;
Players[cUser].Name := na;
Players[cUser].Nick := ni;
Players[cUser].Active := ac;
SetArrayLength(Players, GetArrayLength(Players) - 1);
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edLocation.Text := Players[cUser].Loc;
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure Start(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure Start(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
edLocation.Text := Players[cUser].Loc;
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure LoadForm;
By: RsN
Description:
*******************************************************************************}
procedure LoadForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 254;
frmDesign.Top := 107;
frmDesign.Width := 308;
frmDesign.Height := 316;
frmDesign.Caption := 'User Manager';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
frmDesign.OnShow := @Start;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 48;
Label1.Top := 25;
Label1.Width := 51;
Label1.Height := 13;
Label1.Caption := 'Username:';
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 48;
Label2.Top := 61;
Label2.Width := 49;
Label2.Height := 13;
Label2.Caption := 'Password:';
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 48;
Label3.Top := 97;
Label3.Width := 44;
Label3.Height := 13;
Label3.Caption := 'Location:';
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 48;
Label4.Top := 133;
Label4.Width := 25;
Label4.Height := 13;
Label4.Caption := 'Nick:';
Label5 := TLabel.Create(frmDesign);
Label5.Parent := frmDesign;
Label5.Left := 48;
Label5.Top := 169;
Label5.Width := 33;
Label5.Height := 13;
Label5.Caption := 'Active:';
lblUser := TLabel.Create(frmDesign);
lblUser.Parent := frmDesign;
lblUser.Left := 248;
lblUser.Top := 9;
lblUser.Width := 32;
lblUser.Height := 13;
lblUser.Caption := 'lblUser';
lblUser.Transparent := False;
gbControl := TGroupBox.Create(frmDesign);
gbControl.Parent := frmDesign;
gbControl.Left := 13;
gbControl.Top := 211;
gbControl.Width := 272;
gbControl.Height := 58;
gbControl.Caption := ' Control ';
gbControl.TabOrder := 0;
btnBack := TButton.Create(gbControl);
btnBack.Parent := gbControl;
btnBack.Left := 12;
btnBack.Top := 22;
btnBack.Width := 45;
btnBack.Height := 25;
btnBack.Caption := '<';
btnBack.TabOrder := 0;
btnBack.OnClick := @BackUser;
btnNext := TButton.Create(gbControl);
btnNext.Parent := gbControl;
btnNext.Left := 216;
btnNext.Top := 23;
btnNext.Width := 45;
btnNext.Height := 25;
btnNext.Caption := '>';
btnNext.TabOrder := 1;
btnNext.OnClick := @ForwardUser;
btnCreate := TButton.Create(gbControl);
btnCreate.Parent := gbControl;
btnCreate.Left := 138;
btnCreate.Top := 22;
btnCreate.Width := 75;
btnCreate.Height := 25;
btnCreate.Caption := 'Create';
btnCreate.TabOrder := 2;
btnCreate.OnClick := @CreateUser;
btnDelete := TButton.Create(gbControl);
btnDelete.Parent := gbControl;
btnDelete.Left := 59;
btnDelete.Top := 22;
btnDelete.Width := 75;
btnDelete.Height := 25;
btnDelete.Caption := 'Delete';
btnDelete.OnClick := @DeleteUser;
btnDelete.TabOrder := 3;
edUser := TEdit.Create(frmDesign);
edUser.Parent := frmDesign;
edUser.Left := 110;
edUser.Top := 23;
edUser.Width := 121;
edUser.Height := 21;
edUser.TabOrder := 9;
edUser.Text := 'edUser';
edPass := TEdit.Create(frmDesign);
edPass.Parent := frmDesign;
edPass.Left := 110;
edPass.Top := 59;
edPass.Width := 121;
edPass.Height := 21;
edPass.TabOrder := 10;
edPass.Text := 'edPass';
edLocation := TEdit.Create(frmDesign);
edLocation.Parent := frmDesign;
edLocation.Left := 110;
edLocation.Top := 95;
edLocation.Width := 121;
edLocation.Height := 21;
edLocation.TabOrder := 11;
edLocation.Text := 'edLocation';
edNick := TEdit.Create(frmDesign);
edNick.Parent := frmDesign;
edNick.Left := 110;
edNick.Top := 131;
edNick.Width := 121;
edNick.Height := 21;
edNick.TabOrder := 12;
edNick.Text := 'edNick';
cbActive := TComboBox.Create(frmDesign);
cbActive.Parent := frmDesign;
cbActive.Left := 110;
cbActive.Top := 167;
cbActive.Width := 122;
cbActive.Height := 21;
cbActive.DropDownCount := 2;
cbActive.ItemHeight := 13;
cbActive.TabOrder := 13;
cbActive.Text := 'True';
cbActive.Items.Add('True');
cbActive.Items.Add('False');
end;
{*******************************************************************************
procedure TheForm;
By: RsN
Description:
*******************************************************************************}
procedure TheForm;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('LoadForm', v);
end;
{*******************************************************************************
procedure ShowFormModal;
By: RsN
Description:
*******************************************************************************}
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
{*******************************************************************************
procedure TehForm;
By: RsN
Description:
*******************************************************************************}
procedure TehForm;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
begin
cUser := 0;
if (GetArrayLength(Players) = 0) then
AddUser;
TheForm;
TehForm;
end.
Procedure Randoms;
Begin
FindTalk;
FindNormalRandoms;
SolveChatRandom;
FindLamp('Woodcutting');
SolvePinball;
DwarfItem;
If(FindFight)Then
Begin
MakeCompass('N');
RunTo('E', True);
Wait(7000 +Random(3000));
RunBack;
End;
End;
procedure antiban;
begin
randomm := Random(4)
case randomm of
0: begin
Wait(3591+(random(287)));
RandomRClick;
Wait(3591+(random(287)));
HighestAngle;
Randoms;
end;
1: begin
Wait(3694+(random(791)));
GameTab(random(13)+1);
Randoms;
Wait(3694+(random(791)));
GameTab(4);
end;
2: begin
Wait(3294+(random(873)));
Randoms;
HoverSkill('Woodcutting' ,false);
Wait(3294+(random(873)));
end;
3: begin
Wait(3694+(random(791)));
GameTab(random(13)+1);
Randoms;
Wait(3694+(random(791)));
GameTab(4);
end;
end;
end;
Procedure minerock;
begin
if not LoggedIn then
Exit;
repeat
if FindObjCustom(x, y, ['Min', 'ine'], [rockcolor1, rockcolor2], 7) then
begin
Mouse(x, y, 20, 40, 45, 25, 20);
FTWait(1);
mouse(x, y, false);
Wait(500+(random(150)));
ChooseOption('ine')
randoms
antiban;
writeln('found rock!');
end else;
writeln('rock was not found');
randoms;
antiban;
antiban;
antiban;
until( InvFull )
end;
procedure drop;
begin
antiban;
DropToPosition(2,28);;
antiban;
end;
begin
SetupSRL;
Start;
LoginPlayer;
repeat
minerock;
drop;
until(IsFKeyDown(3));