[Tutorial] Sistema de skin com mSelection
#3

Quote:
Originally Posted by Coe1
Посмотреть сообщение
pawn Код:
#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
Quote:
Originally Posted by d0
Посмотреть сообщение
Example Script

Example #1 Static Lists
Scriptfiles: planes.txt - skins.txt
pawn Код:
#include <a_samp>
#include <mSelection>

new planelist = mS_INVALID_LISTID;
new skinlist = mS_INVALID_LISTID;
public OnFilterScriptInit()
{
    planelist = LoadModelSelectionMenu("planes.txt");
    skinlist = LoadModelSelectionMenu("skins.txt");
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/plane", true) == 0)
    {
        ShowModelSelectionMenu(playerid, planelist, "->Planes<-");
        return 1;
    }
    if(strcmp(cmdtext, "/changeskin", true) == 0)
    {
        ShowModelSelectionMenu(playerid, skinlist, "Select Skin");
        return 1;
    }
    return 0;
}

public OnPlayerModelSelection(playerid, response, listid, modelid)
{
    if(listid == planelist)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFF0000FF, "Plane Spawned");
            new Float:pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
            CreateVehicle(modelid, pos[0] + 2.5, pos[1], pos[2] + 2.5, 0.0, random(128), random(128), -1);
        }
        else SendClientMessage(playerid, 0xFF0000FF, "Canceled plane selection");
        return 1;
    }
    if(listid == skinlist)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFF0000FF, "Skin Changed");
            SetPlayerSkin(playerid, modelid);
        }
        else SendClientMessage(playerid, 0xFF0000FF, "Canceled skin selection");
        return 1;
    }
    return 1;
}
Example #2 Dynamic per player lists
pawn Код:
#include <a_samp>
#include <mSelection>

#define CUSTOM_TRAILER_MENU 1

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/selectVehicleTrailer", true) == 0)
    {
        new cars[15];
        cars[0] = 435;
        cars[1] = 450;
        cars[2] = 569;
        cars[3] = 570;
        cars[4] = 584;
        cars[5] = 590;
        cars[6] = 591;
        cars[7] = 606;
        cars[8] = 607;
        cars[9] = 608;
        cars[10] = 610;
        cars[11] = 611;
        ShowModelSelectionMenuEx(playerid, cars, 12, "Select trailer", CUSTOM_TRAILER_MENU, 16.0, 0.0, -55.0);
        return 1;
    }
    return 0;
}

public OnPlayerModelSelectionEx(playerid, response, extraid, modelid)
{
    if(extraid == CUSTOM_TRAILER_MENU)
    {
        if(response)
        {
            SendClientMessage(playerid, 0xFF0000FF, "Trailer Spawned");
            new Float:pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
            CreateVehicle(modelid, pos[0] + 2.5, pos[1], pos[2] + 2.5, 0.0, random(128), random(128), -1);
        }
        else SendClientMessage(playerid, 0xFF0000FF, "Canceled trailer selection");
    }
    return 1;
}
Humm
Reply


Messages In This Thread
Sistema de skin com mSelection - by Coe1 - 06.07.2013, 02:43
Re: Sistema de skin com mSelection - by Chean - 06.07.2013, 06:04
Re: Sistema de skin com mSelection - by Don_Speed - 06.07.2013, 12:22
Re: Sistema de skin com mSelection - by Maklister - 06.07.2013, 12:27
Re: Sistema de skin com mSelection - by Mteck - 06.07.2013, 12:28
Re: Sistema de skin com mSelection - by Coe1 - 06.07.2013, 12:32
Re: Sistema de skin com mSelection - by Schocc - 06.07.2013, 13:24
Re: Sistema de skin com mSelection - by Coe1 - 06.07.2013, 14:30
Re: Sistema de skin com mSelection - by Don_Speed - 06.07.2013, 15:01
Re: Sistema de skin com mSelection - by Coe1 - 06.07.2013, 15:28

Forum Jump:


Users browsing this thread: 1 Guest(s)