SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 02/06/2019, 09:06 PM   #1
Rodrigo_Avenged
Huge Clucker
 
Join Date: Oct 2011
Posts: 439
Reputation: 15
Default Item selecionado na dialog com loop

Bom galera, estou quebrando a cabeça para tentar acertar o mesmo, estou adaptando um sistema de trade em uma GAMEMODE... Sendo que queria saber como faço para puxar o ID do item selecionado em loop?
Nesse loop, queria que a função abaixo adicionasse o ID referente ao dialog list selecionado:

PHP Code:
AddTradeItem(playerid4i); 
Sendo que quando eu coloco dentro do loop, ele floda o resultado, e queria que só aparecesse o resultado do item que o player selecionou na DIALOG.

Conseguem me ajudar? só queria saber como descubro o resultado de "i" para eu poder adcionar na função AddTradeIten.
PHP Code:
   //Isso na public OnDialogResponse     
  //if(dialogid == DIALOG_TRADE)

       
 
case 4:{
                    new 
Cont 0;
                    new 
stringg[128];
                    new 
TradeInv[4200];
                    
format(stringg,128"Item\tQuantidade\n");
                    
strcat(TradeInv,stringg);
                    for(new 
175i++)
                       {
                         if(
InventarioInfo[playerid][i][iUnidades] > 0)
                         {
                            
format(stringgsizeof stringg"%s\t%d\n"NomeItemInvInventario(iplayerid), InventarioInfo[playerid][i][iUnidades]);
                            
Cont++;
                            
strcat(TradeInv,stringg);
                         }
                       
AddTradeItem(playerid4i);       //pareiiaquii
                    
}
                    new 
titulo[35];
                    
format(titulosizeof(titulo), "Itens que você tem: {00d900}%d",Cont);
                    
ShowPlayerDialog(playerid66449DIALOG_STYLE_TABLIST_HEADERStituloTradeInv"Selecionar""");

                }
            } 
Rodrigo_Avenged is offline   Reply With Quote
Old 02/06/2019, 09:27 PM   #2
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,548
Reputation: 332
Default Re: Item selecionado na dialog com loop

Procure pela função AddTradeItem.
Lá tem os parâmetros...
__________________
Precisando de algum sistema? Me contate.
ipsLuan is offline   Reply With Quote
Old 02/06/2019, 09:47 PM   #3
Rodrigo_Avenged
Huge Clucker
 
Join Date: Oct 2011
Posts: 439
Reputation: 15
Default Re: Item selecionado na dialog com loop

Quote:
Originally Posted by ipsLuan View Post
Procure pela função AddTradeItem.
Lá tem os parâmetros...
Os parametros da função eu sei, só não sei como declarar para aparecer o item que ele selecionou na dialog, exemplo:

PHP Code:
AddTradeItem(playerid4ItemSelecionadoNaDialog);//Fazendo isso, é adcionado no trade o item selecionado, mais quando deixo dentro do loop, nem seleciono a opção ainda e ja floda de itens o trade... 
PHP Code:
                       case 4:{
                    new 
Cont 0;
                    new 
stringg[128];
                    new 
TradeInv[4200];
                    
format(stringg,128"Item\tQuantidade\n");
                    
strcat(TradeInv,stringg);
                    for(new 
175i++)
                       {
                         if(
InventarioInfo[playerid][i][iUnidades] > 0)
                         {
                            
format(stringgsizeof stringg"%s\t%d\n"NomeItemInvInventario(iplayerid), InventarioInfo[playerid][i][iUnidades]);
                            
Cont++;
                            
strcat(TradeInv,stringg);
                         }
                       
AddTradeItem(playerid4i);       //pareiiaquii
                    
}
                    new 
titulo[35];
                    
format(titulosizeof(titulo), "Itens que você tem: {00d900}%d",Cont);
                    
ShowPlayerDialog(playerid66449DIALOG_STYLE_TABLIST_HEADERStituloTradeInv"Selecionar""");

                }
            }
// no caso seria o dialog list que ele selecionou aqui, deveria ser o valor da variavel "ItemSelecionadoNaDialog" 
Como defino a variavel "ItemSelecionadoNaDialog" para receber o valor da variavel "i" sem estar dentro do loop?
Rodrigo_Avenged is offline   Reply With Quote
Old 02/06/2019, 11:18 PM   #4
PedroH
Huge Clucker
 
Join Date: Jul 2017
Posts: 337
Reputation: 5
Default Re: Item selecionado na dialog com loop

So é possivel saber qual item o jogador selecionou apos ele responder a dialog.

Porém, a função "AddTradeItem" esta adicionando pelo id do item, então voce pode modifica-la para adicionar pelo nome pra que nao seja preciso você criar uma função para obter o id do item pelo nome.

que seria tipo isso:

Adicionando por id:
PHP Code:
case 66449:
{
    if(
response)
        
AddTradeItem(playerid4pegarItemID(inputtext));

Função pegar id do item selecionado:

PHP Code:
pegarItemID(itemNome[])
{
    for(new 
i=0MAX_ITEMS ;i++)
        if(!
strcmp(info_item[i][nome_item], itemNome)) return info_item[i][id_item];
    return -
1;

Adicionando por nome:
PHP Code:
case 66449:
{
    if(
response)
        
AddTradeItem(playerid4inputtext);

OBS: Nesse caso, inputtext tem armazenado o nome do item que foi selecionado pelo jogador na dialog id 66449 a qual foi chamada anteriormente.
PedroH is offline   Reply With Quote
Old 03/06/2019, 02:48 PM   #5
Rodrigo_Avenged
Huge Clucker
 
Join Date: Oct 2011
Posts: 439
Reputation: 15
Default Re: Item selecionado na dialog com loop

Quote:
Originally Posted by PedroH View Post
Adicionando por id:

[/php]
Função pegar id do item selecionado:

PHP Code:
pegarItemID(itemNome[])
{
    for(new 
i=0MAX_ITEMS ;i++)
        if(!
strcmp(info_item[i][nome_item], itemNome)) return info_item[i][id_item];
    return -
1;

Então eu criaria uma calback para "pegarItemID" e modificaria para minhas variaveis?
Rodrigo_Avenged is offline   Reply With Quote
Old 03/06/2019, 03:38 PM   #6
PedroH
Huge Clucker
 
Join Date: Jul 2017
Posts: 337
Reputation: 5
Default Re: Item selecionado na dialog com loop

Quote:
Originally Posted by Rodrigo_Avenged View Post
Então eu criaria uma calback para "pegarItemID" e modificaria para minhas variaveis?
Sim, cria uma função que percorra o array que armazena os id, nome etc.. dos items ate que ache o nome do item desejado. Apois isso pegue o id do item no index em que foi encontrado o item.
PedroH is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
List dialog item Maheegan Scripting Help 8 20/08/2017 10:18 AM
Drop item loop idea VincenzoDrift Scripting Help 7 10/09/2016 10:40 PM
How to put tags on dialog list item? Cameryn Scripting Help 7 18/06/2013 05:18 PM
How to make a dialog display your item. gnoomen2 Scripting Help 4 10/08/2012 12:10 PM
Small Dialog item Problem Kayla.S Help Archive 4 09/06/2010 09:03 PM


All times are GMT. The time now is 07:51 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.