Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Модуль Hamsanwich ( ЧАСТЬ 2) :)

, Блокирование игровых событий
Статус пользователя Nb00wn
сообщение 24.2.2011, 20:01
Сообщение #21


Стаж: 15 лет

Сообщений: 25
Благодарностей: 5
Полезность: 154

clapping.gif

Отредактировал: Nb00wn, - 25.2.2011, 16:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ProxXx
сообщение 6.4.2011, 17:09
Сообщение #22


Стаж: 19 лет

Сообщений: 72
Благодарностей: 41
Полезность: 438

Цитата(loginanton @ 28.5.2010, 17:27) *
Подскажите пожалуйста, где можно почитать справку по этому модулю. Конкретно хочу как то обрабатывать ранение только от оружия, т.е. исключить ранения от падения и т.п.

ham_const.inc
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DoNotFollowM
сообщение 28.10.2016, 18:04
Сообщение #23
Стаж: 10 лет

Сообщений: 108
Благодарностей: 18
Полезность: 135

Как заблокировать урон если переменная g_Hook[id] = true
По разному делал, не получается. Что то я намудрил

Код:
new bool:g_Hook[33];

RegisterHam(Ham_TakeDamage, "player", "DoubleDamage")

public DoubleDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(g_Hook[i_Killer])
{
if(i_Victim)
return HAM_SUPERCEDE;
}
else
{
if(i_Victim)
return HAM_IGNORED;
}
}


Отредактировал: DoNotFollowM, - 28.10.2016, 18:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 28.10.2016, 18:23
Сообщение #24
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

DoNotFollowM, для чего нужен if(i_Victim) ?

да и откуда взял i_Killer


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 28.10.2016, 18:27
Сообщение #25
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

DoNotFollowM,

Урон блокируют не в TakeDamage, а в TraceAttack. Заблокировав урон, вы не заблокируете эффекты, которые происходят при его на несении.

Принты везде расставь и узнаешь, что и где не срабатывает. Как вы вообще умудряетесь писать код без вывода логов ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DoNotFollowM
сообщение 28.10.2016, 18:50
Сообщение #26
Стаж: 10 лет

Сообщений: 108
Благодарностей: 18
Полезность: 135

Цитата(Unknown @ 28.10.2016, 18:23) *
DoNotFollowM, для чего нужен if(i_Victim) ?

да и откуда взял i_Killer

Дак не могу понять как сделать проверку, если у атакующего переменная true, то урон не наноситься. Вот и извращался как мог
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 28.10.2016, 19:53
Сообщение #27
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(DoNotFollowM @ 28.10.2016, 20:04) *
Как заблокировать урон если переменная g_Hook[id] = true
По разному делал, не получается. Что то я намудрил

Код:
new bool:g_Hook[33];

RegisterHam(Ham_TakeDamage, "player", "DoubleDamage")

public DoubleDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(g_Hook[i_Killer])
{
if(i_Victim)
return HAM_SUPERCEDE;
}
else
{
if(i_Victim)
return HAM_IGNORED;
}
}


victim - жертва
inflictor - инициатор урон (можно быть граната например)
attacker - тот, кто наносит урон
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: