Bestimmter Raumwechsel bei Onlinegames???

  • GM 7
  • Bestimmter Raumwechsel bei Onlinegames???

    Tach auch,

    ich habe ein online spiel entwickelt und wollte euch 2 fragen dazu stellen:

    1. Frage: wie mache ich das, dass wenn man nur eine bestimmte datei im spiele ordner hat, zb a.datei dass man dann den raum wechseln kann wenn man ein bestimmtes object berührt zb eine tür.

    2. Frage: wie mache ich das wenn man ein schlüssel hat dass dann eine bestimmte tür aufgeht wenn man sie berührt.

    So das wars erstmal, würde mich freuen wenn ihr die lösung wisst. :)
  • Am besten machst dus wie folgt:



    Der Schlüssel und die Tür werden auf dem CLient gehandelt. Sobald der Client nun (Collisions Check) mit Tür hat, prüfst du, ob der Player bereits ein Schlüssel hat (Bis hierher alles lokal auf client). Nun hat er den Schlüssel, schickt er den anderen Spielern im Raum ein nennen wir es Befehl, dass die Tür geknackt ist. Wenn die Spieler diesen Befehl erhalten, öffnet sich die Tür auf den Clients. :)



    Ich will dich nun nicht anmachen, aber hast du genügend Erfahrung für ein Onlinespiel? So sollte dieses Verfahren nun kein Problem für dich darstellen.



    Achjaa.. für die erste Frage:

    Am besten besitzt jeder Spieler eine weitere Eigenschaft, welche besagt, in welchem Raum er gerade sitzt. Somit kann der Server handlen, welche Spieler er den Cleints zum darstellen senden muss.

    Oder wie sieht das Netz aus? Cleint/Server? P2P?



    Oder hab ich die Frage falsch verstanden :D
  • Ist doch nicht schwer : Du machst eine (globale) Variable, z.B.

    GML-Quellcode

    1. //Create-Event
    2. global.HasKey = false;

    dann

    GML-Quellcode

    1. //Im Aufnahme-Event vom schlüssel durch den Player
    2. global.HasKey = true;

    , und schließlich

    GML-Quellcode

    1. //Ins "Türchen-öffne-dich"-Event
    2. if global.HasKey
    3. {
    4. instance_destroy ();
    5. //Und hier dann halt an die anderen Spieler senden ;)
    6. }


    EDIT:Formatierungsfehler behoben ;)