[AJUDA] DIALOG_STYLE_MSGBOX
#1

Tenho o /GPS todo prontinho aqui, mais pensei em dar uma enfeitada nele, entгo resolvi por a resposta em MSGBOX, mais to com uma duvida.

Vejamos:

pawn Код:
SendClientMessage(playerid, CORCINZA, "___________{FA4646}COMPUTADOR DE BORDO{B0B0B0}___________");
                SendClientMessage(playerid, CORCINZA, "GPS Ativado para: {FA4646}Departamento de Policia");
                SendClientMessage(playerid, CORCINZA, "Vб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa");
                SendClientMessage(playerid, CORCINZA, "_________________________________________________________");
Obviamente que eu tenho algo parecido com isso para todos os meus destinos. Prefeitura, Loja de armas e etc etc.

A duvida й, eu vou precisar definir 1 Dialog pra cada destino ? Nгo tem um jeito mais rбpido de fazer ?
Sei que devo fazer assim:

pawn Код:
ShowPlayerDialog(playerid, ID DO DIALOG, DIALOG_STYLE_MSGBOX, "COMPUTADOR DE BORDO", "Bla bla bla", "Ok"," ");
Sу preciso saber se tenho q definir 1 dialog pra cada destino...
Reply
#2

Usa DIALOG_STYLE_LIST

pawn Код:
ShowPlayerDialog(playerid, ID DO DIALOG, DIALOG_STYLE_LIST, "COMPUTADOR DE BORDO", "Local 1\nLocal 2\nLocal 3\nLocal 4", "Ok"," ");
Reply
#3

Nгo, vc nгo entendeu, eu ja tenho o cmd
pawn Код:
command(gps, playerid, params[])
{
    #pragma unused params

        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, SERVIDOR, "Vocк precisa estar em um veнculo para usar o GPS.");
        ShowPlayerDialog(playerid, GPS, DIALOG_STYLE_LIST, "GPS", "LOCAIS IMPORTANTES\nTERRITORIOS\nDIVERSOS\n", "Selecionar Menu", "Desligar GPS");
        return true;
Eu sу preciso colocar isso:
pawn Код:
if(listitem == 0)
          {
                SendClientMessage(playerid, CORCINZA, "___________{FA4646}COMPUTADOR DE BORDO{B0B0B0}___________");
                SendClientMessage(playerid, CORCINZA, "GPS Ativado para: {FA4646}Departamento de Policia");
                SendClientMessage(playerid, CORCINZA, "Vб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa");
                SendClientMessage(playerid, CORCINZA, "_________________________________________________________");
                return true;
                }
Isso:

pawn Код:
if(listitem == 0)
          {
                SendClientMessage(playerid, CORCINZA, "___________{FA4646}COMPUTADOR DE BORDO{B0B0B0}___________");
                SendClientMessage(playerid, CORCINZA, "GPS Ativado para: {FA4646}Posto de Gazolina Norte");
                SendClientMessage(playerid, CORCINZA, "Vб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa");
                SetPlayerCheckpoint(playerid, 1004.6709,-936.8508,42.3354,8.0);
                SendClientMessage(playerid, CORCINZA, "_________________________________________________________");
                return true;
                }
e isso:
pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid, CORCINZA, "_________________{FA4646}COMPUTADOR DE BORDO{B0B0B0}________________");
    SendClientMessage(playerid, CORCINZA, "Vocк chegou ao seu destino e seu {FA4646}GPS {B0B0B0}foi desativado.");
    SendClientMessage(playerid, CORCINZA, "____________________________________________________________________");
    return true;
}
Em dialog, e preciso saber, eu tenho q definir 1 dialog pra cada ? define ChegouNaDP 1 e por aн vai ? To perguntando, pq sгo mts dialogs
Reply
#4

Caro Mr_Taxi

Nгo й necessбrio, apenas crie um dialog que vocк nгo irб usar, por exemplo.

Caso vocк for ultilizar, apenas crie uma variavel global armazenando o que o player escolheu.

Espero ter ajudado.
Reply
#5

Quote:
Originally Posted by Ricop522
Посмотреть сообщение
Caro Mr_Taxi

Nгo й necessбrio, apenas crie um dialog que vocк nгo irб usar, por exemplo.

Caso vocк for ultilizar, apenas crie uma variavel global armazenando o que o player escolheu.

Espero ter ajudado.
Nгo entendi :S O.o
Reply
#6

Seria isto?
Se nгo for, nгo entendi o problema.

