Составление условия

Webman

Nevermind
Сообщения
803
Реакции
330
Здравствуйте.

Помогите, пожалуйста, составить условие:
"Если в руках нож (активное оружие - нож), то ..."
То есть именно в руках он сейчас держит нож, то нужно выполнить действие.
Если в руках сейчас пистолет или автомат, то данное условие уже не может выполниться, т.к. в руках активным оружием не является нож, хоть он и присутствует у игрока.

Помогите сделать условие.

Заранее спасибо.
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Webman, если при стрельбе (событие weapon_fire), там прямо в событии передается из какого оружия.
PHP:
GetEventString(event, "weapon", sWeapon, sizeof(sWeapon));
if(StrEqual(sWeapon, "knife"))
{
	//....
}

Если просто в произвольный момент, то:
PHP:
new iWeapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
if(iWeapon>0 && IsValidEdict(iWeapon))
{
	new String:classname[32];
	GetEdictClassname(iWeapon, classname, sizeof(classname));
	if(StrEqual(classname, "weapon_knife"))
	{
		//....
	}
}
 

Root

AWOL.
Сообщения
76
Реакции
195
Если просто в произвольный момент, то:
А почему не использовать GetClientWeapon?
PHP:
decl String:weapon[24];
GetClientWeapon(client, weapon, sizeof(weapon));
if (StrEqual(weapon[7], "knife")) // Проигнорируем первые 7 символов в названии (префикс weapon_)
{
    //....
}

EDIT: Если не надо изменять св-ва активного оружия, то достаточно использовать GetClientWeapon
 

Webman

Nevermind
Сообщения
803
Реакции
330
Спасибо, попробую)) Не ожидал такой быстрый ответ!)
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Root, забыл про него, у меня в основном где используется как раз нужен индекс оружия...
 
Сверху Снизу