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

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

Рейтинг



Цитата:
Ku2zoff писал:
При деактивации камеры делается вызов SET_VIEW на игрока

Это в Stop. А я про FollowTarget. Попробуй сам. Поставь двум камерам время -1, чтобы не выключались автоматом. Потом активируй камеру 1. Не выключая ее, активируй камеру 2. Потом выключи камеру 2. А первую-то не выключили. Я выводил туда алерт, FollowTarget как работал, так и работает. И если ты попытаешься активировать камеру 1, то ничего не произойдет, потому что сначала будет деактивация. Нажмешь еще раз, тогда уже активируешь.

__________________
Мой мод на Xash

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

Старое сообщение 05-08-2021 07:05
- За что?
Aynekko
Маппер

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

Рейтинг



На ксаше. В общем у меня стоит punchangle из сорса, который вычисляется в playermove.
Ситуация - создаю дедикатед сервер. Потом подключаюсь с двух компов - на одном более 200 фпс, на другом 30.
Когда заходит один клиент, любой - панч ведет себя нормально.
Если у обоих клиентов одинаковый фпс - то у обоих все нормально.
Но, если у одного клиента 30 фпс, а у другого 200, то у первого панч ооочень медленный, а у другого наоборот ускоренный. Фпс у обоих клиентов должен быть полностью одинаков, чтобы все нормально работало. Как это побороть?
Код панча:

C++ Source Code:
1
void PM_DropPunchAngle ( Vector &punchangle )
2
{
3
  float damping;
4
  float springForceMagnitude;
5
 
6
  if ( punchangle.Length() > 0.001 || pmove->vuser3.Length() > 0.001 )
7
  {
8
    punchangle += pmove->vuser3 * pmove->frametime;
9
    damping = 1.0f - (PUNCH_DAMPING * pmove->frametime);
10
 
11
    if ( damping < 0.0f )
12
      damping = 0.0f;
13
 
14
    pmove->vuser3 *= damping;
15
 
16
    // torsional spring
17
    // UNDONE: Per-axis spring constant?
18
    springForceMagnitude = PUNCH_SPRING_CONSTANT * pmove->frametime;
19
    springForceMagnitude = bound( 0, springForceMagnitude, 2 );
20
 
21
    pmove->vuser3 += punchangle * -springForceMagnitude;
22
 
23
    // don't wrap around
24
    punchangle[0] = bound( -89, punchangle[0], 89 );
25
    punchangle[1] = bound( -179, punchangle[1], 179 );
26
    punchangle[2] = bound( -89, punchangle[2], 89 );
27
  }
28
}

__________________
Мой мод на Xash

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

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

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

Рейтинг



у меня DJVU или ты уже задавал этот вопрос?

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
у меня DJVU или ты уже задавал этот вопрос?

Был другой вопрос про "рваность" движения панча, это решилось увеличением дельты.

Добавлено 14-08-2021 в 17:18:

Цитата:
Aynekko писал:
если у одного клиента 30 фпс, а у другого 200, то у первого панч ооочень медленный, а у другого наоборот ускоренный. Фпс у обоих клиентов должен быть полностью одинаков, чтобы все нормально работало. Как это побороть?

Отбой - проблема решилась.
Кому надо, вот решение:
В игрока кидаем
C++ Source Code:
1
void CBasePlayer::PunchAngle(void)
2
{
3
  float PUNCH_DAMPING = 9.0f;	// bigger number makes the response more damped, smaller is less damped
4
  // currently the system will overshoot, with larger damping values it won't
5
  float PUNCH_SPRING_CONSTANT = 65.0f;	// bigger number increases the speed at which the view corrects
6
 
7
  float damping;
8
  float springForceMagnitude;
9
 
10
  if (pev->punchangle.Length() > 0.001 || pev->vuser3.Length() > 0.001)
11
  {
12
    pev->punchangle += pev->vuser3 * gpGlobals->frametime;
13
    damping = 1.0f - (PUNCH_DAMPING * gpGlobals->frametime);
14
 
15
    if (damping < 0.0f)
16
      damping = 0.0f;
17
 
18
    pev->vuser3 *= damping;
19
 
20
    // torsional spring
21
    // UNDONE: Per-axis spring constant?
22
    springForceMagnitude = PUNCH_SPRING_CONSTANT * gpGlobals->frametime;
23
    springForceMagnitude = bound(0, springForceMagnitude, 2);
24
 
25
    pev->vuser3 += pev->punchangle * -springForceMagnitude;
26
 
27
    // don't wrap around
28
    pev->punchangle[0] = bound(-89, pev->punchangle[0], 89);
29
    pev->punchangle[1] = bound(-179, pev->punchangle[1], 179);
30
    pev->punchangle[2] = bound(-89, pev->punchangle[2], 89);
31
  }
32
}

В postthink кидаем
C++ Source Code:
PunchAngle();


Из playermove вообще выкинуть этот панч.

Это слишком просто и гениально, поэтому буду искать, что сломалось

__________________
Мой мод на Xash

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

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

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

Рейтинг



Цитата:
Aynekko писал:
Это слишком просто и гениально, поэтому буду искать, что сломалось

