HLFX.Ru Forum Страницы (194): « Первая ... « 5 6 7 8 [9] 10 11 12 13 » ... Последняя »
Показать все 2900 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено ***FantoM*** 24-03-2015 в 01:25:

народ помогите
как сделать так чтоб при вторичной атаке
чтобы перед экраном тупо модель прицела была



Отправлено Ku2zoff 24-03-2015 в 09:10:

Цитата:
XaeroX писал:
Лучше напиши тутор по инфракрасному зрению

А вот эта фигня мне никогда не нравилась, и нигде я её юзать не хочу. Хотя, кажется, есть идея, где применить. Если сильно захочется, попробую. Пока что в приоритете зажигалка.

Добавлено 24-03-2015 в 15:10:

***FantoM*** с прицелом есть два варианта решения. Одно сложное, другое простое. Сложное, это где надо новые анимации оружию делать и смену этих анимаций учитывать. Как в паранойе. А простое - как в файр армс, менять вьюмодель на модель прицела. Это можно в коде сатчела подглядеть.


Отправлено ***FantoM*** 24-03-2015 в 13:58:

Ku2zoff
а ну ка давай второй способ подробнее


Отправлено Ku2zoff 24-03-2015 в 18:22:

Цитата:
***FantoM*** писал:
а ну ка давай второй способ подробнее

Цитата:
Ku2zoff писал:
Это можно в коде сатчела подглядеть.

Посмотри, как там меняются вьюмодели с взрывпакета на пульт и обратно. Вот и сделай у себя так же, меняй пушку на прицел и обратно. При смене можно сделать скринфейд на полсекунды, чтобы не было заметно. И модели прицелов можешь из FireArms стащить. Или сам намоделить. У тебя ситуация проще, чем с сатчелом, никаких дополнительных переменных не надо заводить.


Отправлено ***FantoM*** 25-03-2015 в 03:06:

Ku2zoff
помоги у меня проблема в прицеле
то есть я не могу отключить его
короче вот тебе видео
https://www.youtube.com/watch?v=1I1...eature=youtu.be


Отправлено Ku2zoff 25-03-2015 в 03:31:

Код SecondaryAttack в студию.


Отправлено ***FantoM*** 25-03-2015 в 03:45:

void CCrossbow::SecondaryAttack()
{
if ( m_pPlayer->pev->fov != 0 )
{
m_pPlayer->pev->fov = m_pPlayer->m_iFOV = 0; // 0 means reset to default fov
m_fInZoom = 0;
}
else if ( m_pPlayer->pev->fov != 20 )
{
m_pPlayer->pev->fov = m_pPlayer->m_iFOV = 20;
m_fInZoom = 1;
}

if ( m_chargeReady != 2 ) //new
{
Throw( );
}

pev->nextthink = UTIL_WeaponTimeBase() + 0.1;
m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 1.0;
}


Отправлено Ku2zoff 25-03-2015 в 04:08:

***FantoM*** вот фигни наворотил, и удивляешься, почему глючит.

C++ Source Code:
1
void CCrossbow::SecondaryAttack()
2
{
3
  if (m_pPlayer->pev->fov != 0)
4
  {
5
    m_pPlayer->pev->fov = m_pPlayer->m_iFOV = 0;
6
    DefaultDeploy("models/v_crossbow.mdl", "models/p_crossbow.mdl", CROSSBOW_IDLE, "crossbow");
7
    m_fInZoom = 0;
8
  }
9
  else if (m_pPlayer->pev->fov != 20)
10
  {
11
    m_pPlayer->pev->fov = m_pPlayer->m_iFOV = 20;
12
    DefaultDeploy("v_scope.mdl", "p_crossbow.mdl", CROSSBOW_IDLE, "crossbow");
13
    m_fInZoom = 1;
14
  }
15
  pev->nextthink = UTIL_WeaponTimeBase() + 0.1;
16
  m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 1.0;
17
}

Вроде всё. Набросал по памяти, с планшета. Ни исходников, ни компа рядом нет.


Отправлено ***FantoM*** 25-03-2015 в 04:22:

Ku2zoff
всё работает


Отправлено Ku2zoff 25-03-2015 в 04:27:

***FantoM*** задержки перед выстрелом не слишком большие при переключении? При убирании оружия прицел выключается? Видео залей, мне интересно. Был бы дома, скомпилил бы сам и проверил.


Отправлено ***FantoM*** 25-03-2015 в 04:40:

Ku2zoff
вот https://www.youtube.com/watch?v=rKH...eature=youtu.be


Отправлено ***FantoM*** 25-03-2015 в 11:13:

у меня еще один вопрос
как правильно вызывать серверные функций с клиента
приведите примеры


Отправлено Ku2zoff 25-03-2015 в 12:59:

Цитата:
***FantoM*** писал:
вызывать серверные функций с клиента

Правильно - никак. Но можно отправлять с клиента команду на сервер, типа:
C++ Source Code:
gEngfuncs.pfnClientCmd( "mycommand\n" );
или
gEngfuncs.pfnServerCmd( "mycommand\n" );

Клиентская и серверная соответственно. Не знаю, в чём разница, не проверял.
Ну а на сервере эту команду обрабатывать в client.cpp, в функции ClientCommand, типа:
C++ Source Code:
else if ( FStrEq( pcmd, "mycommand" ) )
{
  ClientPrint( pev, HUD_PRINTCONSOLE, "Received a client command.\n" );
}

А вообще, все манипуляции с логикой надо делать на сервере. А на клиенте делать только то, что не должно влиять на сервер.
Что тебе надо сделать? Может быть можно и без извращений обойтись?


Отправлено ***FantoM*** 25-03-2015 в 13:14:

Цитата:
Ku2zoff писал:
Что тебе надо сделать? Может быть можно и без извращений обойтись?

мне надо стекла как в The Specialists 3.0
http://hlfx.ru/forum/attachment.php?s=&postid=142197


Отправлено Ku2zoff 25-03-2015 в 14:10:

Тут не надо ничего серверного вызывать с клиента. Наоборот надо сделать отправку мессаги или эвента на клиент при разбивании брейкабли, при условии, что материал == matGlass. При создании карты указывать в качестве модели гибсов такой брейкабле невидимую модель, например null.mdl. Ну а сам эффект кодить на клиенте. При написании клиентской части я бы ориентировался на код "разбрызгивания" искр гаусса, там как раз спрайты-темпэнтити заюзаны. А вообще, стоит покопаться в структуре pEfxAPI, там много полезных эффектов есть, которые в халфе не заюзаны, или заюзаны не на 100%.


Временная зона GMT. Текущее время 17:42. Страницы (194): « Первая ... « 5 6 7 8 [9] 10 11 12 13 » ... Последняя »
Показать все 2900 сообщений этой темы на одной странице

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