[Tutorial] Adicionando objetos em Veiculos - Versão de Impressão +- Portal SAMP (https://portalsamp.com) +-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5) +--- Fórum: Guias e Tutoriais (https://portalsamp.com/forumdisplay.php?fid=7) +--- Tópico: [Tutorial] Adicionando objetos em Veiculos (/showthread.php?tid=1894) |
Adicionando objetos em Veiculos - SrBlue - 04/12/2021 Opa, nesse tutorial venho suprir uma necessidade de vários "coders" encontram, a personalização custom "tunning" em algum veiculo, contudo vou demonstrar o meu método que utilizo para poder adicionar objetos algum veiculo. Programas necessarios * pawn, com funções nativas do samp 3.7 ou superior ( include a_samp ) | \_ AttachObjectToVehicle | \_ CreateObject | \_ CreateVehicle * SA-MP Map Construction | 1º, temos que abrir o nosso querido editor de mapas, e apontar a câmera nas coordenadas 0, 0, 0. 2º, vamos criar algum veiculo ( adicionar um objeto ) a gosto que queira adicionar o objeto, no caso vou aderir ao veiculo Sultan, cujo id seja 560 * os veiculo são considerado como objeto nesse editor! logo em seguida, aponto o objeto criado para as coordenadas 0, 0, 0 3º, Iremos adicionar o objeto a escolha, e posicionamos no veiculo, por cima, lados a sua escolha! no meu caso vou adicionar um ventilador industrial ( id 1420 ), porem temos que adicionar o objeto no veiculo sem alterar as suas coordenadas nativas ( 0,0,0 ), o NÂO DEVEMOS MUDAR, porque se mudarmos, a posição do veiculo, pode não ficar no lugar certo o objeto, devido o veiculo não ter ido na posição nativa.. 4º logo após finalizado, vamos organizar os dados pegos, separamos o objeto, para separar vamos ver o código, assim vai dar um resultado, no meu caso foi o CreateObject(1420, -0.12860, -0.20730, 0.73340, 0.00000, 0.00000, 60.00000); *Rosa: ID DO OBJETO *Vermelho: Posição *Azul: Rotação e logo abaixo foi dado as coordenadas do veiculo, o qual não vamos utilizar. CreateVehicle(560, 0.0000, 0.0000, 0.0000, 0.0000, -1, -1, 100); 5º, em seu GameMode, na função/public OnGamemodeInit, devemos adicionar o seu veiculo, e objeto, lembrando, se a rotação do veiculo for diferente para a posição final, na posição nativa também alteremos, para evitar erro de distancia no final. nos ambos valores, vamos criar uma variável ( pode ser global ou local ). Quando criarmos o objeto, não precisa definir posição, porque se adicionar, o objeto se o veiculo "explodir" vai retornar naquela posição, ou seja, vamos deixar a posição NATIVA 0,0,0, se no caso explodir, o objeto retorna pra lá, e depois volte no spawn. Código: new veiculo_com_ar = CreateVehicle(560, -2640.0833, -54.9334, 4.1513, 0.0000, -1, -1, 100); pode-se notar que na criação de veiculo ( CreateVehicle ) adicionei as posição que eu quero, no lá em SF, junto com sua rotação 0, porque no inicio, quando adicionei o OBJETO, foi na rotação 0.0000. 6º, agora com quase tudo preparados, vamos "anexar" o objeto no veiculo, com a função AttachObjectToVehicle. sua utilização: Código: AttachObjectToVehicle(objeto,veiculo,x,y,z, rx,ry,rz); x, y, z sejas Posição do OBJETO no veiculo rx, ry, rz sejas ROTAÇÃO do OBJETO no veiculo. compreendendo isso, no código vai ficar o seguinte: Código: new veiculo_com_ar = CreateVehicle(560, -2640.0833, -54.9334, 4.1513, 0.0000, -1, -1, 100); o qual o resulta em: lembrando, que podemos alterar o material do objeto e anexar no veiculo. * Um único objeto, serve somente como 1 ANEXO, * podemos anexar vários objetos em um veiculo, o limite é desconhecido ( caso tenha algum, responda com ele aqui ! ) por fim, esse é o tutorial de hoje!, grato por lerem!, qual quer duvida, chamar MP ou comunicar nesse tópico. RE: Adicionando objetos em Veiculos - ipsLuan - 05/12/2021 Recomendo mais o uso do Texture Studio. Simples, rápido e fácil. https://www.youtube.com/watch?v=dXhAIjP6nlA RE: Adicionando objetos em Veiculos - ProKillerPa - 07/12/2021 Gostaria de acrescentar uma observações importante acerca de attach objetos em veiculos: Você sempre precisa estar atento a DESTRUIR os objetos attachados quando o veiculo for destruido/id alterado, pois os objetos attachados não ficam no veiculo, e sim no ID do veiculo: Isso significa que o próximo veiculo que utilizar o ID de um veiculo que possuia objetos attachados e não foram removidos, este terá os objetos attachados do veiculo anterior. Abraços RE: Adicionando objetos em Veiculos - SrBlue - 11/12/2021 (07/12/2021 11:33)ProKillerPa Escreveu: Gostaria de acrescentar uma observações importante acerca de attach objetos em veiculos: Você sempre precisa estar atento a DESTRUIR os objetos attachados quando o veiculo for destruido/id alterado, pois os objetos attachados não ficam no veiculo, e sim no ID do veiculo: Isso significa que o próximo veiculo que utilizar o ID de um veiculo que possuia objetos attachados e não foram removidos, este terá os objetos attachados do veiculo anterior. quando se cria um veiculo com alguma variável, a variável obrigado que o CreateVehicle guarde o id do veiculo, independente se ele muda, ou seja, se ele for destruído com algum outro veiculo, e os ambos ids mudaram, a variável vai detectar e mudar em conjunto, devido ter o "objeto" como fator principal! grato pelo comentario. POREM se o coder inserir attach criando veiculo diretamente, ai sim tem chance de ocorrer isso. RE: Adicionando objetos em Veiculos - xbruno1000x - 12/12/2021 O limite de attach é provavelmente o mesmo do createobject(1000 objetos), pois o objeto é criado por meio do createobject antes de ocorrer o attach e, além disso, a função não tem slots para limitar. |