Вылет гильз

Сообщения
78
Реакции
7
Всем привет, битый час бьюсь об часть кода с вылетом гильз, инфы, описывающей хоть что-то в интернете откопать не получилось. Моя задача - изменить вектор полета гильзы справа налево на слева направо. Долго пробовал приписывать минусы разным переменным, менять значения, мой максимум - гильза вылетает слева направо чуть ли не вертикально вверх, при этом, если стрелять глядя в пол, то гильза вылетает в обратном направлении. Если кто знает как это отредактировать - прошу поделиться.

Сам код:
Код:
EjectBrass(const iPlayer, const iModelIndex, const iBounce, const Float:flUpScale = -9.0, const Float: flForwardScale = 16.0, const Float: flRightScale = 0.0)
{
    static i, msgBrass;
    
    static Float: vecUp[3];
    static Float: vecRight[3];
    static Float: vecForward[3];
    
    static Float: vecAngle[3];
    static Float: vecOrigin[3];
    static Float: vecViewOfs[3];
    static Float: vecVelocity[3];
    
    pev(iPlayer, pev_v_angle, vecAngle);
    pev(iPlayer, pev_punchangle, vecOrigin);
    
    xs_vec_add(vecAngle, vecOrigin, vecOrigin);
    engfunc(EngFunc_MakeVectors, vecOrigin);
    
    pev(iPlayer, pev_origin, vecOrigin);
    pev(iPlayer, pev_view_ofs, vecViewOfs);
    pev(iPlayer, pev_velocity, vecVelocity);
    
    global_get(glb_v_up, vecUp);
    global_get(glb_v_right, vecRight);
    global_get(glb_v_forward, vecForward);
    
    for (i = 0; i < 3; i++)
    {
        vecOrigin[i] = vecOrigin[i] + vecViewOfs[i] + vecForward[i] * flForwardScale + vecUp[i] * flUpScale + vecRight[i] * flRightScale;
        vecVelocity[i] = vecVelocity[i] + vecForward[i] * 25.0 + vecUp[i] * random_float(100.0, 150.0) + vecRight[i] * random_float(50.0, 70.0);
    }
    
    if (msgBrass || (msgBrass = get_user_msgid("Brass")))
    {
        MESSAGE_BEGIN(MSG_PVS, msgBrass, vecOrigin, 0);
        WRITE_BYTE(0 /* dummy */);
        WRITE_COORD(vecOrigin[0]);
        WRITE_COORD(vecOrigin[1]);
        WRITE_COORD(vecOrigin[2]);
        WRITE_COORD(0.0 /* dummy */);
        WRITE_COORD(0.0 /* dummy */);
        WRITE_COORD(0.0 /* dummy */);
        WRITE_COORD(vecVelocity[0]);
        WRITE_COORD(vecVelocity[1]);
        WRITE_COORD(vecVelocity[2]);
        WRITE_ANGLE(vecAngle[1]);
        WRITE_SHORT(iModelIndex);
        WRITE_BYTE(iBounce);
        WRITE_BYTE(0 /* dummy */);
        WRITE_BYTE(iPlayer);
        MESSAGE_END();
    }
}
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу