SA-MP Forums Archive
Simple pregunta - 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: Simple pregunta (/showthread.php?tid=464411)



Simple pregunta - Alienwar3 - 16.09.2013

Hola, їComo defino la tecla "ESC" en ONPLAYERKEYSTATECHANGE? gracias


Respuesta: Simple pregunta - EduGTA - 16.09.2013

Si quieres detectar el botуn ESC, lamentablemente no se podrб. No se puede detectar ninguna tecla que NO aparezca en esta lista.

Bбsicamente no puedes detectar la tecla ESC (AFAIK)



Respuesta: Simple pregunta - Alienwar3 - 16.09.2013

Nono, pregunto porque cuando uso el SelectTextdraw(); el usuario presiona Esc y cancela el select, solo quiero que cuando el usuario precione esc se oculten todos los textdraw, se cancele el selectable y se muestren los TD que van en la visualizaciуn de mi servidor. Gracias por responder


Respuesta: Simple pregunta - EduGTA - 16.09.2013

Ah, ya entendн .

Es algo simple, cuando un jugador tiene SelectTextdraw() activado y si apreta ESC, retornarб INVALID_TEXT_DRAW en OnPlayerClickTextDraw


pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == INVALID_TEXT_DRAW) //INVALID_TEXT_DRAW = 0xFFFF
    {
         SendClientMessage(playerid, 0xFFFFFFAA, "їPOR QUЙ ME CANCELAS? їNO ME QUIERES?");
         //El resto de las acciones van aquн :)
    }
    return 1;
}
Espero que se entienda


Re: Respuesta: Simple pregunta - eRRe - 16.09.2013

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
Ah, ya entendн .

Es algo simple, cuando un jugador tiene SelectTextdraw() activado y si apreta ESC, retornarб INVALID_TEXT_DRAW en OnPlayerClickTextDraw (O en OnPlayerClickPlayerTextDraw, todo depende el TextDraw)


pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == INVALID_TEXT_DRAW) //INVALID_TEXT_DRAW = 0xFFFF
    {
         SendClientMessage(playerid, 0xFFFFFFAA, "їPOR QUЙ ME CANCELAS? їNO ME QUIERES?");
         CancelSelectTextDraw(playerid);
         //El resto de las acciones van aquн :)
    }
    return 1;
}
Espero que se entienda
Pero esa funciуn solo se llama cuando un jugador hace click sobre el textdraw, por ende si lo cancela con esc y nunca hace click en la pantalla tu mensaje no serб mostrado...


Respuesta: Simple pregunta - Alienwar3 - 16.09.2013

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
Ah, ya entendн .

Es algo simple, cuando un jugador tiene SelectTextdraw() activado y si apreta ESC, retornarб INVALID_TEXT_DRAW en OnPlayerClickTextDraw (O en OnPlayerClickPlayerTextDraw, todo depende el TextDraw)


pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == INVALID_TEXT_DRAW) //INVALID_TEXT_DRAW = 0xFFFF
    {
         SendClientMessage(playerid, 0xFFFFFFAA, "їPOR QUЙ ME CANCELAS? їNO ME QUIERES?");
         //El resto de las acciones van aquн :)
    }
    return 1;
}
Espero que se entienda
Eso es cuando el usuario clickea el Textdraw, pero si no lo clickea y presiona esc?


Respuesta: Re: Respuesta: Simple pregunta - EduGTA - 16.09.2013

Quote:
Originally Posted by eRRe
Посмотреть сообщение
Pero esa funciуn solo se llama cuando un jugador hace click sobre el textdraw, por ende si lo cancela con esc y nunca hace click en la pantalla tu mensaje no serб mostrado...
El CallBack se llama si apretas ESC, retornando "clickedid" como "65535" (O INVALID_TEXT_DRAW), osea, nada, nulo, invбlido.

Bбsicamente "if(clickedid == INVALID_TEXT_DRAW)" detecta si "clickedid" es invбlido (nulo, nada, como quieras )



Respuesta: Re: Respuesta: Simple pregunta - Alienwar3 - 16.09.2013

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
El CallBack se llama si apretas ESC, retornando "clickedid" como "65535" (O INVALID_TEXT_DRAW), osea, nada, nulo, invбlido.

Bбsicamente "if(clickedid == INVALID_TEXT_DRAW)" detecta si "clickedid" es invбlido (nulo, nada, como quieras )
Lo probarй, muchas gracias por tu respuesta. +rep


Re: Respuesta: Re: Respuesta: Simple pregunta - eRRe - 16.09.2013

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
El CallBack se llama si apretas ESC, retornando "clickedid" como "65535" (O INVALID_TEXT_DRAW), osea, nada, nulo, invбlido.

Bбsicamente "if(clickedid == INVALID_TEXT_DRAW)" detecta si "clickedid" es invбlido (nulo, nada, como quieras )
Nunca lo probй, porque fijandome el nombre de la callback es lуgico que piense que solo es llamada con un click, por su nombre.


Respuesta: Simple pregunta - Alienwar3 - 16.09.2013

Me acaba de surgir un problema, uso PlayerText, їCуmo seria?. Probe INVALID_PLAYER_TEXT y no va