Barsminsk
Так ты сам и проверь исходник есть меняй коэффициент и компелируй.Тут я на своём сервере методом ну скажем проб достиг оптимального для меня решения.
p.s У каждого свой вкус сказал индус облизовая свои яйца.
)))
Замени везде return Plugin_Handled; на:плюс коэффициент 0.5 для дамага в спину
{
damage *= 0.5;
return Plugin_Changed;
}
Убери это месиво и лучше тогда уж файлом скинь.В чем проблема может быть?
лови)Убери это месиво и лучше тогда уж файлом скинь.
А я предупреждал, что способ не очень хорош, потому и не хотел ещё на что-то переделывать.
#include <sdkhooks>
#include <sdktools_functions>
new String:sWeapon[13], Float:fAttackerEye[3], Float:fVictimEye[3];
public OnClientPostAdminCheck(client) SDKHook(client, SDKHook_OnTakeDamage, TakeDamage);
public Action:TakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
if (attacker && victim != attacker && attacker <= MaxClients)
{
GetClientWeapon(attacker, sWeapon, sizeof(sWeapon));
if (strcmp(sWeapon, "weapon_knife") == 0)
{
GetClientEyeAngles(attacker, fAttackerEye);
GetClientEyeAngles(victim, fVictimEye);
if (fAttackerEye[1] < fVictimEye[1])
{
if (fVictimEye[1] - fAttackerEye[1] < 75.0)
{
damage *= 0.5;
return Plugin_Changed;
}
}
else if (fAttackerEye[1] - fVictimEye[1] < 50.0)
{
damage *= 0.5;
return Plugin_Changed;
}
}
}
return Plugin_Continue;
}
undefined symbol "Eye"ОффтопC-подобный:#include <sdkhooks> #include <sdktools_functions> new String:sWeapon[13], Float:fAttackerEye[3], Float:fVictimEye[3]; public OnClientPostAdminCheck(client) SDKHook(client, SDKHook_OnTakeDamage, TakeDamage); public Action:TakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3]) { if (attacker && victim != attacker && attacker <= MaxClients) { GetClientWeapon(attacker, sWeapon, sizeof(sWeapon)); if (strcmp(sWeapon, "weapon_knife") == 0) { GetClientEyeAngles(attacker, fAttackerEye); GetClientEyeAngles(victim, fVictimEye); if (fAttackerEye[1] < fVictimEye[1]) { if (fVictimEye[1] - fAttackerEye[1] < 75.0) { damage *= 0.5; return Plugin_Changed; } } else if (fAttackerEye[1] - fVictimEye[1] < 50.0) { damage *= 0.5; return Plugin_Changed; } } } return Plugin_Continue; }
Крути углы.
Сорян, но не понял. В моей цитате его быть не может. Я скопировал твой код и скомпилил, вот что выдало "undefined symbol "Eye""ОффтопВ твоей цитате его нет - оттуда и скопируй.