HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 26 сообщений этой темы на одной странице

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=2942)


Отправлено Danger 26-10-2011 в 15:30:

Я на примере глока зделал как тут написано:

Цитата:
HAWK0044 писал:
охх...
В хл1 в классе игрока есть m_afButtonPressed , и можно было делать в Primary Attack вот так:
if(!(m_pPlayer->m_afButtonPressed & IN_ATTACK))
return;

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

Ано то работает, но когда оставляешь клавишу зажатой, первый выстрел все норм, а дальше после задержки: m_flNextPrimaryAttack из глока начинают бесконечно и без задержки в m_flNextPrimaryAttack вылетают гильзы и рисовать декали на стене. Я так понял проблем с клиентом.
Как это исправить??


Отправлено Дядя Миша 26-10-2011 в 15:47:

Danger в хл2 возможно эта переменная называется по другому.
Кроме того клиент тоже надо перекомпилить, там же предиктинг.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Danger 26-10-2011 в 16:55:

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

А другим методом может както зделать??


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

Цитата:
Danger писал:

проверка на пустоту обоймы есть?


Отправлено Danger 26-10-2011 в 17:12:

Цитата:
marikcool писал:

Все есть я ничего в коде не изменял просто добавил код:

C++ Source Code:
1
void CGlock::PrimaryAttack( void )
2
{
3
  if(! ( m_pPlayer->m_afButtonPressed & IN_ATTACK ))
4
    return;
5
 
6
  GlockFire( 0.01, 0.3, TRUE );
7
 
8
}


я так понял нужно на клиенте в ev_hldm.cpp
там где функция void EV_FireGlock1 сделать аналогичную проверку на нажатие клавиши, только я не знаю как это зделать на клиенте.


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

Цитата:
Danger писал:
я так понял нужно на клиенте в ev_hldm.cpp
там где функция void EV_FireGlock1 сделать аналогичную проверку на нажатие клавиши, только я не знаю как это зделать на клиенте. [/B]


если этого кода нет, то добавь его перед GlockFire( 0.01, 0.3, TRUE );

C++ Source Code:
1
// пустая обойма
2
if (m_iClip <= 0)
3
{
4
  PlayEmptySound();
5
  m_flNextPrimaryAttack = 0.2;
6
  return;
7
}


и client.dll каждый раз пересобирай
в ev_hldm не лезь это уже отрисовка самого выстрела, нужно срезать условиями до отправки эвента клиентам.


Отправлено Danger 26-10-2011 в 17:50:

Цитата:
marikcool писал:
// пустая обойма
if (m_iClip <= 0)
{
PlayEmptySound();
m_flNextPrimaryAttack = 0.2;
return;
}


Та причем тут ето, яж говарю что в коде нечего не удалял, и не изменял
просто в стандартный код глока хл1: hl_wpn_glock.cpp добавил ето

if(! ( m_pPlayer->m_afButtonPressed & IN_ATTACK ))
return;
когда зажымаеш клавишу на сервери происходит 1 вистрел как и надо, а на клиенте просто бесконечно и без задержек сыпятся гильзы и декали на стенах. тоисть визульно не так как на самом деле. Перекомпилил и сервер и клиент.
можешь сам попробовать.

[i]Добавлено 26-10-2011 в 21:50:


Цитата:
marikcool писал:
....
и client.dll каждый раз пересобирай
в ev_hldm не лезь это уже отрисовка самого выстрела, нужно срезать условиями до отправки эвента клиентам. [/B]


так вот имено нужно 1 вистрел отресовать он бесконечно отресовует.


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

у меня все пистолеты в моде не автоматические, таких глюков нет.


Отправлено Danger 26-10-2011 в 18:15:

Я нашел в чом проблема, ето проблем в Xashe всетаки, а не вмоде.
А на халве работает, такого глюка нету.


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

Цитата:
Danger писал:

на ксаше с cl_lw 0 проверял?


Отправлено Danger 26-10-2011 в 18:22:

Talking

marikcool
Спс помогло


Временная зона GMT. Текущее время 07:34. Страницы (2): « 1 [2]
Показать все 26 сообщений этой темы на одной странице

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