directplay hilfe

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

sen-me

Betreff: directplay hilfe

BeitragMo, Aug 01, 2005 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hi
ich wollt mal was testen

ich hab den server und ich gebe einem den client

servercode:
BlitzBasic: [AUSKLAPPEN]
Graphics 640, 480,16,2
spiel = HostNetGame(\"Korsaren-test-game\")
If spiel=2
Print \"Spiel gestartet!\"
spieler = CreateNetPlayer(\"sen-me\")
Repeat
If RecvNetMsg() Then
spieler_nummer = NetMsgFrom()
spieler_name$ = NetPlayerName$(spieler_nummer)
If NetMsgType() <= 99 And NetMsgType() >= 1 Then
nachricht$ = NetMsgData$()
Print \"Spieler: \"+spieler_name$+\"(\"+spieler_nummer+\") hat eine Nachricht gesendet: \"+nachricht$
EndIf
EndIf
If KeyHit(28) Then
nachricht$=Input(\"Nachricht:\")

SendNetMsg Rnd(1,99), nachricht$, spieler, spieler_nummer, 1
EndIf
Until KeyHit(1)
StopNetGame
End
Else
Print \"Konnte Spiel nicht starten!\"
WaitKey()
EndIf


clientcode:
BlitzBasic: [AUSKLAPPEN]
Graphics 640, 480,16,2
ip$=Input(\"Host-IP eingeben:\")
spiel = JoinNetGame(\"Korsaren-test-game\", ip$)
If spiel=1
Print \"Spiel beigetreten!\"
name$=Input(\"Spielername eingeben:\")
spieler = CreateNetPlayer(name$)
If spieler=0
Print \"Konnte Spieler nicht erstellen!\"
WaitKey()
End
EndIf
WaitKey()
Repeat
If RecvNetMsg() Then
spieler_nummer = NetMsgFrom()
spieler_name$ = NetPlayerName$(spieler_nummer)
If NetMsgType() <= 99 And NetMsgType() >= 1 Then
nachricht$ = NetMsgData$()
Print \"Spieler: \"+spieler_name$+\"(\"+spieler_nummer+\") hat eine Nachricht gesendet: \"+nachricht$
EndIf
EndIf
If KeyHit(28) Then
nachricht$=Input(\"Nachricht:\")

SendNetMsg Rnd(1,99), nachricht$, spieler, spieler_nummer, 1
EndIf
Until KeyHit(1)
StopNetGame
End
Else
Print \"Konnte Spiel nicht beitreten!\"
WaitKey()
EndIf



mal paar fragen:
1. wie kann ich verhindern, das wenn ich return drücke (bei nachricht) das dan dauernd nach eingabe wieder nachricht: erscheint? (soll nur erscheinen wenn man enter drückt

2. wenn ich vom server schreibe aktualliesiert es sich nur beim client, wenn er auch ne nachricht schreibt, wie kann ich das ändern?

3. kann man bei print auch irgendwie nen zeilenumbruch ab ner gewissen länge einfügen? wenn ja, wie

bitte hilfe
 

Johannes

BeitragDo, Aug 04, 2005 10:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuch's mal:

zu 1) Vielleicht hilft es, wenn du in der If Keyhit(28)-Verzweigung vor dem Endif ein Delay einbaust (150-250 ms sollten reichen)

zu 2) Da wage ich mich nicht ran, von Netzwerkbefehlen hab ich 0 Ahnung

zu 3) Eigene Funktion schreiben! z.B. sowas

BlitzBasic: [AUSKLAPPEN]

Function Print_mit_Zeilenumbruch(string0$,ZeichenProReihe)
L=Len(string0)
If L>ZeichenProReihe Then
string1$=Left(string0,ZeichenProReihe)
string2$=Right(String0,ZeichenproReihe-L)
Print string1
Print String2
Else
Print string0 ;damit er auch dann geschrieben wird, wenn er kurz ist
EndIf
End Function

(Die Funktion kriegt aber bis jetzt nur einen Zeilenumbruch hin,
für mehr müsste sie noch erweitert werden.)

Ich hoffe, es funktioniert und hilft dir.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group