Losowanie VIP'a/SVIP'a w X rundzie...
Wielkie Jol
26.12.2014
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 ) - bo co 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łączone pliki
Użytkownik Wielkie Jol edytował ten post 27.01.2015 22:04
Wielkie Jol
26.12.2014
Vip się dodaje do końca mapy, na jakiś określony czas??
Aaa, zapomniałem dodać, vip dodaje się na jedną mapę ( aktualną ), po jej końcu jest usuwany.
Kobciu
26.12.2014
Vip się dodaje do końca mapy, na jakiś określony czas??
Aaa, zapomniałem dodać, vip dodaje się na jedną mapę ( aktualną ), po jej końcu jest usuwany.
W takim razie dobra robota, niedługo przetestujemy
Wesolych !!
Wielkie Jol
26.12.2014
Pomysłowy plug, też mialem go gdzies na stanie
p.s.
właśnie coś mi trybić nie chciało jak temat zakładałem, a teraz jest git
LulzSec.
27.12.2014
Kiedy się pojawi opcja z przerobieniem VIP'a do tego pluginu, bo zapowiada się super
Wielkie Jol
27.12.2014
A czy da się zrobić sam VIP bo nie mam SVIPA na serwerze
Gotowe, dodane do ściągnięcia.
Wielkie Jol
07.01.2015
Kiedy pojawi się wersja z przerobieniem VIP?
To nie będzie wersja z przerobieniem vip, tylko opis, jak zmienić vipa wygenerowanego w generatorze na takiego, by działał pod niego ten plugin.
Wielkie Jol
27.01.2015
Zaaktualizowano pierwszy post, podano przykład jak połączyć to z vipem z generatora.
Taurinn
27.01.2015
Zrobiłem tak jak napisane wyżej "CHYBA" i nie działa może ktoś zobaczyć co źle?
Wielkie Jol
27.01.2015
Zrobiłem tak jak napisane wyżej "CHYBA" i nie działa może ktoś zobaczyć co źle?
To, że dajesz vipa, zanim on jest przyznany. Losowanie odbywa się po freezetime, Ty dajesz flagę dla gracza tuż po rozpoczęciu się rundy, właśnie dlatego u mnie jest losowanie w rundzie trzeciej ( freezetime ) a vip dany w czwartej rundzie.
Taurinn
27.01.2015
czyli if(++gRunda == 4){ ma byc zamiast if(++gRunda == 3){ ? robilem kopiuj wklej ;d
Użytkownik Taurinn edytował ten post 27.01.2015 21:31
Wielkie Jol
27.01.2015
czyli if(++gRunda == 4){ ma byc zamiast if(++gRunda == 3){ ? robilem kopiuj wklej ;d
Tak, wstaw czwórkę i daj znać.