[Ajuda] Dialog ID + SKIN
#1

Bom pessual, estou a fazer um menu teste para estudos, quero que quando for selecionado a opзгo ajudante, ele abra uma input para colocar o id do player que ira receber a skin, e depois abrir outra input para setar o id skin.
Jб fiz, para setar a skin, mas nгo estou conseguindo fazer com que abra a primeira dialog de id do player.
se alguem puder me ajudar.

+Rep


pawn Код:
new string[128];
new badSkins[22]

//===========

if(dialogid == MENU_ADM)
    {
        if(response)
        {
            switch(listitem)
            {
                case 0:
                {
                    if (PlayerInfo[playerid][pAdmin] == 1) return SendClientMessage(playerid, VERVELHO, "|AVISO| Vocк nгo й Ajudante !");
                    new menuADM1[900];
                    strcat(menuADM1, "» Dar Skin\n", sizeof(menuADM1));
                    strcat(menuADM1, "» Kickar\n", sizeof(menuADM1));
                    strcat(menuADM1, "» Voltar", sizeof(menuADM1));
                    ShowPlayerDialog(playerid, DIALOG_ADM1, DIALOG_STYLE_LIST, "{007100}Menu dos Administradores", menuADM1, "Selecionar", "Sair");
                }
            }
        }
    }
    if(dialogid == DIALOG_ADM1)
    {
        if(response)
        {
            switch(listitem)
            {
                case 0:
                {
                    ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Seleзгo Skin:", "Digite a ID Da Skin Abaixo:", "Selecionar", "Fechar");
                }
                case 1:
                {
                    // ----
                }
                case 3:
                {
                    ShowPlayerDialog(playerid, MENU_ADM, DIALOG_STYLE_LIST, "{007100}Menu dos Administradores", "» Ajudante", "Selecionar", "Sair");
                }
            }
        }
    }
    if(dialogid == DIALOG_SKIN)
    {
        if(!response) return SendClientMessage(playerid, VERVELHO, ": Troca de Skin Cancelada.");
        if(!strval(inputtext)) return SendClientMessage(playerid, VERVELHO, ": Troca de Skin Cancelada.");
        if(strval(inputtext) < 0 || strval(inputtext) > 299) return SendClientMessage(playerid, VERVELHO, "- Skin Invбlida!");
        for(new i = 0; i < sizeof(StrSkins); i++)
        if(strval(inputtext) == StrSkins[i]) return SendClientMessage(playerid, VERVELHO, "- Skin Invбlida!");
        format(string, sizeof(string), "> Skin Alterada! ID : %d", strval(inputtext));
        SendClientMessage(playerid, Sucesso, string);
        SetPlayerSkin(playerid,strval(inputtext));
    }
    return 1;
}


CMD:adm(playerid, params[])
{
    if(!DadosPlayer[playerid][pAdmin] > 0)
    {
        SendClientMessage(playerid, VERVELHO, "|AVISO| Vocк nгo faz parte da Staff para executar este comando!");
    }
    else
    {
        ShowPlayerDialog(playerid, MENU_ADM, DIALOG_STYLE_LIST, "{007100}Menu dos Administradores", "» Ajudante", "Selecionar", "Sair");
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    }
    return 1;
}
Reply
#2

pawn Код:
strcat(menuADM1, "» Dar Skin\n",sizeof(menuADM1));
strcat(menuADM1, "» Kickar\n",sizeof(menuADM1));
strcat(menuADM1, "» Voltar\n",sizeof(menuADM1));
Reply
#3

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
pawn Код:
strcat(menuADM1, "» Dar Skin\n",sizeof(menuADM1));
strcat(menuADM1, "» Kickar\n",sizeof(menuADM1));
strcat(menuADM1, "» Voltar\n",sizeof(menuADM1));
OK
Mas meu problema esta nessa parte, quero que peзa a id do player a receber a skin primeiro.
pawn Код:
if(dialogid == DIALOG_SKIN)
    {
        if(!response) return SendClientMessage(playerid, VERVELHO, ": Troca de Skin Cancelada.");
        if(!strval(inputtext)) return SendClientMessage(playerid, VERVELHO, ": Troca de Skin Cancelada.");
        if(strval(inputtext) < 0 || strval(inputtext) > 299) return SendClientMessage(playerid, VERVELHO, "- Skin Invбlida!");
        for(new i = 0; i < sizeof(StrSkins); i++)
        if(strval(inputtext) == StrSkins[i]) return SendClientMessage(playerid, VERVELHO, "- Skin Invбlida!");
        format(string, sizeof(string), "> Skin Alterada! ID : %d", strval(inputtext));
        SendClientMessage(playerid, Sucesso, string);
        SetPlayerSkin(playerid,strval(inputtext));
    }
Reply
#4

O id do jogador e depois da um espaзo e coloca o id da skin?
Reply
#5

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
O id do jogador e depois da um espaзo e coloca o id da skin?
Quase isso, 1° a input para colocar o id do player e depois outra input para colocar o id da skin.
Reply
#6

Crie uma variбvel para armazenar o id do jogador digitado, ou vocк pode criar uma pVar. Ai vocк usa o strval para converter a string para um inteiro.
Reply
#7

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Crie uma variбvel para armazenar o id do jogador digitado, ou vocк pode criar uma pVar. Ai vocк usa o strval para converter a string para um inteiro.
Tentei fazer aqui, mas to com muita dificuldade, poderia fazer uma base pra eu ver como й feita.
Reply
#8

Para armazenar em uma variбvel, vocк teria que criar uma global, eu acho melhor usar uma pVar.
Variavel:
Topo do GM:
pawn Код:
new ArmazenandoID[500];

ArmazenandoID[playerid] = strval(inputtext);// Converte a string para um inteiro, e armazena o inteiro na variбvel.
//Para setar o Skin:
SetPlayerSkin(ArmazenandoID[playerid], Skin); // Usa o valor armazenado na variбvel
PVars:
pawn Код:
SetPVarInt(playerid, "ID_Jogador", strval(inputtext)); // Cria uma pvar chamada ID_Jogador, e armazena o valor convertido de string para inteiro.

//Para setar o Skin:
SetPlayerSkin(GetPVarInt(playerid,"ID_Jogador" , Skin); // Usa o valor armazenado na Pvar.
DeletePVar(playerid,"ID_Jogador"); // Deleta a pVar.
SetPVarInt
GetPVarInt
DeletePVar
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)