![]() |
|
VIP na nick/IP/SID - Printable Version +- CSHOT.PL - Pluginy amxx , plugins amxx , server game counter strike , serwery gier , forum (https://cshot.pl) +-- Forum: Counter-Strike (https://cshot.pl/forumdisplay.php?fid=54) +--- Forum: Counter-Strike 1.6 (https://cshot.pl/forumdisplay.php?fid=55) +---- Forum: PLUGINY (https://cshot.pl/forumdisplay.php?fid=62) +---- Thread: VIP na nick/IP/SID (/showthread.php?tid=3219) |
VIP na nick/IP/SID - Poster - 09-18-2025 [TITLE] VIP na nick/IP/SID [URL] https://amxx.pl/topic/62388-vip-na-nickipsid/ # 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 Spoiler v0.9 \- dodanie forwardu "vip_client_authorized" oraz wykorzystanie go w pluginie vip_w_godzinach.amxx v0.8 \- Mała poprawka przy wczytywaniu vipów \- Zamiana funkcji "str_to_num" na "is_str_num" przy dodawaniu vipa za pomocą komendy \- Dodatnie oddzielnego pluginu do dawania flag w danych godzinach v0.7 \- Zmieniono sposób wyrzucania graczy ze złym hasłem \- Flagi gracza wczytują się teraz w funkcji "client_authorized" \- Dodanie sprawdzania nicków graczy w trakcie ich gry na serwerze \- "odświeżenie" kodu v0.6 \- Ulepszono sposób usuwania starych kont (teraz usuwane są wszystkie na raz) \- W pliku .sma można ustawić w jaki sposób ma informować o tym kiedy wygasa VIP \- "odświeżenie" kodu v0.5 \- Dodano nowe natywy \- "odświeżenie" kodu v0.4 \- Dodano komendę dla admina, dzięki której można dodać flagi dla VIPa bezpośrednio podczas gry na serwerze \- Stare, wygasłe już konta z flagami, usuwają się automatycznie pojedynczo z pliku, co każdą zmianę mapy po określonym przez nas czasie (domyślnie 10 dni) v0.3 \- Wydanie pluginu. # Dodawanie konta Spoiler Otwieramy vip.ini i następnie na sam koniec dodajemy, np. 1. "STEAM_0:0:123456" "" "abcde" "ce" "09-07-2011" "-1" Gracz będzie miał VIPa z flagami "abcde" na steam na czas nieokreślony. 2. "123.45.67.89" "" "abcde" "de" "26-10-2011" "15" Gracz będzie miał VIPa z flagami "abcde" na ip przez 15 dni licząc od 26 października br. 3. "My Name" "my_password" "abcde" "a" "20-10-2011" "30" Gracz będzie miał VIPa z flagami "abcde" na nick przez 30 dni licząc od 20 października br. Do tego w pliku vip.ini jest wszystko wytłumaczone jak dodawać nowe konta, dokładnie w taki sam sposób jak w users.ini. # 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: Spoiler if(get_user_vip_flags(id) & VIP_FLAG_E) { // gracz posiada flagę "e" } if(!(get_user_vip_flags(id) & VIP_FLAG_ B)) { // gracz nie posiada flagi "b" } Każdy sam może ustalić jakie przywileje ma dawać dana flaga. Flag do wykorzystania jest 26, czyli sporo ;] # Przykładowy plugin Spoiler #include <amxmodx> #include <vip> #define PLUGIN "Nowy" #define VERSION "0.1" #define AUTHOR "Sebul" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /test", "test"); } public test(id) { if(get_user_vip_flags(id) & VIP_FLAG_C) { new name[48]; get_user_name(id, name, charsmax(name)); client_print(0, print_chat, "%s jest VIPem", name); } } public vip_client_authorized(id, flags, endtime) { if(flags & VIP_FLAG_C) { new name[48]; get_user_name(id, name, charsmax(name)); client_print(0, print_chat, "%s jest VIPem", name); } } # 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. ~~Możliwe też, że za jakiś czas dodam także komendę dla admina, żeby mógł dodać VIPa będąc na serwerze, ale wydaje mi się, że i bez tej komendy jest dobrze.**Należy jeszcze pamiętać o tym, że gracz dostaje flagi 0.5 sek. po tym jak wejdzie na serwer** , ustawiłem takie opóźnienie, aby nie dawało flag graczowi, który zostanie wyrzucony innym moim pluginem, a dokładniej chodzi o rezerwacje nicków.~~ # Download [](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=58468 "Pobierz załącznik") [**vip_file.sma**](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=58468 "Pobierz załącznik") **11,35 KB** 730 Ilość pobrań [ **vip_file.amxx**](/kompilator/plugin/58468"Pobierz plik AMXX") [](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=52573 "Pobierz załącznik") [**vip.ini**](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=52573 "Pobierz załącznik") **1,23 KB** 726 Ilość pobrań [](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=52574 "Pobierz załącznik") [**vip.txt**](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=52574 "Pobierz załącznik") **505 bajtów** 709 Ilość pobrań [](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=58467 "Pobierz załącznik") [**vip.inc**](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=58467 "Pobierz załącznik") **1,98 KB** 541 Ilość pobrań [](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=58469 "Pobierz załącznik") [**vip_w_godzinach.sma**](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=58469 "Pobierz załącznik") **1,97 KB** 537 Ilość pobrań [ **vip_w_godzinach.amxx**](/kompilator/plugin/58469"Pobierz plik AMXX") Użytkownik **sebul** edytował ten post 16.09.2013 18:02 Załączniki: vip.inc vip.txt vip_file.sma vip_w_godzinach.sma |