Hey Leute,
ich bin immer ein bisschen unschlüssig, was das Erstellen von Triggern betrifft.
Es gibt ja die beiden Funktionen REGION_ENTER_AND_STOP_TRIGGER und REGION_ENTER_WITHOUT_STOP_TRIGGER, und ich habe da mal einen Haufen Fragen zu:
Zunächst: Wo ist da der Unterschied? Habe schon zwei Sachen gelesen, die einen sagen, das Stop oder Without Stop bezieht sich auf den Helden, der weiterläuft oder stehen bleibt, andere sagen, es würde sich auf das Weiterlaufen oder anhalten des Triggers beziehen.
Zweitens: Die Struktur. Meine Regionsskripts sehen immer so aus:
funtion xy()
*beliebiger Effekt*
Trigger(REGION_ENTER_WITHOUT_STOP_TRIGGER, "Regionsname", nil);
end;
Trigger(REGION_ENTER_WITHOUT_STOP_TRIGGER, "Regionsname", "xy");
Dazu die Fragen: Was ändert sich, wenn ich...
... im 1. Fall "AND_STOP_TRIGGER" verwende?
... im 2. Fall "AND_STOP_TRIGGER" verwende?
... in beiden Fällen "AND_STOP_TRIGGER" verwende?
Und: Was bewirkt das "nil" in der 3. Zeile? Was passiert, wenn ich dort eine auf eine andere Funktion verweise?
So, und jetzt kommt das eigentliche Problem, das sich mit allen Antworten auf diese Fragen lösen lassen müsste.
Ich möchte eine Region, die prüft, ob ein Held eine bestimmte Eigenschaft hat. Hat er diese, geht ein Event los und der Trigger endet, hat er sie nicht, so kommt eine Nachricht und der Trigger geht nochmal los, wenn der Held die gleiche Region wieder betritt/durchläuft.
Meiner Meinung nach müsste das so aussehen:
function xy()
if *Held hat Eigenschaft* then
*beliebiges Event*
Trigger( ***, "Regionsname", nil);
else
MessageBox(...);
Trigger( ***, "Regionsname", nil);
end;
end;
Die Frage ist nur, welchen Trigger-Typ muss ich jetzt für die *** jeweils einfügen? Oder muss ich das "nil" irgendwie ändern?
Ne Menge Fragen, hoffe, dass ich die kommenden Antworten verstehe und nachvollziehen kann, im Editor-Script-Dokument versteh ich die Unterschiede leider net^^
Schonmal danke im Voraus