HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Помогите с подсчетом фрагов за убийства монстров
Как в Sven Co-op
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Shadow762
быдлокодер

Дата регистрации: Jul 2015
Проживает: Гиде-то
Сообщений: 71
Возраст: 26

Рейтинг



Half-Life Помогите с подсчетом фрагов за убийства монстров

Всем доброго времени суток. В общем, сделал вот так:
В combat.cpp в начале функции void CBaseMonster :: Killed( entvars_t *pevAttacker, int iGib )
добавил:

C++ Source Code:
CBaseEntity *pPlayer = NULL;
pPlayer = UTIL_FindEntityByClassname( NULL, "player" );
 
if( pPlayer && pPlayer->IsPlayer() )
  pPlayer->AddPoints( 1, false );

В начале заинклюдил "player.h".

В принципе все работает, но, мягко говоря, не совсем, как надо:
1. Фраги зачисляются только одному игроку
2. Зачисляются даже за расчленение трупа монстра.

Пожалуйста, помогите довести эту фишку до ума, буду очень благодарен

__________________
я Z

Сообщить модератору | | IP: Записан
Сообщение: 155424

Старое сообщение 30-05-2016 17:56
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 29

Рейтинг



1. Получай игрока так:

C++ Source Code:
CBasePlayer *pPlayer = GetClassPtr((CBasePlayer *)pevAttacker);


2. Вызывай добавление поинтов после этой строчки:
C++ Source Code:
Remember( bits_MEMORY_KILLED );


Остальное у тебя верно.

__________________
Base Defense on Steam, ModDB

Сообщить модератору | | IP: Записан
Сообщение: 155427

Старое сообщение 30-05-2016 19:26
- За что?
Shadow762
быдлокодер

Дата регистрации: Jul 2015
Проживает: Гиде-то
Сообщений: 71
Возраст: 26

Рейтинг



PLut Спасибо! Но насколько я понял, это правка только первого пункта данной проблемы, а за расчленение трупа все равно будет зачисляться...

__________________
я Z

Отредактировано Shadow762 30-05-2016 в 20:04

Сообщить модератору | | IP: Записан
Сообщение: 155430

Старое сообщение 30-05-2016 19:55
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 29

Рейтинг



Shadow762 Ну ты попробуй, а потом отпишись.

__________________
Base Defense on Steam, ModDB

Сообщить модератору | | IP: Записан
Сообщение: 155431

Старое сообщение 30-05-2016 20:11
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Shadow762 писал:
Но насколько я понял, это правка только первого пункта данной проблемы, а за расчленение трупа все равно будет зачисляться...


Конечно будет. У тебя труп как ставится на карту? MONSTER_GENERIC? MONSTER_HGRUNT_DEAD? Вот то то же...

Добавлено 31-05-2016 в 00:29:

З.ы. если непонятно, то эти штуки тоже монстры, только с определенной анимацией и единицей здоровья.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 155433

Старое сообщение 30-05-2016 21:29
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Ghoul [BB] писал:
З.ы. если непонятно, то эти штуки тоже монстры, только с определенной анимацией и единицей здоровья.

Тогда нужно добавить проверку на IsAlive(). У этих штук pev->deadflag равен DEAD_DEAD. У обычных монстров такой флаг ставится только когда заканчивается анимация смерти.

Сообщить модератору | | IP: Записан
Сообщение: 155438

Старое сообщение 31-05-2016 05:35
- За что?
Shadow762
быдлокодер

Дата регистрации: Jul 2015
Проживает: Гиде-то
Сообщений: 71
Возраст: 26

Рейтинг



PLut Большое тебе человеческое спасибо! Все получилось, работает ровно так как надо!

__________________
я Z

Сообщить модератору | | IP: Записан
Сообщение: 155446

Старое сообщение 31-05-2016 11:52
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 29

Рейтинг



Shadow762 Рад помочь

__________________
Base Defense on Steam, ModDB

Сообщить модератору | | IP: Записан
Сообщение: 155447

Старое сообщение 31-05-2016 12:18
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 07:14. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Помогите с подсчетом фрагов за убийства монстров
Как в Sven Co-op
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024