HLFX.Ru Forum Страницы (78): « Первая ... « 20 21 22 23 [24] 25 26 27 28 » ... Последняя »
Показать все 1159 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- несколько вопросов (https://hlfx.ru/forum/showthread.php?threadid=2935)


Отправлено Дядя Миша 08-11-2011 в 08:19:

Цитата:
marikcool писал:
скорее всего в халфе они все таки не бьются автоматически по ~1024 байта.

в халфе я же говорю - внутри движка вызывается функция Netchan_CreateFragments (см. сорцы хл2 бета). Вызывается она в строго определенных местах. Пользовательские мессаги таковым местом не являются.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 08-11-2011 в 08:28:

Дядя Миша, то есть для нужд движка пожалуйста, а пользователи пускай мучаются?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 08-11-2011 в 08:43:

fire64 да я что ли халфу писал? как сделали так сделали.
Не стоит забывать, что там до сих пор архитектура первокваки.
Несмотря на все улучшения и нововведения.
Вот взять к примеру старую квейковскую фишку - отсечение клиентских моделей по efrag. В хл2 она разрослалсь до чудовищного класса LeafRenderableSystem. Сетевая система с бэкбуфферами из куволрда - до создания фрагментов в строго определенных местах. Ну и так далее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 10-11-2011 в 17:59:

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


Отправлено Дядя Миша 10-11-2011 в 18:13:

Халфа (чисто теоретически) умеет грузить квейковские карты и квейковские алиас-модели.
Чисто теоретически, потому что она предполагает наличие в них текстур с халфовским форматом, вида: пиксели+шорт+палитра.
Поэтому попытка скормить халфе карту от квейка портится как раз на загрузке текстур. Подозреваю, что и с alias-моделями та же бида.
А внешние скины грузить без вариантов. Щас поясню почему.
В кваке строго соблюдалось правило одна модель - одна текстура.
Я хз было это ограничением или же наоборот фичей, но факт.
Через это разные там лорды хавоки мигом приделали возможность загружать внешние скины для игрока. Но в официальной версии такая фича появилась только в ку2.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 10-11-2011 в 18:29:

спасибо за информацию, просто было бы интересно игрокам ставить свои скины и еще использовать разные колоры)


Отправлено Дядя Миша 11-11-2011 в 07:52:

да скины это фигня. Модельки менять гораздо интереснее.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 11-11-2011 в 13:10:

Цитата:
Дядя Миша писал:
да скины это фигня. Модельки менять гораздо интереснее.

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


Отправлено marikcool 12-11-2011 в 15:13:

Есть такая проблемма, игрок в халфе подиоганали двигается намного быстрей чем строго прямо/назад/или в бок, как можно пофиксить формулу чтобы игрок подиоганали ходил почти также как и вдругие стороны?

также есть неприятные баги с кваки первой, ускорение вдоль стены.

здесь ковырять void PM_WalkMove () ?


Отправлено n00b 13-11-2011 в 07:14:

Нормализировать вектор скорости и умножать его на величину скорости?
Кстати весьма полезная проблема


Отправлено Дядя Миша 13-11-2011 в 10:45:

marikcool cl_forwardspeed, cl_sidespeed.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 13-11-2011 в 11:22:

Цитата:
Дядя Миша писал:
marikcool cl_forwardspeed, cl_sidespeed.

не помогает, поставил для теста все по 100, все равно при зажатых вперед и стрэйф в любую сторону скорость заметно вырастает.


Отправлено Дядя Миша 13-11-2011 в 13:41:

Цитата:
marikcool писал:
все равно при зажатых вперед и стрэйф в любую сторону скорость заметно вырастает.

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

Добавлено 13-11-2011 в 17:41:

C++ Source Code:
1
cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_moveright);
2
cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_moveleft);
3
cmd->forwardmove += cl_forwardspeed->value * CL_KeyState (&in_forward);
4
cmd->forwardmove -= cl_backspeed->value * CL_KeyState (&in_back);

Как нетрудно заметить у нас тут скорость прибавляеться сразу в двух местах. Оттого и общая скорость становится выше.
Самый тупой метод решения - завести несколько отдельных кейсов и там проверять на предмет одновременно нажатых вперед и вбок\назад и вбок. Ну и делить, соответственно на какой-то фактор.

__________________
My Projects: download page

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

Цитата:

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


Отправлено marikcool 13-11-2011 в 14:13:

спасибо, врубился, а сервак скорость не проверяет чтоли? можно же спидхак на клиентке сделать.


Отправлено Дядя Миша 13-11-2011 в 14:29:

Цитата:
marikcool писал:
а сервак скорость не проверяет чтоли?

Щас, ога! Проверяет конечно. В pm_shared.c
C++ Source Code:
1
void PM_CheckParamters( void )
2
{
3
  float spd;
4
  float maxspeed;
5
  vec3_t	v_angle;
6
 
7
  spd = ( pmove->cmd.forwardmove * pmove->cmd.forwardmove ) +
8
  ( pmove->cmd.sidemove * pmove->cmd.sidemove ) +
9
  ( pmove->cmd.upmove * pmove->cmd.upmove );
10
  spd = sqrt( spd );
11
 
12
  maxspeed = pmove->clientmaxspeed; //atof( pmove-&gt<img src="images/smilies/pp2.gif" border="0" alt="">M_Info_ValueForKey( pmove->physinfo, "maxspd" ) );
13
  if ( maxspeed != 0.0 )
14
  {
15
    pmove->maxspeed = min( maxspeed, pmove->maxspeed );
16
  }
17
 
18
  if ( ( spd != 0.0 ) &&
19
  ( spd > pmove->maxspeed ) )
20
  {
21
    float fRatio = pmove->maxspeed / spd;
22
    pmove->cmd.forwardmove *= fRatio;
23
    pmove->cmd.sidemove    *= fRatio;
24
    pmove->cmd.upmove      *= fRatio;
25
  }

Кстати, говоря гарантия того, что сервер ограничивает скорость игрока уже заложена в настройках cl_forwardspeed и cl_sidespeed. Они равны 400, тогда как скорость игрока - 320. 320 - это значение sv_maxspeed.
Можно поставить 400, и игрок будет бежать со скоростью 400 безо всяких доп. настроек.

Добавлено 13-11-2011 в 18:29:

Ух как камент-то расколбасило

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 21:51. Страницы (78): « Первая ... « 20 21 22 23 [24] 25 26 27 28 » ... Последняя »
Показать все 1159 сообщений этой темы на одной странице

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