SA-MP Forums Archive
Ayuda/Duda Teclas... - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Ayuda/Duda Teclas... (/showthread.php?tid=466092)



Ayuda/Duda Teclas... - OTACON - 25.09.2013

Buenas a todos, kisiera saber por ke las teclas KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT no responden en OnPlayerKeyStateChange? y como podria hacerlo con GetPlayerKeys en OnPlayerKeyStateChange , para no utilizar timer.

Desde ya muchas Gracias.
Saludos.



Re: Ayuda/Duda Teclas... - PT - 25.09.2013

usa assi

pawn Код:
new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);
 
    if(ud == KEY_UP) SendClientMessage(playerid, -1, "UP");
    else if(ud == KEY_DOWN) SendClientMessage(playerid, -1, "DOWN");
 
    if(lr == KEY_LEFT) SendClientMessage(playerid, -1, "LEFT");
    else if(lr == KEY_RIGHT) SendClientMessage(playerid, -1, "RIGHT");
creditos wiki


Respuesta: Re: Ayuda/Duda Teclas... - OTACON - 25.09.2013

Quote:
Originally Posted by PT
Посмотреть сообщение
usa assi

pawn Код:
new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);
 
    if(ud == KEY_UP) SendClientMessage(playerid, -1, "UP");
    else if(ud == KEY_DOWN) SendClientMessage(playerid, -1, "DOWN");
 
    if(lr == KEY_LEFT) SendClientMessage(playerid, -1, "LEFT");
    else if(lr == KEY_RIGHT) SendClientMessage(playerid, -1, "RIGHT");
creditos wiki
¬¬, pero como esta en la wiki es para OnPlayerUpdate o un timer, man .


Re: Ayuda/Duda Teclas... - 0xFFFFFF - 25.09.2013

Esa callback no detecta esas teclas, solo las detecta la funcion por eso necesitas estar actualizando para comprobar si se presiona alguna


Respuesta: Re: Ayuda/Duda Teclas... - OTACON - 25.09.2013

Quote:
Originally Posted by 0xFFFFFF
Посмотреть сообщение
Esa callback no detecta esas teclas, solo las detecta la funcion por eso necesitas estar actualizando para comprobar si se presiona alguna
ufa, tendre ke usar timer igual XD

bueno, gracias.



Respuesta: Ayuda/Duda Teclas... - zugg48 - 26.09.2013

PHP код:
#define TECLA_PRESIONADA(%0) \
    
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    if (
TECLA_PRESIONADA(KEY_UP))
    {
        
SendClientMessage(playerid, -1"Usted ha presionado KEY_UP.");
    }
    
    return 
1;

SA-MP no detecta cuбl es la tecla que estбs presionando, sуlo detecta la funciуn que tiene asignada. Ya que desde el juego puedes modificar los controles.

Tampoco se puede hacer desde el servidor, la ъnica forma es modificar el cliente para que envнe esa informaciуn.
(Capturar las teclas).


Respuesta: Ayuda/Duda Teclas... - Swedky - 26.09.2013

Quote:
Originally Posted by zugg48
Посмотреть сообщение
PHP код:
#define TECLA_PRESIONADA(%0) \
    
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    if (
TECLA_PRESIONADA(KEY_UP))
    {
        
SendClientMessage(playerid, -1"Usted ha presionado KEY_UP.");
    }
    
    return 
1;

1°: 'TECLA_PRESIONADA' es 'PRESSED', no sй por quй le cambiaste el macro.
2°: Acaso leiste todo? Por lo que yo sй, tu respuesta no se acerca a nada -.-


Respuesta: Ayuda/Duda Teclas... - DesingMyCry - 26.09.2013

Podrнas usarlo con otra tecla, de esa forma utilizarнas ningъn timer sino la callback que mencionas.