Página 1 de 1

Coordenadas e rotações - Tutorial

Enviado: 24 Abr 2018, 20:17
por Hadrian Fonseca
Coordenadas e rotações - Tutorial
Level Designer

Introdução: pequeno tutorial com o intuito de explicar o que são coordenadas e rotações, quais suas funções e como usá-las. Muito bem, vamos ao tutorial!

1. Coordenadas
O que são Coordenadas?
Coordenadas são valores que definem a posição de algo no mundo do jogo em relação ao centro do mapa, são elas quem definem a posição em que está a casa do CJ, a posição de uma lixeira, ícones de armas e etc. Veja a imagem abaixo:

Imagem

As coordenadas são compostas de três elementos, são eles "X, Y, Z".
X = sentido Leste (E)/Oeste (W).
Y - sentido Norte (N)/Sul (S)
Z - define a altura de algo em relação ao centro do mapa.

Onde as coordenadas são usadas?
Muitos podem achar que para mapear, não necessita entender as coordenadas, realmente, não precisa, você pode muito bem fazer um mapa qualquer usando um editor de mapas e deixar que o programa cuide dessa parte para você, mas para quem deseja ser um bom Level Designer, é essencial que você saiba a importância delas.

Na maiorias dos mapas que faço, eu mexo com coordenadas, seja para criar um ENEX, para criar pickups e veículos (tanto no SA-MP quanto no GTA Singleplayer), para fazer CULL Zones e etc. As coordenadas também estão presentes nos comandos de teleportes do SA-MP, por exemplo, o tele "/RR" (comum na maioria dos servers de mata-mata do SA-MP) funciona por meio de um código que ao digitar "/RR" o player é setado nas coordenadas marcadas. Muitos mods de scripts usam coordenadas, o próprio Tuning Mod é um exemplo disso (no caso creio que não seja em relação ao centro do mapa, e sim em relação ao centro do veículo, não sei ao certo), notem que ao editar um carro no TM terá os três elementos que falei "X, Y, Z" e ao lado de cada um desses elementos, terá seus respectivos valores, de acordo com a posição que está a peça do carro.

As coordenadas geralmente são a segunda parte dos códigos, veja o exemplo em um código do SPMC:

Código: Selecionar tudo

