Olб,
Bom, aqui neste tуpico vou criar um tutorial simples de como criar um sistema de skin com a include mSelection. Acredito 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 avançado para seu servidor, utilizando ele como um menu para binco / zip com cada um menu com um tipo de skin.
peão Код:Bom, aqui neste tуpico vou criar um tutorial simples de como criar um sistema de skin com a include mSelection. Acredito 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 avançado para seu servidor, utilizando ele como um menu para binco / zip com cada um menu com um tipo de skin.
- Código:
#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 o que ta dentro da skins.txt
return 1 ;// na skin.txt localizado 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 título
return 1 ; // retornando o comando. Sem ele virá a mensage
} // fechamento da chave do cmd
publicOnPlayerModelSelection ( playerid, response, listid, modelid ) // public da include MSelection, esta public quando você clicar em um item serб executado 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 a 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 não tiver 500$ esse else enviará essa mensagem ao player
} // data chave
else SendClientMessage ( playerid, 0xFF0000FF, "[x] Você decidiu fechar o menu de skin." ) ; // quando o player clicar em Cancelar para fechar o menu, o servidor enviará esta mensagem ao player.
retornar 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..
Existem algumas formas de colocar o arquivo, que são essas:
MODELID Rotação:X Rotação:Y Rotação:Z
Ex:
peão Код: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..
Existem algumas formas de colocar o arquivo, que são essas:
MODELID Rotação:X Rotação:Y Rotação:Z
Ex:
1000 0,0
1000 0,0 0,1 0,2
1000
Se você colocar essa 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:
peão Код:A forma correta seria:
- Código:
1000
1000 0,0 0,1 0,2
1000
peão Код:
- Código:
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:
peão Код:rodas.txt:
- Código:
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 10 80 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ão : http://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 usado 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.
@Tópico atualizado.
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 usado 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.
@Tópico atualizado.