Lan ins Spiel einbauen.

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Roma3ht

Betreff: Lan ins Spiel einbauen.

BeitragSa, Dez 20, 2008 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute.. Ich habe in der suche nix passendes gefunden und da dachte ich mir ich mach mal ein theard auf.. undzwar möchte ich in mein spiel lan einbauen..hab aber keine ahnung wie.. giebt es dazu ein tut oder so ? Smile

ozzi789

BeitragSa, Dez 20, 2008 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Online Hilfe!
Wenn du die Sampels mal anschaust+probierst kannst ja wieder posten.
(schau dir UPD und TCP an)
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Roma3ht

BeitragSa, Dez 20, 2008 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mir ein paar beispiele angekuckt.. welche befehle benötige ich genau für die verbindung und erstellung..weil mein spiel ist ja kein chat..da ist es schwieriger sowas zu machen denk ich.
 

DjDETE

BeitragSa, Dez 20, 2008 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Unterschied zwischen einem Spiel und einem Chat ist nur, dass du anstatt Nachrichten Koordinaten, etc. versendest. Das machst du aber vom Prinzip her genauso. Du kannst ja z.B. ein X vorne an die Nachricht hängen, wenn es sich um die X-Koordinate handelt, ein Y, wenn es sich um die Y-Koordinate handelt, ein G wenn es sich um den Gesundheitszustand handelt,... . Wenn du die Nachricht dann empfängst, musst du nur den 1. Buchstabe vom Rest der Nachricht trennen.
MfG DeTe
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

ozzi789

BeitragSa, Dez 20, 2008 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
CreateUDPStream
WriteByte / Writeline
ReadByte / Readline

Ob Chat oder Game alles das gleiche, du tauscht Daten aus Smile

Es gab vor kurzem einen BCC, das Thema davon war Lan/Netzwerk Games
https://www.blitzforum.de/foru...hp?t=29284
Vlt kannst du dir dort das eine oder andere Angugen/Abgugen Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Tankbuster

BeitragSa, Dez 20, 2008 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Hab mir ein paar beispiele angekuckt.. welche befehle benötige ich genau für die verbindung und erstellung..weil mein spiel ist ja kein chat..da ist es schwieriger sowas zu machen denk ich.

Bittesehr. Eine deutsche erklärung zu allen Netzwerkbefehlen Wink
https://www.blitzforum.de/help/?cat=3

DjDETE hat Folgendes geschrieben:
Der Unterschied zwischen einem Spiel und einem Chat ist nur, dass du anstatt Nachrichten Koordinaten, etc. versendest. Das machst du aber vom Prinzip her genauso. Du kannst ja z.B. ein X vorne an die Nachricht hängen, wenn es sich um die X-Koordinate handelt, ein Y, wenn es sich um die Y-Koordinate handelt, ein G wenn es sich um den Gesundheitszustand handelt,... . Wenn du die Nachricht dann empfängst, musst du nur den 1. Buchstabe vom Rest der Nachricht trennen.
MfG DeTe


Nja, das stimmt mehr oder weniger schon. Für die meisten Spiele wäre es aber besser, wenn man immer ein komplettes Packet mit allen nötigen Koordinaten, ect verschickt. Nicht nur immer die einzelnen Positionen.

1. 1 Byte -> für die Art der Nachricht (z.B. Chat=2 oder Positionsangaben=1, oder iwas anderes)
2. Positionen oder Chat-Inhalt -> Je nach der Art, wie die Nachricht ausgelesen werden soll

Aufbau der Nachricht:

Zitat:

;Beispiel für Positions-Senden
WriteByte(stream,1)
WriteFloat(stream,EntityX(lala))
WriteFloat(stream,EntityY(lala))
WriteFloat(stream,EntityZ(lala))
WriteFloat(stream,EntityYaw(lala))
SendUDPMsg()

;Beispiel für Chat-Senden
WriteByte(stream,2)
WriteString(stream,Chat_Eingabe$)
SendUDPMsg()



Das Auslesen der Nachricht könnte dann so aussehen:

Zitat:
;Beispiel für Nachricht empfangen
Byte=ReadByte(stream)
If Byte=1 Then
____X=ReadFloat(stream)
____Y=ReadFloat(stream)
____Z=ReadFloat(stream)
____Rot=ReadFloat(stream)
ElseIf Byte=2 Then
____chat_msg=ReadLine(stream)
Endif



