"Zustand" scripten?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey, liebe User!
    Ich würde gerne ein Clan/GangWar System scripten, wo sich die versch. Gangs mit einem Befehle (/gangwar [Fraktion])
    angreifen können. Das heißt, man kann diesen Befehl ausüben und der Zustand "War" entsteht.
    Aber nur zwischen diesen beiden Fraktionen!
    Mit /gwinfo kann man dann sehen, wer mit wem Krieg hat.


    Klingt simpel, aber ich habe keine Idee, wie ich da anfangen soll.
    Habe schon alle möglichen Dinge zum speichern gescriptet, aber hier reichen meine Kentnisse nicht mehr.


    Meine Idee wäre erstmal ein enum zu erstellen.
    enum Wars
    {
    Fraktion,
    War,
    }


    Man könnte dann evtl. abfragen, ob War == 1 ist und wenn ja, mit wem dafür
    wäre dann "Fraktion" dort.


    Weiter weiß ich leider nicht. :P
    Hoffe mir kann jmd. helfen.


    */Edit:
    Oder evtl.
    enum Wars
    {
    Fraktion 1,
    Fraktion 2,
    Fraktion 3,
    ...,
    War,
    }

  • Hallo


    Speichere in der Herausfordererfraktion die ID der anderen Fraktion. Wenn jmd /gangwar benutzen willst, guckste mit einer Schleife durch, ob irgendwo der Wert [FRaktion] derselbe ist, wie ID.


    Simon



    Edit
    Auf die Schnelle, kann Fehler enthalten, soll auch nur als Denkanstoss dienen


    enum Wars
    {
    GegnerID
    }


    new WarList[MAX_FRAKS][Wars];





    //Befehl: /gangwar
    //Input: Fraktions-ID aka /gangwar [ID]
    for(new frakid=0; frakid<MAX_FRAKS; frakid++)
    {
    if(WarList[frakid][GegnerID] == id)
    {
    //Meldung: Gegen diese Gang wird bereits gekämpft
    return 1;
    }
    }
    //Bei Erfolg, sprich Gang wird nicht bekämpft
    pfrakid = eigene Fraktion
    WarList[pfrakid][GegnerID] = id
    return 1;