←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Przytrzymanie bytu

Zablokowany

  • +
  • -
daniosik - zdjęcie 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
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 25.01.2011

1.
set_pev(ent,pev_movetype,MOVETYPE_FOLLOW);
set_pev(ent,pev_aiment,index);
ent - id obiektu
index - id gracza
2.zostaje "wyrzucony" przed gracza ?
Odpowiedz

  • +
  • -
daniosik - zdjęcie 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:

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
Odpowiedz

  • +
  • -
DarkGL - zdjęcie 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);
Odpowiedz
Zablokowany