Man merkt, dass das Byte, was am Anfang gesendet wird nur dazu da ist, damit der Server weiß, wie er die Nachfolgende Nachricht behandeln muss.

Ich hoffe, ich konnte helfen.
Twitter
Download Jewel Snake!
Windows|Android

The_Nici

BeitragSa, Dez 20, 2008 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man es einfach will, kann man für LAN einfach DirectPlay nehmen, dann muss man aber damit rechnen dass dank der schlampigen Arbeit von Microsoft man schnell Nachrichtenstaus ab 4 Spielern bekommt. (Das hab ich von peacemak3r erfahren. Traurig aber wahr.)
Ansonsten ist DirectPlay einfach zu bedienen.

MfG
 

Roma3ht

BeitragSa, Dez 20, 2008 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Nici ich werds gleich versuchen.
 

BIG BUG

BeitragSo, Dez 21, 2008 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Direct Play ist schrott. Einfach so tuen als gäbe es das nicht. Fertig.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Roma3ht

BeitragSo, Dez 21, 2008 16:22
Antworten mit Zitat
Benutzer-Profile anzeigen
hhmm... wenns schrott ist für was wurde es dann gebaut ? was kann man damit sonst noch so machen ?

ozzi789

BeitragSo, Dez 21, 2008 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Frage nicht nach dem Sinn wen Microsoft die Finger im Spiel hat Wink
Eben wie gesagt für das Versenden von Daten gibt es 2 Tolle Protokolle UPD und TCP!
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Roma3ht

BeitragSo, Dez 21, 2008 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann ich auch mit UDP daten versenden ? also Bytes ? wenn ja wie mach ich das so unegfähr weil ich kenn das nur bei speichern oder öffnen WriteByte und so.. kann man das auch bei UDP verwenden ? wenn ja wie ?

Smile > Sorry für 2 mal wie frage.

ozzi789

BeitragSo, Dez 21, 2008 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/help/SendUDPMsg
Kurze Erklärung

Senden
Du öffnest einen Steam, CreateUDPStream
Dann schreibst deine Bytes in den so eben erstellten Stream
Schlussendlich schickst dein geschriebenes ab, SendUDPMsg

Empfangen

Du öffnest den Stream
Danach empfängst des Zeug mit RecvUDPMsg
und liest es mittels readbyte aus.


Wichtig ist es einen freien Port bei CreateUPDStream zu nehmen nimm zmb 8000 und achte darauf das deine Firewall/Router den Port nicht sperrt Wink


mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Roma3ht

BeitragSo, Dez 21, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke^^ das Problem ist ich muss noch den Router sagen das er die freigeben soll.. giebt es ports die immer offen sind ?

ozzi789

BeitragSo, Dez 21, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ka kommt auf dein Teil draufan probier mal 8000
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Roma3ht

BeitragSo, Dez 21, 2008 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso umbedingt 8000 ? war die bei dir auch frei ?

ozzi789

BeitragSo, Dez 21, 2008 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
OMG probieren geht über studieren, auf der Hilfe seite hats ja nen Code zum das Testen.
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

The_Nici

BeitragSo, Dez 21, 2008 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann normalerweise beim Router die Ports öffnen. Router haben normalerweise immer ein Benutzerinterface welches über die IP erreichbar ist. Um die IP des Routers herauszufinden, starte die cmd.exe und gebe folgenden Befehl ein:
ipconfig
Die IP bei "Standardgateway" ist die IP des Routers.
Wie du bei deinem Router Ports forwardest, erfährst du unter www.portforwarding.com.

MfG
 

BIG BUG

BeitragSo, Dez 21, 2008 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
DirectPlay war ein Versuch auch Netzwerkstuff in DirectX bereitzustellen. Microsoft hat Ende 2007 selbst eingesehen, dass das nix taugt und die entsprechende Funktionalität aus dem DirectX-SDK entfernt.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Roma3ht

BeitragSo, Dez 21, 2008 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal noch ne frage: Ich habe Scrollx und Scrolly wie kann ich machen das es nur bis eine bestimmte position scrollen kann ? also wenn x und y 0 errreicht haben sie nicht mer in die negative scroll ebene scrollen können.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group