Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

faucolt - zdjęcie

faucolt

Rejestracja: 17.05.2008
Aktualnie: Nieaktywny
Poza forum Ostatnio: 27.05.2008 16:21
-----

#5937 Admin Check PRO xD

Napisane przez faucolt w 17.05.2008 19:38

Stworzyłem swoja modyfikacje tego pluginiu i prezentuje się tak:
Dołączona grafika

admin_check.sma
#include <amxmodx>

#define ADMIN_HA ADMIN_RESERVATION  // flaga "b"
#define ADMIN_CHECK ADMIN_LEVEL_E   // flaga "c"

static const COLOR[] = "^x04" //green

new maxplayers
new gmsgSayText

public plugin_init() {
	register_plugin("admincheck", "1.0", "faucolt")
	maxplayers = get_maxplayers()
	gmsgSayText = get_user_msgid("SayText")
	register_clcmd("say", "handle_say")
}

public handle_say(id) {
	new said[192]
	read_args(said,192)
	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 headadminnames[33][32]
	new adminnames[33][32]
	new message[256]
	new id, acount, hacount, x, len, lenh
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if (get_user_flags(id) & ADMIN_CHECK) {
				if (get_user_flags(id) & ADMIN_HA) {
					get_user_name(id, headadminnames[hacount++], 31)
				} else {
					get_user_name(id, adminnames[acount++], 31)
				}
			}

	lenh = format(message, 255, "%s Headadmini obecni na serwerze: ",COLOR)
	if(hacount > 0) {
		for(x = 0 ; x < hacount ; x++) {
			lenh += format(message[lenh], 255-lenh, "%s%s ", headadminnames[x], x < (hacount-1) ? ", ":"")
			if(lenh > 96 ) {
				print_message(user, message)
				lenh = format(message, 255, "%s ",COLOR)
			}
		}
		print_message(user, message)
	}
	else {
		lenh += format(message[lenh], 255-lenh, "brak dostepnych headadminow.")
		print_message(user, message)
	}

	len = format(message, 255, "%s Admini obecni na serwerze: ",COLOR)
	if(acount > 0) {
		for(x = 0 ; x < acount ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (acount-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, "brak dostepnych adminow.")
		print_message(user, message)
	}
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
	write_byte(id)
	write_string(msg)
	message_end()
}


Dorzucam jeszcze spis dostępnych flag:

#define ADMIN_ALL		/* wszyscy */
#define ADMIN_IMMUNITY	/* flag "a" */
#define ADMIN_RESERVATION	/* flag "b" */
#define ADMIN_KICK		/* flag "c" */
#define ADMIN_BAN		/* flag "d" */
#define ADMIN_SLAY		/* flag "e" */
#define ADMIN_MAP		/* flag "f" */
#define ADMIN_CVAR		/* flag "g" */
#define ADMIN_CFG		/* flag "h" */
#define ADMIN_CHAT		/* flag "i" */
#define ADMIN_VOTE		/* flag "j" */
#define ADMIN_PASSWORD	/* flag "k" */
#define ADMIN_RCON		/* flag "l" */
#define ADMIN_LEVEL_A		/* flag "m" */
#define ADMIN_LEVEL_B		/* flag "n" */
#define ADMIN_LEVEL_C	/* flag "o" */
#define ADMIN_LEVEL_D	/* flag "p" */
#define ADMIN_LEVEL_E		/* flag "q" */
#define ADMIN_LEVEL_F		/* flag "r" */
#define ADMIN_LEVEL_G	/* flag "s" */
#define ADMIN_LEVEL_H		/* flag "t" */
#define ADMIN_MENU		/* flag "u" */
#define ADMIN_ADMIN		/* flag "y" */
#define ADMIN_USER		/* flag "z" */

Modyfikacje w kodzie możecie robić dowolne. (dopisywać jakieś nr gadu, itp).
Zrobiłem to na szybko, więc w kodzie tylko niewielka zmiana. :)

Pozdrawiam,
faucolt
  • +
  • -
  • 1