11 horas atrás
Ola como eu tenho muita dificuldade para entender as coisas da câmera posições etc para colocar na Gamemode para se criar a seleção de skin , então criei esse código que me ajudou muito pois nesse código ao digitar o comando câmera ela pega exatamente a posição de tudo necessário para mostrar o jogador de forma mais simples e sem dor de cabeça então resumindo ele e muito útil para mostrar o player na seleção da escolha de skin pois ela mostra exatamente o jogador na posição de frente para a câmera e todas as coordenadas das câmeras necessária , ao usar o comando fiz com que criasse um arquivo chamado camera.txt onde automaticamente e criado ao usar o comando e toda as coordenadas de maneira perfeita e fácil fica la então e só pegar e jogar dentro da Gamemode as posições , tenho absoluta certeza q isso irá ajudar há muitos de maneira mais fácil e prática , odeio complicações
Código:
#include <a_samp>
#include <zcmd>
#define PI 3.141592653589793
CMD:camera(playerid, params[]){
new Float:x, Float:y, Float:z;
new Float:angle;
new Float:camX, Float:camY, Float:camZ;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
camX = x - (5.0 * floatsin(angle * (PI / 180.0)));
camY = y + (5.0 * floatcos(angle * (PI / 180.0)));
camZ = z + 2.0;
new File:fileHandle;
new buffer[256];
fileHandle = fopen("camera.txt", io_append);
if (fileHandle){
format(buffer, sizeof(buffer), "SetPlayerPos(playerid, %.4f,%.4f,%.4f);\r\n", x, y, z);
fwrite(fileHandle, buffer);
format(buffer, sizeof(buffer), "SetPlayerFacingAngle(playerid, %.4f);\r\n", angle);
fwrite(fileHandle, buffer);
format(buffer, sizeof(buffer), "SetPlayerCameraPos(playerid, %.4f,%.4f,%.4f);\r\n", camX, camY, camZ);
fwrite(fileHandle, buffer);
format(buffer, sizeof(buffer), "SetPlayerCameraLookAt(playerid, %.4f,%.4f,%.4f);\r\n\r\n", x, y, z);
fwrite(fileHandle, buffer);
fclose(fileHandle);
SendClientMessage(playerid, 0x00FF00FF, "Coordenadas salvas em scriptfiles/camera_coords.txt!");
}else{
SendClientMessage(playerid, 0xFF0000FF, "ERRO: Não foi possível abrir o arquivo camera_coords.txt para escrita.");
}
format(buffer, sizeof(buffer), "SetPlayerPos(playerid, %.4f,%.4f,%.4f);", x, y, z);
SendClientMessage(playerid, -1, buffer);
format(buffer, sizeof(buffer), "SetPlayerFacingAngle(playerid, %.4f);", angle);
SendClientMessage(playerid, -1, buffer);
format(buffer, sizeof(buffer), "SetPlayerCameraPos(playerid, %.4f,%.4f,%.4f);", camX, camY, camZ);
SendClientMessage(playerid, -1, buffer);
format(buffer, sizeof(buffer), "SetPlayerCameraLookAt(playerid, %.4f,%.4f,%.4f);", x, y, z);
SendClientMessage(playerid, -1, buffer);
return 1;
}