Mehrere Instance im Online Game

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mehrere Instance im Online Game

    Tach,
    und zwar möchte ich folgendes hinbekommen. (mit der 39dll)
    Wenn ich einen Pistole habe und damit Schieße wird ein instance "kugel" gecreatet.
    Und im Step event habe ich die übertragungs daten!

    Nur da man ja meistens auch mal schießt wenn die andere "kugel" noch unterwegs ist. (also man erstellt 2 mal das object "kugel")
    verträgt sich das step event nicht mit der jeweiligen anderen. so werden dann beide kugeln nur noch als eine angezeigt, da ja beide das gleiche step event haben, aber ja nur eins aus gelesen werden kann.

    Ich hoffe ihr habt kapiert was ich meine. Also 2 gleiche bewegliche objecte im Online modus an 2 unterschiedlichen positionen anzeigen lassen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Yeah3 ()

  • speichere die kugeln in einem array
    dann gibst du diese im step event bei der übertragung an

    array[0] = instance_create(x,y,kugel)

    oder in einer liste, weis aber nicht wie das im gm läuft (habe auch keine hilfe im moment)
    PI 0%(IN PROGRESS)
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]

    Engine : 0.0 %
    KI : 0.0 %
    Grafik : 0.0%
    Sounds: 0.0 %
    Multiplayer: 0.0%

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von bigmek ()

  • Bezüglich dessen solltest du dir einmal Data Structures anschauen und die netten write- und read- Befehle dazu. Diese bieten dir die Möglichkeit, den gesamten Inhalt einer Datastructure in einem String zu verschicken.

    Geht man davon aus, dass es sich bei Multiplayerbefehlen ähnlich verhält wie bei draw_point und draw_line (also dass 100 Punkte zeichnen langsamer ist als eine Linie mit 100 Pixeln), ist das evtl. sogar besser als viele kleine Pakete.
  • du erstellst dir eine Variable array //kannst sie nennen wie du willst
    und eine Variable arrayCount

    die beiden variablen müssen natürlich global sein

    in dem create_event von dem schuss machst du

    GML-Quellcode

    1. array[arrayCount] = instance_create(x,y,deinObjetk)
    2. array[arrayCount].myNumber = arrayCount
    3. arrayCount++



    dann schickst du mit der 39dll eine nachricht an die anderen benutzer
    in der nachricht muss der arrayCount drinnen stehen//weis nicht wie die 39dll funktioniert benutze die normalen gm funktionen

    da wo du die nachrichten von anderen pc's empfängst machst du

    GML-Quellcode

    1. array[arrayCount] = instance_create(x,y,deinObjetk)
    2. array[arrayCount].myNumber = arrayCount
    3. arrayCount++


    wenn eines der objekte zerstört wird machst du in seinem destroy event

    GML-Quellcode

    1. if (arrayCount > 1)
    2. {
    3. for (i = myNumber; i < arrayCount+1; i = i + 1)
    4. {
    5. array[i] = array[i+1]
    6. }
    7. array[myNumber] = 0
    8. }
    9. else
    10. {
    11. array[myNumber] = 0
    12. }
    Alles anzeigen


    danach schickst du wieder eine nachricht an den in der die myNumber enthalten sein muss.

    ps: i und myNumber müssen natürlich vorher in dem objetk definiert werden im create event
    PI 0%(IN PROGRESS)
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]

    Engine : 0.0 %
    KI : 0.0 %
    Grafik : 0.0%
    Sounds: 0.0 %
    Multiplayer: 0.0%

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von bigmek ()