SYSERR: Sep 8 18:36:30 :: WriteRunningStateToSyserr: LUA_ERROR: quest costume_system.start click
Ursache: game.get_event_flag als IF Bedingung gesetzt
Falsch Beispiel:
PHP Code:
when 22117.chat."Einschalten?" begin
if game.get_event_flag("zauberhimmel")== 1 then << Hier falsch !!!
game.set_event_flag("zauberhimmel",0)
say("Run eingeschaltet!")
else
return
end
end
WriteRunningStateToSyserr: LUA_ERROR:
Richtig Beispiel:
PHP Code:
when 22117.chat."Einschalten?" with pc.is_gm() and game.get_event_flag("zauberhimmel")== 1 begin << hier isses richtig
if pc.is_gm() and pc.get_name() == ("[GA]Shoxx") then
game.set_event_flag("zauberhimmel",0)
say("Run eingeschaltet!")
else
say("Du bist nicht Shoxx")
return
end
end
Beispiel: Du steckst dir 1 Euro in die Hosentasche, du weisst also du hast diesen 1 Euro in der Hosentasche, also musst du nicht mehr prüfen ob du einen 1 EURO in der Hose hast.
Ein game.event_flag ist ein Wert der schon global festgelegt wurde.
Siehe quest Tabelle ganz oben. DwPID == 0.
Du kannst also NICHTS prüfen was schon feststeht.
Ein game.event_flag darf also nicht in einer IF Abfrage stehen sondern nur in einer When Bedingung.
Vollkommen richtig was Yoshi hier noch erwähnt hat.Quote:
Da liegst du wohl ganz schön daneben.
Selbst Ymir hat diese so genutzt, die Function "game.get_event_flag" tut, wie der Befehl
selbst schon sagt "get", einen Wert zurückgeben. Für ungesetzte Flags wird 0 returned,
für gesetzte Flags der Wert, der eben gesetzt wurde.
Wenn ein
ist dann wird der Fehler ebenfalls geschrieben.Quote:
if game.get_event_flag("zauberhimmel")== 0 then
Vielen Dank Yoshi