Wybuch nie zadaje obrażeń
szelbi
19.05.2014
new Float:fOrigin[3]; entity_get_vector(id, EV_VEC_origin, fOrigin); new iOrigin[3]; for(new i=0;i<=2;i++) iOrigin[i] = floatround(fOrigin[i]); 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); write_byte(20); write_byte(0); message_end(); message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin); write_byte(TE_BEAMCYLINDER); write_coord(iOrigin[0] ); write_coord(iOrigin[1] ); write_coord(iOrigin[2] ); write_coord(iOrigin[0] ); write_coord(iOrigin[1] + 200 ); write_coord(iOrigin[2] + 200 ); write_short(sprite_white ); write_byte(0); write_byte(0); write_byte(10); write_byte(10); write_byte(255); write_byte(255); write_byte(100); write_byte(100); write_byte(128); write_byte(0); message_end(); new entlist[33]; new numfound = find_sphere_class(id, "player", 200.0 , entlist, 32); for(new i=0; i <=numfound; i++) { new pid = entlist[i]; if(is_user_alive(pid) && get_user_team(id) != get_user_team(pid)) ExecuteHam(Ham_TakeDamage, pid, 0, id, float(get_user_health(pid)+1)); }
Kod powyżej nie zadaje obrażeń. Co może być źle?
ID to osoba, która została zabita.
BlackPerfum
19.05.2014
Zacznijmy od tego że nie chcesz tu nikomu zabierać dmg.
Po prostu zabij:
new team = get_user_team(id) for(new i=0; i <=numfound; i++) { new dead = entlist[i]; if(is_user_alive(dead) && team != get_user_team(dead)) { ExecuteHam(Ham_Killed, dead, id, 1); } }
A dlaczego nie zabiera dmg? Bo w:
ExecuteHam(Ham_TakeDamage, pid, 0, id, float(get_user_health(pid)+1));
Trzeci argument nie może być zerem (gdy 4 argument też nim nie jest) gdyż to jest id bytu który zadaje dmg. + o jeden argument za mało
Tak by działało:
(Ale tylko w pre Ham_Killed w post nie podziała (chyba))
ExecuteHam(Ham_TakeDamage, pid, id, id, float(get_user_health(pid)+1), 2);
Sharkowy no poza tym że walnie error w konsoli serwera i nic dmg nikomu nie zada to wszystko jest okey
Użytkownik BlackPerfum edytował ten post 19.05.2014 18:24