HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 72 73 74 75 [76] 77 78 79 80 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
В параное именно так и сделано и никаких проблем и вообще никакого дополнительного кода там не надо - уже и так всё необходимое установлено.

В Паранойе 2.
Цитата:
Дядя Миша писал:
Самым подходящим является вызов отрисовки модели игрока от третьего лица.

StudioDrawPlayer, да. И откуда это вызывать, чтобы оно работало правильно? Вызывается по-умолчанию оно только движком, для локального игрока от 3-го лица и для нелокальных игроков в мультиплеере. Ну ещё из StudioDrawModel для дохлых игроков с особым условием. Дело в том, что для дохлых игроков есть энтить на сервере. Я пробовал создавать энтить для ног и рисовать её похожим способом. Что-то у меня тогда не получилось. Ладно, попробую ещё раз.

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

Старое сообщение 04-08-2017 10:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
В Паранойе 2.

И всё, мозг отключился?
Цитата:
Ku2zoff писал:
Вызывается по-умолчанию оно только движком, для локального игрока от 3-го лица и для нелокальных игроков в мультиплеере.

Правильно. А откуда движок узнает, что надо рисовать модель от третьего лица? Правильно, об этом ему говорит клиентка. И сама камера от третьего лица в клиентке. Ну так и скажи движку, что надо рисовать модель от третьего лица, а камере скажи, чтоб не включалась, а вместо это модели рисуй ноги. Правда сложно догадаться?

Добавлено 04-08-2017 в 18:00:

Там единственный момент, вызывающий трудности - движок расхочет рисовать вьюмодель, но это легко обойти, т.к. вызов CL_IsThirdPerson не кэшируется в голдсорсе. Метода такая:
Где-нибудь, ну например в HUD_Frame ставим com_thirdperson = 1;
После того как модель игрока от третьего лица успешно добавлена в лист ( мы об этом узнаем в HUD_AddEntity), ставим com_thirdperson = 0. Движок теперь думает что мы рисуем от первого лица, но и модельку от третьего тоже добавили. А дальше в StudioDrawPlayer делаем просто проверку на com_thirdperson (мы же его сбросили в ноль), и если он равен нулю - рисуем ноги. Аналогично камера от третьего лица не включится, т.к. к моменту её активации com_thirdperson уже сброшен в ноль. Осталось только придумать как восстановить функциональность собственно thirdperson, но это не слишком сложная задачка, так что не буду разжёвывать.
В целом работы по добавлению ног - 8-10 минут. Модельку дольше делать ито.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 04-08-2017 15:00
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
Осталось только придумать как восстановить функциональность собственно thirdperson

А зачем? Оно всё равно только в дебаге работает, да почти нигде не юзается. Я только для тестирования анимаций игрока использую внешнюю камеру.
Вроде получилось неплохо. Осталось проверить, не пропадает ли модель оружия в руках у других игроков. Хотя, этот вот код только для локального игрока, и на них влиять не должен.

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

Старое сообщение 04-08-2017 18:15
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Придумал. Нам же надо сообщить движку, что thirdperson включён, а потом сразу выключить, чтобы не исчезла вюмодель. При этом не включать камеру от третьего лица. Значит, нужно поменять условия функции CL_IsThirdPerson на такие, которые камеру не включат без команды thirdperson. И все проверки на CL_IsThirdPerson в клиентке (например в view.cpp), поменять на какую-нибудь свою, которая будет знать, включена камера или нет. До кучи добавить колоизацию камеры, чтобы она не проваливалась в стены.

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

Старое сообщение 05-08-2017 03:14
- За что?
fl0wer
Новичок

Дата регистрации: Jun 2012
Проживает: Ижевск
Сообщений: 26
Возраст: 26

Рейтинг



Как научить npc подниматься по лестнице?

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

Старое сообщение 06-08-2017 00:15
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



fl0wer либо сделать это скриптом, как в CS CZ: DS дельта снайпер залезает на башню, либо долго и упорно кодить. Ты наверное обратил внимание, что в ХЛ нет монстров с разными мувтипами? Ну то есть таких, которые сначала бегают, а потом летают, или ползают, а потом плавают. Из-за сложностей в реализации, либо из-за ненадобности. Так вот. Чтобы монстр лазил по лестнице, он должен иметь на этот момент MOVETYPE_FLY. Переключить мувтип несложно. Сложно сделать навигацию и код движения, чтобы монстр не тупил. И самое сложное - анимации.

Добавлено 06-08-2017 в 13:21:

Если хочешь, сначала стоит попробовать сделать чужих, которые могут лазать по стенам.

З.Ы. можно пойти извращенским путём, как мапперы Cube 2: Sauerbraten. В сойере нет вертикальных лестниц, поэтому вертикальные лестницы там - суть обычные лестницы, но с очень короткими ступеньками в 1 тамошний юнит. Игроку, чтобы залезть, достаточно.

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

Старое сообщение 06-08-2017 06:21
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Ну то есть таких, которые сначала бегают, а потом летают, или ползают, а потом плавают.

Это скорее для кваки характерно

Цитата:
Ku2zoff писал:
Сложно сделать навигацию и код движения

Боты же лазают по лестницам

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 06-08-2017 09:59
-
Smykov
Частый гость

