Участник
Пользователь
- Сообщения
- 33
- Реакции
- 15
- Помог
- 1 раз(а)
LeGenD добавил(а) новый ресурс:
Bonus Kill - Бонусы за убийства
Нажмите на эту ссылку, чтобы узнать больше
Bonus Kill - Бонусы за убийства
Нажмите на эту ссылку, чтобы узнать больше
"@CBasePlayer_Killed_Pre", .post = false
-> Почему?
"@CBasePlayer_AddAccount", .post = false
-> Почему? Да и зачем вообще?
if ( g_iKills[Player] >= ... )
else if ( g_iKills[Player] >= ... )
else if ( g_iKills[Player] >= ... )
Посмотреть вложение 14979
#define IsPlayer(%1) (1 <= %1 <= MAX_CLIENTS + 1)
#define IsPlayer(%1) (1 <= %1 <= MaxClients)
Суть скорее всего была в том что pre, а не post. Какой-то особый смысл в использовании pre?Что почему и зачем?
CBasePlayer_AddAccount
чтобы выдавалось только если идёт выдача денег за убийство.@CBasePlayer_Killed_Pre(const Victim, const Killer, const Inflictor)
У этого хука нет инфликтора вообще, это в@CBasePlayer_Killed_Pre(const Victim, const Killer, const Inflictor)
Inflictor - не используется в коде, можно убрать
RG_CSGameRules_PlayerKilled
.А если оно вообще не вызывается?Также[BGCOLOR=transparent] скорее всего, надо добавить проверку на тип награды вCBasePlayer_AddAccount
чтобы выдавалось только если идёт выдача денег за убийство.[/BGCOLOR]
Да, может не вызываться, если блокируется полностью выдача денег, по сути тогда подходит только для обычных серверов. Можно перенести процедуру и начисление денег после прибавления количества убийств.А если оно вообще не вызывается?
Суть в том, что pre выполняется позже. Если установить post, то будет считать уже с 0 , а не с 1. И если я переделаю с pre на post мне придется переделывать счетчик и считать с нуля, а не с 1Суть скорее всего была в том что pre, а не post. Какой-то особый смысл в использовании pre?
Что? Post - после, pre - до. Счётчик в любом случае идёт с 0, при первом убийстве станет 1. Другое дело вызовется ли AddAccount раньше или нет.Суть в том, что pre выполняется позже. Если установить post, то будет считать уже с 0 , а не с 1. И если я переделаю с pre на post мне придется переделывать счетчик и считать с нуля, а не с 1
Значит получается что:Что? Post - после, pre - до. Счётчик в любом случае идёт с 0, при первом убийстве станет 1. Другое дело вызовется ли AddAccount раньше или нет.
RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post = true)
RegisterHookChain(RG_CBasePlayer_AddAccount, "@CBasePlayer_AddAccount", .post = false)
Убрать вообще AddAccount и начислять через натив после прибавления количества убийств. Небольшой совет, лучше указывать в названии пост или пре хук чтобы было удобнее разбираться.Значит получается что:
Хотя смысла особого чет не понимаю. Стоит pre и нормально считает 2 kill = bonus. В чем может быть проблема?C++:RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post = true) RegisterHookChain(RG_CBasePlayer_AddAccount, "@CBasePlayer_AddAccount", .post = false)
я понял, хорошо. Спасибо пока словесно.Убрать вообще AddAccount и начислять через натив после прибавления количества убийств. Небольшой совет, лучше указывать в названии пост или пре хук чтобы было удобнее разбираться.
Ну как бы всем не угодишь. Простите...Ой
Ужасная конструкция if/else
У вас это не работает.Код:@client_disconnected(Player) { g_iKills[Player] = 0 }
Буквы переуптаныKILL_NUM_REOLAD_WP