Почему энтитя падает с высоты только при спавне ?

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
259
Реакции
129
Помог
12 раз(а)
Помогите разобраться и сделать что бы энтитя падала.
Создаю энтитю над землей и она спавнится и падает - потом меняю ей обратно origin на координаты над землей и она уже не падает. Что ей еще не хватает что бы падала ?

Код:
#include <amxmodx>
#include <reapi>
#include <fakemeta>
#include <xs>

new const TEST_MODEL[]  = "models/hostage.mdl"

public plugin_init( )
    register_clcmd("say /t", "TestModel")

public plugin_precache()
    precache_model(TEST_MODEL)
    
public TestModel(id)
{
    new ent = rg_create_entity("func_breakable", false)

    new Float: vecOrigin[3]
    _get_forward_origin(id, vecOrigin, 150.0)
    vecOrigin[2] += 50
    
    engfunc(EngFunc_SetModel, ent, TEST_MODEL)
    set_entvar(ent, var_origin, vecOrigin)
    set_entvar(ent, var_movetype, MOVETYPE_TOSS)
    
    
    set_entvar(ent, var_nextthink, get_gametime() + 2.0)
    SetThink(ent,"Think")
    
    return PLUGIN_HANDLED
}

public Think(ent) {
    new Float: Origin[3]
    get_entvar(ent, var_origin, Origin)
    Origin[2] += 50
    set_entvar(ent, var_origin, Origin)   
    set_entvar(ent, var_nextthink, get_gametime() + 2.0)
}

stock _get_forward_origin(id, Float: forward_origin[3], Float: dist)
{
    static Float:origin[3], Float:view_ofs[3]
    pev(id, pev_origin, origin)
    pev(id, pev_view_ofs, view_ofs)

    static Float:view_pos[3]
    xs_vec_add(origin, view_ofs, view_pos)

    static Float:v_angle[3]
    pev(id, pev_v_angle, v_angle)

    engfunc(EngFunc_MakeVectors, v_angle)

    static Float:v_vector[3]
    global_get(glb_v_forward, v_vector)

    xs_vec_add_scaled(view_pos, v_vector, dist, forward_origin)
}
 
Сообщения
458
Реакции
263
Помог
9 раз(а)
Аналогичное для fm - EngFunc_DropToFloor
 
Сообщения
259
Реакции
129
Помог
12 раз(а)
Спасибо за вариант, но это все же не падение. Энтитя сразу же оказывается внизу. Поэтому вопрос остается открытым.
Я понимаю что можно еще принудительно велосити вниз сделать и ловить потом как то внизу, но это какие то уже костыли. Хотелось бы понимать почему энтитя висит и не падает как при спавне, неужели ничего проще нету ?
 
Сообщения
1,698
Реакции
1,510
Помог
26 раз(а)
murlemur, попробуй через SetOrigin
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
fl0wer, я у себя уже потестил этот варик, всё то же самое
 
Сообщения
259
Реакции
129
Помог
12 раз(а)
Xbass13, спасибо, это именно то что меня интересовало.
 
Статус
В этой теме нельзя размещать новые ответы.

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

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