О функции: функция вычисляет позицию точки, в которую смотрит игрок, причем на любом расстоянии.
Сама функция:
stock GetPosFromView(playerid, Float:distance, &Float:x, &Float:y, &Float:z)
{
new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
GetPlayerCameraPos(playerid, cx, cy, cz);
GetPlayerCameraFrontVector(playerid, fx, fy, fz);
x = fx * distance + cx;
y = fy * distance + cy;
z = fz * distance + cz;
}
Параметры функции:
playerid -- игрок, для которого необходимо вычислить точку.
Float: distance -- дистанция до вычисляемой точки.
Float:x -- переменная, в которую будет записана координата X
Float:y -- переменная, в которую будет записана координата Y
Float:z -- переменная, в которую будет записана координата Z
Пример использования:
Сама функция:
stock GetPosFromView(playerid, Float:distance, &Float:x, &Float:y, &Float:z)
{
new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
GetPlayerCameraPos(playerid, cx, cy, cz);
GetPlayerCameraFrontVector(playerid, fx, fy, fz);
x = fx * distance + cx;
y = fy * distance + cy;
z = fz * distance + cz;
}
Параметры функции:
playerid -- игрок, для которого необходимо вычислить точку.
Float: distance -- дистанция до вычисляемой точки.
Float:x -- переменная, в которую будет записана координата X
Float:y -- переменная, в которую будет записана координата Y
Float:z -- переменная, в которую будет записана координата Z
Пример использования:
Код:
new Float:pos[3];
GetPosFromView(playerid, 15.0, pos[0], pos[1], pos[2]);//вычислим точку, в которую смотрит игрок на расстоянии 15 метров.
SetPlayerPos(playerid,pos[0],pos[1],pos[2]);//перенесем в эту точку игрока.