Убийство Дымовой гранатой

IIcux

Участник
Сообщения
32
Реакции
2
Приветствую всех, господа! Нужна помощь в поиске или написании плагина. Его смысл такой: При попадании в игрока дымовой гранатой = смерть.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Как вариант:
OnTakeDamage в sdkhooks
if (damage == smokenade) damage = 100;
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
в OnEntityCreated если это дымка - хук он тач. И если косается игрока -> создать эвент смерти.
Ну это на случай если при просто попадании в игрока не снимает 1 хп. Если же снимает то в OnTakeDamage проверять inflictor или weapon, не помню уже че там.
 

IIcux

Участник
Сообщения
32
Реакции
2
Есть плагин Hegrenade Damage
#pragma semicolon 1
#include <sdkhooks>

public Plugin:myinfo =
{
name = "Hegrenade Damage",
author = "GoDtm666",
description = "Hegrenade Damage",
version = "1.0.0",
url = "http://www.SourceTM.com/"
}

new Handle:g_hCvarDamage = INVALID_HANDLE;
new Float:g_fDamage;

public OnPluginStart()
{
g_hCvarDamage = CreateConVar("sv_hegrenade_damage", "1.12", "На сколько увеличить урон от осколочной гранаты.", FCVAR_PLUGIN|FCVAR_NOTIFY|FCVAR_DONTRECORD, true, 0.0, true, 10.0);
OnSettingsChanged(g_hCvarDamage, "", "");
HookConVarChange(g_hCvarDamage, OnSettingsChanged);
}

public OnSettingsChanged(Handle:convar, const String:oldValue[], const String:newValue[])
{
g_fDamage = GetConVarFloat(convar);
}

public OnClientPutInServer(client)
{
SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public OnClientDisconnect_Post(client)
{
SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
decl String:sWeapon[32];
GetEdictClassname(inflictor, sWeapon, sizeof(sWeapon));
if (StrEqual(sWeapon, "hegrenade_projectile", false))
{
damage *= g_fDamage;
return Plugin_Changed;
}
return Plugin_Continue;
}

Как его можно исправить под дымовую гранату
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
IIcux, если просто кинуть в игрока дымовую 1 хп снимает?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
IIcux, тогда как с греной не выйдет.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Тогда:
PHP:
public OnClientPutInServer(client)
 {
 SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
 }

 public OnClientDisconnect_Post(client)
 {
 SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
 }

 public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
 {
 decl String:sWeapon[32];
 GetEdictClassname(inflictor, sWeapon, sizeof(sWeapon));
 if (StrEqual(sWeapon, "smokegrenade_projectile", false))
 {
 damage = 150;
 return Plugin_Changed;
 }
 return Plugin_Continue;
 }
Должно отнять 150.
 

Похожие темы

Ответы
0
Просмотры
210
Ответы
5
Просмотры
Ответы
0
Просмотры
392
Ответы
1
Просмотры
245
Ответы
1
Просмотры
277
Сверху Снизу