Nekro
Терра инкогнита
- Сообщения
- 4,042
- Реакции
- 2,295
Никак не хочет менять силу урона, fNewDmg устанавливает нужное количество, но там дамаг fDamage никак не меняется, где ошибка?
C-подобный:
#pragma semicolon 1
#pragma newdecls required
#include <sdkhooks>
public void OnPluginStart()
{
for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i)) OnClientPutInServer(i);
}
public void OnClientPutInServer(int iClient)
{
SDKHook(iClient, SDKHook_OnTakeDamage, OnTakeDamage);
}
public Action OnTakeDamage(int iClient, int &iAttaker, int &iInflictor, float &fDamage, int &iDamageType)
{
PrintToChatAll("Нанёс [%.2f]", fDamage);
float fDmgInc = 50.0, fNewDmg = fDamage;
if(iAttaker && iAttaker <= MaxClients && IsClientInGame(iAttaker))
{
fNewDmg *= 1.0 + fDmgInc/100.0;
PrintToChatAll("Игрок [%N] нанёс [%.2f] урона [%N]", iAttaker, fNewDmg, iClient);
return Plugin_Changed;
}
PrintToChatAll("Нанёс 2 [%.2f]", fDamage);
return Plugin_Continue;
}