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.
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.
|
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.
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.
Napisano 15.04.2014 15:44
A dało by radę aby było w jednym public np. public explosion ?
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żytkowników, 0 gości, 0 anonimowych