ATTENTION READERS! Lucky's VB Gaming Site is no longer active. For updated game programming information and tutorials, please visit The Game Programming Wiki!
Spielbeginn überwachen
Wenn ein Spiel gestartet wurde, müssen wir prüfen, wie viele
Leute dem Spiel beigetreten sind. In anderen Worten, wir listen die Spieler
auf.
Dim i As Integer
Dim intPlayersWaiting As Integer
Dim objEnumPlayers As DirectPlayEnumPlayers
Set objEnumPlayers = dp.GetDPEnumPlayers("",
0)
intPlayersWaiting = objEnumPlayers.GetCount
For i = 1 To intPlayersWaiting
LstBox.AddItem
objEnumPlayers.GetShortName(i)
Next
Dieser Code listet die Rufnamen aller verbundenen Spieler der momentanen
Session auf ("LstBox" bezieht sich wieder auf ein Listenfeld-Objekt). Der
Spieler (gewöhnlich der Host) kann diese Infos nutzen und dann entscheiden,
wann er das Spiel starten will.
Ein Spiel könnte z.B. für maximal vier Spieler gedacht sein,
der Host entscheidet aber, bereits mit nur drei Spielern anzufangen.
Wenn das Spiel einmal gestartet wurde, sollte der Host unterbinden, dass
neue Spieler später in die Session einsteigen können:
Dim objSessionData As DirectPlaySessionData
Set objSessionData = dp.CreateSessionData
dp.GetSessionDesc objSessionData
objSessionData.SetFlags objSessionData.GetFlags
Or DPSESSION_JOINDISABLED
dp.SetSessionDesc objSessionData
Fülle ein DirectPlaySessionData-Objekt mit den Daten der
Session. Benutze die bereits gesetzten Flags in Verbindung mit der DPSESSION_JOINDISABLED
Flag um das Einsteigen zu unterbinden. Wurden die Flags gesetzt, setze
die Daten der Session wieder, in dem du das selbe Objekt mit der Methode
DirectPlay4.SetSessionDesc
verwendest.