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

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

Рейтинг



Я не совсем понятно написал. В одном из абзацев написано:
"При нажатии на кнопку, как и задумано, панель со свистом закрывается, курсор исчезает, и мы можем бегать как обычно. Чтобы показать нашу панель опять, надо откуда-нибудь вызвать gViewPort->m_pMyPanel->setVisible(true), а затем UpdateCursorState. Откуда это вызывать - это, конечно, ваше дело. Можете создать мессадж или эвент, и при его приеме показывать панель (создание мессаджей и эвентов в этой статье не рассматривается)"
И я так понял у него есть статьи на эти темы. Возможно, там будет рассказано про то, как какой-либо клавише назначить процедуру открытия VGUI. А так, всё то что написано в статье про VGUI, всё ясно.

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

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

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

Рейтинг



Цитата:
Crystallize писал:
Я беру у Trigger_Camera его yaw и передаю мессагой на клиент, прибавляю его ко viewangles игрока. Таким образом, утрируя, W и S всегда двигают игрока по оси камеры. Однако при стрейфе мы не движемся по ровному кругу вокруг камеры, как должны бы, а быстро уходим прочь по спирали. Чтобы идти по кругу, нужно повернуться к камере на лишние примерно 20 градусов. Это тот самый предиктинг виноват? Просто у камеры стоит SetNextThink ( 0 ), так что не похоже. Я пробовал менять cl_lc, cl_lw, безрезультатно. Попытался прикрутить для сглаживания углов функцию V_SmoothInterpolateAngles ( ) которая во view.cpp, но я вроде кормлю ей такие же vec3_t, а она выдаёт ошибку преобразования типов.

Я попробовал по-дядемишиному сделать, отталкиваясь от v_origin камеры, получилось конечно проще, но в результате то же самое: для кругового движения вокруг камеры отклонение джойстика на 90 градусов должно иметь погрешность, и чем дальше игрок от камеры, тем меньше погрешность. Тут штука в том, что уходя вбок от следящей за ним камеры, игрок будет двигаться по идеальной окружности только в реальности, видимо, а в симуляции он движется по многоугольнику. Сколько там, 1000 отсчётов в секунду?

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

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

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

Рейтинг



Цитата:
semerjon писал:
И я так понял у него есть статьи на эти темы.

ЕМНИП, то нет. В данном контексте мессаджи - это User Messages, отправляемые с сервера на клиент. Поищи по проектам gmsgCurWeapon и MsgFunc_CurWeapon, например. Там, в принципе, всё расписано в комментариях в коде: как создавать эти мессаги на сервере, как их отправлять и как принимать на клиенте, можно узнать из кода оригинальных вальвоских библиотек. Единственные подводные камни для новичка - это типы сообщений (MSG_ONE, MSG_ALL) и размер мессаги в байтах. Я думаю, ты сможешь разобраться.
Эвенты - это предиктабельные (в случае с оружиями) аналоги пользовательских мессаг, но передающие в себе всегда фиксированный набор данных. Ищи по строчке PLAYBACK_EVENT_FULL на сервере и файлам .sc в папке events.

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

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

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

Рейтинг



Есть какой-нибудь тутор по редактированию меню? Я так понял, его описывает файл menu.cpp, но что-то после пары поправочек, изменений не происходит.

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

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

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

Рейтинг



semerjon меню шлётся с сервера. В виде строк. А с клиента отправляются команды при выборе строки. Зачем что-то менять на клиенте, если все изменения идут с сервера? Опиши точнее, что ты хочешь сделать.
Касательно ВГУИ это не действует. Там менюшки строятся на клиенте. Можно конечно передавать с сервера что-то, вроде MOTD.TXT, но сами меню пишутся на клиенте.

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

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

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

Рейтинг



Ku2zoff Я имел ввиду меню паузы(или, ещё проще, Главное меню), в котором содержатся пункты меню: Resume game; Create Server и прочее. А так просто, интересно, можно ли переоформить меню. Вместо пунктов меню, сделать что-то наподобие быстрой строки из DOS-овских программ. Там ещё писали F3 Open и т.д.

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

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

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

Рейтинг



