uzywam
stock TakeDamage(victim, attacker, Float:fDamage, damagebits, const szWeapon[] = "",ent = 0){ static info_target = 0; if(!info_target) info_target = engfunc(EngFunc_AllocString, "info_target"); if(pev_valid(ent)) ExecuteHamB(Ham_TakeDamage, victim, ent, attacker, fDamage, damagebits); else{ ent = engfunc(EngFunc_CreateNamedEntity, info_target); set_pev(ent, pev_classname, szWeapon); ExecuteHamB(Ham_TakeDamage, victim, ent, attacker, fDamage, damagebits); set_pev(ent, pev_flags, FL_KILLME); } }
Wywoływanie nazwy broni w deathmsg
public DeathMsg(id) { new weaponname[20] new kid = read_data(1) new vid = read_data(2) new headshot = read_data(3) read_data(4,weaponname,31)
Pokazywanie dmg
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") public on_damage(id) { static attacker; attacker = get_user_attacker(id) static damage; damage = read_data(2) set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage) if(is_user_connected(attacker)) { if (pev(id,pev_rendermode) == kRenderTransTexture || player_b_inv[id] < 70 && player_b_inv[id] != 0|| player_class[id] == Ninja || invisible_cast[id] == 1||!fm_is_ent_visible(attacker,id)) return PLUGIN_CONTINUE set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage) } return PLUGIN_HANDLED }
i teraz tak jesli uzyje tego:
TakeDamage(victim, attacker, fDamage, DMG_BULLET, "rakieta",0);
Nazwa broni jest prawidlowo odczytywana lecz nie widac zadanego z niej dmg
Jesli dam tak
TakeDamage(victim, attacker, fDamage, DMG_BULLET, "rakieta",attacker);
To widac zadawane dmg lecz nie pobiera nazwy broni .
Potrzebne jest to mi do kilku innych funkcij (nazwa broni ) . A zalezy mi tez na widocznym dmg . Jbc moge zaplacic ;]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mozna colse.Rozwiazane
Użytkownik Zielarz. edytował ten post 18.12.2011 17:00