Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

zrobreklame - zdjęcie

zrobreklame

Rejestracja: 31.10.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 08.03.2015 11:04
-----

#677713 Losowanie VIP'a/SVIP'a w X rundzie w zależności od liczby graczy na s...

Napisane przez Wielkie Jol w 26.12.2014 11:57

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ś.

  :święta:  :święta:  :święta:

 

 

opis

 

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

 

instalacja

 

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 xD ) - 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ć.

 

konfiguracja

#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)

 

inne informacje

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


  • +
  • -
  • 14