Группа: Неопытный
Дата регистрации: Jul 2017
Проживает: Unknown City
Сообщений: 63
Возраст: 25

Рейтинг



1) Не могу понять, что делает функция UTIL_MakeVectors. Во-многих местах её видел. Но не могу понять, что именно она делает. Выделяет в памяти новые вектора? да вроде в отладчике ничего нового не высвечивалось и значение векторов не менялось. Например: UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle ); Что произойдет?
2) В чём отличие pev->angles от pev->v_angle? Хотя, примерно я понимаю, что v_angle (v_ от view) содержит угол обзора из самой камеры, но решил всё проверить какие значения они хранят. Оси Y-и вроде равны, а вот X-ы как-то немного отличаются, разница не существенная, но, просто пока из-за интереса, хотелось бы узнать в каких случаях что и как используется.
3) Есть ли отличие между записью UTIL_SetOrigin(pev, vecOrigin); и pev->origin=vecOrigin;? Или может я не до конца разобрался и для местонахождения сущности используется не только свойство origin.

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

Старое сообщение 17-08-2017 20:23
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
semerjon писал:
UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle ); Что произойдет?

Углы эйлера разложатся на три вектора
gpGlobals->v_forward
gpGlobals->v_right
gpGlobals->v_up
глобальные значения, потому что этот механизм остался от первокваки с её виртуальной машинкой.

Цитата:
semerjon писал:
В чём отличие pev->angles от pev->v_angle?

Оно только для игрока имеет значение. pev->v_angle хранит угол камеры на клиенте, pev->angles для игрока содержит почти тоже самое, но питч инвертирован и поделён на три. Долго объяснять зачем.

Цитата:
semerjon писал:
Есть ли отличие между записью UTIL_SetOrigin(pev, vecOrigin); и pev->origin=vecOrigin;

Есть. UTIL_SetOrigin, перелинковывает сущность в новый узел AABB-дерева, это используется для выбраковки видимости энтить на сервере, для быстрого нахождения энтить, сквозь которые проходит трасса, итд.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 17-08-2017 20:50
-
Smykov
Частый гость

Группа: Неопытный
Дата регистрации: Jul 2017
Проживает: Unknown City
Сообщений: 63
Возраст: 25

Рейтинг



1) Пожалуйста, можете скинуть инфу или рассказать про создание интерфейса меню. Например, в CS меню закупки, как отрисовывается затемнение экрана(понятно, что прямоугольный примитив, я имею ввиду функцию), как задаётся ширина и высота каждого пункта меню. Я как-то давно смотрел текстовые файлы CS, и какой-то из них как раз описывал пункты данного меню. Но, мне бы узнать как и что описать в самой программе.
2) Есть ли какая-либо документация по программированию для GoldSrc. Я уже на этом сайте где-то видел, что человек объединял гайды из сети в единый файл. Но, я имею ввиду наподобие https://developer.valvesoftware.com/wiki/SDK_Docs. Просто, пока что кое-какие свойства объектов не совсем понятны за что отвечают.

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

Старое сообщение 21-08-2017 15:34
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



semerjon качай тутор из аттача в этом посте.

Добавлено 21-08-2017 в 23:12:

Цитата:
semerjon писал:
Есть ли какая-либо документация по программированию для GoldSrc.

Это делал Тренсфер. Придётся поискать в интернете, т.к. ссылки давно сдохли. Рекомендую почитать Дядь Мишины статьи по квейк-движкам. А потом раздел туториалы на нашем форуме. А потом поискать туториалы на half-life.ru, wavelength.net. Ну и web.archive.org никто ещё не отменял. Там можно найти снимки collective.valve-erc.com, chatbear, planethalflife... Да много чего. Там есть ОЧЕНЬ древние давно забытые туторы. Вот что действительно надо восстановить и объединить в сборник.

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

Старое сообщение 21-08-2017 16:12
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Ku2zoff По-моему все туторы из веб-архива и так доступны на Wavelength?

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

Старое сообщение 21-08-2017 16:33
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Crystallize нет. Например, те, что были на valve-erc недоступны. И на planethalflife некоторые. Кое-где страницы живые ещё, но не полностью.

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

Старое сообщение 21-08-2017 19:28
- За что?
Smykov
Частый гость

Группа: Неопытный
Дата регистрации: Jul 2017
Проживает: Unknown City
Сообщений: 63
Возраст: 25

Рейтинг



Ku2zoff Пожалуйста, помогите найти ещё статьи про сообщения и события. Автор про них упоминал в туторе.

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

Старое сообщение 21-08-2017 23:32
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



semerjon сообщения? Ну это наверное текст из titles.txt. Ничего сложного. Просто добавляешь свои строки туда, вот и всё. А про события в самом туторе написано, функция AddActionSignal. С помощью сигналов можно менять как переменные на клиенте, так и отправлять команды на сервер и клиент. И даже функции какие-либо вызывать.
Вообще, это единственный тутор по ВГУИ, который объясняет теорию, а не только показывает, как сделать на практике. Так что пробуй, делай.

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

Старое сообщение 22-08-2017 02:23
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 19:24. Новая тема    Ответить
Страницы (260): « Первая ... « 72 73 74 75 [76] 77 78 79 80 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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