pawn Код:
if(dialogid == GPS)
{
    switch(listitem)
    {
        case 0:
        {
            SendClientMessage(playerid, CORCINZA, "___________{FA4646}COMPUTADOR DE BORDO{B0B0B0}___________");
            SendClientMessage(playerid, CORCINZA, "GPS Ativado para: {FA4646}Departamento de Policia");
            SendClientMessage(playerid, CORCINZA, "Vб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa");
            SendClientMessage(playerid, CORCINZA, "_________________________________________________________");
            SetPlayerCheckpoint(playerid,X,Y,Z,Raio);//Coordenada Departamento
            return true;
        }
        case 1:
        {
            SendClientMessage(playerid, CORCINZA, "___________{FA4646}COMPUTADOR DE BORDO{B0B0B0}___________");
            SendClientMessage(playerid, CORCINZA, "GPS Ativado para: {FA4646}Posto de Gazolina Norte");
            SendClientMessage(playerid, CORCINZA, "Vб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa");
            SetPlayerCheckpoint(playerid, 1004.6709,-936.8508,42.3354,8.0);
            SendClientMessage(playerid, CORCINZA, "_________________________________________________________");
            SetPlayerCheckpoint(playerid,X,Y,Z,Raio);//Coordenada Posto de gasolina
            return true;
        }
    }
}
Reply
#7

Vou explicar da melhor forma:

Quando o player digitar /GPS, irб abrir um Dialog certinho pra ele escolher aonde ele quer ir.
Aqui estб o comando:
pawn Код:
command(gps, playerid, params[])
{
    #pragma unused params

        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, SERVIDOR, "Vocк precisa estar em um veнculo para usar o GPS.");
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, SERVIDOR, "Caso nгo conheзa o mapa, chame um Taxista. ( /Servico Taxi )");
        ShowPlayerDialog(playerid, GPS, DIALOG_STYLE_LIST, "GPS", "LOCAIS IMPORTANTES\nTERRITORIOS\nDIVERSOS\n", "Selecionar Menu", "Desligar GPS");
        return true;
Que a proposito, o segundo if("InPlayerInAnyVehicle(playerid)) nгo funciona, como resolvo ?, mais vamos, adiantando...

Digamos que o cara foi lб no Dialog, em Locais Importantes e selecionou Posto de Gazolina Norte. Ele receberб estб mensagem:

pawn Код:
SendClientMessage(playerid, CORCINZA, "___________{FA4646}COMPUTADOR DE BORDO{B0B0B0}___________");
                SendClientMessage(playerid, CORCINZA, "GPS Ativado para: {FA4646}Posto de Gazolina Norte");
                SendClientMessage(playerid, CORCINZA, "Vб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa");
                SetPlayerCheckpoint(playerid, 1004.6709,-936.8508,42.3354,8.0);
                SendClientMessage(playerid, CORCINZA, "_________________________________________________________");
E quando ele chegar ao seu local de destino, ele receberб esta mensagem:

pawn Код:
SendClientMessage(playerid, CORCINZA, "_________________{FA4646}COMPUTADOR DE BORDO{B0B0B0}________________");
    SendClientMessage(playerid, CORCINZA, "Vocк chegou ao seu destino e seu {FA4646}GPS {B0B0B0}foi desativado.");
    SendClientMessage(playerid, CORCINZA, "____________________________________________________________________");
Entendido ? Entгo, o que eu quero fazer й colocar as mensagens do computador de bordo em um DIALOG_MSGBOX.
E eu quero saber se preciso ir no topo do GM e fazer
pawn Код:
#define VaipraDP 1
#define VaipraPref 2
entendeu ? Por que se nгo tiver uma maneira mais facil, nгo vou por isso em dialog, uma vez que tenho 20 Destinos e ainda nгo terminei...
Reply
#8

Se vocк quer colocar as mensagens, й sу usar um ID de dialogo que nгo й usado.
Eu costumo usar um ъnico ID para todos os DIALOG_STYLE_MSGBOX

pawn Код:
new Destino[MAX_PLAYERS];//Topo

if(Destino[playerid] == 1)
    ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_LIST, "Computador de bordo", "GPS Ativado para: {FA4646}Posto de Gasolina Norte\n\nVб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa", "Fechar", " ");
else if(Destino[playerid] == 2)
    ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_LIST, "Computador de bordo", "GPS Ativado para: {FA4646}Departamento\n\nVб atй a marca {FA4646}VERMELHA {B0B0B0}no Mapa", "Fechar", " ");
Reply
#9

Ta, to fazendo assim e da dando certo, usando uma ID de Dialog que eu nгo usei em nada mais...
Mais depois como faзo pra tirar os warnings que estгo ficando pra traz ?
Код:
D:\JOGOS\GTA San Andreas\Server SAMP\gamemodes\SERVIDOR.pwn(439) : warning: 202: number of arguments does not match definition
D:\JOGOS\GTA San Andreas\Server SAMP\gamemodes\SERVIDOR.pwn(439) : warning: 202: number of arguments does not match definition
D:\JOGOS\GTA San Andreas\Server SAMP\gamemodes\SERVIDOR.pwn(439) : warning: 202: number of arguments does not match definition
D:\JOGOS\GTA San Andreas\Server SAMP\gamemodes\SERVIDOR.pwn(439) : warning: 202: number of arguments does not match definition
D:\JOGOS\GTA San Andreas\Server SAMP\gamemodes\SERVIDOR.pwn(439) : warning: 202: number of arguments does not match definition
Reply
#10

Manda a linha do erro pra eu olhar.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)