#include <std.h> #include <security.h> #include <bank.h> #include <dirs.h> inherit DAEMON; string admins; int cmd_arrest(string str) { string who, reason; object ob; if(!archp(previous_object())) return 0; if(!str || sscanf(str, "%s %s", who, reason) != 2) { notify_fail("Syntax: <arrest [player] [reason]>\n"); return 0; } str = lower_case(who); if(member_group(str, "SECURE")) { notify_fail("Shyeah...NOT.\n"); return 0; } ob = find_player(str); if(!ob && !user_exists(str)) { notify_fail("No such player: "+capitalize(str)+".\n"); return 0; } if(ob) ob->remove(); if(ob) { destruct(ob); } rename(DIR_USERS+"/"+str[0..0]+"/"+str+".o", DIR_USERS+"/arrest/"+str+".o"); if(file_exists(ACCOUNTS_DIR+str+".o")) rm(ACCOUNTS_DIR+str+".o"); write(capitalize(str)+" is arrested for "+mud_name()+".\n"); log_file("arrest", (string)this_player()->query_name()+" arrested "+ str+": "+ctime(time())+"\n"); log_file("arrest", " Reason: "+reason+"\n"); return 1; } void help() { message("help", "Syntax: <arrest [player] [reason]>\n\n" "Arrests a player causing trouble so that they cannot login until " "law has had a chance to review the case. Only law may move a player " "back into the game or remove them permanently from the game.\n\n" "See also: rid", this_player() ); }