Identificar tecla ESC. -
RafaelOsio - 29.07.2015
Olб amigos. Preciso identificar quando um player aperta a tecla ESC. Eu jб pesquisei e em todos os lugares, tem pessoas dizendo que nгo й possнvel identificar a tecla ESC. No FS iTD, quando estб com uma dialog aberta e se aperta a tecla esc, retorna uma mensagem dizendo para primeiro fechar a dialog. Com isso concluн que й sim possнvel, entгo resolvi investigar. Entrei no FS e achei o seguinte teste na callback OnPlayerClickTextDraw:
Код:
if(clickedid == Text:INVALID_TEXT_DRAW)
{
if(DialogShown)
{
Send(ProjectEditor, -1, #ITD_W"Please close this dialog first!");
return SelectTextDraw(playerid, -1);
}
if(MenuHidden) return ShowEditor();
if(MenuShown) return HideEditor();
return true;
}
Procurei pela variбvel Text:INVALID_TEXT_DRAW, e encontrei isto:
Код:
new Text:TD_Menu[34] = {Text:INVALID_TEXT_DRAW, ...};
Eu tentei levar este mйtodo para meu sistema, fazendo desta forma:
Код:
new Text:TD_Menu[34] = {Text:INVALID_TEXT_DRAW, ...};
E
Код:
if(clickedid == Text:INVALID_TEXT_DRAW)
{
msg(playerid, -1, "clicou esc);
}
Mas esta dando aquela warning de tag mismatch, mas nгo sei o que pode estar ocorrendo, atй por que eu nгo entendi muito bem este cуdigo. Eu gostaria que me ajudassem a entender isto e por que estб errado.
OBS.: Se conhecerem outro mйtodo para identificar o ESC, por favor, compartilhem

OBSІ.: A funcionalidade da funзгo estб 100%, ъnico problema й este warning.
Re: Identificar tecla ESC. -
Gii - 29.07.2015
Nгo sei ao certo como este FS detecta o "jogador de ESC", porйm acredito a detecзгo й feita por meio do plugin ...
Dias atrбs postei um cуdigo, nele й possнvel identificar quando o jogador esta pausado.
http://forum.sa-mp.com/showpost.php?...postcount=3077
Re: Identificar tecla ESC. -
RafaelOsio - 30.07.2015
Sim, mas eu nгo preciso do sistema que detecta se o player estб parado(de ESC), preciso de um sistema que detecte se ele apertou a tecla, simplesmente a aзгo de apertar a tecla ESC, do teclado.
Re: Identificar tecla ESC. -
Locky_ - 30.07.2015
Vocк diz pressionar ESC quando estб no meio de uma seleзгo de text draw?
PHP код:
if(clickedid == Text:INVALID_TEXT_DRAW)
{
msg(playerid, -1, "clicou esc);
}
Deveria colocar o return... e tambйm esta funзгo 'msg(playerid,-1,"clicou esc"); estб faltando um " (aspas)
Re: Identificar tecla ESC. -
RafaelOsio - 30.07.2015
Sim, isso mesmo, desculpa os erros, eu nгo copiei do meu cуdigo, apenas escrevi aqui. Mas eu achei a soluзгo, nгo coloquei aqui para nгo postar duas vezes seguidas.
Mas agora posso colocar:
Код:
if(clickedid == INVALID_TEXT_DRAW)
{
}
Em qualquer lugar que eu use, seja na seleзгo de TD, ou dentro de um veнculo, por exemplo, este teste detecta quando eu aperto a tecla ESC.
---------
Para nгo criar outro tуpico, gostaria de outra ajuda. Trabalho com DOF2 para salvamento. Gostaria de saber o que se torna melhor, eu criar um enum com todas as variбveis dos players, carregб-las quando ele se conectar e salvar os valores delas quando o player se desconctar, ou usar o DOF2_GetInt sempre que eu precisar ?