[Ajuda] Identificar tecla ESC.
#1

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.
Reply
#2

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
Reply
#3

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.
Reply
#4

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)
Reply
#5

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 ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)