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

Szukam kodu na eksplozje


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

#1 unknowN.

    Profesjonalista

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:196
  • Imię:Mateusz
  • Lokalizacja:polska
Offline

Napisano 14.04.2014 18:35

Witam, szukam kodu na wybuch po śmierci który zamiera 50HP przeciwnikowi w swoim promieniu. Próbowałem przerobić z cod moda lecz mi coś nie idzie. 

 

Jeżeli zły dział to proszę o przeniesienie. 


  • +
  • -
  • 0

#2 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 14.04.2014 19:20

public TaskBlow(id)
{
	new Float:vOrigin[3];
	pev(id, pev_origin, vOrigin);
	
	ExplodeAround(id, vOrigin, 50.0, RADIUS_BLOW, p_SpriteBlow);
}

public ExplodeAround(id, Float:vOrigin[3], Float:fDamage, Float:fRadius, sprite)
{
	new iTeam = get_user_team(id);
	
	new iOrigin[3];
	FVecIVec(vOrigin, iOrigin);
	
	Effect_Explosion(0, sprite, iOrigin, 10, 0, 0);
	
	new entinsphere = -1;
	while( ( entinsphere = fm_find_ent_in_sphere(entinsphere, vOrigin, fRadius) ) )
	{
		if(!is_user_alive(entinsphere))
			continue;
		
		if(get_user_team(entinsphere) == iTeam)
			continue;
		
		ExecuteHamB(Ham_TakeDamage, entinsphere, "", id, fDamage, DMG_PARALYZE);
	}
}

stock Effect_Explosion(id, spriteid, Position[3], scale, framerate, flags)
{
	message_begin((id >= 1 && id <= get_maxplayers()) ? MSG_ONE : MSG_ALL, SVC_TEMPENTITY, {0,0,0}, id)
	write_byte(TE_EXPLOSION)
	write_coord(Position[0])
	write_coord(Position[1])
	write_coord(Position[2])
	write_short(spriteid)
	write_byte(scale)
	write_byte(framerate)
	write_byte(flags)
	message_end()
}

Zamiast RADIUS_BLOW - zasięg wybuchu (Float)

Zamiast p_SpriteBlow - id sprite eksplozji.


  • +
  • -
  • 0

#3 unknowN.

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:196
  • Imię:Mateusz
  • Lokalizacja:polska
Offline

Napisano 15.04.2014 15:44

A dało by radę aby było w jednym public np. public explosion ?


  • +
  • -
  • 0

#4 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 15.04.2014 16:23

Ale tak też jest.

TaskBlow(id)

To dajesz gdzieś w pluginie i gracz o danym id wybucha (Nie zabija go, tylko wykonuje eksplozję)

 

Jedyne co musisz zrobić to zmienić to, co wyżej dałem w tej linijce:

ExplodeAround(id, vOrigin, 50.0, RADIUS_BLOW, p_SpriteBlow);

Ilość użytych funkcji nie ma znaczenia, a czytelność czasem poprawia.


  • +
  • -
  • 0




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

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