Можно ли отловить момент броска гранаты?

trial

Участник
Сообщения
51
Реакции
11
Спасибо за помощь!
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
trial, https://wiki.alliedmods.net/Counter-Strike:_Source_Events#weapon_fire
И проверяешь граната это или нет.


PHP:
public OnPluginStart()
{
	HookEvent("weapon_fire", Event_WeaponFire);
}

public Action:Event_WeaponFire(Handle:hEvent, const String:name[], bool:dontBroadcast)
{
	decl String:sWeapon[60];
	GetEventString(hEvent, "weapon", sWeapon, sizeof(sWeapon));
	if(StrEqual(sWeapon[7], "hegrenade"))
	{
		// твой код
	}
}
 

trial

Участник
Сообщения
51
Реакции
11
PHP:
public Action:Event_WeaponFire(Handle:hEvent, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(hEvent, "userid"));
	decl String:sWeapon[60];
	GetEventString(hEvent, "weapon", sWeapon, sizeof(sWeapon));
	if(StrEqual(sWeapon[7], "flashbang"))
	{
		SetEntityHealth(client, GetConVarInt(g_CvarHP));
	}
}

После броска не делается 200HP почему-то.

В старте:

PHP:
g_CvarHP = CreateConVar("sm_flashbang_boost", "200", "Кинул гранату и получил N здоровья.");
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
trial,
PHP:
if(StrEqual(sWeapon, "hegrenade"))
Я посмотрел, там без weapon
 

trial

Участник
Сообщения
51
Реакции
11
Есть разница?
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #6
PHP:
 if(StrEqual(sWeapon[7], "flashbang"))

PHP:
 if(StrEqual(sWeapon, "flashbang"))

Разницу видишь?
 

trial

Участник
Сообщения
51
Реакции
11
Благодарю. Что с таймером?
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #8
new Handle:g_hTimers[MAXPLAYERS+1];
и дальше создаешь таймер и работаешь с проверками и bool
 
Сверху Снизу