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(playerid, newkeys, oldkeys)
{
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(playerid, newkeys, oldkeys)
{
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.