semerjon в меню можно изменить только текст, фон и звуки. В вон-версии текст в виде большой BMP-картинки, фон тоже BMP + видеоролик в верхней части фона. В стим-версии текст находится в GameMenu.res, + можно поменять шрифт. Фон там в виде нескольких tga-картинок, есть специальная прога, которая нарезает готовое изображение на части и делает текстовик с масштабом под разные разрешения: BackgroundLayout.txt
Больше в халфе ты ничего сделать не сможешь. А вот в ксаше можно как угодно кастомизировать меню, т.к. его исходный код открыт.

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

Старое сообщение 30-08-2017 13:38
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: &#12644;
Сообщений: 5126

Рейтинг



Ku2zoff а как насчет Cry of Fear?

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

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

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

Рейтинг



Cybermax там кастомный лаунчер, написанный на б-гмерзком дотнете, который по определённым адресам делает инъекции в движок, на манер AMXX.

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

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

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

Рейтинг



Как из input32.cpp получить доступ к viewentity->angle?

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

Старое сообщение 01-09-2017 01:48
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Crystallize ну я думаю, что доступ можно получить только в view.cpp. А из инпута слать команды с помощью глобальных переменных. А что за надобность такая возникла?

Добавлено 01-09-2017 в 12:17:

Есть ли возможность активировать ScreenShake на клиенте? На сервере это пользовательское сообщение, а вот на клиенте нет ответки, она зашита в движок. Не хотелось бы тащить из ксаша код на клиент.

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

Старое сообщение 01-09-2017 05:17
- За что?
Crystallize
Житель форума

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

Рейтинг



Цитата:
Ku2zoff писал:
Crystallize ну я думаю, что доступ можно получить только в view.cpp. А из инпута слать команды с помощью глобальных переменных. А что за надобность такая возникла?

Мне нужно yaw камеры узнать, чтобы управлять игроком в её координатах, а не глобальных. За неумением камера пока что маппингом, а не thirdperson или ещё какая. Хотя наверное в этом и корень многих проблем.

Добавлено 01-09-2017 в 14:05:

Кстати для общего развития, почему доступ можно получить только из view.cpp? Это какой-то инклуд просто или что?

Отредактировано Crystallize 01-09-2017 в 06:09

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

Старое сообщение 01-09-2017 07:05
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Crystallize писал:
почему доступ можно получить только из view.cpp? Это какой-то инклуд просто или что?

ref_params_s. Вот. Их можно получить из V_CalcRefdef. ЕМНИП, это экспортная функция, которую хавает движок, засылая в неё ref_params_s. Но никто не мешает завести в классе CHud клиентскую энтитю, которая будет ссылкой на pparams->viewentity. Таким образом, ты сможешь получить доступ к ней во всей клиентке.

Добавлено 01-09-2017 в 23:14:

Корочи вот, в функции V_CalcRefdef можно сделать так:
C++ Source Code:
1
// override all previous settings if the viewent isn't the client
2
if ( pparams->viewentity > pparams->maxclients )
3
{
4
  cl_entity_t *viewentity;
5
  viewentity = gEngfuncs.GetEntityByIndex( pparams->viewentity );
6
  if ( viewentity )
7
  {
8
    VectorCopy( viewentity->origin, pparams->vieworg );
9
    VectorCopy( viewentity->angles, pparams->viewangles );
10
 
11
    // Store off overridden viewangles
12
    v_angles = pparams->viewangles;
13
 
14
    [color=red]gHUD.viewentity = viewentity;[/color]
15
  }
16
}

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

Старое сообщение 01-09-2017 16:14
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



А еще проще взять внешний указатель на весь ref_params_t

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 01-09-2017 16:41
-
Crystallize
Житель форума

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

Рейтинг



2Ku2zoffя дополнил структурки Chud но он говорит ошибка 2274 на твою строчку.
2Дядя Миша
В общем я понял, нужно GetEntityByIndex делать всегда. Поганый Си уводит не в том направлении, говорит непроинициализировано.

Зачем нужны структурные переменные, ну те которые в халфе оканчиваются на _t? Почему нельзя сразу обратиться к переменным из которых состоит сама структура blah_s?
Зачем вот этот "треугольник":

code:
struct blah_s {...} blah_t struct blah_s *lol *lol = &blah_t

Отредактировано Crystallize 02-09-2017 в 16:05

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

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



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


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

Временная зона GMT. Текущее время 09:48. Новая тема    Ответить
Страницы (260): « Первая ... « 73 74 75 76 [77] 78 79 80 81 » ... Последняя »   Предыдущая тема   Следующая тема
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