Results 1 to 7 of 7

Thread: more form help.

  1. #1
    Join Date
    Aug 2007
    Location
    Georgia, U.S.
    Posts
    890
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default more form help.

    I read jhildies tut on adding MultiPlayer to Forms and I did it exactly as he said to and I get unknown identifier errors. How Do I fix it? I get unknown Identifier LoadUs;. and I am sure that I will also get The same for SaveUs;. What should I do to fix it?

    SCAR Code:
    Program Form;
    {.include Srl/SRL.scar}

    var
      frmDesign : TForm;
      Label1 : TLabel;
      Label2 : TLabel;
      Username : TEdit;
      Password : TEdit;
      Nick : TEdit;
      Loads : TEdit;
      Active : TComboBox;
      GroupBox1 : TGroupBox;
      Previous : TButton;
      DeletePlayer : TButton;
      CreatePlayer : TButton;
      Next : TButton;
      cUser : integer;
     
    {*******************************************************************************
    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].Integer[0] := 0;
    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].Integer[0] := (strtoint(edloads.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].Integer[0] := Strtoint(edLoads.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;
      Strtoint(edLoads.text) := Players[cUser].Integer[0];
      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].Integer[0] := Strtoint(edLoads.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;
      Strtoint(edLoads.text) := Players[cUser].Integer[0];
      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].Integer[0] := Strtoint(edLoads.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;
      Strtoint(edLoads.text) := Players[cUser].Integer[0];
      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
      na, ni: string;
      ac: Boolean;
      in: integer;
    begin
      na := Players[GetArrayLength(Players) - 1].Name;
      ni := Players[GetArrayLength(Players) - 1].Nick;
      ac := Players[GetArrayLength(Players) - 1].Active;
      in :=Players[GetArrayLength(Players) - 1].Integer[0];
      Players[cUser].Name := na;
      Players[cUser].Nick := ni;
      Players[cUser].Active := ac;
      Players[cUser].Integer[0] := in;
      SetArrayLength(Players, GetArrayLength(Players) - 1);
      if (cUser + 1 > GetArrayLength(Players) - 1) then
        cUser := 0
      else
        cUser := cUser + 1;
      lblUser.Caption := IntToStr(cUser);
      edNick.Text := Players[cUser].Nick;
      edUser.Text := Players[cUser].Name;
      edPass.Text := Players[cUser].Pass;
      strtoint(edloads.text) := Players[cUser].Integer[0];
      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);
      edNick.Text := Players[cUser].Nick;
      edUser.Text := Players[cUser].Name;
      edPass.Text := Players[cUser].Pass;
      strtoint(edLoads.text) := Players[cUser].integer[0];
      if (Players[cUser].Active) then
        cbActive.Text := 'True'
      else
        cbActive.Text := 'False';
    end;
     
    procedure FormStuff;
    begin
    frmDesign := CreateForm;
    frmDesign.Left := 250;
    frmDesign.Top := 114;
    frmDesign.Width := 478;
    frmDesign.Height := 287;
    frmDesign.Caption := 'Player Setup';
    frmDesign.Color := cl3DDKShadow;
    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 := 128;
    Label1.Top := 8;
    Label1.Width := 175;
    Label1.Height := 24;
    Label1.Caption := 'Magic Tree Chopper';
    Label1.Font.Color := clWindowText;
    Label1.Font.Height := -21;
    Label1.Font.Name := 'MS Sans Serif';
    Label1.Font.Style := [];
    Label1.ParentFont := False;
    Label2 := TLabel.Create(frmDesign);
    Label2.Parent := frmDesign;
    Label2.Left := 280;
    Label2.Top := 33;
    Label2.Width := 50;
    Label2.Height := 13;
    Label2.Caption := 'by Skilld U';
    edUser := TEdit.Create(frmDesign);
    edUser.Parent := frmDesign;
    edUser.Left := 16;
    edUser.Top := 56;
    edUser.Width := 121;
    edUser.Height := 21;
    edUser.Color := clGreen;
    edUser.TabOrder := 0;
    edUser.Text := 'Username';
    edPass := TEdit.Create(frmDesign);
    edPass.Parent := frmDesign;
    edPass.Left := 16;
    edPass.Top := 96;
    edPass.Width := 121;
    edPass.Height := 21;
    edPass.Color := clGreen;
    edPass.TabOrder := 1;
    edPass.Text := 'Password';
    edNick := TEdit.Create(frmDesign);
    edNick.Parent := frmDesign;
    edNick.Left := 16;
    edNick.Top := 136;
    edNick.Width := 121;
    edNick.Height := 21;
    edNick.Color := clGreen;
    edNick.TabOrder := 3;
    edNick.Text := 'Nick';
    edLoads := TEdit.Create(frmDesign);
    edLoads.Parent := frmDesign;
    edLoads.Left := 16;
    edLoads.Top := 176;
    edLoads.Width := 121;
    edLoads.Height := 21;
    edLoads.Color := clGreen;
    edLoads.TabOrder := 5;
    edLoads.Text := 'Loads';
    cbActive := TComboBox.Create(frmDesign);
    cbActive.Parent := frmDesign;
    cbActive.Left := 16;
    cbActive.Top := 216;
    cbActive.Width := 145;
    cbActive.Height := 21;
    cbActive.Color := clGreen;
    cbActive.ItemHeight := 13;
    cbActive.TabOrder := 6;
    cbActive.Text := 'True';
    cbActive.Items.Add('False');
    GroupBox1 := TGroupBox.Create(frmDesign);
    GroupBox1.Parent := frmDesign;
    GroupBox1.Left := 168;
    GroupBox1.Top := 56;
    GroupBox1.Width := 281;
    GroupBox1.Height := 97;
    GroupBox1.Caption := 'Player Control';
    GroupBox1.TabOrder := 7;
    BackUser := TButton.Create(GroupBox1);
    BackUser.Parent := GroupBox1;
    BackUser.Left := 8;
    BackUser.Top := 48;
    BackUser.Width := 41;
    BackUser.Height := 25;
    BackUser.Font.Color := clGreen;
    BackUser.Caption := '<=';
    BackUser.TabOrder := 0;
    BackUser.OnClick := @BackUser;
    DeleteUser := TButton.Create(GroupBox1);
    DeleteUser.Parent := GroupBox1;
    DeleteUser.Left := 56;
    DeleteUser.Top := 48;
    DeleteUser.Width := 81;
    DeleteUser.Height := 25;
    DeleteUser.Font.Color := clGreen;
    DeleteUser.Caption := 'Delete Player';
    DeleteUser.TabOrder := 2;
    DeleteUser.OnClick := @DeleteUser;
    CreateUser := TButton.Create(GroupBox1);
    CreateUser.Parent := GroupBox1;
    CreateUser.Left := 144;
    CreateUser.Top := 48;
    CreateUser.Width := 83;
    CreateUser.Height := 25;
    CreateUser.Caption := 'Create Player';
    CreateUser.TabOrder := 3;
    CreateUser.OnClick := @CreateUser;
    ForwardUser := TButton.Create(GroupBox1);
    ForwardUser.Parent := GroupBox1;
    ForwardUser.Left := 232;
    ForwardUser.Top := 48;
    ForwardUser.Width := 41;
    ForwardUser.Height := 25;
    ForwardUser.Caption := '=>';
    ForwardUser.TabOrder := 4;
    ForwardUser.OnClick := @ForwardUser;
    end;

    procedure ShowForm;
    var
      v: TVariantArray;
    begin
      setarraylength(V, 0);
      ThreadSafeCall('FormStuff', v);
    end;

    procedure ShowformModal;
    begin
      frmDesign.ShowModal;
    end;

    procedure SafeShowModal;
    var
      v: TVariantArray;
    begin
      setarraylength(V, 0);
      ThreadSafeCall('ShowformModal', v);
    end;

    begin
    LoadUs;
      cUser := 0;
      if (GetArrayLength(Players) = 0) then
        AddUser;
         Safeinitform;
    SafeShowFormModal;
    Saveus;
    end.

  2. #2
    Join Date
    Mar 2007
    Location
    Ohio
    Posts
    138
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    LoadUs is not a procedure in that script, and neither is SaveUs. I just noticed that today i changeed it to
    SCAR Code:
    begin
    ShowForm;
      cUser := 0;
      if (GetArrayLength(Players) = 0) then
        AddUser;
         Safeinitform;
    SafeShowFormModal;
    Saveus;// im not sure what to do with this though :(
    end.

  3. #3
    Join Date
    Aug 2007
    Posts
    429
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Edit:

  4. #4
    Join Date
    Aug 2007
    Location
    Georgia, U.S.
    Posts
    890
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Derek- View Post
    Edit:
    did you mean to do that?

  5. #5
    Join Date
    Jan 2007
    Location
    East Coast, USA
    Posts
    138
    Mentioned
    0 Post(s)
    Quoted
    38 Post(s)

    Default

    Quote Originally Posted by stampede10343 View Post
    LoadUs is not a procedure in that script, and neither is SaveUs. I just noticed that today i changeed it to
    SCAR Code:
    begin
    ShowForm;
      cUser := 0;
      if (GetArrayLength(Players) = 0) then
        AddUser;
         Safeinitform;
    SafeShowFormModal;
    Saveus;// im not sure what to do with this though :(
    end.
    What were you trying to do with Saveus; ? There must be a procedure for Saveus...
    If you're not sure what do to with it and don't have a procedure for Saveus; then take Saveus; out...
    Loadus; shoulds be replaced with ShowForm;
    Maybe Saveus; is supposed to be a procedure that saves the persons player setup to a .txt or .ini file or whatever...
    Otherwise without a procedure Saveus; is really just stopping the script from running...

  6. #6
    Join Date
    Mar 2007
    Posts
    3,116
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    I would just the srl player form. I'm almost 100% that what your using is outdated. If you need help with how to do that pm me.

  7. #7
    Join Date
    Apr 2007
    Posts
    3,152
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    loadus and save us are from here's script that i think is supposed to change your scripts so that you dont have to write in your players all the time? i forgot what exactly the script is for but its from here's script because i had that on a few scripts too, just delete it and try it again
    SCAR Tutorials: The Form Tutorial | Types, Arrays, and Classes
    Programming Projects: NotePad | Tetris | Chess


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •