  | 
					
						Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!   
						
						
					 | 
				 
			 
			 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 02.12.2012, 12:21    Titel: TSNE_Play SendMSG Problem | 
				     | 
			 
			
				
  | 
			 
			
				Hay
 
 
Ich habe hier einen kleinen Client und einen Server mit TSNE_Play geschaffen. Der Client soll dem Server pro Schleifendurchlauf die Koordinaten des Spielers senden. Beim Server kommen die Daten allerdings nicht an. Die Schleife des Clients sieht so aus:
 
 	  | Code: | 	 		  Do
 
   Sleep 1,1
 
   If playermove=1 Then 'Bewegt sich der Spieler?
 
      'Wenn ja, dann Koordinaten senden
 
      TSNEPlay_SendMSG(0,Str(EntityX(cam)))
 
      TSNEPlay_SendMSG(0,Str(EntityY(cam)))
 
      TSNEPlay_SendMSG(0,Str(EntityZ(cam)))
 
   End If
 
Loop Until Inkey=Chr(27) | 	  
 
EntityX,EntityY und EntityZ sind die Koordinaten des Spielers.
 
 
Der Server sieht so aus:
 
 	  | Code: | 	 		  netzwerk = TSNEPlay_CreateServer(10, 1234, "Server", "", @TSNEPlay_ConnectionState, _
 
           @TSNEPlay_Player_Connected, @TSNEPlay_Player_Disconnected, @TSNEPlay_Message, @TSNEPlay_Move, _
 
           @TSNEPlay_Data)
 
If netzwerk <> TSNEPlay_NoError Then Print "[ERROR] "; TSNEPlay_Desc_GetGuruCode(netzwerk): End -1
 
 
Dim As TSNEPlay_State_Enum TState, TStateL
 
Dim tot As Double = Timer() + 10
 
 
Do Until Inkey=Chr(27)
 
   TState = TSNEPlay_Connection_GetState
 
   If TStateL <> TState Then
 
    TStateL = TState
 
    Select Case TState
 
      Case TSNEPlay_State_Disconnected, TSNEPlay_State_Ready: Exit Do
 
    End Select
 
   End If
 
   Sleep 1,1
 
   If tot < Timer() Then Exit Do
 
Loop
 
 
TState = TSNEPlay_Connection_GetState
 
If TState <> TSNEPlay_State_Ready Then
 
   Print "Verbindung zum Server fehlgeschlagen!"
 
   End -1
 
Else
 
   Print "Verbindung erfolgreich"
 
End If
 
 
Do
 
  Sleep 1,1
 
Loop Until Inkey = Chr(27) | 	  
 
Sobald der Client die Daten sendet, gibt der Server in der Schleife allerdings nur "Nachricht von : " aus. Die Sub, welche die Datenwiedergabe ausgeben tut, sieht beim Server so aus:
 
 
 	  | Code: | 	 		  Sub TSNEPlay_Message(Byval von As Uinteger, Byval nachricht As String,Byval typ As TSNEPlay_MessageType_Enum)
 
  Print "Nachricht von "&": "&nachricht
 
End Sub | 	  
 
Eigentlich sollte die Nachricht "Nachricht von : 0" heißen. Die Koordinaten kommen leider nicht beim Server an. Weiß da jemand Rat?    | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 02.12.2012, 13:01    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				du missverstehst das commando.
 
 
TSNEPlay_SendMSG ist da um >Nachrichten< zu senden. Sprich, realen Text .. PN, Messages, Spieler-Kommunikation, chat, ...
 
 
zum übertragung von koordinaten gibt es da ein
 
 
 	  | Code: | 	 		  Function TSNEPlay_SendMove(V_ToPlayerID as UInteger, V_NewPositonX as Double = 0, V_NewPositonY as Double = 0, V_NewPositonZ as Double = 0, ByVal V_SubData as UInteger = 0) as TSNEPlay_GURUCode
 
 | 	  
 
 
hier kommen dann auch die daten über das:
 
 	  | Code: | 	 		  
 
Sub TSNEPlay_Move(ByVal V_FromPlayerID as UInteger, ByVal V_ToPlayerID as UInteger, ByVal V_NewPositionX as Double, ByVal V_NewPositionY as Double, ByVal V_NewPositionZ as Double, ByVal V_SubData as UInteger)
 
'Print "[BEWEGUNG]   Von PlayerID:"; V_FromPlayerID; "   Fuer PlayerID:"; V_ToPlayerID; "   Position (X/Y/Z):"; V_NewPositionX; " "; V_NewPositionY; " "; V_NewPositionZ; "   SubData:"; V_SubData
 
End Sub | 	  
 
 
an.
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 02.12.2012, 13:19    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ohja, tatsächlich. Danke.    | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 23.02.2013, 14:25    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Jetzt brauche ich allerdings wirklich SendMSG für meinen Chat. Die Nachricht kommt beim Server nie an, lediglich die Information von wem die Nachricht stammt. Der Code vom Server dafür
 
 	  | Code: | 	 		  Sub TSNEPlay_Message(Byval von As Uinteger, Byval nachricht As String,Byval typ As TSNEPlay_MessageType_Enum)
 
  Print "Nachricht von " & von & ": " & nachricht
 
End Sub | 	  
 
erzeugt die Ausgabe "Nachricht von 2:"
 
Der Code vom Client
 
 	  | Code: | 	 		  Sub TSNEPlay_Message(Byval von As Uinteger, Byval nachricht As String,Byval typ As TSNEPlay_MessageType_Enum)
 
   Draw String (10,10),Str(von)+": "+nachricht
 
End Sub | 	  
 
erzeugt die Ausgabe "2:"
 
 
Zum Senden der Nachricht nutze ich den Code hier:
 
 	  | Code: | 	 		  | TSNEPlay_SendMsg(0,chattext) | 	 
 
  Zuletzt bearbeitet von Westbeam am 23.02.2013, 14:33, insgesamt einmal bearbeitet | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 23.02.2013, 14:28    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				versuch mal stat "chattext" ein "nachricht"  
 
 
 	  | Code: | 	 		  Sub TSNEPlay_Message(Byval von As Uinteger, Byval nachricht As String,Byval typ As TSNEPlay_MessageType_Enum)
 
   Draw String (10,10),Str(von)+": "+nachricht
 
End Sub | 	  
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 23.02.2013, 14:33    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Tut mir Leid, ich habe den Code nur kurz abgeschrieben, in meinem Code steht auch "nachricht", statt "chattext".    
 
 
Funktioniere, du doofer Chat.    | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 23.02.2013, 14:35    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				schau mal pls, ob du die aktuelle tsneplay hast... in der alten gabs da n fehler bei textnachrichten mit einer lenge von <= 4.
 
 
aber, du kannst es mit
 
TSNEPlay_SendMsg(0, "TESTTEST")
 
versuchen. wenn das geht, aber 
 
TSNEPlay_SendMsg(0, "ABC")
 
nicht, dann hast du noch ne alte version mit diesem Bug.
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 23.02.2013, 14:48    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Mit dem neuen TSNEPlay kommen die Nachrichten auch beim Client an, nur im Server sehe ich sie nicht.    | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 23.02.2013, 14:52    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				also, wenn Move und data ereignisse beim localem clienten (server-client) ankommen, dann sollte das msg auch ankommen. Wenn nicht, dann stimmt was nicht mit dem pointer auf die empfangs-structur.
 
 
kannst du mal deine "TSNEPlay_CreateServer()" posten?
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 23.02.2013, 14:56    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Code: | 	 		  netzwerk = TSNEPlay_CreateServer(10, 1234, "Server", "", @TSNEPlay_ConnectionState, _
 
           @TSNEPlay_Player_Connected, @TSNEPlay_Player_Disconnected, @TSNEPlay_Message, @TSNEPlay_Move, _
 
           @TSNEPlay_Data) | 	 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 23.02.2013, 14:59    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				hmmmm .... kurios ... normaler weise sollte das schon funzen.
 
muss ich mir mal genauer ansehen.
 
 
PS: netzwerk is der Return GuruCode vom funktionsaufruf.
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Westbeam
 
  
  Anmeldungsdatum: 22.12.2009 Beiträge: 760
 
  | 
		
			
				 Verfasst am: 23.02.2013, 15:00    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ist ja nicht so schlimm, Hauptsache der Client empfängt die Nachrichten.    
 
Ich danke dir. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		ThePuppetMaster
 
  
  Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
  | 
		
			
				 Verfasst am: 25.02.2013, 04:32    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Noch als Anmerkung. Eine "0" am Ende hat Westbeam's Problem gelöst.
 
 
 	  | Code: | 	 		  
 
..., @TSNEPlay_Move, @TSNEPlay_Data, 0)
 
 | 	  
 
 
 
MfG
 
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
  | 
   
 
     |