Type per UDP verschicken
Übersicht

DerSpuckBetreff: Type per UDP verschicken |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
Möchte ganz gerne von einen Server aus auf einen Client Monster Positionen verschicken. Die Monster sind in Types gespeichert. Ich lasse den Client eine Meldung schicken und der Server schickt dann die Monster daten. Das klappt aber leider nur mit einen Monster der dann auch noch falsche Daten bekommen hat. Server: Code: [AUSKLAPPEN] For Client.Client = Each Client If Client\IP = UDPMsgIP(UDP) Then WriteByte UDP, 2 For Monster.Monster = Each Monster WriteShort UDP, Monster\PosX WriteShort UDP, Monster\PosY SendUDPMsg UDP, Client\IP, Client\Port Next EndIf Next End Select EndIf Client: Code: [AUSKLAPPEN] Case 2 For Monster.Monster = Each Monster Monster\PosX = ReadShort(UDP) Monster\PosY = ReadShort(UDP) Next Denke es liegt an der Schleife... Kriege das Problem leider nicht in griff und hoffe das ich Hilfe bekomme : ) . MfG DerSpuck ![]() |
||
Lastsamurai |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Case 2 For Monster.Monster = Each Monster Monster\PosX = ReadShort(UDP) Monster\PosY = ReadShort(UDP) Next Hi, also das Problem das du nur 1 Monster siehst liegt daran, dass du die Daten jedes Monsters immer wieder überschreibst. Du musst in der Schleife einen neuen Typeeintrag für jedes neue Monster machen. Code: [AUSKLAPPEN] Case 2 For Monster.Monster = Each Monster Monster.Monster = New Monster <---- Monster\PosX = ReadShort(UDP) Monster\PosY = ReadShort(UDP) Next Obwohl ich mir nichtmal sicher bin ob du ne Variable genauso nennen drafst wie das Type selber ^^ MfG. LastSamurai |
||
DerSpuck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für deine Antwort... : )
Monster.Monster darf ich die nennen ; ) Und das mit dem New mache ich schon bereits voher. Code: [AUSKLAPPEN] For X=0 To MapX For Y=0 To Mapy If Map(X,Y,6)>0 Then Monster.Monster = New Monster Monster\Name$ = "Ratte" Monster\Typ$ = "Tier" Monster\HP = 10 Monster\HPMax = 10 Monster\PosX = X Monster\PosY = Y EndIf Next Next Somit weiß der Client am Anfang wo alle stehen, Offline stehen die auch genau richtig. Aber sofort nachdem die ersten Daten angekommen sind, sind die weg. Der Server hat auch die richtigen Positionen noch.. Hab ich mal nachgeprüft. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das wird so nie funktionieren.
Du musst dir ghosting mechanismen überlegen. Das heisst: Die Objekte die vom Server verwaltet werden müssen: 1. eine eindeutige ID haben (eine Nummer die kein anderes Objekt dieser Klasse haben darf) 2. Diese ID Steht in allen "Update" und "Create" Paketen drin 3. Der Client erzeugt/updated dann die Types nur noch entsprechend der Pakete. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
DerSpuck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eindeutige ID? Es gibt nur diese Art von Monstern.. also ratten^^
Also muss ich die Ratten durchnummerieren ? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jepp
Woher will sonst der Client wissen von welcher Ratte er die Position updaten soll? Göttliche Eingabe hilft da meist nix |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
DerSpuck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, Ich probier das mal aus : )
Danke für deine Hilfe. ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group