Na początku nadmienię że oszukałem się bardzo dużo na forach jak rozwiązać ten problem, ale go nie znalazłem, zawsze forum pomagało na problemy, ale nie tym razem, więc postanowiłem napisać pierwszy post.
Mam problem, skończyły mi się wszystkie wolne flagi dla klas premium. (Klas mam więcej niż wolnych ADMIN_LEVEL_)
Postanowiłem stworzyć nowe, kombinowałem z liczbami, oraz tymi literami które jeszcze nie były używane, oraz dodawałem polskie znaki ale żadne z flag które potem przypisałem do klasy nie działało. Czyli użytkownik miał przypisaną odpowiednią utworzoną nową flagę, a premium było niedostępne jak bym nie posiadał preferowanej flagi.
Plik amxconst.inc zmieniłem na serwere jak i dla AMXX-Studio. Kompilowało się ładnie beż żadnych błędów.
Do CodMod dodaję dla premium flagę jak zawsze, ale jak dodam te nowe to nie działa:
if(item == SzybkiSniper && !(get_user_flags(id) & ADMIN_LEVEL_W))
{
client_print(id, print_chat, "[COD:MW] Klasa Premium -> Klasa Premium");
WybierzKlase(id);
return PLUGIN_CONTINUE;
Wyedytowałem plik amxconst.inc następująco:
Całość pliku w załączniku
#define ADMIN_ALL 0 /* everyone */
#define ADMIN_IMMUNITY (1<<0) /* flag "a" */
#define ADMIN_RESERVATION (1<<1) /* flag "b" */
#define ADMIN_KICK (1<<2) /* flag "c" */
#define ADMIN_BAN (1<<3) /* flag "d" */
#define ADMIN_SLAY (1<<4) /* flag "e" */
#define ADMIN_MAP (1<<5) /* flag "f" */
#define ADMIN_CVAR (1<<6) /* flag "g" */
#define ADMIN_CFG (1<<7) /* flag "h" */
#define ADMIN_CHAT (1<<8) /* flag "i" */
#define ADMIN_VOTE (1<<9) /* flag "j" */
#define ADMIN_PASSWORD (1<<10) /* flag "k" */
#define ADMIN_RCON (1<<11) /* flag "l" */
#define ADMIN_LEVEL_A (1<<12) /* flag "m" */
#define ADMIN_LEVEL_B (1<<13) /* flag "n" */
#define ADMIN_LEVEL_C (1<<14) /* flag "o" */
#define ADMIN_LEVEL_D (1<<15) /* flag "p" */
#define ADMIN_LEVEL_E (1<<16) /* flag "q" */
#define ADMIN_LEVEL_F (1<<17) /* flag "r" */
#define ADMIN_LEVEL_G (1<<18) /* flag "s" */
#define ADMIN_LEVEL_H (1<<19) /* flag "t" */
#define ADMIN_MENU (1<<20) /* flag "u" */
#define ADMIN_ADMIN (1<<24) /* flag "y" */
#define ADMIN_USER (1<<25) /* flag "z" */
/* moje nowe wprowadzone flagi */
#define ADMIN_LEVEL_W (1<<26) /* flag "w" */
#define ADMIN_LEVEL_X (1<<27) /* flag "x" */
#define ADMIN_LEVEL_V (1<<28) /* flag "v" */
#define ADMIN_LEVEL_1 (1<<29) /* flag "1" */
#define ADMIN_LEVEL_0 (1<<30) /* flag "0" */
#define ADMIN_LEVEL_2 (1<<31) /* flag "2" */
#define ADMIN_LEVEL_Ś (1<<32) /* flag "ś" */
#define ADMIN_LEVEL_Ć (1<<33) /* flag "ć" */
#define FLAG_KICK (1<<0) /* flag "a" */
#define FLAG_TAG (1<<1) /* flag "b" */
#define FLAG_AUTHID (1<<2) /* flag "c" */
#define FLAG_IP (1<<3) /* flag "d" */
#define FLAG_NOPASS (1<<4) /* flag "e" */
#define PLUGIN_CONTINUE 0 /* Results returned by public functions */
#define PLUGIN_HANDLED 1 /* stop other plugins */
#define PLUGIN_HANDLED_MAIN 2 /* to use in client_command(), continue all plugins but stop the command */
Załączone pliki
Użytkownik Marek89- edytował ten post 21.07.2011 18:36