Selbstschalter von Außerhalb Steuern

  • Ich bin gerade auf einen megageilen Zweizeiler gestoßen, den ich mit euch teilen möchte:


    var key = [17, 1, 'A']; 

    $gameSelfSwitches.setValue(key, true);


    wobei die erste Zahlt die MapID und die zweite Zahl die EventID ist.


    Damit lassen sich die Selbstschalter jeden beliebigen Events auf jeder beliebigen Karte schalten.

  • Theoretisch lassen sich damit beliebig viele Selbstschalter bedienen, aber der Maker lässt regulär nur die Selbstschalter A bis D zu, weitere müssen immer über einen Skriptbefehl abgefragt werden (bspw. in einer Bedingten Verzweigung), da diese nicht über die gegebenen Eventbefehle zugänglich sind.

  • Es gibt ja soviel Kleinvieh das Mist macht. Zum Beispiel eine Tür, die über einen Schalter geöffnet wird, eine Brücke die auf Knopfdruck heruntergefahren wird. Ein Charakter der erst den richtigen Hinweis gibt, wenn man mit jemand Anderem gesprochen hat. Also jedes mal wenn ich ein Event verändere indem ich ein anderes Benutze, muss ich Schalter oder Variablen verwenden. Das ist mit diesem Zweizeiler vorbei vor allem 100 einzelne Schalter für 100 Türen in irgendwelchen Dungeons im Ganzen Spiel verteilt. Jetzt kann man die Schalter für wichtige Dinge benutzen und das Kleinvieh kann Kleinmist bleiben.


    var key = [MapID, EventID, 'A-D'];

    $gameSelfSwitches.setValue(key, true/false);


    nochmal genau erläutert, Trage die ID deiner Map und dann die ID deines Events das den Schalter beinhaltet. Wähle A. B, C oder D.
    setze dann true oder false für Selbstschalter aktivieren oder Deaktivieren.
    Auf diese weise können auch zwei Schalter A und B in einer bedingten Verzweigung A&B, A, B

    abgefragt werden.

  • Ja das ist sehr praktisch, muss ich sogar recht häufig verwenden. ^^


    Was noch nützlich sein kann ist (sollte auch im MV gehen - nutze aktuell nurnoch MZ):

    $gameMap._mapId gibt die aktuelle MapID.

    this._eventId gibt die Event-ID vom Event, indem das Script ausgeführt wird.


    Beispiel gekürzt:

    $gameSelfSwitches.setValue([$gameMap._mapId, this._eventId, 'A'], true);



    Ich mache gerne - wenn es möglich ist - Copy&Paste Events, daher ist das für mich Gold :)