![]() |
MMOG Realisieren
Liste der Anhänge anzeigen (Anzahl: 1)
Im anhang habe ich was reingetant, es ist eine Art Tutorial / Demo wie man ein MMOG übers netzwerk mit glscene Realisiert.
Ich habe nur das Problem das ich nicht weiss wie man mit Byte umgeht, und deswegen wollte ich mir das mal erklären lassen. Ich möchte es lernen aber kann es mir immoment Selber nicht erklären. zb (Server):
Delphi-Quellcode:
Client:
procedure pSay();
var A:Array of byte; begin // end;
Delphi-Quellcode:
Beide functionen sind leer von haus aus, ich habe kein plan was da rein sollte.
procedure TFMain.Say(A: array of byte);
begin // end; Bitte helft mir das zu verstehen, danke euch :) |
Re: MMOG Realisieren
Zitat:
Was möchtest du also machen? Wenn du das rausgefunden hast, gib bitte deinem Thread einen aussagekräftigen Titel, der etwas zu deinem Problem aussagt. |
Re: MMOG Realisieren
Ich habe versucht mit hilfe eines Chats es zu verstehen, hat auch geklappt
Delphi-Quellcode:
type TChatNachricht = Record
Nickname: string[255]; Text: string[255] end; var Nachricht: TChatNachricht; begin Nachricht.NickName := 'sadsad'; Nachricht.Text := 'Willkommen'; Socket.SendBuf (Nachricht, SizeOf(Nachricht)); end; var Nachricht: TChatNachricht; begin Socket.ReceiveBuf (Nachricht, SizeOf(Nachricht)); Nachricht.Lines.Add (Nachricht.Nickname + ': ' + Nachricht.Text); end; Aber die Demo verstehe ich nicht, wie zb er die Packete Sendet . Ich sehe in jeder function nur einen Move(); das bringt mich etwas durcheinander
Delphi-Quellcode:
habe die ganzen Units durchsucht ....// Array vom server werden dann wohl in Targ ,Cur ,obj_id zugewiesen Move(A[3],obj_id,4); Move(A[7],Targ[0],4); Move(A[11],Targ[1],4); Move(A[15],Targ[2],4); Move(A[19],Cur[0],4); Move(A[23],Cur[1],4); Move(A[27],Cur[2],4); if User.Obj_id=Obj_id then begin User.Targ:=Targ; User.Position:=Cur; exit; end; CrL:=Char_List.index(obj_id); if CrL<>-1 then begin Char_List.Chars[CrL].Target:=Targ; Char_List.Chars[CrL].Position:=Cur; end; |
Re: MMOG Realisieren
Also was du machen willst, ist Daten vom Server zum Client zu übertragen und umgekehrt. Richtig? Mit Strings hast du es anscheinend hinbekommen mit Hilfe eines Chat Tutorials und jetzt willst du binäre Daten übertragen und das klappt nicht. Richtig? Es dürfte doch eigentlich nicht so schwer sein, sein konkretes Problem genau zu beschreiben.
So, welche Internetkomponentensammlung benzutzt du? Hast du dir schon mal die zugehörigen Demos angesehen? Am einfachsten dürfte die Übertragung mit Hilfe von Streams sein. |
Re: MMOG Realisieren
Zitat:
Ich hab mir die Demo nun grob angesehen und kann dazu folgendes sagen: Beim Senden und empfangen werden nach einigen mini-Überprüfungen die empfangenen Bytes in ein Array (A) geschrieben und anhand des Empfangenen OPCodes die Routine ausgeführt. In A[0] und A[1] steht die Länge der Daten, A[2] ist der OPCode, der besagt, was ausgeführt werden soll (userinfo, say etc.), ab da sind dann die eigentlichen Daten. Allem in Allem eine sehr simple Implementation für ein "Client / Server"-prinzip, das aber in der Praxis wohl kaum für ein MMO taugen würde, da keinerlei Sicherheiten beim Daten senden / empfangen bisher eingebaut wurden und die Daten von einem Client auch sehr leicht manipuliert werden können. Das Ganze ist eher ein "proof of concept", um Mesh-Positionen vom Client an den Server zu senden und von diesem wieder an alle Clients zu verteilen. Ich weiss ja jetzt leider nicht, was du damit eigentlich vorhast? Wenn ich das wüsste, könnte ich dir vielleicht einen TIP geben, wie man dein Vorhaben am leichtesten umsetzt. Ich arbeite auch derzeit mit GLScene und fuchse mich in das Zeug rein. Allerdings hat dein geschildertes Problem mit GLScene gar nichts zu tun, sondern eher mit TCP-Kommunikation, GLScene wird hier ja nur verwendet, um ein paar Kugeln, Würfel und eine Grasfläche anzuzeigen :) grüssle, Fin |
Re: MMOG Realisieren
Ich wollte gerade Vorschlagen, dass es mit Streams am einfachsten ist, aber da habe ich gesehen mir ist schon jemand zuvor gekommen :)
Ich arbeite selber an einem Chat und arbeite da mit Streams wenn du da anregungen brauchst dann kann ich dir da gerne weiterhelfen. |
Re: MMOG Realisieren
danke dir blackfin, dass ist genau das was ich wissen wollte :D
@XXcD lass uns über PN quatschen! Edit: Ich schaue mal ob ich es auch für die Praxis verstanden habe. Thx leute! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz