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
Zombie Plague 4.3

Rozgrzewka ZM - Problem z robieniem nemka

zombie plague 4.3

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

#1 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 25.07.2011 17:20

Witam. Robię rozgrzewkę do ZM i mam problem.
Ogólnie wszystko zrobiłem, zostało tylk0 to, że po zabiciu 1 nemka robi sie 2 automatycznie, bez zmiany rundy. Zrobiłem to, ale coś źle działało. Czasami po zabiciu nemka serwer stawał. Myślę, że to wina tego, że serwer próbował dać nemka osobie, która nim przed chwilą była. Więc jak zrobić to losowanie omijając tego gracza?

Wywoływałem nemka tak w funkcji fw_PlayerKilled tak:

	if(bylo_juz2 == 0 && g_nemesis[victim])
		start_nemesis_mode(0, MODE_NONE)

Nemek losuje się tak:

if (bylo_juz2 == 0)
	{
		// Nemesis Mode
		g_nemround = true
		g_currentmode = MODE_NEMESIS
		g_lastmode = MODE_NEMESIS
			
		// Prevent Infection
		g_allowinfection = false
		
		
		// Choose player randomly?
		id = fnGetRandomAlive(random_num(1, iPlayersnum))
		
		// Remember id for calling our forward later
		forward_id = id
		
		// Turn player into nemesis
		zombieme(id, 0, 1, 0, 0, 0)
		
		// Remaining players should be humans (CTs)
		for (id = 1; id <= g_maxplayers; id++)
		{
			// Not alive
			if (!g_isalive[id])
				continue;
			
			// First nemesis
			if (g_zombie[id])
				continue;
			
			// Switch to CT
			if (fm_cs_get_user_team(id) != FM_CS_TEAM_CT) // need to change team?
			{
				remove_task(id+TASK_TEAM)
				fm_cs_set_user_team(id, FM_CS_TEAM_CT)
				fm_user_team_update(id)
			}
		}
		
		// Play Nemesis sound
		ArrayGetString(sound_nemesis, random_num(0, ArraySize(sound_nemesis) - 1), sound, charsmax(sound))
		PlaySound(sound);
		
		// Show Nemesis HUD notice
		set_hudmessage(255, 20, 20, HUD_EVENT_X, HUD_EVENT_Y, 1, 0.0, 5.0, 1.0, 1.0, -1)
		ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "NOTICE_NEMESIS", g_playername[forward_id])
		
		// Start ambience sounds
		if (g_ambience_sounds[AMBIENCE_SOUNDS_NEMESIS])
		{
			remove_task(TASK_AMBIENCESOUNDS)
			set_task(2.0, "ambience_sound_effects", TASK_AMBIENCESOUNDS)
		}
		
		// Mode fully started!
		g_modestarted = true
		
		// No more a new round
		g_newround = false
		
		// Round start forward
		ExecuteForward(g_fwRoundStart, g_fwDummyResult, MODE_NEMESIS, forward_id);
		
		// Stop here
		return;
	}

Dzięki za pomoc.
  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.






Również z jednym lub większą ilością słów kluczowych: zombie plague 4.3

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

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