firstlook - вид от первого лица -
DANGER1979 - 28.10.2013
Пытаюсь создать вид от первого лица. Сделал вид с любой тачки и с любого места.
Проблема встала при создании вида при состоянии на ногах.
Обидно, но ф-ию AttachPlayerObjectToPlayer убрали в сампе 0.3
краткий вариант
pawn Код:
new Float:F_x,Float:F_y,Float:F_z;
GetPlayerPos(playerid,F_x,F_y,F_z);
x = F_x; y = F_y; z = F_z + 0.6598;
new objectid = CreateObject(19254, x, y, z, 0.0,0.0,0.0, 8.0);
AttachObjectToPlayer(objectid, playerid, x, y, z, 0.0,0.0,0.0);
AttachCameraToObject(playerid, objectid);
полный вариант с оповещением
pawn Код:
new Float:F_x,Float:F_y,Float:F_z, Float:angle;
GetPlayerPos(playerid,F_x,F_y,F_z);
GetPlayerFacingAngle(playerid, angle);
new Float: camPos[3];
GetPlayerCameraPos(playerid, camPos[0], camPos[1], camPos[2]);
format(strings, sizeof(strings), "PlayerPos[CameraPos](%.4f[%.4f], %.4f[%.4f], %.4f[%.4f]) angle:%.1f",
F_x, camPos[0], F_y, camPos[1], F_z, camPos[2], angle);
SendClientMessage(playerid, COLOR_GRAD11, strings);
x = F_x;
y = F_y;
z = F_z + 0.6598;
PlayerCam[playerid][camobj] = CreateObject(18645, x, y, z, 0.0,0.0,0.0, 8.0);//19254
new Float:o_x,Float:o_y,Float:o_z;
GetObjectPos(PlayerCam[playerid][camobj],o_x,o_y,o_z);
format(strings, sizeof(strings), "CreateObject(objectid:%d %.4f[%.4f], %.4f[%.4f], %.4f[%.4f])",
PlayerCam[playerid][camobj], x,o_x, y,o_y, z,o_z);
SendClientMessage(playerid, COLOR_GRAD7, strings);
AttachObjectToPlayer(PlayerCam[playerid][camobj], playerid, x, y, z, 0.0,0.0,0.0);
format(strings, sizeof(strings), "%d AttachObjectToPlayer(objectid:%d, playerid:%d, %.4f, %.4f, %.4f)",
PlayerCam[playerid][camobj], playerid, x, y, z);
SendClientMessage(playerid, COLOR_GRAD7, strings);
AttachCameraToObject(playerid, PlayerCam[playerid][camobj]);
Думаю проблема в ф-ии AttachObjectToPlayer, которая делает чёрт пойми что.
На вики про неё ни чего не написано особенного.
Re: firstlook - вид от первого лица -
White_116 - 28.10.2013
AttachObjectToPlayer(PlayerCam[playerid][camobj], playerid,
x, y, z, 0.0,0.0,0.0);
Координаты относительно персонажа нужно - у вас глобальные. А так при анимациях тело будет показываться (голова), половину камера срезает, не есть гуд.
0.0, 0.2, 0.6598
При пресядке также высоту нужно будет менять, думаю сами найдёте
Re: firstlook - вид от первого лица -
DANGER1979 - 28.10.2013
Спасибо, как то не подумал.
Re: firstlook - вид от первого лица -
OKStyle - 29.10.2013
Я так понимаю, что функцией SetPlayerAttachedObject не воспользоваться, потому что она не возвращает id объекта?
Re: firstlook - вид от первого лица -
DANGER1979 - 29.10.2013
OKStyle, именно так.