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

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

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

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

ReAPI Full Block HEADSHOT Damage

Статус пользователя ssx
сообщение 27.2.2018, 19:14
Сообщение #1


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Как на ReAPI блокануть урон в голову так как будто не попал вовсе ?



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя fl0werD
сообщение 27.2.2018, 22:05
Сообщение #2
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

В трейсаттаке хитгруппу переназначить на HIT_GENERIC.
В тейкдмг заблочить урон в голову.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csintelligen
сообщение 27.2.2018, 23:47
Сообщение #3
Стаж: 8 лет 4 месяца

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

fl0werD,
Как будто на таджикском чёт рубанул crazy.gif

Отредактировал: csintelligen, - 27.2.2018, 23:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.2.2018, 0:50
Сообщение #4
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

Цитата(csintelligen @ 27.2.2018, 23:47) *
fl0werD,
Как будто на таджикском чёт рубанул crazy.gif

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя wer1K
сообщение 2.3.2018, 3:37
Сообщение #5
Стаж: 18 лет

Сообщений: 403
Благодарностей: 259
Полезность: 987

Меценат Меценат

Цитата(fl0werD @ 27.2.2018, 22:05) *
В трейсаттаке хитгруппу переназначить на HIT_GENERIC.
В тейкдмг заблочить урон в голову.

Подымаюсь на девятку, откидываю флэшу в коробку, чекаю улицу, вижу убивают моего на рампах, делаю перетяжку на Б, меня убивают в голову. По смыслу что-то связанное с CS, но ничем автору не помогло, в принципе как и твой ответ.

Отредактировал: wer1K, - 2.3.2018, 3:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 2.3.2018, 12:32
Сообщение #6


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Пока что вот так сделал но при попадании в голову все равно искры летят , но уже не колбасит дико.

Код:
public CBasePlayer_TakeDamage(const pPlayer, const pevInflictor, const pevAttacker, const Float:flDamage, const bitsDamageType)
{
if(!g_Without_HS[pevAttacker])
return HC_CONTINUE

if(!IsPlayer(pevAttacker) || !(bitsDamageType & DMG_BULLET))
return HC_CONTINUE

if(get_member(pPlayer, m_LastHitGroup) == HITGROUP_HEAD)
{
SetHookChainArg(4, ATYPE_FLOAT, flDamage * 0.25)
// SetHookChainReturn(ATYPE_INTEGER, 0)
set_member(pPlayer, m_LastHitGroup, HITGROUP_GENERIC)
// return HC_BREAK
return HC_CONTINUE
}

return HC_CONTINUE
}


в RG_CBasePlayer_TraceAttack pre пытался переназначать хитбокс - не получилось. То просто не работает то сервер в крашЪ.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 6.4.2018, 14:10
Сообщение #7


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(fl0werD @ 27.2.2018, 22:05) *
В трейсаттаке хитгруппу переназначить на HIT_GENERIC.
В тейкдмг заблочить урон в голову.

Как не пытался, так и не смог переназначить хитбокс через re-фунции.

Пока что получается полностью блокировать урон с игнорированием попадания (дёрганья жертвы) вот так:
Код:
public CBasePlayer_TraceAttack(iVictim, iAttacker, Float:flDamage, Float:vecDir[3], tracehandle, bitsDamageType)
{
if(BOT[iAttacker])
{
if (get_tr2(tracehandle, TR_iHitgroup) == HIT_HEAD)
{
return HC_SUPERCEDE
}
}
return HC_CONTINUE
}


2. Код:
new hitgroup = get_member(victim, m_LastHitGroup)
if(hitgroup == HIT_HEAD) // пробовал и HITGROUP_HEAD
{
client_cmd(0, "echo !!! [TEST 1] HITGROUP = %s | Attacker = %s | Victim = %s", hitgroup, attacker_name, victim_name)

Срабатывает даже если не в голову попал и выводит "имя жертвы, имя аттакера, имя жертвы" . Не понимаю почему вместо хитбокса выводит имя жертвы.
Вообще, потрахался я с get_member(victim, m_LastHitGroup) - такое ощущение что в Код:
RegisterHookChain(RG_CBasePlayer_TraceAttack, "CBasePlayer_TraceAttack", .post = false);
эта функция не работает. Может потому что выстрел это не есть нанесение урона а LastHitGroup это нанесение урона а не попадание ?
П.С. так же не понятно, почему в get_tr2(tracehandle, TR_iHitgroup) HIT_HEAD а в get_member(pPlayer, m_LastHitGroup) HITGROUP_HEAD - где-то ошибка или так задумано для путаницы ?

Вот в Код:
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post = false)

Нормально работает переназначение хитбокса
Код:
	if(get_member(pPlayer, m_LastHitGroup) == HITGROUP_HEAD) 
{
SetHookChainArg(4, ATYPE_FLOAT, flDamage * 0.15)

new RandomHIT = random_num(0,6)
switch(RandomHIT)
{
case 0: set_member(pPlayer, m_LastHitGroup, HITGROUP_GENERIC)
case 1: set_member(pPlayer, m_LastHitGroup, HITGROUP_CHEST)
case 2: set_member(pPlayer, m_LastHitGroup, HITGROUP_STOMACH)
case 3: set_member(pPlayer, m_LastHitGroup, HITGROUP_LEFTARM)
case 4: set_member(pPlayer, m_LastHitGroup, HITGROUP_RIGHTARM)
case 5: set_member(pPlayer, m_LastHitGroup, HITGROUP_LEFTLEG)
case 6: set_member(pPlayer, m_LastHitGroup, HITGROUP_RIGHTLEG)
}
return HC_CONTINUE
}

return HC_CONTINUE

Но при этом при попадании в голову все равно колбасит (дёргает) игрока .

Отредактировал: ssx, - 6.4.2018, 14:17


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mistrick
сообщение 6.4.2018, 15:41
Сообщение #8


Стаж: 13 лет

Сообщений: 543
Благодарностей: 426
Полезность: 1034

ssx, с чего у вас в пре хуке трейсаттаки будет в ластхитгруп "будущее" значение?
https://github.com/s1lentq/ReGameDLL_CS/blo...player.cpp#L591
Пре хук вы получите раньше, чем значение поменяется.
Вам надо в пре хуке делать свой трейс, по тем же данным и в этом трейсе получать хитгруп.

Отредактировал: Mistrick, - 6.4.2018, 15:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 7.4.2018, 15:43
Сообщение #9
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

Как дергается?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: