Verträge (Multiplayer)

  • GM 6

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

  • Verträge (Multiplayer)

    Tach (wenn es so einen ähnlichen Thread gibt, bitte gleich löschen)

    Es kent hier doch sicher jemand "Wurzelimperium". Ich wollte eigentlich so ein ähnliches Spiel machen, wo man aber Döner produzieren muss
    (klingt komisch, ist aber so). Nun denken sicherlich einige, dass ich verrückt wäre aber das ist ja eher nicht das Prob. Mein Problem ist, dass ich ich wie bei Wurzelimperium Verträge an andere schicken möchte (oder anders rum). Nun hatte ich mir das so gedacht, das jeder Spieler sich das Spiel runterladen kann, sodass jeder eine Exe auf seinem Rechner hat. Da ja nicht jeder immer on sein kann hätte ich mir gedacht, dass es ein "Master"-Programm gibt, das die Verträge und Nachrichten sammelt und sie dann wiederr an die Player weitergibt, wenn diese on sind.

    Wie geht das?

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

  • Deine Idee ist genau richtig.

    Das System dahinter ist ein wenig schwer es fehlerfrei zu programmieren.

    Ich Endeffekt brauchst du ein Benutzer System. Jeder Benutzer muss einen Account auf dem Master Server besitzen. Wenn jetzt ein anderer Spieler einen Vertrag verschickt muss der auf dem Server gespeichert werden und wird verschickt sobald sich dieser einloggt.

    Wie soll das ganze Programmiertechnisch aussehen?
    Nunja, ich würde das einfachheitshalber mit ini Dateien lösen. Einmal benötigt dein Server einen Ordner wo alle Accounts gespeichert sind. Ein Account besteht aus einer ini Datei welche alle nötigen Daten enthält wie z.B. Name, Geld, usw.
    Dann würde ich einen Ordner mit Verträgen machen und diese ebenfalls als ini abspeichern mit allen nötigen Informationen.

    Wie kommt nun aber der Vertrag zum Spieler?

    Wenn man einen Vertrag versendet erstellt der Server bei sich einen neuen Vertrag als datei mit einen einmaligen Namen. In der ini Datei des Accounts des Spieler der diesen Vertrag empfangen soll wird nun vermerkt das noch ein (oder mehrere) Verträge ausstehen und gleich darauf welcher Vertrag. Dieser ist ja mit einer der einmaligen Nummer in dem Verzeichnis Verträge gespeichert.

    Loggt sich nun ein Spieler ein, sieht der Server aha, da stehen noch Verträge aus, z.B. der Vertrag mit der Nummer 224 (der ja in der Account ini steht) und sendet alle Daten an den Spieler die im Vertrag nr. 224 stehen.


    Ein bisschen durchlesen und schauen ob du es verstanden hast. Wenn du fragen hast frag. Ich gebe allerdings keinen Code heraus da dieser nebensächlich ist. Es ist effektiver vom Problem -> Auf die Lösung selbst zu kommen.
  • Es wäre mal interessant zu wissen, wie ihr das handhaben würdet, es würde doch theoretisch schon mit den mplay funktionen gehen oder?

    Oder die 39dll.

    Man müsste ja nicht wirklich den ganzen Vertrag senden, sondern lediglich die ID und vllt einen oder 2 Strings mit Absender und Empfänger oda so.

    Bin mit den online Funktionen noch nich so wirklich vertraut und nutze solche Themen gerne um mit (hoffentlich) produktiver Fragestellung mir und dem Threadersteller zu helfen =S
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • Neues Problem

    Tach,

    Bevor man aber Dönerimperium spielen kann, muss man sich einloggen. Da ich nicht jedes mal eine veränderte Version des Spieles rausgeben wollte, dachte ich mir, löst du das einfach mal mit einem Registerformular.
    Mein Registerformular soll so aussehen, wie jedes andere. Und genau das ist das Problem. Ich weiß nicht, wie man die Eingabefelder programmiert.

    Ich glaue ich rede wirr. Also ich will ein schlichtes Registrierungsformular bauen, mit verschiedenen Eingabefeldern, bei denen dann die Benutzerdaten an den Server gesendet werden sollen.
  • Mach ein Objekt das ein Eingebefeld ist und folgende variablen hat:
    aktiv <- ob das eingabefeld aktiv ist
    string <- das was aktuell im textfeld steht

    nützlich ist hier keyboard_string Das speichert die ganz normale tasteneingabe und ist ideal dafür geeignet.

    wenn das Feld nun angeklickt wird müssen alle anderen Eingabefelder deaktiviert werden.

    Wenn es abgewählt wird muss der keyboard_string dem string des eingabefeldes angepasst werden.

    Ok nicht so ganz klar aber probiere es mal selber.