EngFunc_GetBonePosition nie działa na inny...
wiwi249
20.10.2015
Siemanko
Piszę sobie ostatnio kod i napotkałem pewien nieprzyjemny problem. Potrzebuję pobrać współrzędne kości bytu który się porusza w danym momencie. Naturalnie spróbowałem użyć EngFunc_GetBonePosition ALE ku mojemu zdziwieniu, funkcja pobiera pozycję właściciela bytu (gracza) zamiast bytu który podaję jako argument funkcji.
Kod poniżej załączam.
Ma ktoś jakiś pomysł?
ent to byt, owner to jego właściciel, fire to nowy byt ktory ma być stworzony na pozycji tej kości.
new Float:Bone[3], Float:Angle[3]; engfunc(EngFunc_GetBonePosition, ent, 8, Bone, Angle); new Float:velocity[3]; VelocityByAim(ent, 1800, velocity); new fire = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"info_target")); set_pev(fire,pev_classname,"bullet"); engfunc(EngFunc_SetModel,fire,"models/xyz/bulletfire.mdl"); set_pev(fire, pev_origin, Bone) set_pev(fire, pev_solid, SOLID_BBOX) set_pev(fire, pev_movetype, MOVETYPE_FLY) set_pev(fire, pev_owner, owner) set_pev(fire, pev_velocity, velocity) set_pev(fire, pev_iuser1, 25)
grankee
10.11.2015
O ile mi wiadomo to tylko byty od 1 do 32 mają kości jako takie. Nawet jeśli nadasz model gracza innemu bytowi to i tak silnik nie dopatrzy się tam kości. Byty "kościste" tworzone są tylko dla graczy.
wiwi249
12.11.2015
A straciłem nadzieję że ktoś odpowie
A to jest ciekawe to co mówisz, nie wiedziałem że tak to działa. Póki co znalazłem tylko gdzieś na gamebanana projekt, w którym goście to naprawiają. Pozostało czekać.
OKCancel