[ROZWIĄZANE] Obrocenie modelu wzgledem gra...
Najlepsza odpowiedź
NiczegoWinien
10.01.2015 19:15
Uzylem tego
new Float:oring[3] pev(id, pev_origin, oring) // ID - id ownera entity_set_aim(ent, oring)
I zmienilem env_sprite na info_target i dziala.
dzięki wszystkim za pomoc. Mozna zamknac.
Przejdź do postu
NoLiFeR
08.01.2015
Wyjęty z pluginu
new Float:oring[3] pev(ent, pev_origin, oring) entity_set_aim(ent, oring)
NiczegoWinien
08.01.2015
Uzylem twoje kodu i nadal zero efektu. Stojac przed modelem patrzy sie na mnie. Lecz gdy go stworze bedąc za nim to widze jego "plecy". Nie przekreca sie do mnie przodem ;/
NoLiFeR
09.01.2015
Jeżeli chcesz aby było to dynamiczne obracanie musisz umieścić to najlepiej w thinku bytu.
Kurde... Taki błąd
zamiast ent w pev daj id.
new Float:oring[3] pev(id, pev_origin, oring) // ID - id ownera entity_set_aim(ent, oring)
Przepraszam, ale nie zauważyłem błędu, może dlatego iż używam tego w innym celu
Użytkownik NoLiFeR edytował ten post 09.01.2015 01:08
NiczegoWinien
09.01.2015
Ehhh ;/ ciagle nic. Teraz obraca sie wokol swojej osi. Moze po prostu trzeba pobrac anglesy gracza i ustawic je takie same dla enta tylko ze w przeciwnym kierunku.
GwynBleidD
09.01.2015
Jeżeli chcesz aby było to dynamiczne obracanie musisz umieścić to najlepiej w thinku bytu.
Kurde... Taki błąd![]()
![]()
zamiast ent w pev daj id.
new Float:oring[3] pev(id, pev_origin, oring) // ID - id ownera entity_set_aim(ent, oring)Przepraszam, ale nie zauważyłem błędu, może dlatego iż używam tego w innym celu
To obróci byt w tą samą stronę, w którą patrzy właściciel, a nie w stronę właściciela.
Spróbuj:
new Float:target_origin[3], aiming_origin; pev(owner, pev_origin ,target_origin) pev(ent, pev_origin ,aiming_origin) // nie obchodzi nas 3 współrzędna (wysokość) ani ownera, ani entu, ponieważ ent ma się obracać tylko w jednej płaszczyźnie target_origin[2] = 0.0 aiming_origin[2] = 0.0 new Float:aiming_angles[3] = {0.0, 0.0, 0.0} aiming_angles[0] = xs_vec_angle(target_origin, aiming_origin) // Jeśli ent będzie się patrzył w drugą stronę, zamień parametry miejscami set_pev(ent, pev_angles, aiming_angles)Jeśli byt będzie się obracał w złym wymiarze (do góry/w dół lub się przechylał na boki) to spróbuj w przedostatniej linii zmienić współrzędną, bo nie wiem dokładnie który kąt odpowiada za którą płaszczyznę, ale wg logiki pierwszy z brzegu powinien odpowiadać za XY, dalsze za XZ i YZ. Ale może być coś inaczej

NiczegoWinien
09.01.2015
Dodalem twoj kod. Poprawilem bledy, sprawdzilem i nie zadzialalo.Zmienilem parametry miejscami i dalej nic. Ent patrzy tylko w jedna strone.
NiczegoWinien
10.01.2015
public Stworz(id,foorigin[3]) { new Float:CoreOrigin[ 3 ]; IVecFVec(foorigin,CoreOrigin); new Entity = create_entity( "env_sprite" ); entity_set_string ( Entity, EV_SZ_classname, "SpriteEntity" ); entity_set_model ( Entity, "models/xxx.mdl" );; entity_set_float ( Entity, EV_FL_scale, 1.0 ); set_pev(Entity,pev_owner,id) entity_set_origin( Entity, CoreOrigin ); entity_set_float( Entity, EV_FL_framerate, 10.0 ); DispatchSpawn( Entity ); }
proszę.
Najlepsza odpowiedź
NiczegoWinien
10.01.2015
Uzylem tego
new Float:oring[3] pev(id, pev_origin, oring) // ID - id ownera entity_set_aim(ent, oring)
I zmienilem env_sprite na info_target i dziala.
dzięki wszystkim za pomoc. Mozna zamknac.
radim
11.01.2015
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,

Z pozdrowieniami,
Zespół AMXX.PL