Difference between revisions of "TGame.OnRequest"

From Soldat Community Wiki
Jump to: navigation, search
(new page)
 
(2.7.8.b1 declaration change)
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
   Event handler type: [[TOnRequestEvent]]
 
   Event handler type: [[TOnRequestEvent]]
 
   Event handler declaration:  
 
   Event handler declaration:  
     function ('''Ip''': string; '''Port''': Word; '''State''': Byte; '''Forwarded''': Boolean; '''Password''': string): Integer;
+
     function ('''Ip''', '''Hw''': string; '''Port''': Word; '''State''': Byte; '''Forwarded''': Boolean; '''Password''': string): Integer;
  
 
==Description==
 
==Description==
Event property called when a player joins the server.
+
Event property called when a player connects with a server in order to join.
 
<br>  
 
<br>  
 +
 +
{| class="wikitable"
 +
|-
 +
! State Value !! Description
 +
|-
 +
| 1 || OK
 +
|-
 +
| 2 || Wrong Soldat version
 +
|-
 +
| 3 || Wrong password
 +
|-
 +
| 4 || Banned
 +
|-
 +
| 5 || Server full
 +
|-
 +
| 6 || Duplicate IP
 +
|-
 +
|}
  
 
==Example==
 
==Example==
 +
Example allows players to join even if they enter wrong password
 
<syntaxhighlight lang="pascal">
 
<syntaxhighlight lang="pascal">
  procedure SpecOnJoin(Player: TActivePlayer; Team: TTeam);
+
  function MyOnRequestHandler(Ip, Hw: string; Port: Word; State: Byte; Forwarded: Boolean; Password: string): Integer;
 
  begin
 
  begin
   Player.Team := 5;
+
   if (State = 3) then
 +
    State := 1;
 +
  Result := State;
 
  end;
 
  end;
  
Line 19: Line 40:
  
 
  begin
 
  begin
   // assign OnJoin handler
+
   // assign OnRequest handler
   Game.OnJoin := @SpecOnJoin;
+
   Game.OnRequest := @MyOnRequestHandler;
  
 
   // ...
 
   // ...
  
 
   // unassign
 
   // unassign
   Game.OnJoin := nil;
+
   Game.OnRequest := nil;
 
  end;
 
  end;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[Category:TGame]]
+
[[Category:TGame]][[Category:Events]]

Latest revision as of 10:35, 4 October 2014

property OnRequest
 Access mode: RW
 Event handler type: TOnRequestEvent
 Event handler declaration: 
   function (Ip, Hw: string; Port: Word; State: Byte; Forwarded: Boolean; Password: string): Integer;

Description

Event property called when a player connects with a server in order to join.

State Value Description
1 OK
2 Wrong Soldat version
3 Wrong password
4 Banned
5 Server full
6 Duplicate IP

Example

Example allows players to join even if they enter wrong password

 function MyOnRequestHandler(Ip, Hw: string; Port: Word; State: Byte; Forwarded: Boolean; Password: string): Integer;
 begin
   if (State = 3) then
     State := 1;
   Result := State;
 end;

 // ...

 begin
   // assign OnRequest handler
   Game.OnRequest := @MyOnRequestHandler;

   // ...

   // unassign
   Game.OnRequest := nil;
 end;