Przytrzymanie bytu
daniosik
22.01.2011
Witam. Otóż potrzebuje dwie funkcje:
1. Jeśli gracz dotknie byt (stworzony przez plugin) zostanie do niego "przyczepiony" i może z nim chodzić.
2. Jeśli gracz ma przy sobie byt i użyje E (+use) byt ten zostaje "odczepiony" i leci przed graczem np. 255 unitow.
Z góry dzięki.
Użytkownik daniosik edytował ten post 23.01.2011 18:12
1. Jeśli gracz dotknie byt (stworzony przez plugin) zostanie do niego "przyczepiony" i może z nim chodzić.
2. Jeśli gracz ma przy sobie byt i użyje E (+use) byt ten zostaje "odczepiony" i leci przed graczem np. 255 unitow.
Z góry dzięki.
Użytkownik daniosik edytował ten post 23.01.2011 18:12
DarkGL
25.01.2011
1.
index - id gracza
2.zostaje "wyrzucony" przed gracza ?
set_pev(ent,pev_movetype,MOVETYPE_FOLLOW); set_pev(ent,pev_aiment,index);ent - id obiektu
index - id gracza
2.zostaje "wyrzucony" przed gracza ?
daniosik
25.01.2011
Chodzi mi o to gracz biegnie z tym bytem klika "E" i byt ten zostaje rzucony przez gracza w kierunku którym celował. (chodzi mi oto, żeby się nie teleportował)
To co mi dałeś nie działa jak chciałem, gdyż jeśli dotknę tego bytu to znika podemna i nie mogę się ruszać.
Funkcja wygląda tak:
A w plugin_init dałem tak:
Użytkownik daniosik edytował ten post 25.01.2011 21:38
To co mi dałeś nie działa jak chciałem, gdyż jeśli dotknę tego bytu to znika podemna i nie mogę się ruszać.
Funkcja wygląda tak:
public ForwardPlayer( iPlayer, iByt )
{
set_pev( iByt, pev_iuser2, get_user_team( iPlayer ) );
new Float:flVelocity[ 3 ];
velocity_by_aim( iPlayer, 500, flVelocity );
set_pev( iByt, pev_velocity, flVelocity );
new szName[ 32 ];
get_user_name( iPlayer, szName, charsmax( szName ) );
set_pev( iByt, pev_target, szName );
set_pev( iByt , pev_movetype, MOVETYPE_FOLLOW );
set_pev( iByt, pev_aiment, iPlayer );
}
A w plugin_init dałem tak:
register_touch( "player", Byt, "ForwardPlayer" );
Użytkownik daniosik edytował ten post 25.01.2011 21:38
DarkGL
28.01.2011
po ustawieniu movetype_follow sprobój zmienić origin a dokładniej pozycje w osi z
new Float:fOrigin[3];
pev(iByt, pev_origin, fOrigin);
fOrigin[2] += 100.0;
engfunc(EngFunc_SetOrigin, iByt,fOrigin);