Gibt es eine schönere Möglichkeit einen Wartungsmodus zu starten ? Wollte vorerst das per Quest regeln aber diese funktioniert nicht 100%ig
Quest:
Code
- quest test123 begin
- state start begin
- when 20016.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 ankündigen!)')
- local a = tonumber(input())
- if a == nil then
- say('Bitte in Zahlen angeben!')
- return
- elseif a <= 29 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
- mysql_query("UPDATE account.account SET account.status = 'OK' WHERE status = 'SHUTDOWN' and account.login NOT IN (SELECT mAccount FROM common.gmlist);")
- 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. Bitte logged euch 5 Minuten vorher aus!')
- else
- mysql_query("UPDATE account.account SET account.status = 'SHUTDOWN' WHERE status = 'OK' and account.login NOT IN (SELECT mAccount FROM common.gmlist);")
- cmdchat("exit")
- game.set_event_flag("login", 1)
- end
- end
- end
- end