Difference between revisions of "TTeam.OnJoin"

From Soldat Community Wiki
Jump to: navigation, search
m (Example)
m (Export fix (1.6.6b))
 
(4 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
   Access mode: RW
 
   Access mode: RW
 
   Event handler type: [[TOnJoinTeamEvent]]
 
   Event handler type: [[TOnJoinTeamEvent]]
   Event handler declaration: procedure (Player: [[TPlayer]]; Team: [[TTeam]]);
+
   Event handler declaration: procedure (Player: [[TActivePlayer]]; Team: [[TTeam]]);
  
 
==Description==
 
==Description==
Event property called when any player leaves the server or gets kicked/banned.
+
Event property called when a player tries to change team
 
<br>
 
<br>
  
 
==Example==
 
==Example==
 
<syntaxhighlight lang="pascal">
 
<syntaxhighlight lang="pascal">
  procedure MyOnJoinTeamHandler(Player: TActivePlayer; Team: TTeam);
+
  procedure MyOnJoinTeamHandler(temp: TPlayer; Team: TTeam);
 +
var
 +
  Player: TActivePlayer;
 
  begin
 
  begin
   if Team.ID = 2 then
+
   Player := TActivePlayer(temp); // this is important! Without that you can't use many TActivePlayer members!
   begin
+
   Player.Team := 1;
    Player.Team := 1;
+
  Player.Tell('Sorry, you can''t join Bravo Team');
    Player.Tell('Sorry, you can''t join Bravo Team');
 
  end;
 
 
  end;
 
  end;
  
Line 22: Line 22:
  
 
  begin
 
  begin
   // assign OnJoinTean handler
+
   // assign OnJoinTeam handler
   Game.Teams[1].OnJoin := @MyOnJoinTeamHandler;
+
   Game.Teams[2].OnJoin := @MyOnJoinTeamHandler;
  
 
   // ...
 
   // ...
  
 
   // unassign
 
   // unassign
   Game.Teams[1].OnJoin := nil;
+
   Game.Teams[2].OnJoin := nil;
 
  end;
 
  end;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[Category:TTeam]][[Category:Events]]
 
[[Category:TTeam]][[Category:Events]]

Latest revision as of 17:25, 9 September 2013

property OnJoin
 Access mode: RW
 Event handler type: TOnJoinTeamEvent
 Event handler declaration: procedure (Player: TActivePlayer; Team: TTeam);

Description

Event property called when a player tries to change team

Example

 procedure MyOnJoinTeamHandler(temp: TPlayer; Team: TTeam);
 var 
   Player: TActivePlayer;
 begin
   Player := TActivePlayer(temp); // this is important! Without that you can't use many TActivePlayer members!
   Player.Team := 1;
   Player.Tell('Sorry, you can''t join Bravo Team');
 end;

 // ...

 begin
   // assign OnJoinTeam handler
   Game.Teams[2].OnJoin := @MyOnJoinTeamHandler;

   // ...

   // unassign
   Game.Teams[2].OnJoin := nil;
 end;