HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > кто знает как добавить такой эффект на пушку ?
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
илья2
Житель форума

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

Рейтинг



Question кто знает как добавить такой эффект на пушку ?

кто знает как добавить такой эффект на пушку ?
такой эффект я видел в sven coop при выстреле shocktroppera в игрока
поковырялся я в исходниках оппосинг форса нашол вот такую функцию

void CBaseMonster::GlowShellOn( Vector color, float flDuration )
{
if( !m_glowShellUpdate )
{
m_prevRenderMode = pev->rendermode;
m_prevRenderColor = pev->rendercolor;
m_prevRenderAmt = pev->renderamt;
m_prevRenderFx = pev->renderfx;

pev->renderamt = 5;
pev->rendercolor = color;
pev->renderfx = kRenderFxGlowShell;

m_glowShellColor = color;

m_glowShellDuration = flDuration;
m_glowShellStartTime = gpGlobals->time;

m_glowShellUpdate = TRUE;
}
m_glowShellDuration += flDuration;
}

и вот такую

CBaseMonster* pMonster = pOther->MyMonsterPointer();
if (pMonster && !FClassnameIs(pMonster->pev,"monster_geneworm"))
pMonster->GlowShellOn( Vector( 0, 220, 255 ), .5f );

это как раз и есть этот эффект глоша пытался на world model поставить получилось пытался на игрока поставить тоже получилось а вот на v модель не получилось как на скриншоте. Как его добавить на v модель ?

__________________
илья

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

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

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

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

Рейтинг



сам скриншот

Вложение: c1a00003.bmp (1,274.9 кб)
Этот файл был скачан 232 раз.

__________________
илья

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

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

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

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

Рейтинг



Цитата:
илья2 писал:
а вот на v модель не получилось как на скриншоте.

Сорцы DMC в открытом доступе. Смотри там. Quad Damage отображается на вьюмодели именно с помощью GlowShell.

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

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

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

Рейтинг



точно а я и забыл про них щас посмотрю

Добавлено 24-03-2021 в 23:03:

что то не получается либо я не туда ставлю функцию либо надо что то добавлять

__________________
илья

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

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

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

Рейтинг



Игроку поставь pev->renderfx = kRenderFxGlowShell;

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 24-03-2021 21:12
-
илья2
Житель форума

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

Рейтинг



не работает он все равно в view модели не отображается а отображается только у игрока держащий оружие

Добавлено 25-03-2021 в 00:29:

блин думал просто все будет а оказывается все по другому

Добавлено 25-03-2021 в 00:40:

у игрока держащий оружие в смысле когда thirdperson активируешь. Я думаю надо в исходниках dmc повозится может там есть что то надо попробовать поэкспериментировать с удалением например.

__________________
илья

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

Старое сообщение 24-03-2021 21:40
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
Игроку поставь pev->renderfx = kRenderFxGlowShell;

Это ведь действует только на игрока от третьего лица.
Цитата:
илья2 писал:
не работает он все равно в view модели не отображается а отображается только у игрока держащий оружие

Потому что ты не там назначаешь эффект. Это нужно делать на клиенте именно для вьюмодели. Там и проверка соответствующая есть, gEngfuncs.GetViewModel().
Цитата:
илья2 писал:
блин думал просто все будет а оказывается все по другому
*****
Я думаю надо в исходниках dmc повозится может там есть что то надо попробовать поэкспериментировать

Если бы ты действительно заглянул в сорцы DMC, а не занимался неизвестно чем почти полтора часа (судя по времени обновления постов), то узнал бы, что во-первых, эффект GlowShell для вьюмодели применяется исключительно на клиенте, а во-вторых, работает только в связке с локальными клиентскими оружиями. Введи в консоли DMC cl_lw 0, а потом возьми предмет. Наоборот не сработает, т.к. эффект уже будет ранее назначен при cl_lw 1.

Добавлено 25-03-2021 в 09:04:

илья2 чтобы ты сильно не возился, немного помогу тебе. Вот такой код втыкаешь куда-нибудь на клиент:
C++ Source Code:
1
cl_entity_t* player = gEngfuncs.GetLocalPlayer();
2
 
3
if (player)
4
{
5
  cl_entity_t* view = gEngfuncs.GetViewModel();
6
 
7
  if (view)
8
  {
9
    view->curstate.renderfx = player->curstate.renderfx;
10
    view->curstate.renderamt = player->curstate.renderamt;
11
    view->curstate.rendercolor = player->curstate.rendercolor;
12
  }
13
}

