Drop Money Animation

Сообщения
1,543
Реакции
1,543
Предупреждения
1
Помог
2 раз(а)
Целый день провозился с этой анимацией денег.
По сути сделал анимацию падения денег с небольшой высоты у модели
Велосити дропа работает нормально и также при убийстве с игрока летят деньги...

Но вот такой вот нюанс хотелось бы закрыть

Получается ,когда бросается модель денег изначально оно не наследует анимацию,как как модель по сути ещё не коснулась земли
И вот они летят без анимации сначала,а потом какая-то происходит задержка в доли секунды,а затем уже анимация...

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

Вот Видео отрывок и кусок кода


Дроп
Код:
        if(weapon == CSW_KNIFE)
        {
            if(fm_get_user_money(id) < get_pcvar_num(money_drop_a))
                money = fm_get_user_money(id)
            else
                money = get_pcvar_num(money_drop_a)
        
            fm_set_user_money(id,fm_get_user_money(id) - money)
            can_pickup[id] = false
            set_task(0.3,"reset_pick",id)
            new start_velo = get_pcvar_num(force) * 15
            new end_velo = get_pcvar_num(force) * 50
            velocity_by_aim(id,random_num(start_velo,end_velo),velo)
            make_money(id,money,velo)

            return PLUGIN_HANDLED
        }
Создание
Код:
public make_money(id,money,Float:velo[])
{
    new moneybags = money/100000
    new moneyleft = money
    new Float:origin[3]
    new Float:angles[3]
    new Float:mins[3] = {-2.79, -0.0, -6.14}
    new Float:maxs[3] = {2.42, 1.99, 6.35}

    if((moneybags * 100000) < money)    moneybags++   
    for(new i = 0; i < moneybags; ++i)
    {   
        new newent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
        
        pev(newent,pev_angles,angles)
        angles[1] += random_num(1,360)
        pev(id,pev_origin,origin)

        set_pev(newent, pev_animtime, get_gametime())
        set_pev(newent, pev_sequence, 2)
        set_pev(newent, pev_frame, 0.0)
        set_pev(newent, pev_framerate, 1.0)

        set_pev(newent, pev_nextthink, get_gametime() + LIFE_TIME)
        set_pev(newent, pev_origin, origin)
        set_pev(newent, pev_classname, "pdm_money")
        set_pev(newent, pev_body, 2);
        engfunc(EngFunc_SetModel, newent, model)
        engfunc(EngFunc_SetSize,newent,mins,maxs)
        set_pev(newent,pev_angles,angles)
        set_pev(newent, pev_solid, SOLID_TRIGGER)
        set_pev(newent,pev_movetype,MOVETYPE_TOSS)
        set_pev(newent, pev_rendermode, kRenderFxNone);
        set_pev(newent, pev_velocity,velo)
        
        if(moneyleft == 0)   
            return FMRES_IGNORED
        
        if(moneyleft < 100000)
        {
                    moneybox[newent]=moneyleft
                    moneyleft = 0
                    return FMRES_IGNORED
        }
                moneyleft -= 100000
                moneybox[newent]=100000
    }
    return FMRES_IGNORED
}
 
Сообщения
833
Реакции
516
Помог
12 раз(а)
а) надо две анимации при дропе(loop) и при соприкосновением с землей
б) гравитацию задать объекту
 

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

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