SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 27/04/2020, 08:53 PM   #1
HelderPT
Banned
 
Join Date: Jan 2018
Location: São Miguel, Portugal
Posts: 607
Reputation: 22
Post Onplayerkeystatechange

Olá,

Estou a ter problemas pois as vezes quando aperto Y não está indo tem vezes que vai outras não poderia me dizer porque?

OBS: a callback tem mais que isso.

PHP Code:
public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    if(
newkeys == KEY_YES)
    {
        if(
IsPlayerInRangeOfPoint(playerid3.01363.65234, -1749.9694813.05720) || IsPlayerInRangeOfPoint(playerid3.01418.08093, -1486.9149220.01770))
        {
            
ShowPlayerDialog(playeridDIALOG_MENU_ATMDIALOG_STYLE_LIST"{F4FA58}Caixa ATM""SALDO\nSACAR""Selecionar""Cancelar");
        }
    }

    if(
newkeys == KEY_YES)
    {
        if(
IsPlayerInRangeOfPoint(playerid2.01215.4077, -1640.122911.7969))
        {
            
ShowPlayerDialog(playeridDIALOG_INFOBASEDIALOG_STYLE_LIST"{FE2E2E}Armazém do Comando Vermelho:""DROGAS""Selecionar""Cancelar");
            return 
1;
        }
    }
    return 
1;

Será que tenho que usar else?

Obrigado desde já
HelderPT is offline   Reply With Quote
Old 27/04/2020, 09:00 PM   #2
Ermanhaut
Gangsta
 
Ermanhaut's Avatar
 
Join Date: Apr 2016
Location: Brazil
Posts: 662
Reputation: 47
Default Re: Onplayerkeystatechange

https://wiki.sa-mp.com/wiki/OnPlayer...heck_for_a_key
__________________
try, try and try again
Ermanhaut is offline   Reply With Quote
Old 27/04/2020, 09:02 PM   #3
mau.tito
High-roller
 
mau.tito's Avatar
 
Join Date: Jan 2012
Location: Curitiba/PR
Posts: 1,984
Reputation: 223
Default Re: Onplayerkeystatechange

Ja tentou utilizar dentro da mesma newkeys ?
Eu tive um problema parecido com um sistema que eu estava usando eu tive que utilizar uma variavel, porem neste caso não sera possivel.

Mas tente usar assim
pawn Code:
if ( (oldkeys & KEY_YES) && !(newkeys & KEY_YES))
    {
        if(IsPlayerInRangeOfPoint(playerid, 3.0, 1363.65234, -1749.96948, 13.05720) || IsPlayerInRangeOfPoint(playerid, 3.0, 1418.08093, -1486.91492, 20.01770))
        {
            ShowPlayerDialog(playerid, DIALOG_MENU_ATM, DIALOG_STYLE_LIST, "{F4FA58}Caixa ATM", "SALDO\nSACAR", "Selecionar", "Cancelar");
        }
        if(IsPlayerInRangeOfPoint(playerid, 2.0, 1215.4077, -1640.1229, 11.7969))
        {
            ShowPlayerDialog(playerid, DIALOG_INFOBASE, DIALOG_STYLE_LIST, "{FE2E2E}Armazém do Comando Vermelho:", "DROGAS", "Selecionar", "Cancelar");
        }
    }
__________________
PARANÁ Roleplay

Discord
mau.tito is online now   Reply With Quote
Old 27/04/2020, 09:12 PM   #4
HelderPT
Banned
 
Join Date: Jan 2018
Location: São Miguel, Portugal
Posts: 607
Reputation: 22
Default Re: Onplayerkeystatechange

Estão funcionando pórem o que estava dando problema está dando na mesma :/
HelderPT is offline   Reply With Quote
Old 27/04/2020, 09:35 PM   #5
HelderPT
Banned
 
Join Date: Jan 2018
Location: São Miguel, Portugal
Posts: 607
Reputation: 22
Default Re: Onplayerkeystatechange

Quote:
Originally Posted by mau.tito View Post
Ja tentou utilizar dentro da mesma newkeys ?
Eu tive um problema parecido com um sistema que eu estava usando eu tive que utilizar uma variavel, porem neste caso não sera possivel.

Mas tente usar assim
pawn Code:
if ( (oldkeys & KEY_YES) && !(newkeys & KEY_YES))
    {
        if(IsPlayerInRangeOfPoint(playerid, 3.0, 1363.65234, -1749.96948, 13.05720) || IsPlayerInRangeOfPoint(playerid, 3.0, 1418.08093, -1486.91492, 20.01770))
        {
            ShowPlayerDialog(playerid, DIALOG_MENU_ATM, DIALOG_STYLE_LIST, "{F4FA58}Caixa ATM", "SALDO\nSACAR", "Selecionar", "Cancelar");
        }
        if(IsPlayerInRangeOfPoint(playerid, 2.0, 1215.4077, -1640.1229, 11.7969))
        {
            ShowPlayerDialog(playerid, DIALOG_INFOBASE, DIALOG_STYLE_LIST, "{FE2E2E}Armazém do Comando Vermelho:", "DROGAS", "Selecionar", "Cancelar");
        }
    }
Impossivel!! está indo, pórem só testei com 2 players mais antes não estava indo. será que vai?
HelderPT is offline   Reply With Quote
Old 28/04/2020, 02:28 AM   #6
RiqueP
Gangsta
 
RiqueP's Avatar
 
