// /bin/adm/_shutdown.c // from the Dead Souls Mudlib // the shutdown command // created in pats by Sulam@TMI, Plura@Dead Souls, and Descartes of Borg #include <lib.h> inherit LIB_DAEMON; object downer; void ShutDown(){ shutdown(); } int cmd(string str) { downer = previous_object(); if(downer->GetForced()){ write("Forced attempt to shutdown."); return 1; } if(!archp(downer)) { write("You are not permitted to shutdown the game.\n"); return 1; } if(!str) { write("You must give a shutdown reason as argument.\n"); return 1; } shout("Game is shut down by " + downer->GetKeyName() + ".\n"); log_file("game_log", ctime(time())+" Game shutdown by "+ downer->GetKeyName()+"("+str+")\n"); foreach(object dude in users()){ if(dude && sizeof(base_name(dude))){ if(!archp(dude)) dude->eventForce("quit"); else { downer = dude; unguarded( (: downer->AddCarriedMass(-99999) :) ); unguarded( (: downer->save_player(downer->GetKeyName()) :) ); } } } call_out( (: shutdown :), 1); return 1; } void help() { write("Syntax: <shutdown [reason]>\n\n" "This will shut down the game immediately.\n\nSee also:\nend\n" ); }