HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 190 191 192 193 [194] 195 196 197 198 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



Подскажите по такому нубскому вопросу. Ставлю звук:

C++ Source Code:
EMIT_SOUND_DYN(ENT(pev), CHAN_STATIC, "sound.wav", 0.25, 2.0, SND_CHANGE_PITCH | SND_CHANGE_VOL, 100);

Звук издается игроком, но меня смущает то, что в случае мультиплеера этот звук будет слышен всем игрокам, а нужно чтобы его слышал только клиент. Как это сделать?

__________________
Мой мод на Xash

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

Старое сообщение 17-06-2021 08:34
- За что?
BALISTA
Новичок

Дата регистрации: Jan 2017
Проживает: -
Сообщений: 20

Рейтинг



Цитата:
Aynekko писал:
нужно чтобы его слышал только клиент

Нужно играть его на клиенте

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

Старое сообщение 18-06-2021 12:24
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Aynekko писал:
нужно чтобы его слышал только клиент

C++ Source Code:
gEngfuncs.pfnPlaySoundByName
gEngfuncs.pfnPlaySoundByIndex
gEngfuncs.pfnPlaySoundByNameAtLocation
gEngfuncs.pfnPlaySoundVoiceByName
gEngfuncs.pfnPlaySoundByNameAtPitch

Целая куча клиентских функций для воспроизведения звука. Не знаю, какие точно из них есть в ксаше. Но связка мессага на клиент + воспроизведение на клиенте точно поможет скрыть звук от других игроков.

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

Старое сообщение 18-06-2021 12:46
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Aynekko писал:
Звук издается игроком, но меня смущает то, что в случае мультиплеера этот звук будет слышен всем игрокам, а нужно чтобы его слышал только клиент. Как это сделать?

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 18-06-2021 12:46
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



Спасибо всем за помощь.

__________________
Мой мод на Xash

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

Старое сообщение 18-06-2021 17:58
- За что?
Crystallize
Житель форума

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

Рейтинг



C++ Source Code:
float cylstep =  (2.0f*PitchWing) - (2.0f*AtomicWing) / 18.0f;

блин а чо вначале вычисляется деление-умножение как в школе? Я думал комп втупую по порядку идёт, ну кроме скобок. Или это может отличаться в более новых студиях?

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

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

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

Рейтинг



Цитата:
Crystallize писал:
как в школе?


https://skysmart.ru/articles/mathem...ij-v-matematike
https://ru.wikipedia.org/wiki/Приоритет_операции

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 03-08-2021 19:39
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



Можно ли узнать view origin игрока на сервере? Мне нужно сделать там проверку с использованием именно view оригина, а не самого оригина игрока. Связано это с триггер_камерой. А она делает SET_VIEW и все. Может как-то можно достать с клиента это?

Добавлено 04-08-2021 в 13:53:

Пробовал делать копию оригина в vuser4, а он почему-то все равно всегда нулевой. Я по ксашмоду прошелся, он там где-то используется. Можно конечно воткнуть еще один entvars но это уже крайние меры

__________________
Мой мод на Xash

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

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

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

Рейтинг



Цитата:
Aynekko писал:
Можно ли узнать view origin игрока на сервере?

pev->origin + pev->view_ofs

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-08-2021 11:56
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
pev->origin + pev->view_ofs

Если бы было все так просто. Я этот EyePosition выводил в prethink игрока, координаты остаются теми же, когда я включаю камеру. Ведь оригин игрока-то не меняется, только взгляд.
Сейчас попробовал в самой триггер_камере брать ее индекс, давать это число игроку, а дальше считается нужное мне расстояние от энтити по этому индексу (то есть как раз там где сейчас взгляд). Вот только после сейврестора индекс поменялся, так что опять мимо

Добавлено 04-08-2021 в 15:34:

Попробовал передавать игроку вместо индекса оригин энтити из которой смотрим - уже почти то, что нужно. При переключении на другую камеру правда он не сбрасывается, т.к. сброс идет в stop. Надо подумать.

__________________
Мой мод на Xash

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

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

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

Рейтинг



Цитата:
Aynekko писал:
Я этот EyePosition выводил в prethink игрока, координаты остаются теми же, когда я включаю камеру

Так ты спросил
Цитата:
Aynekko писал:
Можно ли узнать view origin игрока на сервере?

Я ответил. А выясняется, что нужна позиция не игрока, а камеры.

Цитата:
Aynekko писал:
Пробовал делать копию оригина в vuser4, а он почему-то все равно всегда нулевой

так в delta.lst не прописан же.

Что ты хочешь сделать, я понять-то не могу.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-08-2021 13:46
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



Ну просто на клиенте есть vieworg, который отвечает именно за камеру, и origin отдельно. Поэтому я так выразился.

Мне нужно на сервере сделать проверку расстояния между энтитей и камерой игрока. Вот я не могу оригин этой самой камеры игрока достать.

__________________
Мой мод на Xash

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

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

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

Рейтинг



Цитата:
Aynekko писал:
Мне нужно на сервере сделать проверку расстояния между энтитей и камерой игрока

Заведи в классе игрока какой-нибудь EHANDLE m_hViewEnt;
внутри вызова UTIL_SetView записывай туда объект камеры и дальше, если он не равен нулю спокойно ищи дистанцию. Ну и в сейв не забудь сохранить.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-08-2021 17:59
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 1002
Возраст: 31

Рейтинг



Спасибо. Я примерно так и сделал, но не в сетвью, а прямо в камере. Копирую в игрока оригин и имя камеры.
Параллельно получился еще и фикс - камера теперь проверяет, какое имя камеры у игрока записано (когда она работает), если не совпало - выключается. А раньше как было - можно активировать одну камеру, затем вторую, а затем выключить вторую. А первая как think'ала, так и будет think'ать! Вот так вот
В общем, сделал что хотел и даже больше.

__________________
Мой мод на Xash

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

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

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

Рейтинг



Ох, у меня к этим вьюриджинам и вьюанглсам давняя нелюбовь. Вроде бы в коде всё прозрачно, а на выходе имеем не то, что хотели. Но я всё-таки разобрался. Даже написал особую энтить, которая захватывает взгляд игрока. Для катсцен от первого лица, чтобы игрок смотрел туда, куда задумано. Осталось добавить этой энтите функционал, чтобы она захватывала управление и вела игрока по патч_корнерам, и будет прямо как в современных играх. Побочкой появился код для заглядывания в мониторы. Если буду делать транспорт (есть пара мыслей где его применить), то это же будет кодом входа/выхода из него.

Цитата:
Aynekko писал:
А первая как think'ала, так и будет think'ать!

При деактивации камеры делается вызов SET_VIEW на игрока и m_flReturnTime камеры приравнивается к gpGlobals->time. Можно там в условие сунуть SetThink(NULL), чтобы не тчинкала.

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

Старое сообщение 05-08-2021 03:25
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 17:25. Новая тема    Ответить
Страницы (260): « Первая ... « 190 191 192 193 [194] 195 196 197 198 » ... Последняя »   Предыдущая тема   Следующая тема
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