[Ajuda] "Pegar" resposta de um Dialog.
#1

Estou criando o menu de um loja de armas e estб mais ou menos assim:

1.Seleciona a categoria desejada: Pistolas, Sub-Metralhadoras, etc.;
2.Escolhe a arma desejada: Categoria selecionada>Modelos das Armas;
3.Depois da arma escolhida vem um Dialog para informar a quantia de muniзгo que o jogador queira;

Este seria o algoritmo para comprar uma arma em meu sistema, o que eu queria й conseguir identificar a quantia de muniзгo que o jogador informou no Dialog e para poder adicionar o GivePlayerWeapon(playerid, idarma, quantiamunicaoinformadanodialod).
Reply
#2

pawn Код:
if(dialogid == dialogid)//dialog de escolha das muniзхes
    {
        if(response)
        {
            new strg[50];
                 //funзгo da  muniзгo!
            format(strg, sizeof(strg), "{A9A9A9}blablabla %d",inputtext);//aki fala o quanto ele escolheu ou informou no dialog!
            SendClientMessageToAll(-1, strg);
        }
        return 1;
    }
Reply
#3

beleza Sky, hj a noite eu testo pq agr eu estou pelo celular.

valeu!
Reply
#4

Eu fiz um sistema assim , se precisar depois te passo...
Reply
#5

Ok, sу vou conseguir coddar hoje a noite.

Estou no trabalho agora haha sem SA-MP aqui ):
Reply
#6

Nгo estou conseguindo puxar a resposta do Dialog e colocar pra dar a muniзгo pro jogador.

pawn Код:
if(dialogid == DIALOG_PISTWEAPONS && response)//Pistolas
    {
        switch(listitem)
        {
            case 0: //9mm
            {
                ShowPlayerDialog(playerid, DIALOG_PISTWEAPONS_1, DIALOG_STYLE_INPUT, "Muniзгo", "Informe a quantia de muniзгo que deseja para sua nova 9mm:", "Comprar", "Sair");
                if(dialogid == DIALOG_PISTWEAPONS)
                {
                    if(response)
                    {
                        new stringmunicao[50];
                        format(stringmunicao, sizeof(stringmunicao), "Muniзгo: %d", inputtext);
                        GivePlayerMoney(playerid, -650);
                        GivePlayerWeapon(playerid, 22, ????);
                    }
                }
            }
Reply
#7

Siga essa base:
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
1//ID da dialog
        
{
            if(
response)
            {
                switch(
listitem)
                {
                    case 
0//9mm
                    
{
                        
GivePlayerMoney(playerid, -650);
                        
GivePlayerWeapon(playerid22, ????);
                    }
                    case 
1//Shotgun
                    
{
                        
GivePlayerMoney(playerid, -650);
                        
GivePlayerWeapon(playerid22, ????);
                    }
                }
            }
        }
    }
    return 
1;

Reply
#8

Entгo, o cуdigo que vocк mandou funciona sim. Mas o que eu quero й que o valor que o jogador digitar й a quantia de muniзгo que deve ser fornecida a ele.

Na linha onde tem o GivePlayerWeapon(playerid, idarma, ? ? ?), os pontos de interrogaзгo seria a vбriavel que recebeu o valor da resposta do Dialog.

Nгo estou conseguindo fazer isso.
Reply
#9

Use ao voce selecionar a arma use um estilo de dialog (DIALOG_STYLE_INPUT)

Ao ele apertar em "comprar" ou aceitar, que seja, voce seta a muniзгo como

PHP код:
strval(inputtext
//inputtext - й o q ele vai digitar na caixa da dialog
//strval - para ser apenas nъmeros 
Ficando assim:

PHP код:
GivePlayerWeapon(playerid22strval(inputtext)); 
Obs: Nгo lembro se assim da certo, se nгo der verifique se o que ele digitou й NUMERO, se for vc seta apenas como

inputtext


Se caso tiver dъvidas, veja o link:
OnDialogResponse

Espero ter ajudado
Reply
#10

Beleza Kratty!

A noite eu testo, valeu.

+1Rep pra vc.
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)