IIPO100_HY6
|
Дата: Четверг, 09.01.2014, 09:47:22 | Сообщение # 1 |
|
Сообщений: 10
Репутация: 1 [ +/- ]
|
|
В своих же опять ПОИНТАХ я сделал прокачку урона каждой пушке кроме пулемёта и гранатомёта. Дополнительный урон сохраняется но! Я могу легко нанести доп урон игроку а обычным инфектам не могу. Пробую так: Код public OnPluginStart() { HookEvent("infected_hurt", infected_hurt); }
public Action:infected_hurt(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "attacker")); // player userid who attacked new target = GetEventInt(event, "entityid"); new damage = 0; new String:weapon[64]; GetClientWeapon(client, weapon, sizeof(weapon)); new health = GetEntProp(target, Prop_Send, "m_iHealth"); PrintToChat(client,"Хп %d!",health);
if ( (StrEqual(weapon, "weapon_pistol"))||(StrEqual(weapon, "weapon_pistol_magnum"))|| (StrEqual(weapon, "weapon_smg_silenced"))||(StrEqual(weapon, "weapon_smg"))||(StrEqual(weapon, "weapon_smg_mp5"))|| (StrEqual(weapon, "weapon_pumpshotgun"))||(StrEqual(weapon, "weapon_shotgun_chrome"))||(StrEqual(weapon, "weapon_autoshotgun"))|| (StrEqual(weapon, "weapon_shotgun_spas"))||(StrEqual(weapon, "weapon_sniper_awp"))||(StrEqual(weapon, "weapon_sniper_military"))|| (StrEqual(weapon, "weapon_sniper_scout"))||(StrEqual(weapon, "weapon_hunting_rifle"))||(StrEqual(weapon, "weapon_rifle"))|| (StrEqual(weapon, "weapon_rifle_ak47"))||(StrEqual(weapon, "weapon_rifle_desert"))||(StrEqual(weapon, "weapon_rifle_sg552")) ) { if (StrEqual(weapon, "weapon_pistol")) { damage = dmgmod_pistol[client]; } if (StrEqual(weapon, "weapon_pistol_magnum")) { damage = dmgmod_deagle[client]; } if (StrEqual(weapon, "weapon_smg_silenced")) { damage = dmgmod_smg_sil[client]; } if (StrEqual(weapon, "weapon_smg")) { damage = dmgmod_smg[client]; } if (StrEqual(weapon, "weapon_smg_mp5")) { damage = dmgmod_mp5[client]; } if (StrEqual(weapon, "weapon_pumpshotgun")) { damage = dmgmod_shotgun[client]; } if (StrEqual(weapon, "weapon_shotgun_chrome")) { damage = dmgmod_chrome[client]; } if (StrEqual(weapon, "weapon_autoshotgun")) { damage = dmgmod_autoshotgun[client]; } if (StrEqual(weapon, "weapon_shotgun_spas")) { damage = dmgmod_spas[client]; } if (StrEqual(weapon, "weapon_sniper_awp")) { damage = dmgmod_awp[client]; } if (StrEqual(weapon, "weapon_sniper_military")) { damage = dmgmod_military[client]; } if (StrEqual(weapon, "weapon_sniper_scout")) { damage = dmgmod_scout[client]; } if (StrEqual(weapon, "weapon_hunting_rifle")) { damage = dmgmod_hunting[client]; } if (StrEqual(weapon, "weapon_rifle")) { damage = dmgmod_rifle[client]; } if (StrEqual(weapon, "weapon_rifle_ak47")) { damage = dmgmod_ak47[client]; } if (StrEqual(weapon, "weapon_rifle_desert")) { damage = dmgmod_scar[client]; } if (StrEqual(weapon, "weapon_rifle_sg552")) { damage = dmgmod_sg552[client]; } if (damage > 0) { if (health-damage < 0) { SetEntityHealth(target, 0); PrintToChat(client,"Убит!"); } else { SetEntityHealth(target, health-damage); PrintToChat(client,"Упс!Хелс-дамаг:%d,дамаг %d!",health,damage); } } else { PrintToChat(client,"Дамаг = 0!"); } } }
в итоге чат пустой так как я сделал эти сообщения для себя ибо заметил сразу что урон дополнительный они не получают потому что от доп. урона песта они должны сразу помирать с своими то 50хп на сложной. Может я неправильно получаю ID инфекта? Я чёт не понимаю я даже не получаю сообщение PrintToChat(client,"Хп %d!",health);
Добавлено (08.01.2014, 09:56:07) --------------------------------------------- в консоли Native "GetEntProp" reported. Property "m_iHealth" not found (entity 428/infected)
значит ентити получил правильно а ХП нетДобавлено (09.01.2014, 09:47:22) --------------------------------------------- а над было не проп сенд а проп дата )
Сообщение отредактировал IIPO100_HY6 - Среда, 08.01.2014, 09:56:32 |
|
| |
Sallcom
|
Дата: Четверг, 09.01.2014, 10:00:48 | Сообщение # 2 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
Цитата IIPO100_HY6 ( ) new client = GetClientOfUserId(GetEventInt(event, "attacker")); // player userid who attacked new target = GetEventInt(event, "entityid");
Код new victim = GetClientOfUserId(GetEventInt(event, "userid"));//Цель new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));//Атакующий
Цитата IIPO100_HY6 ( ) new health = GetEntProp(target, Prop_Send, "m_iHealth"); PrintToChat(client,"Хп %d!",health);
Код GetClientHealth(victim);
Сообщение отредактировал Sallmap - Четверг, 09.01.2014, 10:03:10 |
|
| |
IIPO100_HY6
|
Дата: Четверг, 09.01.2014, 13:51:04 | Сообщение # 3 |
|
Сообщений: 10
Репутация: 1 [ +/- ]
|
|
Цитата Sallmap ( ) GetClientHealth(victim); Инфект обычный это энтити а не клиент не? Клиенты это SI(special infected) толстяки курильщики. Тем более этот способ работает: Код new health = GetEntProp(target, Prop_Data, "m_iHealth");
Сообщение отредактировал IIPO100_HY6 - Четверг, 09.01.2014, 13:53:55 |
|
| |
Sallcom
|
Дата: Пятница, 10.01.2014, 13:42:19 | Сообщение # 4 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
Цитата IIPO100_HY6 ( ) Инфект обычный это энтити а не клиент не? Не досмотрел)
Сообщение отредактировал Sallmap - Пятница, 10.01.2014, 13:42:27 |
|
| |