Opis
Plugin działa praktycznie na takiej samej zasadzie jak dodawanie/wczytywanie adminów/vipów z users.ini, tylko tutaj można ustalić także do kiedy dany gracz ma posiadać flagi oraz oczywiście wykorzystywany jest inny plik. Ogólnie sam plugin nie daje nic, ale można go wykorzystać w każdym innym pluginie, wystarczy używać natywów, które zostały dodane. Dodałem także komendę, dzięki której gracz zawsze będzie wiedział kiedy kończy mu się VIP (lub KP, jeśli plugin wykorzystamy do diablo czy coda) oraz 3 dni (wartość domyślna) przed końcem automatycznie po wejściu na serwer będzie mu się wyświetlać info o tym kiedy straci VIPa.
Dodatkowo zostaje udostępniony plugin do ustawienia flag w danych godzinach (vip_w_godzinach.amxx).
Changelog
Dodawanie konta
Natywy
/* zwraca flagi gracza */
native get_user_vip_flags(id);
/* ustawia flagi graczowi */
native set_user_vip_flags(id, flags = -1);
/* dodaje flagi graczowi */
native add_user_vip_flags(id, flags = -1);
/* usuwa flagi graczowi */
native remove_user_vip_flags(id, flags = -1);
Forwardy
/* forward wysylany po sprawdzeniu pliku z flagami, nie wykonywany tylko wtedy gdy gracz zostaw wyrzucony
id - id gracza
flags - przypisane flagi
endtime - data zakonczenia vipa w sekundach (unix time)
-2: nie znaleziono gracza lub czas vipa juz sie skonczyl
-1: vip na czas nieokreslony
*/
forward vip_client_authorized(id, flags, endtime);
Konfiguracja
Jeśli chcemy sprawdzać w jakimś pluginie czy gracz posiada flagi lub mu je dodać, należy najpierw na początek kodu sma dodać
#include <vip>
i teraz możemy już używać natywów dokładnie w taki sam sposób jak
get_user_flags(id)
set_user_flags(id, flags)
remove_user_flags(id, flags)
z tym że tutaj każda flaga ma inną nazwę define
#define VIP_FLAG_ALL 0 /* kazdy */
#define VIP_FLAG_A (1<<0) /* flaga "a" */
#define VIP_FLAG_B (1<<1) /* flaga "b" */
#define VIP_FLAG_C (1<<2) /* flaga "c" */
#define VIP_FLAG_D (1<<3) /* flaga "d" */
#define VIP_FLAG_E (1<<4) /* flaga "e" */
#define VIP_FLAG_F (1<<5) /* flaga "f" */
#define VIP_FLAG_G (1<<6) /* flaga "g" */
#define VIP_FLAG_H (1<<7) /* flaga "h" */
#define VIP_FLAG_I (1<<8) /* flaga "i" */
#define VIP_FLAG_J (1<<9) /* flaga "j" */
#define VIP_FLAG_K (1<<10) /* flaga "k" */
#define VIP_FLAG_L (1<<11) /* flaga "l" */
#define VIP_FLAG_M (1<<12) /* flaga "m" */
#define VIP_FLAG_N (1<<13) /* flaga "n" */
#define VIP_FLAG_O (1<<14) /* flaga "o" */
#define VIP_FLAG_P (1<<15) /* flaga "p" */
#define VIP_FLAG_Q (1<<16) /* flaga "q" */
#define VIP_FLAG_R (1<<17) /* flaga "r" */
#define VIP_FLAG_S (1<<18) /* flaga "s" */
#define VIP_FLAG_T (1<<19) /* flaga "t" */
#define VIP_FLAG_U (1<<20) /* flaga "u" */
#define VIP_FLAG_V (1<<21) /* flaga "v" */
#define VIP_FLAG_W (1<<22) /* flaga "w" */
#define VIP_FLAG_X (1<<23) /* flaga "x" */
#define VIP_FLAG_Y (1<<24) /* flaga "y" */
#define VIP_FLAG_Z (1<<25) /* flaga "z" */
Przykład:
Każdy sam może ustalić jakie przywileje ma dawać dana flaga. Flag do wykorzystania jest 26, czyli sporo ;]
Przykładowy plugin
Cvary
Tylko do pluginu vip_w_godzinach.amxx
vwg_wl "0" // czy plugin ma byc wlaczony vwg_od "21" // od ktorej godziny plugin ma dawac flagi vwg_do "24" // do ktorej godziny plugin ma dawac flagi vwg_flagi "abcdefghijklmnopqrstuvwxyz" // jakie flagi ma dawac plugin vwg_wiad "darmowego vipa" // co daja dawane flagi
Komendy
say /endvip - na czacie wyświetli się graczowi data kiedy kończy się VIP
Komendy admina
Tylko dla admina z flagą "a", można to zmienić w sma.
amx_addvip <name|ip|steamid> <password> <access flags> <account flags> <dd-mm-rrrr> <lenght in days> // dodaje VIPa
Instalacja
vip.ini do configs
vip_file.amxx do plugins
vip_file.sma do scrtipting
vip.txt do data/lang
vip.inc do scripting/include (tylko do kompilacji)
vip_w_godzinach.amxx do plugins
vip_w_godzinach.sma do scrtipting
Inne
Jeśli macie jakieś pytania, to proszę pytać. Samą funkcję dawania flag lekko przerobiłem z innego pluginu.
Download
vip_file.sma 11,35 KB 707 Ilość pobrań
vip_file.amxx
vip.ini 1,23 KB 705 Ilość pobrań
vip.txt 505 bajtów 688 Ilość pobrań
vip.inc 1,98 KB 521 Ilość pobrań
vip_w_godzinach.sma 1,97 KB 514 Ilość pobrań
vip_w_godzinach.amxx
Użytkownik sebul edytował ten post 16.09.2013 18:02