CreateObject(2000, |143.96629, 1732.56653", 16.61790|,   0.00000, -4.00000, -60.00000);
O que está entre "|" são os valores das coordenadas.

Como pegar coordenadas?
Existem vários métodos para pegar coordenadas, eu sempre uso o SA-MP Map Construction para pega-las, irei ensinar algumas formas utilizadas por mim para pegar coordenadas.

Para GTA Singleplayer:Abrir
Não tem muito segredo, eu uso o SPMC, coloco um objeto no local que desejo pegar as coordenadas e as salvo. Exemplo:

Imagem
Para SA-MPAbrir
Método 1: uso a função "Test" do SMC. Como explicado neste tutorial, essa função só funciona com o SA-MP instalado na pasta em que o SMC está. Nesse método, eu abro o SA-MP clicando em "Test", após carregar o jogo, eu posiciono o player no local que desejo pegar as coordenadas, e então aperto "T" e digito "/save". As coordenadas serão salvas em "Documentos\GTA San Andreas User Files\SAMP\savedpositions.txt".
Nota: você pode colocar "//alguma coisa" após o comando "/save" para organizar as coordenadas.
Veja o exemplo abaixo: 

Imagem

Método universal (?): esse método dispensa explicações, é um jeito muito fácil de pegar coordenadas. Graças ao mod criado pelo Israel, pegar coordenadas ficou muito mais fácil!
Nota: o fato desse método ser mais fácil, não significa que ele substitua o método 1. O método 2 é feito in-game, e você precisar ir até o local que deseja pegar as coordenadas, mas nem todos os locais são acessíveis in-game, e isso por vezes, torna o método 1 necessário.
Nota 2: não testei se esse método funciona no SA-MP, acredito que sim. Se alguém testar, mande uma mensagem relatando se funcionou ou não.

Método opcional (indicado por Ayakashii): este é um programa criado pelo ThirteenAG, funciona tanto no GTA SA quanto no VC e no III.
Download

2. Rotações
O que são Rotações?
Rotações são os valores que definem a direção em que o objeto estará voltado a partir do seu eixo. Imagine que você quer colocar um móvel na casa do CJ, ele foi setado de lado em relação à parede, você terá que editar os valores de rotação para deixa-lo paralelo à parede.

As rotações assim como as coordenadas são compostas por três elementos, são eles "X, Y, Z".
X = inclina o objeto "para frente e para trás".
Y = inclina o objeto "para esquerda e direita".
Z = gira o objeto em torno do próprio eixo (é tipo o movimento de rotação da Terra ashashs).

Onde as rotações são usadas?
As rotações "andam juntas" com as coordenadas, pois assim como as coordenadas definem a posição de um objeto no mapa, as rotações definem a direção que ele estará voltado em determinada coordenadas.

Quando se trata de mapas, o editor faz todo o trabalho por você, mas talvez se você esteja fazendo um script, e deseja posicionar um carro e etc, pode ocorrer a necessidade de mexer na rotação do objeto. Algumas coisas como ícones de armas e etc, não precisam de um valor certo de rotação, pois eles ficam girando in-game em volta do próprio eixo.

As rotação geralmente são a última parte de um código, veja o exemplo:

Código: Selecionar tudo

CreateObject(2000, 143.96629, 1732.56653, 16.61790,   |0.00000, -4.00000, -60.00000|);
O que está entre "|" são os valores de rotação.

Como pegar rotações?
Para pegar valores de rotação, uso apenas um método, que é pelo SPMC.
Abra o spoilerAbrir

Imagem
O local que vemos o valor de rotação está marcado de vermelho na imagem acima, os valores são "0", pois o carro foi setado na posição que eu quero que ele fique.
 
 
Não republique este tutorial! Se quiser compartilha-lo, use o link do fórum!
Tutorial exclusivo do fórum MixMods!
 

Coordenadas e rotações - Tutorial

Enviado: 25 Abr 2018, 02:06
por Junior_Djjr
Na BMS lembro que alguém fez um scriptzinho cleo que copia as coordenadas do jogador para o CTRL+V.

Coordenadas e rotações - Tutorial

Enviado: 25 Abr 2018, 11:11
por Hadrian Fonseca
Junior_Djjr escreveu: Na BMS lembro que alguém fez um scriptzinho cleo que copia as coordenadas do jogador para o CTRL+V.
Eu procurei isso, não tinha achado, tenho que ver na BMS, acho que foi o Israel. Vou adicionar no post também.

Coordenadas e rotações - Tutorial

Enviado: 25 Abr 2018, 23:19
por Kyle
Bom tutorial 👏
Também é possível usar um script no server para pegar as coordenadas in-game, por exemplo:

Código: Selecionar tudo

#include <a_samp>
#include <Pawn.CMD>

CMD:coordenadas(playerid, params)
{
    new string[70], Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    format(string, sizeof(string), "Suas coordenadas são: X: %f, Y: %f, Z: %f", X, Y, Z);
    SendClientMessage(playerid, -1, string);
    return 1;
}

Exemplo in-game:
Imagem

Após isso você poderá pega-los no chatlog:
Imagem

Outro comando que pode ser usado é o /rs.
Diferente do /save ele salvará as coordenadas sem nenhuma informação extra (fora o comentário):
Imagem

Sendo salvo em "Documentos\GTA San Andreas User Files\SAMP\rawpositions.txt":
Imagem

Coordenadas e rotações - Tutorial

Enviado: 26 Abr 2018, 10:03
por Ayakashii
Hadrian Fonseca escreveu: Eu procurei isso, não tinha achado, tenho que ver na BMS, acho que foi o Israel.
Ta aqui o script do Israel :)
http://brmodstudio.forumeiros.com/t6011 ... los#239211

Coordenadas e rotações - Tutorial

Enviado: 29 Abr 2018, 17:03
por Hadrian Fonseca
@Kyle Valeu kkk, vou terminar o tutorial logo. Não conhecia esses métodos, são bem interessantes hehe.

@Ayakashii Valeu mano, poupou meu trabalho de procurar.

Coordenadas e rotações - Tutorial

Enviado: 29 Abr 2018, 21:42
por Israel
O link tava no meu workshop o tempo todo.  :peepo1:

Coordenadas e rotações - Tutorial

Enviado: 16 Mai 2018, 11:22
por Ayakashii
@Hadrian Fonseca Achei esse programa do ThirteenAG que também pega as coordenadas e funciona tanto no SA quanto no III e VC...
https://drive.google.com/open?id=1mW9u4 ... vM6ne0DUCg

Re: Coordenadas e rotações - Tutorial

Enviado: 26 Jul 2018, 11:16
por Hadrian Fonseca
Ayakashii escreveu:
16 Mai 2018, 11:22
@Hadrian Fonseca Achei esse programa do ThirteenAG que também pega as coordenadas e funciona tanto no SA quanto no III e VC...
https://drive.google.com/open?id=1mW9u4 ... vM6ne0DUCg
Valeu men! Vou colocar na lista! 

Terminei o tutorial! Qualquer erro me avisem por favor.