![]() |
|
Losowanie VIP'a/SVIP'a w X rundzie w zależności od liczby graczy na serwerze - 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: Losowanie VIP'a/SVIP'a w X rundzie w zależności od liczby graczy na serwerze (/showthread.php?tid=2376) |
Losowanie VIP'a/SVIP'a w X rundzie w zależności od liczby graczy na serwerze - Poster - 09-18-2025 [TITLE] Losowanie VIP'a/SVIP'a w X rundzie w zależności od liczby graczy na serwerze [URL] https://amxx.pl/topic/142756-losowanie-vipasvipa-w-x-rundzie-w-zależności-od-liczby-graczy-na-serwerze/ **Losowanie VIP'a/SVIP'a w X rundzie w zależności od liczby graczy na serwerze** Jako, że święta już trwają, doszedłem do wniosku, że dam się ponieść Magii Świąt i udostępnię jeden z pluginów, który zrobiłem kiedyś. _** **_**Polega on na tym, że w X rundzie ( wybranej przez nas ) odbywa się losowanie na vipa w zależności od liczby graczy. Może to być VIP lub SVIP.** **Ja na swoim serwerze przykładowo miałem vipa od 15 osób, zaś svipa od 28 i losowanie w 3 rundzie ( takie też są wartości podstawowe ).** **Vip przyznawany jest na okres jednej mapy ( aktualnej ), 30s przed jej końcem jest zabierany.** **Jeżeli zostanie wylosowana osoba z vipem, wtedy losowanie przepada na tą mapę.** **Oczywiście podane są informacje, kto wylosował vipa w hud i say poprzez moduł colorchat.** **Co 120 sekund jest informacja o tym, że taki plugin istnieje i będzie losowany vip co mapę.** **Domyślnie VIP \- ADMIN_LEVEL_H ( flaga t )** **Domyślnie SVIP - ADMIN_LEVEL_G ( flaga s )** _**Ważne - przyznawana jest flaga od vipa/svipa a nie svip/ vip!**_ **Dodałem drugą wersję, losowanie tylko na jedną flagę ( nie na dwie ) - załącznik losowanievip** ![]() **Jedyne co musisz zrobić to wrzucić plugin na serwer, no i w zależności od vipa jakiego używasz ( a zakładam, że vipa z vipgeneratora, będzie trzeba w nim dokonać trochę zmian, gdyż ten z generatora przyznaję vipa tylko raz, no a skoro w moim pluginie vip jest przyznawany w 3 rundzie to mamy problem ważne, przyznawana jest sama flaga, na którą zwykle są vipy.** **Niedługo dodam post, w którym wytłumaczę co trzeba zrobić.** _** **_#define LOSOWANIE_VIP_OD 15 #define LOSOWANIE_VIP_DO_SVIP_OD 28 #define LOSOWANIE_W_KTOREJ_RUNDZIE 3 #define FLAGA_VIP ADMIN_LEVEL_H #define FLAGA_SVIP ADMIN_LEVEL_G **Mamy 5 takich "definicje" na górze pluginu, które jasno opisują, która za co odpowiada ( zmieniamy tylko liczbę )!** **Przy flaga_vip podajemy naszą flagę vipowska (domyślnie T)** **Przy flaga_Svip podajemy naszą flagę svipowską ( domyślnie S)** _** **_**Kompatybilność z vipem z generatora** **Przypadek nr 1. Nie mamy w vipie żadnego dodatku dla gracza uruchamiającego się w X rundzie** 1\. Dodajemy jedną zmienną, która będzie się nazywała przykładowo: **gRunda;** 2\. Dodajemy do **plugins_init()** ten oto kod register_logevent("Poczatek_Rundy", 2, "1=Round_Start") 3\. Na samym dole kodu dajemy taką o to funkcję public Poczatek_Rundy(){ if(++gRunda == 3){ for(new i=1; i<=32; i++){ if(is_user_connected(i) && !g_Vip[i] && get_user_flags(i) & ADMIN_LEVEL_H) g_Vip[i] = true; } } } **Przypadek nr 2. Mamy w vipie dodatek, który uruchamia się dla gracza od X rundy.** Zamieniamy w funkcji **public event_new_round()** Podmieniamy **++gRound** na taki oto kod: if(++gRound == 4){ // dajmy flage po rundzie, w ktorej zostal rozlosowany vip, czyli jezeli masz losowanie w 3, tutaj daj 4. for(new i=1; i<=32; i++){ if(is_user_connected(i) && !g_Vip[i] && get_user_flags(i) & ADMIN_LEVEL_H) // tutaj wlasna flaga dowolna dla vipa ( ADMIN_LEVEL_H) g_Vip[i] = true; } } } **Wesołych Świąt!** Załączniki: FreeVip.sma losowanievip.sma |