GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Buba - 2014. január 16. - 21:11:15

Cím: Rámpa
Írta: Buba - 2014. január 16. - 21:11:15
Sziasztok! Próbálkoztam eleget, nem megy. Az lenne a kérdésem, hogy hogyan lehetne lehelyezni a játékos elé pár blokkal egy ugratót? Gondoltam hogy a player megnyom egy gombot, elékerül az ugrató, és pár másodperc mulva eltûnik. Az eltûnést és a gombnyomást meg tudom oldani, a probléma az az, hogy hogyan tudom lekérni azt hogy mi van a játékos elõtt? A játékos ha másfelé néz egybõl más lesz az elõtte lévõ hely, de a pozíciója nem változik.. szóval nem jó ha hozzáadogatok X-et a lerakott objekt pozíciójához.. lövésem sincs:S próbálgattam a GetPlayerCameraFrontVectort is. kérlek segítsetek!
Cím: Rámpa
Írta: Zharko - 2014. január 16. - 21:28:30
Hali!
Találtam angol fórumon erre egy függvényt.
 
stock GetVehicleRelativePos(vehicleid, &Float:x, &Float:y, &Float:z, Float:xoff=0.0, Float:yoff=0.0, Float:zoff=0.0)
{
   new Float:rot;
   GetVehicleZAngle(targetid, rot);
   rot = 360 - rot;    // Making the vehicle rotation compatible with pawns sin/cos
   GetVehiclePos(vehicleid, x, y, z);
   x = floatsin(rot,degrees) * yoff + floatcos(rot,degrees) * xoff + x;
   y = floatcos(rot,degrees) * yoff - floatsin(rot,degrees) * xoff + y;
   z = zoff + z;
}
//Így használd: GetVehicleRelativePos(vehicleid, x, y, z, 0.0, 6.0, 0.0);

 
Neked az yoff-ot kell használnod, azt is pozitív értékkel, ez lesz a kocsi elõtti pozíció, annyi méterre, amennyit beírsz.
Ha negatív az érték, akkor logikusan mögötte.
LINK