Problem mit DirectPlay

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Czybik88

Betreff: Problem mit DirectPlay

BeitragMo, Jan 08, 2007 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Sers

Ich habe ein Problem mit directplay, weiß aber nicht wo der Fehler liegt.
Server/Client geben immer die Daten aus, die sie bekommen, aber wenn
man eine Nachricht schickt, wird sie nicht ausgegeben o.O
Hier mein Code:

Code: [AUSKLAPPEN]

;Server
AppTitle "server"

haha = HostNetGame("test")
If haha <> 2 Then
End
End If
rofl = CreateNetPlayer("server")

While Not KeyDown(1)
   var=RecvNetMsg()
   nachricht=NetMsgType()
   ;If (nachricht>=1 And nachrocht<=99) Then
      spieler_nummer = NetMsgFrom()
       spieler_name$ = NetPlayerName$(spieler_nummer)
       nachricht = NetMsgData$()
       Text 20,30, nachricht
   ;End If
If KeyHit(200) Then
SendNetMsg(99,"Hallo",rofl,spieler_nummer,0)
End If

Wend

End


Code: [AUSKLAPPEN]

;Client
AppTitle "client"

muha = JoinNetGame("test","127.0.0.1")
If muha = 1 Then
me = CreateNetPlayer("spieler1")
Else
End
End If

While Not KeyDown(1)
   var=RecvNetMsg()
   nachricht=NetMsgType()
   ;If (nachricht>=1 And nachrocht<=99) Then
      spieler_nummer = NetMsgFrom()
       spieler_name$ = NetPlayerName$(spieler_nummer)
       nachricht = NetMsgData$()
       Text 20,30, nachricht
   ;End If
   
   If KeyHit(200) Then
   SendNetMsg(99,"Hallo",me,spieler_nummer,0)
   End If
Wend

End


Würde mich über hilfe freuen!

MfG

Eingeproggt

BeitragMo, Jan 08, 2007 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Dort, wo du die Nachricht abfragen willst, steht

Code: [AUSKLAPPEN]

;If (nachricht>=1 And nachrocht<=99) Then


Das ist ein bisschen unsinnig, oder? Very Happy
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Smily

BeitragMo, Jan 08, 2007 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Eingeproggt hat Folgendes geschrieben:
Dort, wo du die Nachricht abfragen willst, steht

Code: [AUSKLAPPEN]

;If (nachricht>=1 And nachrocht<=99) Then


Das ist ein bisschen unsinnig, oder? Very Happy


Wieso? das ändert eigentlich nichts.

Ich würde es allerdings mal so versuchen:

Code: [AUSKLAPPEN]
;Server
AppTitle "server"

haha = HostNetGame("test")
If haha <> 2 Then
End
End If
rofl = CreateNetPlayer("server")

While Not KeyDown(1)
   var=RecvNetMsg()
   if var
   nachricht=NetMsgType()
      spieler_nummer = NetMsgFrom()
       spieler_name$ = NetPlayerName$(spieler_nummer)
       nachricht = NetMsgData$()
       Text 20,30, nachricht
   End If
If KeyHit(200) Then
SendNetMsg(99,"Hallo",rofl,spieler_nummer,0)
End If

Wend

End


Code: [AUSKLAPPEN]
;Client
AppTitle "client"

muha = JoinNetGame("test","127.0.0.1")
If muha = 1 Then
me = CreateNetPlayer("spieler1")
Else
End
End If

While Not KeyDown(1)
   var=RecvNetMsg()
   if var
   nachricht=NetMsgType()
   If (nachricht>=1 And nachrocht<=99) Then
      spieler_nummer = NetMsgFrom()
       spieler_name$ = NetPlayerName$(spieler_nummer)
       nachricht = NetMsgData$()
       Text 20,30, nachricht
   End If
   If KeyHit(200) Then
   SendNetMsg(99,"Hallo",me,spieler_nummer,0)
   End If
Wend

End


Ich habs jetzt nicht ausprobiert, sollte aber funzen.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

Czybik88

BeitragMo, Jan 08, 2007 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Smily0412 hat Folgendes geschrieben:


Ich habs jetzt nicht ausprobiert, sollte aber funzen.



Nein, leider geht es immer noch nicht... Sad

Ich kann da einfach keinen Fehler finden.... Sieht für mich grad alles
logisch aus, aber es geht net o.O

Smily

BeitragMo, Jan 08, 2007 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Soo jetzt sollte es aber gehen ^^
die Variable Spielernummer wird bei beiden Programmen erst zugeordnet, wenn sie schon eine Nachricht bekommen haben. Aber ohne diese spielernummer können sie keine Nachricht verschicken.
Deswegen ging es nicht.

Gruß, Smily0412

Code: [AUSKLAPPEN]
;Client
Graphics 800,600,16,2
AppTitle "client"

muha = JoinNetGame("test","127.0.0.1")
If muha = 1 Then
me = CreateNetPlayer("spieler1")
Else
End
End If

While Not KeyDown(1)
   var=RecvNetMsg()
   If var
   nachricht=NetMsgType()
      spieler_nummer = NetMsgFrom()
       spieler_name$ = NetPlayerName$(spieler_nummer)
       nachrichttxt$ = NetMsgData$()
       Text 20,30, nachrichttxt$: Flip
   End If
   If KeyHit(200) Then
   SendNetMsg(99,"Hallo",me,0,0)
   End If
Wend

End


Code: [AUSKLAPPEN]
;Server
Graphics 800,600,16,2
AppTitle "server"

haha = HostNetGame("test")
If haha <> 2 Then
End
End If
rofl = CreateNetPlayer("server")

While Not KeyDown(1)
   var=RecvNetMsg()
   If var
   nachricht=NetMsgType()
      spieler_nummer = NetMsgFrom()
       spieler_name$ = NetPlayerName$(spieler_nummer)
       nachrichttxt$ = NetMsgData$()
       Text 20,30, nachrichttxt$: Flip
   End If
If KeyHit(200) Then
SendNetMsg(99,"Hallo",rofl,0,0)
End If

Wend

End
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

Czybik88

BeitragMo, Jan 08, 2007 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
mmhh das verstehe ich nun nicht,...

du hast ja jetzt bei SendNetMsg() beim Paramenter
des Empfängers eine 0 angegeben. Also wird die Nachricht
an keinen verschickt oder?

Er zeigt halt immernoch als Nachricht eine 0 an
Ich habe nun hinugefügt, dass er den Sendernamen anzeigt, das geht.
Aber die Nachricht ist eine 0

Ach ja, nachricht$ = NetMsgData() geht bei mir nicht also die variable
darf nicht vom Typ String sein

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group