Ich habe folgendes Problem mit der Quest :
Wenn ich die 30 Minuten abgewartet habe, und danach die Wartung deaktivieren will kommt nicht die Abfrage ob ich den Login wieder freigeben möchte, sondern gibt er wieder an, dass ich eine Zahl eintragen soll, damit er die Wartung startet.
Heißt es können momentan keine anderen Spieler auf den Server connecten außer ich und mein 2. SA
Code:
quest wartungssystem begin
state start begin
when 9003.chat."SA: Wartung" with pc.is_gm() begin
if game.get_event_flag("login") == 0 then
say('Wartung in wie vielen Minuten?[ENTER](Mindestens 30 Minuten vorher ankuendigen!)')
local a = tonumber(input())
if a == nil then
say('Bitte in Zahlen angeben!')
return
elseif a <= 30 then
return
end
minutes = a
notice_all('Wartung in '..minutes..' Minuten. Bitte rechtzeitig ausloggen!')
server_loop_timer('reboot_time',60*5,(os.time()+minutes*60));
else
say("Willst du den Login wieder freigeben?")
local f = select ("Ja" , "Abbrechen")
if f == 1 then
game.set_event_flag("login", 0)
elseif f == 2 then
return
end
end
end
when reboot_time.server_timer begin
if os.time() < get_server_timer_arg() then
notice_all('Wartung in '..tostring(math.floor((get_server_timer_arg()-os.time())/60))..' Minuten. Alle ausloggen!')
else
if pc.get_name() == "[SA]..." or pc.get_name() == "[SA]..." then
say_title("Wartungsmodus aktiv")
say("Der Server ist nun nurnoch Zugänglich für Teamler")
say("um den Server freizugeben bitte bei der Gemischtwarenhaendlerin freigeben!")
else
clear_server_timer('reboot_time');
cmdchat("exit")
game.set_event_flag("login", 1)
end
end
end
when login with game.get_event_flag("login") == 1 and pc.is_no_gm begin
cmdchat(exit)
end
end
end
*[SA]... wurden vorerst geändert, in der Quest jedoch wurden die richtigen Namen verwendet