Jest to plugin-biblioteka, dodajacy możliwość dodawania zaawansowanych uprawnien, czyli alternatywa dla ADMIN_*.
Dzięki niemu mamy dostęp do większej liczby flag ( każdy znak może byc flagą!, [ wyj. ^ i " ] ), które można przechowywać w dowolnym pliku.
Jak korzystać z tego rozwiązania w swoich pluginach? Oto przykład:
#include <amxmodx>
native aac_get_user_flags(id, szOutput[], iLen) // Dodajemy aby korzystać z funkcji biblioteki.
native aac_user_has_flags(id, const szFlags[]) // Tak jak wyżej.
public plugin_init() {
register_plugin("Test AAC", "0.1", "MarWit")
register_clcmd("say /test", "cmdTest")
}
public cmdTest(id)
{
if(aac_user_has_flags(id, "$#Z")) // Sprawdzamy czy gracz posiada flagi $#Z
{
client_print(id, print_chat, "Posiadasz flagi $#Z ")
return PLUGIN_CONTINUE
}
client_print(id, print_chat, "Nie posiadasz wszystkich wymaganych flag ")
return PLUGIN_CONTINUE
}
Do pliku z konfiguracja ( org. "aac_users.ini ) dodajemy graczy w formacie:
"nick_gracza/sid_gracza/ip_gracza" "flagi_gracza" "czas_posiadania_flag" "haslo_gracza"Czas posiadania flag wpisujemy w formacie:
1. "ddmmrrrr" np. "16102011" - 16-10-2011
2. "ddmmrrrrggMM" np. "161020111147" - 16-10-2011 11:47
3. Wpisujemy "0", dzięki czemu dana osoba doststaje flagi pernametnie ( można usunąć gracza komendą "aacdel" )
d - dzień (1-31) , m - miesiąc(1-12) , r - rok ( xxxx ), gg - godzina ( 1-12 ), - minuta ( 0-59 )
Hasła nie wpisujemy, jeżeli w 1 polu daliśmy coś innego niż nick.
Oczywiście graczy możemy dodawać i usuwać także komendami.
Zmiana nazwy pliku konfiguracyjnego:
Szukamy
new const g_szFileName[128] = "aac_users.ini"
Gdzie "aac_users.ini", zmieniamy na własną nazwe
Hasło:
Gdy ustawimy graczowi hasło na nick, musi on wpisać do konsoli:
setinfo "_aacpw" "haslo"Inaczej dostanie kicka z informacja o błędnym haśle.
Dodawanie gracza:
aacadd "nick_gracza" "flagi_gracza" "czas_posiadania_flag" "haslo_gracza"Hasła nie wpisujemy, jeżeli w 1 polu daliśmy coś innego niż nick.
Czas posiadania flag wpisujemy w formacie:
1. "ddmmrrrr" np. "16102011" - 16-10-2011
2. "ddmmrrrrggMM" np. "161020111147" - 16-10-2011 11:47
3. Wpisujemy "0", dzięki czemu dana osoba doststaje flagi pernametnie ( można usunąć gracza komendą "aacdel" )
d - dzień (1-31) , m - miesiąc(1-12) , r - rok ( xxxx ), gg - godzina ( 1-12 ), - minuta ( 0-59 )
Usuwanie gracza:
aacdel "nick_gracza"
Menu:
aacmenu
Wszystkie komendy wymagają flagi ADMIN_IMMUNITY
Natywy:
aac_get_user_flags(id, szOutput[], iLen)Zwraca flagi w postaci stringa. Przykład:
new szFlags[64]
aac_get_user_flags(id, szFlags, 63)
----------------------------------------------------------------
aac_user_has_flags(id, const szFlags[])Sprawdza czy gracz posiada dane flagi. Przykład ( sprawdzi czy gracz posiada flagi "adt" ):
aac_user_has_flags(id, "adt")
!! UWAGA !!
Plugin dopisujemy NA SAMYM POCZĄTKU plugins.ini, przed wszystkimi pluginami korzystającymi z tej biblioteki!!
Załączone pliki
Użytkownik MarWit edytował ten post 16.10.2011 10:53