summaryrefslogblamecommitdiff
path: root/npc/commands/super-menu.txt
blob: 8f6bea9ec04e748c6d7aeca228c698f43f3af73a (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                           


                                         






                                                                                                   
                                                    

                                                
                                                                  
                                                          
                                             
                                                                                             


                                                     





                                             
                   
                                                                                          
                      
                                          
                   




                                                                                         








                                                                 
                                  










                               
                   







                                                                                              
       
                                                   
                                                                                                                      


                                                                           
                                          












                                                                                                           





















                                                                                                    
 
 
// 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;

}