[AJUDA]Dialog de seleзгo de skins
#1

To tentando fazer um seletor de skin por dialog
fiz o seguinte

pawn Код:
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX , "SELECIONAR SKINS", "USE PROXIMO OU PRONTO", "Proximo", "Pronto");
pawn Код:
if(dialogid == 4)
    {
        if(response > 0)
        {
            switch (PlayerInfo[playerid][pOrg])
            {
                case 1:
                {
                    if(GetPlayerSkin(playerid) == 265) return SetPlayerSkin(playerid, 266);
                    if(GetPlayerSkin(playerid) == 266) return SetPlayerSkin(playerid, 267);
                    if(GetPlayerSkin(playerid) == 267) return SetPlayerSkin(playerid, 280);
                }
                case 2:
                {
                    if(GetPlayerSkin(playerid) == 285) return SetPlayerSkin(playerid, 286);
                    if(GetPlayerSkin(playerid) == 286) return SetPlayerSkin(playerid, 285);
                }
            }
        }
        else {  }
        return 1;
    }
O problema й que eu clico em proximo, muda a skin sу que o dialog fecha e nгo abre mais alguem poderia ajudar?
Reply
#2

Nгo й um "Dialog" em lista. Especifique ao mesmo para abrir a caixa de diбlogo novamente:
Код:
return SetPlayerSkin(playerid, 285), ShowPlayerDialog(...);
Montei um macro simples (Apenas para encurtar e simplificar o cуdigo), e removi algumas "coisas" para testar aqui, e funcionou. Adiciona-as novamente depois.

Macro:
Код:
#define SKIN(%0,%1,%2) if(GetPlayerSkin(playerid) == %1) \
return SetPlayerSkin(playerid,%2), ShowPlayerDialog(%0, 4, DIALOG_STYLE_MSGBOX , "SELECIONAR SKINS", "USE PROXIMO OU PRONTO", "Proximo", "Pronto")
SKIN(Jogador, Skin Atual, Prуxima Skin);
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 4)
	{
		if(response)
		{	
			SKIN(playerid,263,211);
			SKIN(playerid,211,212);
			SKIN(playerid,212,263);
		}
		return 1;
	}
	return 0;
}
Nгo testado.
Reply
#3

LuxurioN, fiz como vocк falou..

aconteceu o seguinte:

pawn Код:
C:\Documents and Settings\Admin\Desktop\SAMP SERVER\gamemodes\gm.pwn(1988) : error 001: expected token: ",", but found ";"
C:\Documents and Settings\Admin\Desktop\SAMP SERVER\gamemodes\gm.pwn(1989) : error 001: expected token: ",", but found ";"
C:\Documents and Settings\Admin\Desktop\SAMP SERVER\gamemodes\gm.pwn(1990) : error 001: expected token: ",", but found ";"
Linhas:

pawn Код:
SKIN(playerid,263,211);
SKIN(playerid,211,212);
SKIN(playerid,212,263);
Reply
#4

Quote:
Originally Posted by Jhones
Посмотреть сообщение
LuxurioN, fiz como vocк falou..

aconteceu o seguinte:

pawn Код:
C:\Documents and Settings\Admin\Desktop\SAMP SERVER\gamemodes\gm.pwn(1988) : error 001: expected token: ",", but found ";"
C:\Documents and Settings\Admin\Desktop\SAMP SERVER\gamemodes\gm.pwn(1989) : error 001: expected token: ",", but found ";"
C:\Documents and Settings\Admin\Desktop\SAMP SERVER\gamemodes\gm.pwn(1990) : error 001: expected token: ",", but found ";"
Linhas:

pawn Код:
SKIN(playerid,263,211);
SKIN(playerid,211,212);
SKIN(playerid,212,263);
Provavelmente vocк fez algo errado:
Reply
#5

@OFF LuxurioN, qual compilador vocк usa?
Reply
#6

Eu axo que й o Pawn Normal, depois so й Photo Shop kkk
Reply
#7

Quote:
Originally Posted by Diogo_Bras
Посмотреть сообщение
@OFF LuxurioN, qual compilador vocк usa?
Quote:
Originally Posted by Jonathan_Feitosa
Посмотреть сообщение
Eu axo que й o Pawn Normal, depois so й Photo Shop kkk
Notepad++.

Sem off-topic, use PM.
Reply
#8

Quote:

Provavelmente vocк fez algo errado:

й.. eu tinha pego o cуdigo errado
consegui compilar aqui, mas nao funcionou

Nгo teria uma outra forma, deu conseguir fazer pra abrir o dialog, e o dialog verificar a org do cara, se for PlayerInfo[playerid][pOrg] == 2 colocar pra ele selecionar as skins 30 31 e 32, sу um exemplo
Reply
#9

Quote:
Originally Posted by Jhones
Посмотреть сообщение
й.. eu tinha pego o cуdigo errado
consegui compilar aqui, mas nao funcionou

Nгo teria uma outra forma, deu conseguir fazer pra abrir o dialog, e o dialog verificar a org do cara, se for PlayerInfo[playerid][pOrg] == 2 colocar pra ele selecionar as skins 30 31 e 32, sу um exemplo
Nгo funcionou? Acabei de testar aqui, e funcionou...

Leia o inicio do post, hб uma linha da qual se aplica perfeitamente ao seu primeiro cуdigo, apenas modifique suas linhas de acordo com aquela, e pronto. Caso queira usar o cуdigo abaixo dela, preste atenзгo na funзгo.

Para verificar se o jogador pertence a uma org ou nгo, apenas coloque a variбvel sobre uma estrutura condicional:

Код:
if(PlayerInfo[playerid][pOrg] == 2)
{
Skins da Org 2.
}
Reply
#10

Foi o seguinte, compilei sem nenhum warning..

mas o que aconteceu foi o seguinte
no comando que puxa o dialog, eu coloquei

pawn Код:
#define SKIN(%0,%1,%2) if(GetPlayerSkin(playerid) == %1) \
return SetPlayerSkin(playerid,%2), ShowPlayerDialog(%0, 4, DIALOG_STYLE_MSGBOX , "SELECIONAR SKINS", "USE PROXIMO OU PRONTO", "Proximo", "Pronto")
Em OnDialogResponse coloquei

pawn Код:
if(dialogid == 4)
    {
        if(response)
        {  
            SKIN(playerid,263,211);
            SKIN(playerid,211,212);
            SKIN(playerid,212,263);
        }
        return 1;
    }
    return 0;
}
So que quando eu utilizei o comando o dialog nгo abriu..
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)