HLFX.Ru Forum
Показать все 5 сообщений этой темы на одной странице

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


Отправлено Jimmy C. 08-10-2010 в 14:48:

Half-Life Квары

Здравствуйте! Давненько меня не было. Дак вот что,я хочу если квар равен 1ому (sv_aim 1) то проиграть вот что SetSuitUpdate("!HEV_AIM_ON", FALSE, SUIT_NEXT_IN_30SEC); а если sv_aim 0 то SetSuitUpdate("!HEV_AIM_OFF", FALSE, SUIT_NEXT_IN_30SEC); как такое замутить?

Добавлено 08-10-2010 в 18:48:

ну или sv_voice 1!


Отправлено Дядя Миша 08-10-2010 в 15:35:

(epeFk@ это ты хочешь, чтобы костюм говорил "автоприцел включен" или "голосовой оповещатель включен" ?
Очень просто:
Посмотри как устроены апдейты клиентских мессаг, ну например:

C++ Source Code:
1
if (pev->armorvalue != m_iClientBattery)
2
{
3
  m_iClientBattery = pev->armorvalue;
4
 
5
  ASSERT( gmsgBattery > 0 );
6
  // send "health" update message
7
  MESSAGE_BEGIN( MSG_ONE, gmsgBattery, NULL, pev );
8
  WRITE_SHORT( (int)pev->armorvalue);
9
  MESSAGE_END();
10
}

Заведем доп переменую, по аналогии с m_iClientBattery, назовём её, ну например m_iLastAimStatus;
Тогда вместо pev->armorvalue мы заюзаем нашу нужную переменную вот так CVAR_GET_FLOAT( "sv_aim" );
А вместо кода MESSAGE_BEGIN\MESSAGE_END засунем вызов
SetSuitUpdate("!HEV_AIM_ON", FALSE, SUIT_NEXT_IN_30SEC);
И у нас получится примерно следующее:
C++ Source Code:
1
if (CVAR_GET_FLOAT( "sv_aim" ) != m_iLastAimStatus)
2
{
3
  if( m_iLastAimStatus )
4
  {
5
    SetSuitUpdate("!HEV_AIM_OFF", FALSE, SUIT_NEXT_IN_30SEC);
6
  }
7
  else
8
  {
9
    SetSuitUpdate("!HEV_AIM_ON", FALSE, SUIT_NEXT_IN_30SEC);
10
  }
11
  m_iLastAimStatus = CVAR_GET_FLOAT( "sv_aim" );
12
}

Остальное наваяешь по аналогии. Откуда вызывать, я думаю ты тоже уже догадался.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Jimmy C. 08-10-2010 в 15:40:

а куда задекларировать m_iLastAimStatus (простите если тупой вопрос )


Отправлено Ku2zoff 08-10-2010 в 15:44:

(epeFk@ в класс игрока конечно.


Отправлено Jimmy C. 08-10-2010 в 15:58:

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


Временная зона GMT. Текущее время 10:50.
Показать все 5 сообщений этой темы на одной странице

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