Skocz do zawartości

Dodawanie rozgrzewki pod serwer z modem COD


-_-

Rekomendowane odpowiedzi

  • Właściciel

Witam,

W tym poradniku przedstawię wam jak dodać rozgrzewkę na serwer z modem CoD, tak by w tym czasie nie dalo się wybrać klasy, zdobyć perku, itd

 

Wchodzimy w nasz silnik Cod'a, i w zmiennych dodajemy

// ROZGRZEWKA
new Odliczanie[33] ;
new bool:noze = false;
new const muzyka[]= "misc/rozgrzewkacsc/nutacsc.mp3";
new koniecgorzewki = false;

Teraz szukamy 

#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832

i dodajemy pod tym to

#define SPRAWDZ 3431 

Teraz w public plugin_init()  dodajemy pod

	register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
	register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
	register_event("CurWeapon","CurWeapon","be", "1=1");
	register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");

to

	//ROZGRZEWKA 
	register_event("TextMsg","nozowka","a","2Game_C") 
	register_event("CurWeapon","switchweapon","be","1=1","2!29")		
	register_event("DeathMsg","death_msg","a")

Na końcu dodajemy

/////////////////////////////////////////////////////////// ROZGRZEWKA
public nozowka(id)
{
	if(!koniecgorzewki)
	{
		set_task(1.0, "Start")
	}
	
}
public Start(id)
{
	client_cmd(0,"mp3 play sound/%s", muzyka) 
	switchweapon(id)
		
	noze = true
	
	Odliczanie[id] = 60;
	
	if(task_exists(id + SPRAWDZ))
	{
		remove_task( id + SPRAWDZ )
	}
	set_task( 1.0, "Koniec", id + SPRAWDZ, _, _, "b" )
	
	return PLUGIN_CONTINUE
}

public Koniec(task_id)
{
	new id = task_id - SPRAWDZ       	
	
	set_hudmessage( 80, 0, 255, -1.0, 0.14, 2, 0.02, 1.0, 0.01 )
	show_hudmessage( id, "|=================|^n|  Koniec rundy na noze za: %d  |^n|=================|", Odliczanie[id] )
	
	Odliczanie[id] -= 1 
	
	if(Odliczanie[id] <= 0)
	{
		if( task_exists(task_id) )
		{
			remove_task( task_id )
		}
		set_cvar_num("sv_restart", 2);
		client_print(id, print_chat, "Powodzenia! Zyczymy milej gry, Administracja Cs-Classic.pl");  
		client_cmd(0, "mp3 stop");
		
		noze = false
		koniecgorzewki = true
	}
}
public switchweapon(id)
{
	if (!noze)
		return PLUGIN_CONTINUE
	
	engclient_cmd(id,"weapon_knife")
	return PLUGIN_CONTINUE
}
public death_msg()
{
	if(!noze)
		return	
	
	new id = read_data(2)	
	set_task(1.0,"respawn_player",id)
}
public respawn_player(id)
{     
	if(is_user_connected(id))
		ExecuteHamB(Ham_CS_RoundRespawn, id)     
}

Teraz blokujemy zdobywanie perków i wybieranie klas

 

Gdy nie mam frakcji:

Szukamy public WybierzKlase_Handle(id, menu, item) i zamieniamy go na

public WybierzKlase_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}	
	
	if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
		return PLUGIN_CONTINUE;
	
	if(koniecgorzewki)
	{
		nowa_klasa_gracza[id] = item;
		if(klasa_gracza[id])
			client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
		else
		{
			UstawNowaKlase(id);
			DajBronie(id);
			ZastosujAtrybuty(id);
		}
	}
	else
		client_print(id, print_chat, "[COD:MW] Nie mozesz wybrac klasy na rozgrzewce.");
	
	return PLUGIN_CONTINUE;
} 

Gdy mamy frakcje, to:

Szukamy public WybierzKlase_Handler(id, menu, item) i zamieniamy go na

public WybierzKlase_Handler(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id])
		return PLUGIN_CONTINUE;
	
	switch(item)
	{
		case 0:
		{
			if(koniecgorzewki)
			{
				nowa_klasa_gracza[id] = wybrana_klasa[id];
				if(klasa_gracza[id])
					client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
				else
				{
					UstawNowaKlase(id);
					DajBronie(id);
					ZastosujAtrybuty(id);
				}
			}
			else
				client_print(id, print_chat, "[COD:MW] Nie mozesz wybrac klasy na rozgrzewce.");
		}
		case 1:
		{
			WybierzKlase(id)
		}
	}
	return PLUGIN_CONTINUE;
}

a następnie przechodzimy do public UstawPerk(id, perk, wartosc, pokaz_info), przed 

	if(!ilosc_perkow)
		return PLUGIN_CONTINUE;

to

	if(!koniecgorzewki)
		return PLUGIN_CONTINUE;

Gotowe, oto sposób, który pozwala nam dodać rozgrzewkę, jest to mój ubogi sposób, ale działa 

  • Like 8
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...
  • 2 miesiące temu...
  • 4 miesiące temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony zgadzasz się na Polityka prywatności