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, 1 gości, 0 anonimowych