Anuncie aqui!

Sistema de skin com mSelection

Olá,

Bom, aqui neste tópico irei criar um simples tutorial de como criar um sistema de skin com a include mSelection. Creio que ela seja boa tanto como para servidor RP/G tanto para MATA-MATA.

Demo:
http://prntscr.com/1dsw4g

Você pode usar esse sistema como exemplo e aprimorar para seu servidor, utilizando ele como um menu para binco / zip com cada um menu com um tipo de skin.

pawn Code:
#include <a_samp> // não há oque explicar. #include <mSelection> // include que utilizaremos para fazer o sistema de skin #include <ZCMD> // Processador de comandos utilizado no sistema new skinlist = mS_INVALID_LISTID; public OnFilterScriptInit() { // abrindo a chave     skinlist = LoadModelSelectionMenu("skins.txt"); // nesta função quando o sistema for iniciado ele irá carregar oque ta dentro da skins.txt     return 1; // na skin.txt localiza em scriptfiles você pode Adicionar / retirar o ID de skin que você quiser, assim fazendo do seu jeito. } // fechando a chave CMD:skin(playerid) // comando /skin para mostrar o menu { // abrindo a chave do cmd         ShowModelSelectionMenu(playerid, skinlist, "Menu de Skin"); // aqui mostrará o menu de skin e em "Menu de Skin" você bota o nome desejado  para aparecer como titulo         return 1; // retornando o comando. Sem ele virá a mensage } // fechamento da chave do cmd     public OnPlayerModelSelection(playerid, response, listid, modelid) // public da include MSelection, esta public quando você clicar em um item será executada uma função. {//abrimento da chave da public     if(listid == skinlist) // essa é a listid da skinlist ( skinlist = LoadModelSelectionMenu("skin.txt");     {//chave aberta         if(response)         if(GetPlayerMoney(playerid) >=  500) // essa função irá checar se o dinheiro do player é maior ou igual a 500 se não executará o else abaixo         {//abre chave             SendClientMessage(playerid, -1, "[ > ] Você optou por uma nova skin"); // se a função acima for executada  o servidor enviará esta mensagem ao player dizendo que ele comprou a skin             GivePlayerMoney(playerid, -500); // Essa função irá retirar $500 do player quando ele clicar na skin desejada             SetPlayerSkin(playerid, modelid); // Aqui irá setar a skin do player quando ele comprar ela.         }//fecha chave         else         {//abre chave             SendClientMessage(playerid, 0xFF0000FF, " [ x ] Você precisa de $500 para obter uma nova skin");//se o player nao tiver 500$ esse else enviará essa mensagem ao player         }// fecha chave         else SendClientMessage(playerid, 0xFF0000FF, "[ x ] Você decidiu fechar o menu de skin.");// quando o player clicar em Cancelar para fechar o menu, o server enviará esta mensagem ao player.                 return 1;// retornando true/verdadeiro     }//chave fechada     return 1; // retornando true/verdadeiro }//fechamento da chave da public

Bom, através de um post do @iMega eu decidi atualizar o tutorial.


Vamos lá..


No arquivo skins.txt ou o arquivo de seu nome que você colocou é possível colocar outros objetos.
Como Ex: Rodas, aerofólios, veículos e etc..

Existe algumas formas de colocar o arquivo, que são essas:

MODELID Rotação:X Rotação:Y Rotação:Z

Ex: 

pawn Code:
1000 0.0 1000 0.0 0.1 0.2 1000
Se você colocar dessa forma acima, não irá funcionar. Isso quer dizer que na hora de mostrar o menu, ele não será mostrado.
A forma correta seria:

pawn Code:
1000 1000 0.0 0.1 0.2 1000
Conclusão: 1: http://prntscr.com/1efby4
pawn Code:
1000: // ID do objeto / veículo / componente 0.0: // Rotação X 0.1: // Rotação Y 0.2: // Rotação Z

Vamos ao segundo exemplo que seria o menu de rodas.
rodas.txt:

pawn Code:
1073 0.0 .0 90.0 1074 0.0 .0 90.0 1075 0.0 .0 90.0 1076 0.0 .0 90.0 1077 0.0 .0 90.0 1078 0.0 .0 90.0 1079 0.0 .0 90.0 1080 0.0 .0 90.0 1081 0.0 .0 90.0 1082 0.0 .0 90.0   // Vejam o exemplo na imagem abaixo se vocês deixarem essa linha vazia.

Conclusãohttp://prntscr.com/1efd4j

Vejam que na imagem ficou o CJ, porque no caso abaixo do modelid 1082 eu deixei um espaço em "branco" que no caso foi considerado como " 0 " que o ID da skin do CJ.

@Créditos

mSelection - d0 tópico: mSelection 1.1
Tópico - Coe1.

O script/exemplo utilizado para explicar as funções é de autoria do D0. ( O script encontra-se no tópico da include. )

Críticas ? Pode falar para que o próximo tópico saia melhor.

Obrigado.

1 comentário

Unknown em 26 de maio de 2021 às 16:52

faz um canal explicando falando

Leia antes de comentar:

Os comentários deste blog são todos moderados;
Escreva apenas o que for referente ao tema;
Ofensas pessoais ou spam não serão aceitos;
Faça comentários relevantes;
Obrigado por sua visita e volte sempre.