Join Date: Jan 2014
Location: 01010011 01010000
Posts: 875
Reputation: 66
Default Re: Onplayerkeystatechange

Use & ao invés de ==.
PHP Code:
if(newkeys KEY_YES
RiqueP is offline   Reply With Quote
Old 28/04/2020, 03:36 AM   #7
Vithinn
Big Clucker
 
Vithinn's Avatar
 
Join Date: Oct 2016
Location: São Paulo
Posts: 86
Reputation: 50
Default Re: Onplayerkeystatechange

PHP Code:
public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    if((
newkeys KEY_YES) && !(oldkeys KEY_YES))
    {
        if(
IsPlayerInRangeOfPoint(playerid3.01363.65234, -1749.9694813.05720) || IsPlayerInRangeOfPoint(playerid3.01418.08093, -1486.9149220.01770))
        {
            
ShowPlayerDialog(playeridDIALOG_MENU_ATMDIALOG_STYLE_LIST"{F4FA58}Caixa ATM""SALDO\nSACAR""Selecionar""Cancelar");
        }
        else if(
IsPlayerInRangeOfPoint(playerid2.01215.4077, -1640.122911.7969))
        {
            
ShowPlayerDialog(playeridDIALOG_INFOBASEDIALOG_STYLE_LIST"{FE2E2E}Armazém do Comando Vermelho:""DROGAS""Selecionar""Cancelar");
        }
    }
    return 
1;

Testa aí, não compilei nem nada, mas deve estar certo.

@edit Se não for, testa com return 1; nos dois if's. Não lembro se era necessário, fazem uns meses que não programo.
__________________
Released Hogwarts RP/G
Vithinn is offline   Reply With Quote
Old 28/04/2020, 08:37 AM   #8
HelderPT
Banned
 
Join Date: Jan 2018
Location: São Miguel, Portugal
Posts: 607
Reputation: 22
Default Re: Onplayerkeystatechange

Obrigado a todos.

Só mais uma dúvida, essa callback 'OnPlayerStateChange'

É preciso seguir o mesmo esquemma?

PHP Code:
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new 
vidvid GetPlayerVehicleID(playerid);
        if(
vid == vCaminhoneiro[0] || vid == vCaminhoneiro[1] || vid == vCaminhoneiro[2] || vid == vCaminhoneiro[3] || vid == vCaminhoneiro[4] || vid == vCaminhoneiro[5// Caminhões da Profissão Caminhoneiro
        
|| vid == vCaminhoneiro[6] || vid == vCaminhoneiro[7] || vid == vCaminhoneiro[8] || vid == vCaminhoneiro[9] || vid == vCaminhoneiro[10])
        {
            if(
PlayerInfo[playerid][pProfissao] != Caminhoneiro)
            { 
                
RemovePlayerFromVehicle(playerid);
            }
        } 
HelderPT is offline   Reply With Quote
Old 28/04/2020, 04:48 PM   #9
MateGPlay
Big Clucker
 
MateGPlay's Avatar
 
Join Date: Jan 2018
Location: Florianópolis, Santa Catarina
Posts: 119
Reputation: 1
Default Re: Onplayerkeystatechange

Quote:
Originally Posted by HelderPT View Post
Obrigado a todos.

Só mais uma dúvida, essa callback 'OnPlayerStateChange'

É preciso seguir o mesmo esquemma?

PHP Code:
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new 
vidvid GetPlayerVehicleID(playerid);
        if(
vid == vCaminhoneiro[0] || vid == vCaminhoneiro[1] || vid == vCaminhoneiro[2] || vid == vCaminhoneiro[3] || vid == vCaminhoneiro[4] || vid == vCaminhoneiro[5// Caminhões da Profissão Caminhoneiro
        
|| vid == vCaminhoneiro[6] || vid == vCaminhoneiro[7] || vid == vCaminhoneiro[8] || vid == vCaminhoneiro[9] || vid == vCaminhoneiro[10])
        {
            if(
PlayerInfo[playerid][pProfissao] != Caminhoneiro)
            { 
                
RemovePlayerFromVehicle(playerid);
            }
        } 
PHP Code:
if(newstate == PLAYER_STATE_DRIVER)
{
     new 
vidvid GetPlayerVehicleID(playerid);
     for(new 
011i++)
          if(
vid == vCaminhoneiro[i] && PlayerInfo[playerid][pProfissao] != Caminhoneiro)
               
RemovePlayerFromVehicle(playerid);

MateGPlay is offline   Reply With Quote
Old 29/04/2020, 01:46 AM   #10
Ermanhaut
Gangsta
 
Ermanhaut's Avatar
 
Join Date: Apr 2016
Location: Brazil
Posts: 662
Reputation: 47
Default Re: Onplayerkeystatechange

Quote:
Originally Posted by Ermanhaut View Post
Não usem == para checar teclas, não funciona direito. Leia a wiki para mais informações.
__________________
try, try and try again
Ermanhaut 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
onplayerkeystatechange Admigo Scripting Help 5 13/09/2012 11:31 AM
OnPlayerKeyStateChange rati555 Scripting Help 1 02/12/2011 01:56 PM
Help, OnPlayerKeyStateChange MickJ Scripting Help 1 18/11/2011 10:17 AM
Help with OnPlayerKeyStateChange antonio112 Scripting Help 21 16/11/2011 01:04 PM
OnPlayerKeyStateChange Robert_Crawford Help Archive 2 23/02/2011 12:41 PM


All times are GMT. The time now is 10:59 AM.


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