Перейти к контенту

Редактирование движка X-Ray


Rolan

Рекомендуемые сообщения

Доброго дня всем. Такая проблема: есть участок кода который спавнит предмет. Предмет спавнится но при этом на него не действует физика.Предмет просто висит в воздухе.

        CSE_Abstract        *object = Level().spawn_item(*cNameSect(),Position(),(g_dedicated_server)?u32(-1):ai_location().level_vertex_id(),ID(),true);
        CSE_ALifeObject                *alife_object = smart_cast<CSE_ALifeObject*>(object);
        VERIFY                        (alife_object);
        alife_object->m_flags.set    (CSE_ALifeObject::flCanSave,FALSE);
        NET_Packet            P;
        object->Spawn_Write    (P,TRUE);
        Level().Send        (P,net_flags(TRUE));
        F_entity_Destroy    (object);

 

Пробовал делать по примеру класса Cmissile ( вставлял фн setup_throw и прочее что связано с ним) - без успехов. Либо вылет ловлю, либо ничего не происходит.



::activate_physic_shell()
{
    Fvector                l_vel;
    l_vel.set            (m_throw_direction);
    l_vel.normalize_safe();
    l_vel.mul            (m_fThrowForce);
    Fvector                a_vel;
        a_vel.set        (0.f,0.f,0.f);
    XFORM().set            (m_throw_matrix);
    CInventoryItemObject::CreatePhysicsShell();
    m_pPhysicsShell->Activate            (m_throw_matrix, l_vel, a_vel);
}

 

Воторой код запускает процесс выброски предмета. Проблема в том что не могу понять как эти два кода связаны и как предмету из первого кода назначается физика из второго кода ?.
Задача была поставлена такая: сделать функцию которая спавнит предмет и назначает ему физику ( с импульсом ).
Может кто то подсказать как это сделать? Если я не правильно защел в тему то скажите куда можно перенести это вопрос? 
 

 

Поделиться этим сообщением


Ссылка на сообщение

@AndreySol, Если правильно понял вопрос то секция предмета соответствует текущему предмету который находится в руках ( на прямую вместо *cNameSect() прописал "museum_ak74u" - соответсвенно появляется визуал соответствующий этой секции). Попробовал еще "wpn_fake_missle" ставить, но там вылет. По сути я отталкивался от класса болта, так как в нем спавнится и выбрасывается тот предмет который соответсвует текущему используемому предмету.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...