GTA Vice City > Скриптинг

Прицепить звук к объекту.

(1/2) > >>

aleks926820:
Всем здрасьте.
Не так давно пустил по карте криминалки (а точнее по железке) тепловоз.
Вроде всё хорошо. Катается, радует глаз. Даже 2dfx освещение работает.
https://pp.userapi.com/c841333/v841333125/7a77f/9x4ow9Un9S8.jpg
https://pp.userapi.com/c830608/v830608411/98519/e6mW0LgGAb4.jpg
Но вот беда - не работает прикрепленный дым через 2dfx ( хотя на самом объекте он работает )
https://pp.userapi.com/c849328/v849328404/26c6e/bhfB_2qq44M.jpg
Так вот у меня 2 вопроса : как прицепить дым к движущемуся локомотиву и как прицепить к нему звук ?

Shagg_E:
Если в IDE ты прикрепил 2dfx дым, и он работает лишь тогда, когда ты ставишь объект в IPL, а через SCM - нет, то пока это никак не реализовать. У меня это записано в списке идей для новых опкодов, но когда это "случится" - пока сказать не могу(времени катастрофически не хватает).
Если ты кодер, то вот мои мысли, где копать:
1)2dfx-партиклы, как и зацикленные sfx-звуки(опкоды 018D и 018E) должны иметь свои массивы, по типу горящего огня(есть кстати подозрение, что для дыма есть отдельный массив, как у огня).
2)В этих массивах должны быть смещения с координатами партикла или звука.
3)Можно динамически менять эти координаты.
4)???
5)PROFIT!
Примерно на этом принципе я и планирую запилить аттач звуков и партиклов к entity или их частям, но я предлагаю не ждать меня, а попробовать своими силами, если спешишь.

kenking:
По дыму - посмотри этот скрипт https://gta.com.ua/file_details.phtml?id=2821, может пригодится.

aleks926820:
Таки удалось прикрепить дымок к тепловозу.
https://pp.userapi.com/c847221/v847221805/afdfd/INQjRKhz4h0.jpg
https://pp.userapi.com/c847221/v847221805/afe4f/JX8GzcWRtC8.jpg
https://pp.userapi.com/c847221/v847221805/afdeb/j98oZXke_RQ.jpg
А делов-то на две строки ))
Последняя строка из скрипта kenking'а.


--- Код: ---0400: create_coordinate $tepX $tepY $tepZ from_object $OBJECT_TEPLOVOZ offset 0.0 0.0 3.0
0437: scatter_particle 60 size 3.5 at $tepX $tepY $tepZ speed_XYZ 0.0 0.0 0.0
--- Конец кода ---

Оффсеты и размер поправить и будет валить прямиком из трубы)

DK:
Вчера на сервере plugin-sdk обсуждали крепление партиклов к транспорту, вот такой код получился.

--- Код: C++ ---#include "plugin.h"#include "CClumpModelInfo.h"#include "CParticle.h" using namespace plugin; class ParticleTest {public:    static void CreateParticleOnVehicleNode(CVehicle *vehicle, char const *nodeName) {        RwFrame *node = CClumpModelInfo::GetFrameFromName(vehicle->m_pRwClump, nodeName); // получить компонент по названию        if (node) {            RwMatrix *m = RwFrameGetLTM(node); // получить матрицу компонента в глобальном пространстве            CParticle::AddParticle(PARTICLE_FLYERS, CVector(m->pos.x, m->pos.y, m->pos.z), CVector(0, 0, 0), nullptr, 0.4f, 0, 0, 0, 0);        }    }     ParticleTest() {        Events::gameProcessEvent += [] {            if (CPed *player = FindPlayerPed(); player && player->m_bInVehicle && player->m_pVehicle && player->m_pVehicle->m_fGasPedal > 0) {                CreateParticleOnVehicleNode(player->m_pVehicle, "wheel_lb_dummy");                CreateParticleOnVehicleNode(player->m_pVehicle, "wheel_rb_dummy");            }        };    }} particleTest;

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии