Sprawdzanie, czy gracz zabił z rakiety.
Sniper Elite
14.05.2012
Witam.
Jest jakiś sposób aby sprawdzić czy gracz zabił kogoś z miny, rakiety lub dynamitu i wtedy jaka zmienna ++?
Dzięki za pomoc.
Jest jakiś sposób aby sprawdzić czy gracz zabił kogoś z miny, rakiety lub dynamitu i wtedy jaka zmienna ++?
Dzięki za pomoc.
ogieR8
14.05.2012
Jak dla mnie to tworzenie zmiennej globanej
A potem w publicach, gdzie następuję zabicie zabicie z w/w przedmiotów
Pozdrawiam.
Edited by ogieR-, 14.05.2012 18:11.
new zmienna[33];
A potem w publicach, gdzie następuję zabicie zabicie z w/w przedmiotów
zmienna[index]++
Pozdrawiam.
Edited by ogieR-, 14.05.2012 18:11.
Sniper Elite
15.05.2012
Tylko, że takowej funkcji nie ma.
Sprawdzę warunek gdy hp jest mniejsze od obrażeń i wtedy zmienną ++, ale to jutro.
Sprawdzę warunek gdy hp jest mniejsze od obrażeń i wtedy zmienną ++, ale to jutro.
ogieR8
16.05.2012
Jak to nie ma ? Musi być, daj mi Twój kod z rakiety/miny itd, jak dasz to w odpowiednim miejscu wsadzę tam zmienną[index]++, a musi być, bo przecież skądś te rakiety się wydobywają na serwerze itd
dasiek
16.05.2012
Po kodzie Nadawaniu obrażeń z rakiet bądź min sprawdz czy gracz żyje (po ExecuteHam(Ham_damage cośtamdalej)) Jeśli nie żyje to nadaj mu zmienna logiczna że został zabity z rakiet.
Sniper Elite
16.05.2012
public DotykRakiety(ent, id) { if ( !is_valid_ent(ent)) return; new attacker = entity_get_edict(ent, EV_ENT_owner); new Float:fOrigin[3], iOrigin[3]; entity_get_vector( ent, EV_VEC_origin, fOrigin); iOrigin[0] = floatround(fOrigin[0]); iOrigin[1] = floatround(fOrigin[1]); iOrigin[2] = floatround(fOrigin[2]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); // scale write_byte(20); // framerate write_byte(0);// flags message_end(); new entlist[33]; new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || player_b_antyrakieta[id] == 1) continue; new Float:dam = 70.0 - (70.0*redukcja_obrazen_gracza[pid]) + float(inteligencja_gracza[id]) ExecuteHam(Ham_TakeDamage, pid, ent, attacker, dam , 1); } remove_entity(ent); }
Zrobie to tak:
if(dam >= get_user_heatth(pid) zmienna[id]++
lub:
if(!is_user_alive(pid) zmienna[id]++