Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Урон
panorama Дата: Четверг, 01.08.2013, 16:01:20 | Сообщение # 1
Сообщений: 203
Репутация: 2 [ +/- ]
Здравствуйте , подскажите как можно узнать как получил урон игрок .
Например у меня есть функция
Код

SDKHooks_TakeDamage(activator, caller, owner, 20.0, DMG_ENERGYBEAM);

Так вот есть вторая функция
Код

Event_PlayerHurt

Вторая функция должна сработать только если игрок нанес урон с оружия а не через первую функцию .

Повторю вопрос , возможно ли проверить что игрок нанес урон именно с оружия а не через
Код

SDKHooks_TakeDamage(activator, caller, owner, 20.0, DMG_ENERGYBEAM);


Спасибо !
 
TEIN Дата: Четверг, 01.08.2013, 16:32:10 | Сообщение # 2
Сообщений: 563
Репутация: 78 [ +/- ]
Попробуй создать глобальную переменную для каждого клиента, при использовании SDKHooks_TakeDamage переменную в true, в событии player_hurt проверять, если переменная в значении false => урон нанесен без использования функции SDKHooks_TakeDamage
 
panorama Дата: Четверг, 01.08.2013, 17:04:03 | Сообщение # 3
Сообщений: 203
Репутация: 2 [ +/- ]
Цитата (TEIN)
Попробуй создать глобальную переменную для каждого клиента, при использовании SDKHooks_TakeDamage переменную в true, в событии player_hurt проверять, если переменная в значении false => урон нанесен без использования функции SDKHooks_TakeDamage

Идея хорошая но проблема в одном это 2 разных smx файла .
Дело в том , что функция
Код
SDKHooks_TakeDamage(activator, caller, owner, 20.0, DMG_ENERGYBEAM);
вызывается около 70 раз в секунду , и это не выгодный способ . Возможно ли через
Код

decl String:weapon[64];  
GetEventString(Event, "weapon", weapon, sizeof(weapon));
????
 
TEIN Дата: Четверг, 01.08.2013, 18:22:20 | Сообщение # 4
Сообщений: 563
Репутация: 78 [ +/- ]
так проверь в OnTakeDamage
 
panorama Дата: Пятница, 02.08.2013, 06:44:40 | Сообщение # 5
Сообщений: 203
Репутация: 2 [ +/- ]
Цитата (TEIN)
так проверь в OnTakeDamage

Блин ну это получится две функции будут выполнять одну и туже работу .
Ладно я попробую по другому , Если я сделаю так
Код

if(strcmp(weapon, "awp") == 0){
///И типа я все оружие которое есть напишу ...
}else{
//Если не с него то не выполняем так можно ?
}
 
TEIN Дата: Пятница, 02.08.2013, 06:50:17 | Сообщение # 6
Сообщений: 563
Репутация: 78 [ +/- ]
=\
проверь в OnTakeDamage как урон проходит, от кого, кому, с какого оружия
 
panorama Дата: Пятница, 02.08.2013, 12:21:31 | Сообщение # 7
Сообщений: 203
Репутация: 2 [ +/- ]
Цитата (TEIN)
=\
проверь в OnTakeDamage как урон проходит, от кого, кому, с какого оружия

Все сработало на ура :D
 
  • Страница 1 из 1
  • 1
Поиск: