SA-MP Forums Archive
[AJUDA]Dialog de seleзгo de skins - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA]Dialog de seleзгo de skins (/showthread.php?tid=246300)



[AJUDA]Dialog de seleзгo de skins - Jhones - 03.04.2011

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?


Re: [AJUDA]Dialog de seleзгo de skins - LuxurioN™ - 03.04.2011

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.


Re: [AJUDA]Dialog de seleзгo de skins - Jhones - 03.04.2011

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);



Re: [AJUDA]Dialog de seleзгo de skins - LuxurioN™ - 03.04.2011

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:



Re: [AJUDA]Dialog de seleзгo de skins - Diogo_Bras - 03.04.2011

@OFF LuxurioN, qual compilador vocк usa?


Re: [AJUDA]Dialog de seleзгo de skins - JonathanFeitosa - 03.04.2011

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


Re: [AJUDA]Dialog de seleзгo de skins - LuxurioN™ - 03.04.2011

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.


Re: [AJUDA]Dialog de seleзгo de skins - Jhones - 03.04.2011

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


Re: [AJUDA]Dialog de seleзгo de skins - LuxurioN™ - 03.04.2011

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.
}



Re: [AJUDA]Dialog de seleзгo de skins - Jhones - 03.04.2011

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..