Дядя Миша извиняюсь, не так выразился. мне просто нужно было нарисовать линию. Вроде, тут всё очевидно. В файле const.h указано, что и в каком порядке писать. Но у меня не получается. Игра крашится. в проекте hl не нашел применения TE_LINE, и нашёл вот такой пример: http://amx-x.ru/viewtopic.php?p=222112 . Тоже самое.
Добавлено 27-02-2018 в 00:37:
Ещё пара вопросов.
1) Попробую объяснить на примере gauss'а. При выстреле, на серверной и клиентской DLL рассчитываются точки, в которые попали лучи. Но на клиенте они используются для функций R_BeamEntPoint и R_BeamPoints, а на сервере для вызовов TakeDamage сущностей если в них попал луч. Вопрос касается клиентской части. Получается клиент обрабатывает не только свои выстрелы, но и остальных игроков с сервера (я попробовал изменить клиентку и зашел на HL-сервер). А что если всё это делать на серверной части через сообщения? Является ли это плохим стилем? Я попробовал использовать TE_BEAMENTPOINT, и тоже самое вроде получилось.
2) В этом сообщении нам нужно указать индекс сущности, от которой исходит луч. m_pPlayer->entindex() | 0x1000 (взял из ev_hldm.cpp, строка: 928). Могли бы пожалуйста уточнить, для чего тут нужно прибавлять 4096?
Smykov касательно оружия лучше использовать эвенты, а не мессаги. Потому что они работают и с клиентскими пушками тоже. Если конечно у тебя спирит, где клиентские пушки вырезаны, тогда и мессагами можно, т.к. пушки тчинкают только на сервере, и пользы от эвентов много не будет.
Smykov писал: В файле const.h указано, что и в каком порядке писать. Но у меня не получается.
Естественно не получается, там процентов на 30 брехня написана.
Цитата:
Smykov писал: Получается клиент обрабатывает не только свои выстрелы, но и остальных игроков с сервера (я попробовал изменить клиентку и зашел на HL-сервер).
Не совсем так. Фишка эвентов в том, что клиент может их как принимать с сервера, так и воспроизводить локально (для локального игрока). Это часть системы предиктинга оружия.
Цитата:
Smykov писал: Могли бы пожалуйста уточнить, для чего тут нужно прибавлять 4096?
Это так номер аттачмента кодируется, в верхние биты.
Smykov вальвовская система "будет так же потому что код такой же" мне тоже не понравилась. Как минимум - потому что содержала мало того что старый гауссобаг, так еще и иногда расходилась с сервером. Лучше пусть отсает и лагает тогда уж. Я вернул у себя мессаги с лучами на сервере и не парюсь.
Возможно вы замечали в модах (а то и на своих картах), что хаундаи иногда стоят и ничего не делают (даже анимация не играет, и на урон они не реагируют, только звуки издают). Кто-нибудь исследовал проблему?
Назрел такой вопрос возможно сделать нпс из ботов используя их анимации, а их ИИ от обычных нпс хл?
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
~ X ~ писал: недостаточно ИИ-инфы в моделях игроков - как минимум.
То есть как-бы можно но очень муторное это дело из-за того что ИИ нужно дописывать или вообще переписать.
"боты без ИИ" - это игроки
Ну с этим я согласен
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Luciferchik писал: То есть как-бы можно но очень муторное это дело из-за того что ИИ нужно дописывать или вообще переписать.
Разведи авторов свенкоопа на частичные сорцы. Они сделали независимые движения и действия монстрам. Этого более чем достаточно для сингла и даже коопа.
Перевожу: они могут одновременно бегать и атаковать.
Цитата:
Luciferchik писал: То есть как-бы можно но очень муторное это дело из-за того что ИИ нужно дописывать или вообще переписать.
У монстров ИИ сильно завязан на HandleAnimEvents(), например. У игроков, ясен пень, в моделях нет кастомных евентов. Ну и да, надо писать кастомные шедюли и прочие страшные структуры. А если учитывать, что в ХЛ СДК ООП весьма недоделанное, гемор будет приличный. Даже мне только недвно удалось "спаять" все классы монстров чтобы не было копипасты и TakeDamage() (например) был один на всех и всё. Кстати, надо попробовать заспаунить игрока как энтитю
Как то странно он обсчитывается, помнится очень давно хотел задать его для env_beam, в итоге луч цеплялся только за энтитию на спавне, а не за игрока. Впринципе всё логично, но тогда я сильно растроился.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Есть ли такая возможность без особого вмешательство в код (костылями) сделать чтобы игрок видел приаттаченую к нему энтити?
Знаю, что по дефолту клиент убирает видимость таких моделей.
Возможно как-то повесить пустышку_энтити на игрока, а на эту пустышку_энтити уже мою энтити, которую бы видел игрок?
Мой нубский вопрос по коду НПС, вот допустим я сделал убиваемым гмана, и добавил анимации смерти от модели игрока, и подправил их, чтобы там чумодан не залазил в землю, но как его гада замочить до конца? Чтобы он на картах типа c1a1b если в него выстрелить не уходил с обидкой, будучи убитым (видно что анимация смерти только начала проигрываться, но он все равно уходит), и чтобы он не мог трындеть? На карте с5а1 в конце самой игры если его замочить он все равно продолжает свой монолог.