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

Wyrównanie drużyny


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 07.05.2011 14:16

Tak jak w temacie szukam funkcji która wyrówna mi drużyny czyli np. ja jestem sam w T na np 5 CT to jak wyrówna ma być po 3 tu i tu...mam coś takiego ale nie chce mi działać...
public Event_Set_Teams()
{
// No players, don't bother
	server_cmd("amx_pausecfg enable ptb.amxx");
	static iPlayersnum
	iPlayersnum = fnGetPlaying()
	if (iPlayersnum < 1) return;
	
	// Split players evenly
	static iTerrors, iMaxTerrors, id, team[33]
	iMaxTerrors = iPlayersnum/2
	iTerrors = 0
	
	// First, set everyone to CT
	for (id = 1; id <= g_maxplayers; id++)
	{
		// Skip if not connected
		if (!g_isconnected[id])
			continue;
		
		team[id] = cs_get_user_team(id)
		
		// Skip if not playing
		if (team[id] == CS_TEAM_SPECTATOR || team[id] == CS_TEAM_UNASSIGNED)
			continue;
		
		// Set team
		remove_task(id+TASK_TEAM)
		cs_set_user_team(id, CS_TEAM_CT)
		team[id] = CS_TEAM_CT
	}
	
	// Then randomly set half of the players to Terrorists
	while (iTerrors < iMaxTerrors)
	{
		// Keep looping through all players
		if (++id > g_maxplayers) id = 1
		
		// Skip if not connected
		if (!g_isconnected[id])
			continue;
		
		// Skip if not playing or already a Terrorist
		if (team[id] != CS_TEAM_CT)
			continue;
		
		// Random chance
		if (random_num(0, 1))
		{
			cs_set_user_team(id, CS_TEAM_T)
			team[id] = CS_TEAM_T
			iTerrors++
		}
	}
}

fnGetPlaying()
{
static iPlaying, id, team
iPlaying = 0

for (id = 1; id <= g_maxplayers; id++)
{
	if (g_isconnected[id])
	{
		team = cs_get_user_team(id)
		
		if ((team != CS_TEAM_SPECTATOR) && (team != CS_TEAM_UNASSIGNED))
			iPlaying++
		}
	}	
	return PLUGIN_CONTINUE;
}

Użytkownik KariiO edytował ten post 07.05.2011 14:16

  • +
  • -
  • 0




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

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