А вот таким кодом применяешь глоу к игроку на сервере:
C++ Source Code:
pev->renderfx = kRenderFxGlowShell;
pev->renderamt = 15;
pev->rendercolor = Vector(125, 125, 255);

В итоге, у тебя и пушка от первого лица и игрок от третьего будут иметь одинаковый эффект. Рендерколор - цвет в RGB, рендерамт в данном случае то, насколько эффект будет "жирнее" оригинальной модели. Оптимальное значение - 5, выглядит как Shield Belt в UT99. При 15 как в DMC уже не очень.

Добавлено 25-03-2021 в 08:48:

На скрине результат трёх минут поиска по строчке kRenderFxGlowShell в сорцах DMC.

[ Вложение ]
dorms0000.jpg

Отредактировано Ku2zoff 25-03-2021 в 02:10

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

Старое сообщение 25-03-2021 02:04
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
илья2 писал:
блин думал просто все будет а оказывается все по другому

В мемориз!

Цитата:
Ku2zoff писал:
Это ведь действует только на игрока от третьего лица.

Ну и что? Скопировать эффект из игрока на вьюмодель.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 25-03-2021 07:25
-
илья2
Житель форума

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

Рейтинг



получилось наконец то спасибо Ku2zoff за код

cl_entity_t* player = gEngfuncs.GetLocalPlayer();

if (player)
{
cl_entity_t* view = gEngfuncs.GetViewModel();

if (view)
{
view->curstate.renderfx = player->curstate.renderfx;
view->curstate.renderamt = player->curstate.renderamt;
view->curstate.rendercolor = player->curstate.rendercolor;
}
}

вот только как на определенную пушку кинуть я не особо понял ? кинул вот этот код в player.cpp и сработало только на всех пушках.

pev->renderfx = kRenderFxGlowShell;
pev->renderamt = 15;
pev->rendercolor = Vector(125, 125, 255);

Добавлено 25-03-2021 в 12:18:

скриншот

Вложение: c1a00003.bmp (1,366.6 кб)
Этот файл был скачан 167 раз.

__________________
илья

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

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

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 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: Записан
Сообщение: 200711

Старое сообщение 25-03-2021 09:38
-
илья2
Житель форума

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

Рейтинг



все я справился но пришлось немного доработать код Ku2zoff

m_pPlayer->pev->renderfx = kRenderFxGlowShell;
m_pPlayer->pev->renderamt = 15;
m_pPlayer->pev->rendercolor = Vector(125, 125, 255);

делал так ставил это в Deploy

потом поставил вот это в Holster

m_pPlayer->pev->renderfx = kRenderFxGlowShell;
m_pPlayer->pev->renderamt = 0;
m_pPlayer->pev->rendercolor = Vector(0, 0, 0);

получилось круто

__________________
илья

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

Старое сообщение 25-03-2021 09:56
- За что?
Aynekko
Маппер

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

Рейтинг



Цитата:
илья2 писал:
потом поставил вот это в Holster

Может в холстер надо было kRenderNormal и amt 255?

__________________
Мой мод на Xash

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

Старое сообщение 25-03-2021 09:59
- За что?
илья2
Житель форума

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

Рейтинг



можно и так
это я чисто под гаусс делал

Добавлено 25-03-2021 в 13:13:

сам прикол в том что когда мы подбираем оружие это в deploy, то эффект работает на пушке а когда убираем holster, эффект исчезает

Добавлено 25-03-2021 в 13:16:

можно даже любой цвет поставить умеющие поймут как это сделать

__________________
илья

Отредактировано илья2 25-03-2021 в 10:18

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
Ну и что? Скопировать эффект из игрока на вьюмодель.

Ну я собсно так и поступил в коде-примере. Самый лёгкий вариант. Хотя, я бы всё-таки применял эффект не к игроку, а к p_модели, так интереснее смотрится со стороны.
Цитата:
илья2 писал:
когда мы подбираем оружие это в deploy, то эффект работает на пушке а когда убираем holster, эффект исчезает

Можно в коде самого игрока сделать проверку:
C++ Source Code:
1
if (m_pActiveItem && m_pActiveItem->m_iId == WEAPON_GAUSS)
2
{
3
  Вкл эффект
4
}
5
else
6
{
7
  Выкл эффект
8
}

Вызывать можно из ItemPostFrame, например.

Отредактировано Ku2zoff 25-03-2021 в 13:13

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

Старое сообщение 25-03-2021 13:12
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 16:27. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > кто знает как добавить такой эффект на пушку ?
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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