Senior Member
|
04-06-2012
, 05:13
Re: Admin Check or adminrules.txt
|
#5
|
Here's one cool for /admins. It has a /hide function to hide admins visibility.
For rules, try to search.
Code:
#include <amxmodx>
/*---------------EDIT ME------------------*/
#define ADMIN_CHECK ADMIN_KICK
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
/*----------------------------------------*/
new maxplayers
new gmsgSayText
new Trie:gTrieAdminHidden
public plugin_init() {
register_plugin("Admin Check", "1.51", "OneEyed")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
gTrieAdminHidden = TrieCreate()
}
public handle_say(id) {
static said[192]
read_args(said,192)
if(get_user_flags(id) & ADMIN_CHECK)
{
static authid[32]
get_user_authid(id, authid, charsmax(authid))
if(equali(said, "^"/hide", 6))
{
print_message(id, "You are hidden from admin checks until mapchange or /unhide.")
TrieSetCell(gTrieAdminHidden, authid, 1)
return PLUGIN_HANDLED
}
if(equali(said, "^"/unhide", 8))
{
if (TrieKeyExists(gTrieAdminHidden, authid))
{
print_message(id, "You are no longer hidden from admin checks.")
TrieDeleteKey(gTrieAdminHidden, authid)
return PLUGIN_HANDLED
}
print_message(id, "You were not hidden from admin checks.")
return PLUGIN_HANDLED
}
}
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}
public print_adminlist(user)
{
new adminnames[33][52]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_CHECK)
{
static authid[32]
get_user_authid(id, authid, charsmax(authid))
if (!TrieKeyExists(gTrieAdminHidden, authid))
get_user_name(id, adminnames[count++], 31)
else if ((get_user_flags(user) & ADMIN_CHECK) && TrieKeyExists(gTrieAdminHidden, authid))
{
get_user_name(id, adminnames[count], 31)
format(adminnames[count], 51, "%s ^x03(Hidden)%s", adminnames[count], COLOR)
count++
}
}
len = format(message, 255, "%s ADMINS ONLINE: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "No admins online.")
print_message(user, message)
}
get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
Later Edit:
Here's a very simple one for what you asked for /adminrules.
You'll have to make a .txt file called adminrules in your configs folder. In that file you will write your rules.
Code:
#include <amxmodx>
public plugin_init() {
register_plugin("Admin Rules","1.0","neoRT")
register_clcmd ("say /adminrules" , "adminrules" , -1);
register_clcmd ("say_team /adminrules" , "adminrules" , -1);
}
public adminrules(id)
{
show_motd(id,"addons/amxmodx/configs/adminrules.txt")
}
Last edited by neoRT; 04-06-2012 at 05:43.
|
|