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
 

Zdjęcie

Limit CT - funkcja licząca graczy w TT


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
22 odpowiedzi w tym temacie

#21 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.04.2016 01:34

#include <amxmodx>
#include cstrike
new gOstatniDoCt


public plugin_init() {
	register_plugin("CT limiter","0.1","grankee")
	
	set_cvar_num("mp_limitteams",0)
	set_cvar_num("mp_autoteambalance",0)
	
	register_menucmd(register_menuid("Team_Select",1),(1<<0)|(1<<1)|(1<<4),"teamselect")
	register_clcmd("jointeam","teamselect")
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")

}

public Nowa_Runda()
{
	LimitCt()
}
public teamselect(id)
{
	if(get_user_team(id)==2)
	gOstatniDoCt=id
	LimitCt()
	return PLUGIN_CONTINUE
}


public PlayersInTeam(team) 
{
	new number = 0;
	for(new i=0; i<=32; i++) 
	{
		if(!is_user_connected(i)) continue;
		
		if(get_user_team(i) != team) continue;
		
		number++;
	}
	return number;
}


public LimitCt() 
{
	if(get_playersnum()<2) return 
	new liczbaTerro = PlayersInTeam(1);
	new liczbaCt=PlayersInTeam(2)
	if((liczbaTerro <= 5 && liczbaCt>1) ||
	(liczbaTerro>5 && liczbaTerro<=10 && liczbaCt>2) ||
	(liczbaTerro>10 && liczbaTerro<=14 && liczbaCt>3))
	{
		new ost=OstatniCt()
		if(ost>0)
			cs_set_user_team(ost,CS_TEAM_T)
		
	}
	return 
}
public OstatniCt()
{
	if(is_user_connected(gOstatniDoCt)) return gOstatniDoCt
	
	
	return LosujGracza(2)
}
LosujGracza(team)
{
	if(PlayersInTeam(team)<1) return -1
	new id
	do
	{
		id=random_num(1,32)
	}
	while(get_user_team(id)!=team)
	return id
}

 


Użytkownik grankee edytował ten post 15.04.2016 01:35

  • +
  • -
  • 0

#22 Makale

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:234
  • Lokalizacja:Płock
Offline

Napisano 15.04.2016 13:56

Dzięki zaraz testuję. Mógłbyś wyjaśnić od czego tu jest dokładnie zmienna new gOstatniDoCt

 

oraz funkcja Ostatni CT.


  • +
  • -
  • 0

Poszukuję: serwerów do sieci, grafika do sieci oraz kilku stron WWW (prywatnych), adminów na serwery, itp.

Szukasz zajęcia na wolne chwile ? Pisz !

b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png

Zapraszam !


#23 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.04.2016 14:07

Od tego żebym wiedział kto ostatni doszedł do ct, bo ten gracz będzie wyrzucany do terro. Funkcja nbatomiast zwraca mi tego gracza, a w przypadku jak go już nie ma to zwraca mi losowego gracza do przerzucenia na początku rundy. Jak teraz patrzę to funkcja ta w zasadzie nie jest potrzebna, bo ten prosty warunek mogłem dać tam gdzie jej wywołanie, ale na początku inny miałem koncept i tak zostało.


Użytkownik grankee edytował ten post 15.04.2016 14:08

  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych