GetPlayerCameraFrontVector
Ismertetõ
Ez a függvény visszatér a játékos aktuális célzásának pozíciójával a 3D Térben. A koordináták viszonyulnak a kamera pozíciójához (lásd: GetPlayerCameraPos.)
Megjegyzem ilyenekbõl és még pár függvénybõl nagyon jó headshot és hasonló rendszert lehet írni.Paraméterei
(playerid, &Float:x, &Float:y, &Float:z)
playerid - A játékos azonosítója (ID-je) akinek lekérdezzük a célzásának elhelyezését.
Float: x - Az x koordináta
Float:y - Az y koordináta
Float:z - A z koordináta
!Megjegyzések
-Ez a függvény a SA:MP 0.3a verziójához lett hozzáadva így az annál korábbiakon nem megy.
-Régen a 0.3a-ban a játékos kamera vektorja akkor volt elérhetõ, ha a játékos kint volt a jármûvekbõl vagy talpon volt.
-A 0.3b óta ez megváltozott és elérhetõ, ha jármûben van vagy talpon van.
Példascript
// Egyszerû parancs arra, hogyan manipuláljuk ezt a vektort
// a GetPlayerCameraPos paramétereivel. Ez a parancs létre fog hozni egy
// egy hydra rakétát ahova a játékos néz.
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, \"/test camera vector\")) // Ha a parancs igaz
{
new
Float:fPX, Float:fPY, Float:fPZ,
Float:fVX, Float:fVY, Float:fVZ,
Float:object_x, Float:object_y, Float:object_z;
// Javítsd ki azt a skálát amelyet szeretnél. A nagyobb skála növeli a rakéta és a kamera közti távolságot.
// A negatív vektor megcseréli az irányt és fordítva fog történni a robbanás.
const
Float:fScale = 5.0;
GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ);
object_x = fPX + floatmul(fVX, fScale);
object_y = fPY + floatmul(fVY, fScale);
object_z = fPZ + floatmul(fVZ, fScale);
CreateObject(345, object_x, object_y, object_z, 0.0, 0.0, 0.0);
return 1;
}
return 0;
}
Amúgy nagyon nagy szórakozás ez a játék ami a példascript én is teszteltem