Мультик.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 14-08-2021 14:30
-
Aynekko
Маппер

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

Рейтинг



Цитата:
Дядя Миша писал:
Мультик.

Что конкретно могло сломаться? Я пока не обнаружил ничего такого. Пострелял гауссом, другой клиент видит все так же как и я (смотрю в оба экрана). Я не вижу никаких изменений, кроме позитивных - панч теперь у обоих клиентов одинаковый, и на любых фпс.

__________________
Мой мод на Xash

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

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

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

Рейтинг



Этож по локалке. А так будут лаги, скорее всего.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 14-08-2021 15:21
-
Aynekko
Маппер

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

Рейтинг



Не могу разобраться с параметром pparams->spectator на клиенте. Откуда он берется. Вот к примеру pmove->spectator говорит, что он активен, когда я переключаюсь в спектатора. В это же время в CalcRefDef pparams->spectator не активируется. Из-за этого я не могу применить некоторые настройки.

И другой вопрос. Как мне в этом refdef достать параметры клиента, вроде iuser1 и всякое такое прочее? Не могу никак найти.

__________________
Мой мод на Xash

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

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

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

Рейтинг



Цитата:
Aynekko писал:
Как мне в этом refdef достать параметры клиента, вроде iuser1

Для локального игрока - g_iUser. Для нелокального надо искать по индексу:
C++ Source Code:
gEngfuncs.GetEntityByIndex(player_index)->curstate.iuser1


Добавлено 17-08-2021 в 02:58:

Вообще, поле spectator имеется в секции Player_Encode в дельте. Так что по идее, для игроков этот параметр должен передаваться. Его нет в энтварсах, он есть в entity_state_t. Тут короче, надо задавать его вручную. А для локального клиента, как я уже писал - g_iUser1. Но я не уверен, что spectator вообще надо трогать. Скорее всего, это параметр для HLTV, то есть режима gEngfuncs.IsSpectateOnly.

Отредактировано Ku2zoff 16-08-2021 в 20:03

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

Старое сообщение 16-08-2021 19:58
- За что?
Aynekko
Маппер

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

Рейтинг



Цитата:
Ku2zoff писал:
Для локального игрока - g_iUser.

Спасибо, так и думал. Просто дело в том, что в ксашмоде их нет и вот я пытаюсь их как-то прикрутить (пока безуспешно). Извиняюсь, что сразу не упомянул про ксашмод. Надеялся, что есть более короткий путь.
Режим спектатора вот приделал на сервере, а с клиентом пока проблемы

Добавлено 16-08-2021 в 23:01:

Цитата:
Ku2zoff писал:
поле spectator имеется в секции Player_Encode в дельте

Да, в дельте он есть, сейчас проверил. Странно тогда.

__________________
Мой мод на Xash

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

Старое сообщение 16-08-2021 20:01
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



я кстати тоже спектатором интересуюсь пытаюсь добавить фишку как в dmc но все безуспешно. Как же все таки добавить эту фишку где её найти ? работает он как то так когда мы спавнимся то игрока самого нет он с пектаторе но когда мы нажимаем ок в меню то игрок спавниться.

__________________
илья

Отредактировано илья2 17-08-2021 в 15:57

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

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

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

Рейтинг



Цитата:
илья2 писал:
игрока самого нет он с пектаторе

Не в спектаторе. Игрок невидим, несолиден, невосприимчив к урону, не может двигаться. Только вертеть головой.
Цитата:
илья2 писал:
пытаюсь добавить фишку как в dmc но все безуспешно

Чего там добавлять? Смотришь код MOTD из dmc, какая консольная команда отправляется при нажатии на кнопку OK. По этой команде всё находишь и копипастишь. Делов не больше, чем на пять минут.

Отредактировано Ku2zoff 17-08-2021 в 17:20

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

Старое сообщение 17-08-2021 17:12
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



[QUOTE]Ku2zoff писал:
[B]Не в спектаторе. Игрок невидим, несолиден, невосприимчив к урону, не может двигаться. Только вертеть головой.

этот эффект я обнаружил в player.cpp в спавне игрока в этом ты прав.

неплохо бы спавн функцию игрока оттуда скопипастить в hl и будет как в dmc.

__________________
илья

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

Старое сообщение 17-08-2021 17:46
- За что?
Aynekko
Маппер

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

Рейтинг



Цитата:
Aynekko писал:
Просто дело в том, что в ксашмоде их нет

Я тут со всем разобрался - в ксашмоде спектатор-режима вообще нет, там какие-то зачатки - StartObserver и… все. Я даже сомневаюсь что он работал. Наверное хлсдк очень древний брался за основу. g_iUser1 никакого тоже не было и в помине. В общем долго и упорно сверялся с актуальным хлсдк и более-менее собрал спектатора - правда без вида овервью карты. Эх, ксашмод, допиливать и допиливать еще. Но, быть может, соберу-таки мод, в который можно будет адекватно поиграть в мультик, а не только пройти сюжетку - благо перешел на FWGS недавно

__________________
Мой мод на Xash

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

Старое сообщение 17-08-2021 18:26
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



ладно лучше не буду делать. это для тебя так легко для меня это целая эпопея.

__________________
илья

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

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



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


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

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