// Authors: Gumi, Jesusalva function script SuperMenu { do { clear; setnpcdialogtitle l("Super Menu"); mes l("This menu contains all options available to you, based on your access privileges."); mes ""; mes l("What do you want to access?"); next; select rif(is_gm(), l("Scheduled broadcasts")), rif(is_admin(), l("MOTD")), rif(is_gm(), l("Event management")), rif(is_admin() && !getcharid(2), l("Join teh Guild")), rif(is_staff(), l("Referral Program Report")), rif(is_admin(), "Broken checks"), rif(is_admin() && $@GM_OVERRIDE && !$NIVALIS_LIBDATE && $NLIB_DAY, "Flush NLIB"), rif(is_gm(), l("Seasonal Drop Control")), "Debug", "Quit"; switch (@menu) { case 1: StoneBoard 1; break; case 2: MOTDConfig 1; break; case 3: GlobalEventMenu 1; break; case 4: query_sql("UPDATE `char` SET `guild_id`=1 WHERE `char_id`="+getcharid(0)); break; case 5: HallOfReferral; break; case 6: delitem Aquada, 1; delitem Bread, 100; mes("Either delitem is not working, or you had 1 aquada and 100 bread."); next; break; case 7: donpcevent("The Monster King#NLib::OnReprocess"); if ($NLIB_DAY == 7) { setmapflag("023-2",mf_bexp,200); donpcevent("The Monster King#NLib::OnBegin"); } break; case 8: SeasonControl; break; case 9: GlobalDebugMenu 1; break; default: close; break; } } while (1); } - script @super 32767,{ end; OnCall: if (!is_gm()) { dispbottom l("You do not have the required access privileges to use the Super Menu."); end; } SuperMenu; closedialog; end; OnInit: bindatcmd "super", "@super::OnCall", 80, 99, 0; //bindatcmd "numa", "@super::OnCall", 80, 99, 0; // alias for those used to TMW's @numa - none at the moment, iirc end; // Servers with "debug" set are debug servers which must reset on their own // They restart every sunday, at 03:00 UTC OnSun0250: if (debug) kamibroadcast("WARNING: Test Server will go down for scheduled maintenance in 10 minutes!"); end; OnSun0255: if (debug) kamibroadcast("WARNING: Test Server will go down for scheduled maintenance in 5 minutes!"); end; OnSun0259: if (debug) kamibroadcast("WARNING: Imminent Test Server restart!"); end; OnSun0300: if (debug) atcommand("@serverexit 103"); end; // Hardcore Servers also need to reset, but with less frequency // They restart on the first monday of the month, at 03:00 UTC // Note: We can use gettimeparam - weeks since epoch - and restart every // 2 weeks if needed. (weeks % 2 == 1) OnMon0250: if (!$HARDCORE || gettime(GETTIME_DAYOFMONTH) > 7) end; kamibroadcast("WARNING: Hardcore Server will go down for scheduled maintenance in 10 minutes!"); end; OnMon0255: if (!$HARDCORE || gettime(GETTIME_DAYOFMONTH) > 7) end; kamibroadcast("WARNING: Hardcore Server will go down for scheduled maintenance in 5 minutes!"); end; OnMon0259: if (!$HARDCORE || gettime(GETTIME_DAYOFMONTH) > 7) end; kamibroadcast("WARNING: Imminent Hardcore Server restart!"); end; OnMon0300: if (!$HARDCORE || gettime(GETTIME_DAYOFMONTH) > 7) end; atcommand("@serverexit 103"); end; }