SA-MP Forums Archive
[AJUDA] PICKUP ABRINDO TODA HORA! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] PICKUP ABRINDO TODA HORA! (/showthread.php?tid=183464)



[AJUDA] PICKUP ABRINDO TODA HORA! - †♥† - 15.10.2010

Galera seguinte, essa й uma pickup de emprego, que quando passa por cima abre um Dialog pra escolher um emprego...
Mas quando passa por cima, o Dialog abre, uns 1seg dps (quando vc ainda esta escolhendo o emprego) ele abre denovo

como faz pra quando passar por cima ele abrir sу 1 vez atй acabar de escolher o emprego/

pawn Code:
if(pickupid == empregosauto)
    {
    playerpickup[playerid] = pickupid;
    TogglePlayerControllable(playerid, 0);
    ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_LIST, "Empregos", "Detetive\nAdvogado\nProfissional do sexo\nVendedor de Drogas\nLadrao de Carros\nMecanico\nSeguranca\nVendedor de Armas\nMendigo\nCaminhoneiro\nVendedor de Balinhas\nJornaleiro", "Confirmar", "Cancelar");
    }
Jб tem a variavel,etc.. ai й sу a parte que abre o dialog (public OnPlayerPickUpPickup(playerid, pickupid))


Re: [AJUDA] PICKUP ABRINDO TODA HORA! - roginho_97 - 15.10.2010

Isso, й por que estб configurado para quando o player passar s0bre o pickup aparecer a funcao, mas abaixo estб o sistema de qdo ele apertar 'F' nesta pickup, abrir o menu.

pawn Code:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Identifica se o nego apertou a letra 'F'
    {
        if(!PlayerToPoint(1,playerid,Posicao do Pickup))
        {
                               ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_LIST, "Empregos", "Detetive\nAdvogado\nProfissional do sexo\nVendedor de Drogas\nLadrao de Carros\nMecanico\nSeguranca\nVendedor de Armas\nMendigo\nCaminhoneiro\nVendedor de Balinhas\nJornaleiro", "Confirmar", "Cancelar");
        }
     }
     return 0;
}
Espero ter ajudado


Re: [AJUDA] PICKUP ABRINDO TODA HORA! - [BEP]AcerPilot - 16.10.2010

Й que quando se fica sobre uma pickup muito tempo, a funзгo se repete, isso jб й Client Side, creio que apertar F em cima da pickup seria melhor, assim nгo hб flood de dialogs.


Re: [AJUDA] PICKUP ABRINDO TODA HORA! - roginho_97 - 16.10.2010

@Curiosidade:

Funcionoo?O.O


Re: [AJUDA] PICKUP ABRINDO TODA HORA! - ASDF - 16.10.2010

achu melho vc cria um checkpoint pq pickup a funcao dele e senpre ficar repitindu cmds


Re: [AJUDA] PICKUP ABRINDO TODA HORA! - †♥† - 16.10.2010

Se eu criar uma variavel da pickup eu posso colocar o nome ali em vez da posiзгo?

Ex:

pawn Code:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Identifica se o nego apertou a letra 'F'
    {
        if(!PlayerToPoint(1,playerid,empregosauto)) // AQUI <<<<<<<<<<<<
        {
                               ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_LIST, "Empregos", "Detetive\nAdvogado\nProfissional do sexo\nVendedor de Drogas\nLadrao de Carros\nMecanico\nSeguranca\nVendedor de Armas\nMendigo\nCaminhoneiro\nVendedor de Balinhas\nJornaleiro", "Confirmar", "Cancelar");
        }
     }
     return 0;
}
Assim tambйm poderia ser?


Re: [AJUDA] PICKUP ABRINDO TODA HORA! - [BEP]AcerPilot - 17.10.2010

Pode usar assim:

pawn Code:
new EstaNaPickup[MAX_PLAYERS]; //no topo
pawn Code:
public OnPlayerPickUpPickup(playerid, pickupid)
{
     if(pickupid == suapickup)
     {
         EstaNaPickup[playerid] = 1;
     }
     else if(pickupid == outrapickup)
    {
         EstaNaPickup[playerid] = 0;
    }
}
pawn Code:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Identifica se o nego apertou a letra 'F'
    {
        if(EstaNaPickup[playerid] == 1) // AQUI <<<<<<<<<<<<
        {
                               ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_LIST, "Empregos", "Detetive\nAdvogado\nProfissional do sexo\nVendedor de Drogas\nLadrao de Carros\nMecanico\nSeguranca\nVendedor de Armas\nMendigo\nCaminhoneiro\nVendedor de Balinhas\nJornaleiro", "Confirmar", "Cancelar");
        }
     }
     return 1;//a OnPlayerStateChange retorna 1 e nгo 0.
}



Re: [AJUDA] PICKUP ABRINDO TODA HORA! - ASDF - 17.10.2010

ou vc podi coloca assim
pawn Code:
if(strcmp(cmdtext, "/empregos", true) == 0)
{
    if(!PlayerToPoint(1.0,playerid, empregosauto)) return  SendClientMessage(playerid,COLOR_YELLOW,"voce nao esta na na picukp de empregos");
    ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_LIST, "Empregos", "Detetive\nAdvogado\nProfissional do sexo\nVendedor de Drogas\nLadrao de Carros\nMecanico\nSeguranca\nVendedor de Armas\nMendigo\nCaminhoneiro\nVendedor de Balinhas\nJornaleiro", "Confirmar", "Cancelar");
    return 1;
}