Inventбrio -
xPaulistaa - 28.01.2014
Eu estou criando um inventбrio, em dialog.
Mas, ocasionou alguns bugs e acabei excluindo tudo!
O que eu quero fazer, й um inventбrio para armas.
Eu fiz uma base, com espaзos separados.
Uma base do que sobrou:
pawn Код:
for (new space = 0; space <MAX_SPACE; space ++)
{
format(djh, sizeof(djh), "%s\n", NomesEspacos[space]);
}
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Espaзos", djh, "Select", "Exit");
1 Mas como faзo na dialogresponse pra verificar em QUAL listitem ele clicou?
Eu fiz aqui, porйm, quando ele seleciona o ъltimo, aparecia como se selecionasse o primeiro.
Re: Inventбrio -
Dieguinho - 28.01.2014
Dialog >
https://sampwiki.blast.hk/wiki/ShowPlayerDialog
Dialog responde >
https://sampwiki.blast.hk/wiki/OnDialogResponse
Re: Inventбrio -
xPaulistaa - 28.01.2014
Quote:
Originally Posted by Dieguinho
|
Cara, vocк leu?
Re: Inventбrio -
Gii - 28.01.2014
Posso ter seguido a lуgica errada, mas й sempre bom tentar.
pawn Код:
if (!strcmp(NomeEspacos[listitem], "Alguma coisa")) {
}
Re: Inventбrio -
xPaulistaa - 28.01.2014
Quote:
Originally Posted by iCasTiel
Posso ter seguido a lуgica errada, mas й sempre bom tentar.
pawn Код:
if (!strcmp(NomeEspacos[listitem], "Alguma coisa")) {
}
|
Vou testar.
I outra, tem como somente REMOVER A ARMA na mгo dele?
Re: Inventбrio -
Dieguinho - 28.01.2014
Se nгo der certo tente assim
pawn Код:
#define 1777
#define STRD_LISTA "{F5F50C}funcao1\n{F5180C}funcao2"
ShowPlayerDialog(playerid, 1777, DIALOG_STYLE_LIST, ".:: - Nome - ::.", STRD_LISTA , "OK", "SAIR");
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1777 && response)
{
if(listitem == 0)
{
// funзгo
}
if(listitem == 1)
{
// funзгo 2
}
}
}
Re: Inventбrio -
xPaulistaa - 28.01.2014
Quote:
Originally Posted by Dieguinho
Se nгo der certo tente assim
pawn Код:
#define 1777
#define STRD_LISTA "{F5F50C}funcao1\n{F5180C}funcao2"
ShowPlayerDialog(playerid, 1777, DIALOG_STYLE_LIST, ".:: - Nome - ::.", STRD_LISTA , "OK", "SAIR");
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == 1777 && response) { if(listitem == 0) { // funзгo
} if(listitem == 1) { // funзгo 2 } } }
|
Legal, quer mais posts?
@Topic
Existe alguma funзгo, pra resetar a arma que estiver na mгo dele?
Re: Inventбrio -
Gii - 28.01.2014
Quote:
Originally Posted by xPaulistaa
Eu estou criando um inventбrio, em dialog.
Mas, ocasionou alguns bugs e acabei excluindo tudo!
O que eu quero fazer, й um inventбrio para armas.
Eu fiz uma base, com espaзos separados.
Uma base do que sobrou:
pawn Код:
for (new space = 0; space <MAX_SPACE; space ++) { format(djh, sizeof(djh), "%s\n", NomesEspacos[space]); } ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Espaзos", djh, "Select", "Exit");
1 Mas como faзo na dialogresponse pra verificar em QUAL listitem ele clicou?
Eu fiz aqui, porйm, quando ele seleciona o ъltimo, aparecia como se selecionasse o primeiro.
|
Talvez tenha passado despercebido por vocк mas faltou um strcat ai.
Bom fiz um pequeno exemplo:
pawn Код:
new list[][] = {
{"1"},
{"2"},
{"3"},
{"4"},
{"5"}
};
CMD:show(playerid) {
static i, str[5], strF[20];
strF[0] = EOS;
for ( i = 0; i < sizeof(list); ++i) {
format (str, 5, "%s\n", list[i]);
strcat(strF, str);
}
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Oi", strF, "Selecionar", "");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if ( dialogid == 1 ) {
SendClientMessage(playerid, -1, list[listitem]);
return 1;
}
return 1;
}
https://sampwiki.blast.hk/wiki/ResetPlayerWeaponsEx
Quote:
Originally Posted by Dieguinho
Se nгo der certo tente assim
pawn Код:
#define 1777
#define STRD_LISTA "{F5F50C}funcao1\n{F5180C}funcao2"
ShowPlayerDialog(playerid, 1777, DIALOG_STYLE_LIST, ".:: - Nome - ::.", STRD_LISTA , "OK", "SAIR");
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == 1777 && response) { if(listitem == 0) { // funзгo
} if(listitem == 1) { // funзгo 2 } } }
|
[ame]http://www.youtube.com/watch?v=0pJH-q05RgA[/ame]
Re: Inventбrio -
xPaulistaa - 29.01.2014
nгo funcionou
eu fiz um teste
pawn Код:
printf("list %d", list[listitem]);
Acaba aparecendo: list 83
Re: Inventбrio -
Gii - 29.01.2014
Quote:
Originally Posted by xPaulistaa
nгo funcionou
eu fiz um teste
pawn Код:
printf("list %d", list[listitem]);
Acaba aparecendo: list 83
|
Isto porque os dados contidos em list sгo do tipo string!