Hilfe

SendNetMsg

B2D B+ B3D

Aufruf

Wert = SendNetMsg (Code, Nachricht$, Von [,Nach] [,Wichtig])

Parameter

Code Nachrichtkennung 1-99
Nachricht$ beliebige Textnachricht
Von Identität des Spielers (ermittelt mit CreateNetPlayer)
Nach Identität des Spielers (ermittelt mit CreateNetPlayer). Bei 0 wird es an alle gesendet!
Wichtig 0=normal, 1=wichtige Nachricht (schneller und Standard)


Rückgabewert

Liefert bei erfolgreichem übertragen eine 1 zurück


Beschreibung

Dieser Befehl sendet eine Nachricht über ein Netzwerk zu einem Spieler.
"Code" kann nur ein Wert von 1 bis 99 sein, der eine benutzerdefinierte Kennung angibt. "Von" und "Nach" sind Integerwerte, die mit CreateNetPlayer ermittelt wurden. Wird "Wichtig" auf 1 gesetzt, dann wird die Nachricht 3x schneller übertragen.


Zusatzinformation

Um diesen Befehl zu benutzen, muss man vorher entweder StartNetGame oder JoinNetGame ausführen. Danach muss man mit CreateNetPlayer einen Spieler erstellen. Die Nachricht wird mit RecvNetMsg empfangen. Benutze danach NetMsgFrom um die Spieler-Identität zu ermitteln.
Benutze NetMsgData, NetMsgFrom NetMsgTo und NetMsgType, um weitere wichtige Informationen zu ermitteln. Benutze auch SendNetMsg, um eine Nachricht ins Netzwerk zu verschicken.


Beispiel

Standardbeispiel:

Graphics 640, 480, 16
SetBuffer BackBuffer()
Type multi
   Field x
   Field y
   Field id
   Field name$
   Field xspeed
   Field boxColor
End Type

joinStatus = HostNetGame("ShaneGame")
If joinStatus = 2 Then
   Print "Spiel gestartet... "
Else
   Print "Spiel konnte nicht gestartet werden!"
   End
EndIf

For t = 1 To 5
   player.multi = New multi
   player\ID = CreateNetPlayer("Player" + t)
   If player\ID <> 0 Then
      player\name$ = "Player" + t
      player\x = Rand(640)
      player\y = Rand(480)
      player\boxColor = Rand(255)
      player\xspeed = Rand(1, 5)
      Print "Spieler " + t + " hat ID=" + player\ID
   Else
      Print "Spieler konnte nicht erstellt werden!"
   EndIf
Next

Print "Alle Spieler eingebunden..."
WaitKey()

While Not KeyHit(1)
   Cls
   For player = Each multi
      Color player\boxColor, player\boxColor, player\boxColor
      Rect player\x, player\y, 10, 10, 1
      Text player\x - 10, player\y - 15, player\name$
      player\x = player\x + player\xspeed
      If player\x > 640 Or player\x < 0 Then
         player\xspeed = - player\xspeed
         message$ = "Spieler ID #" + player\ID + " beruhrte Wand"
         SendNetMsg (Rand(1, 99), message$, player\id, 0)
         
      EndIf
   Next
   Flip
Wend
End


Siehe auch

NetMsgData, NetMsgFrom, NetMsgTo, NetMsgType, NetPlayerLocal, NetPlayerName, RecvNetMsg

Übersicht Netzwerk DirectPlay