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

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

Рейтинг



Question как добавить новый muzzleflash на пушку ?

здравствуйте как добавить новый muzzleflash на оружие ?

__________________
илья

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

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

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

Рейтинг



Проще всего заменить стандартные спрайты. Код рисования маззлфлешей зашит в движок. Но можно сделать темпэнтитями на клиенте. pEfxAPI и сорцы ксашдвижка в помощь.

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

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

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

Рейтинг



вот увидил код

switch( event->event )
{
case 5001:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[0], atoi( event->options) );
break;
case 5011:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[1], atoi( event->options) );
break;
case 5021:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[2], atoi( event->options) );
break;
case 5031:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[3], atoi( event->options) );
break;
case 5002:
gEngfuncs.pEfxAPI->R_SparkEffect( (float *)&entity->attachment[0], atoi( event->options), -100, 100 );
break;
// Client side sound
case 5004:
gEngfuncs.pfnPlaySoundByNameAtLocation( (char *)event->options, 1.0, (float *)&entity->attachment[0] );
break;
default:
break;
}

тут можно добавить новый на основе такого примера

switch( event->event )
{
case 5001:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[0], atoi( event->options) );
break;
case 5011:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[1], atoi( event->options) );
break;
case 5021:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[2], atoi( event->options) );
break;
case 5031:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[3], atoi( event->options) );
break;
case 5041:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[4], atoi( event->options) ); <----здесь добавил новый
break;
case 5002:
gEngfuncs.pEfxAPI->R_SparkEffect( (float *)&entity->attachment[0], atoi( event->options), -100, 100 );
break;
// Client side sound
case 5004:
gEngfuncs.pfnPlaySoundByNameAtLocation( (char *)event->options, 1.0, (float *)&entity->attachment[0] );
break;
default:
break;
}

__________________
илья

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

Старое сообщение 10-08-2021 19:27
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
илья2 писал:
gEngfuncs.pEfxAPI->R_MuzzleFlash( (float *)&entity->attachment[4], atoi( event->options) ); <----здесь добавил новый

И вышел за границы массива

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2021 19:41
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



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

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

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

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

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

Рейтинг



в каком файле та искать ? случайно не в r_misc.cpp а то исходников много и все разные. Может сразу лучше ссылку скинешь по ксашу.

__________________
илья

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

Старое сообщение 11-08-2021 08:48
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
илья2 писал:
случайно не в r_misc.cpp

Случайно не в r_misc.cpp, т.к. это файл из сорцев ксашмода. А R_MuzzleFlash находиться внутри движка: engine\client\cl_tent.c.

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

Старое сообщение 11-08-2021 11:06
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Цитата:
Ku2zoff писал:
Случайно не в r_misc.cpp, т.к. это файл из сорцев ксашмода. А R_MuzzleFlash находиться внутри движка: engine\client\cl_tent.c.


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

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

Отредактировано Chyvachok 12-08-2021 в 07:32

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

Старое сообщение 12-08-2021 07:30
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Chyvachok писал:
смотрел сорцы движковых эффектов, глянул, и понял что никак не смогу это портануть

Все эффекты, вызываемые с сервера через SVC_TEMPENTITY, прекрасно портируются в клиентскую дллку. Кроме TE_PLAYERDECAL, т.к. для этой темпэнтити нет нужного экспорта из движка. То же самое касается всех эффектов, вызываемых непосредственно на клиенте, которые используют тепмпэнтити. То есть, если какой-то экспорт pEfxAPI оперирует некоей темпэнтитей, а не какими-то ресурсами и данными, доступными только движку из его массивов ресурсов и данных, то вынести такое дело в клиентку можно. Только надо ещё писать в некоторых случаях каллбэки для этих темпэнтить и задавать им необходимый приоритет.

Добавлено 12-08-2021 в 14:54:

Я могу отвлечься от своей текущей работы и перетащить в клиентку R_MuzzleFlash и R_TracerEffect, т.к. всё равно планирую это сделать, но позже.

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

Старое сообщение 12-08-2021 07:54
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Цитата:
Ku2zoff писал:
Я могу отвлечься от своей текущей работы и перетащить в клиентку R_MuzzleFlash и R_TracerEffect, т.к. всё равно планирую это сделать, но позже.


Это кстати было бы интересно, может бы и заодно разобрался бы сравнив отличия от эффекта что в движке и тот что портирован. Самый полезный бы порт был бы наверное эффекта следа из первого квейка, тот что состоит из точек, по идее если это точки заменить на спрайт, выйдет отличный эффект дыма.

Отредактировано Chyvachok 12-08-2021 в 08:12

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

Старое сообщение 12-08-2021 08:11
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Chyvachok писал:
отличия от эффекта что в движке и тот что портирован

