[ajuda] GPS(checkpoint)
#1

pawn Код:
#define DIALOG_GPS      1
//// topo

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/cgps", true) == 0)
    {
        PossuiGps[playerid] = 1;
        SendClientMessage(playerid,AMARELO,"(AVISO) Vocк comprou um GPS, digite /gps para usa-lo");
        return 1;
    }
    if(strcmp(cmd, "/gps", true) ==0)
    {
        if(PossuiGps[playerid] == 1)
        {
            ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Escolha o seu trajeto:", "San Fierro Police Department \r\nSan Fierro Taxi Department \r\nSan Fierro Mecanichal Department \r\nCarrie of Trucker\r\nSan Fierro Medical Center", "Escolher", "Cancelar");
            }
            else
            {
            SendClientMessage(playerid,VERMELHO,"(ERROR) Vocк ainda nгo possui um GPS, vб ate a ---- para compra-lo");
            return 1;
        }
        return 1;
    }
    return SendClientMessage(playerid, BRANCO,"Comando desconhecido, digite /comandos para ver os comandos");
}

/// DialogResponse

if(dialogid == DIALOG_GPS)
    {
       if(response) //pera um segundo vou dar uma olhada em uns scripts meus sim =)
        {
            switch(listitem)
                {
                    case 0:
                    {
                        SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                        SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                        return 1;
                    }
                    case 1:
                    {
                        SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                        SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                        return 1;
                    }
                    case 2:
                    {
                        SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                        SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                        return 1;
                    }
                    case 3:
                    {
                        SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0); //pera.. yees ow mais tipo nem o SendClientMessage aparece entende... ?
                        SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                        return 1;
                        }
                    }
                }
            }
Ele compila, porйm a funзгo nao ocorre onde estб o problema ?
Reply
#2

pawn Код:
if(dialogid == DIALOG_GPS)
    {
    if(response) //pera um segundo vou dar uma olhada em uns scripts meus sim =)
    {
    if(listitem == 0)
    {
    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
    return 1;
    }
    if(listitem == 1)
    {
    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
    return 1;
    }
    if(listitem == 2)
    {
    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
    return 1;
    }
    if(listitem == 3)
    {
    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0); //pera.. yees ow mais tipo nem o SendClientMessage aparece entende... ?
    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
    return 1;
    }
    }
    }
Tenta ai, vocк estava usando 'case', e eu acho que isso nгo se usa em 'OnDialogResponse' para definir a DIALOG_STYLE_LIST igual menu, ou seja, o erro pode estar ai, somente alterei o 'case' por 'if(listitem)'.

Espero ter ajudado.
Reply
#3

Switch Case Funciona em DIALOG_STYLE_LIST <<<

Joker jб viu se existe outro Dialog com o mesmo ID?
Reply
#4

Nгo funciono de qualquer jeito...


--

pawn Код:
#define DIALOG_EMPREGOS 0
#define DIALOG_GPS      1
Reply
#5

Nгo Gosto de Usar Assim, Fica Bagunзado.

Olha :


pawn Код:
// topo
#define DIALOG_GPS      1299

// resto
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
       if(dialogid == DIALOG_GPS)
        {
            if(response)
            {
                if(listitem == 0)
                {
                      SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                      SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                      return 1;
                }
                if(listitem == 1)
                {
                      SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                      SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                      return 1;
                }
                if(listitem == 2)
                {
                      SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                      SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                      return 1;
                }
                if(listitem == 3)
                {
                      SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                      SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                      return 1;
                }
            }
        }
        return 1;
     }
Use Returns, Nгo Cometa Meu Erro, Se Nгo Pode bugar com os Dialogs do gm... :S
Reply
#6

pawn Код:
#define DIALOG_GPS      1

new PossuiGps[MAX_PLAYERS];

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/cgps", true) == 0)
    {
        PossuiGps[playerid] = 1;
        SendClientMessage(playerid,AMARELO,"(AVISO) Vocк comprou um GPS, digite /gps para usa-lo");
        return 1;
    }
   
    if(strcmp(cmd, "/gps", true) ==0)
    {
        if(PossuiGps[playerid] == 1)
        {
            ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Escolha o seu trajeto:", "San Fierro Police Department \r\nSan Fierro Taxi Department \r\nSan Fierro Mecanichal Department \r\nCarrie of Trucker\r\nSan Fierro Medical Center", "Escolher", "Cancelar");
            return 1;
        }
        else
        {
            SendClientMessage(playerid,VERMELHO,"(ERROR) Vocк ainda nгo possui um GPS, vб ate a ---- para compra-lo");
            return 1;
        }
    }
   
    return SendClientMessage(playerid, BRANCO,"Comando desconhecido, digite /comandos para ver os comandos");
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_GPS)
    {
        if(response) //pera um segundo vou dar uma olhada em uns scripts meus sim =)
        {
            switch(listitem)
            {
                case 0:
                {
                    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                    return 1;
                }

                case 1:
                {
                    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                    return 1;
                }

                case 2:
                {
                    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0);
                    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                    return 1;
                }

                case 3:
                {
                    SetPlayerCheckpoint(playerid, 1543.8772,-1676.4253,13.5573,8.0); //pera.. yees ow mais tipo nem o SendClientMessage aparece entende... ?
                    SendClientMessage(playerid, AMARELO, "(AVISO) Segue a ponto vermelho no mapa...");
                    return 1;
                }
            }
        }
    }
    return 0;
}
Deve Funcionar. Joker, aproveite que ainda estб comeзando e passe a indentar teu cуdigo, olhe como estava antes e olhe como eu indentei, estб muito mais fбcil pra ler, tanto pra vocк como para o compilador.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)