Variablenversendung im Multiplayer

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

  • Variablenversendung im Multiplayer

    Ich habe folgendes Problem. Gemeinsam mit S3PP arbeite ich an einem RPG. Nunja wie im vorhergehendem Thread schon erwähnt werde aus dem Main-Game heraus variablen entnommen und in ein Nebengame eingefügt.
    Bei diesem Spiel handelt es sich dann um ein Jump&Run.
    Bei einem Schlagabtausch der Charaktere soll nun verrechnet werden, die Attacke des Angreifers minus die Defensive des Verteidigers und das soll von der Lebensenergie abegezogen werden.

    Leider jedoch gelingt es mir bisher nur die Koordinaten der Charaktere ab zu gleichen, aber nicht die jeweiligen Werte (die voher in das Program geladen werden) zwischen den Playern zu versenden und ein zu fügen.
    Also meine Frage, wie kann ich Variablen mit ihren kompletten Werten (z.B. Attack=80) über Multiplayer versenden?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Black-Catx ()

  • Nein, nicht direkt.
    Du kannst lediglich Werte mit einer id versenden, und anhand der id wird dass dann, das musst du aber selber scripten, einer Variable zugewiesen. Anstatt jetzt lange Reden zu schwallen, schau dir dieses Beispiel an. Jeder, der das aufmerksam studiert, versteht, wie man Multiplayer-Games macht. Guck erstmal, wenn du trotzdem nicht weiter weist, sag wieder Bescheid.

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

  • Genau das ist es ja. Das was in diesem Tutorial drin steht hab ich schon durch und eingebaut. Mit diesen ID´s kann man aber leider lediglich die Koordinaten synchron setzen in Multiplayergames, aber leider nicht Variablen mit Wert von Player1 zu Player2...

    Hier kleines Beispiel:

    Player1:
    Att: 100
    Def: 40
    LE: 100

    Player2:
    Att: 120
    Def: 20
    LE: 100

    Die jeweiligen Werte haben die Leute nur auf ihrem PC.
    Wie kann ich jetzt Player 1 wissen lassen, welche Att Player 2 hat?

    Ich hab das ganze schon durchprobiert mit dem mplay_Data_write/read, aber leider funktioniert das eben nciht bei Variablen, sondern nur mit den koordinaten x,y,speed und noch irrgend was ^^
  • Zähl doch eins und eins zusammen!

    Die Positionen sind genauso wie dein Angriff etc. Variablen! Du kannst sie auch auslesen und verschicken, mit den selben Befehlen!

    Wenn du diesen Transfer nicht leisten kannst, dann würde ich erst später mich an einem Online-Game versuchen!

    Hier aber ein Beispiel, mit Datenpool:
    Du musst nur für alles ne eigene id festlegen!

    [PHP]// Das schreibt Spieler 1 in den Pool
    mplay_data_write(10,100)
    mplay_data_write(11,40)
    mplay_data_write(12,100)
    // Das schreibt Spieler2 in den Pool
    mplay_data_write(20,120)
    mplay_data_write(21,20)
    mplay_data_write(22,100)[/PHP]

    Und wenn nun jemand einen Wert abfragen will, dann macht der einfach:
    [PHP]deinevar = mplay_data_read(auszulesende id)[/PHP]
    Also, z.B. 10 für den Angriff von P1.

    Und das hättest du alles mit dem Tut hinkriegen können, ich muss es ja auch irgendwoher wissen!

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

  • Zahlen wären ja nicht das Problem, nur habe ich halt keine Zahlen(values) sondern Variablen.

    Eine Writezeile würde bei mir so aussehen:

    mplay_data_write(6,global.attH);
    mplay_data_write(7,global.defH);

    und das funktioniert halt nicht. Ich kann keine Zahlen einsetzten, da die Variablen versendet werden und direkt so in das Game eingegeben werden. Die Value kann ich garnicht erst auslesen.

    Ich bin ja schon selbst am verzweifeln und denke eigendlich das ich schon recht fitt in solchen Sachen bin, aber da konnte ich einfach noch nichts finden.
  • Das ist ja das lustige, genauso hab ich es ja versucht, aber so hat es nciht funktioniert, er hat mir die variablen dann beim Auslesen immer auf 0 gesetzt. Naja aber dennoch danke, dann hab ich wenigstens die Bestätigung das es so funktionieren müsste, muss halt nurnoch gucken ob ich es so weiter hinbekomme...

    Dann muss der Fehler wohl oder übel wo anders liegen...

    Trotzdem vielen Dank ;)
  • Nix zu danken! Ich will mir das jetzt anschauen!
    Schicke es mir per Email zu wenns keine Umstände macht, ich seh mir das dann mal an. Keine Sorge, nachdem ich das Prob (nicht) gefunden hab lösch ichs wieder und gebs auch nicht weiter, nur das macht mich jetzt echt stutzig. Meine Email findest du in meinem Profil.

    edit:
    Hab das Prob gefunden, Thread wird geschlossen.
    Es handelte sich lediglich um einen flüchtigkeitsfehler, wobei 2 Variablen verwechselt wurden.

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