Отличий не будет. Все аллоки и каллбэки торчат из движка наружу. Будет копипаста с подменой внутридвижковых функций на экспорты pEfxAPI.
А вот если завести массив собственных тепмэнтить на клиенте, и рисовать их через TriAPI, тогда отличия будут. В таком случае, нужно выносить всю систему темпэнтить на клиент. Намного быстрее взять уже готовую систему частиц из какого-нибудь мода, и заменить вызовы pEfxAPI на подходящие функции этой системы.

Добавлено 12-08-2021 в 19:21:

Для начала я просто сделаю две запланированные функции R_MuzzleFlash и R_TracerEffect. Первую оставлю на темпэнтитях, просто добавлю возможность грузить кастомные спрайты. А вторую сделаю на TriAPI, потому что движковые трейсеры на партиклях очень толстые, а хочется тоненькие как в HL2. К тому же, писать с нуля ничего не надо, я выкопал старенькие сорцы кое-чего, откуда можно эти трейсеры невозбранно скопипастить.
Ну а дальше будет видно. Можно заморочиться, и сделать чисто клиентские темпэнтити, чтобы обойти лимит в 500 штук и улучшить эффекты. А можно подключить готовую систему частиц. Увидим. Работы много, а мне ещё карты надо делать.

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

Старое сообщение 12-08-2021 12:21
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Цитата:
Ku2zoff писал:
А можно подключить готовую систему частиц. Увидим. Работы много, а мне ещё карты надо делать.


А где она кроме ХДМ она есть? Вспоминается только Бейс Дефенс, но его код закрытый, в ХДМ сильно замудренный код, да и эффектов то не много - в Тириане Гуль перенес много своих эффектов из ХЛВЕ, которых нету в чистом ХДМ-е, но я не смог их пристроить к той старой версии рендерсистемы, т.к. они прицепленны к новой что в последней ХДМ юзается но там автор как всегда все переписал. Сам ХЛВЕ увы багнутый, в том числе и Рендер Систем там, вылетает часто, жаль, это по сути идеал мода на ХЛ1, только синглплеера не хватает, с магазином на манер Counter-Life, жаль я кодер никакой, так замутить бы сингл-ХЛВЕ и все, МодДБ можно будет закрывать нафиг, лучше уже не будет.

А Аврора очень ограниченная система - она рассчитана исключительно под "постоянные" эффекты вроде дыма или следа какой-то ракеты. А такого чтобы взрыв или попадание из какой-то энергопушки сделать детальнее и красивее кроме той же Байз Дефенса и ХДМ-а я не видел на ХЛ.

Эффекты кстати красивые в Jedi Academy, сорцы то есть на ГитХабе, но я из другого мода на ХЛ1 если в нем код сильно отличается скопипастить не могу.

Отредактировано Chyvachok 12-08-2021 в 12:46

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

Старое сообщение 12-08-2021 12:42
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Chyvachok писал:
А где она кроме ХДМ она есть?

BattleGrounds, немного в Invasion (огнемёт) и ещё один какой-то французский мультиплеерный мод, там тоже свои эффекты огня есть.
Цитата:
Chyvachok писал:
Бейс Дефенс, но его код закрытый

Цитата:
Chyvachok писал:
эффекта следа из первого квейка, тот что состоит из точек, по идее если это точки заменить на спрайт

Все темпэнтити есть в ксашдвижке. Достаточно заменить партикли и спрайты, загружаемые движком на нечто, рисуемое через TriAPI, и получится система частиц. Точнее, системой это будет, если каждую темпэнтитю воспринимать именно как систему, и сделать для таких систем собственный менеджер:
Цитата:
Ku2zoff писал:
Можно заморочиться, и сделать чисто клиентские темпэнтити

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

Старое сообщение 12-08-2021 13:58
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Chyvachok писал:
А Аврора очень ограниченная система - она рассчитана исключительно под "постоянные" эффекты вроде дыма или следа какой-то ракеты

Я кстати делал аврору, живущую заданный промежуток времени.
В параное такая.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 12-08-2021 14:38
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Преимущество авроры - визуальное редактирование. Но сама система ограничена именно распылением частиц. Если надо делать огонь, дым, пар и прочее, что ставится на карту - она годится. Можно делать эффекты дыма и огня для оружий и проджектайлов. А вот нечто, вроде эффектов из XDM делать не получится - нет функционала. Дописать можно, но скрипты надо будет писать вручную - теряется весь смысл.
На мой взгляд, самая трушная система из XDM 3.0.3.4. Ей нужно добавить гравитацию и коллизию из 3.0.3.8 туда, где по смыслу нужно, и наверное парсер скриптов для погодных эффектов. В принципе, всё.

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

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



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


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

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

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

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

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

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