Texdraw clicalvel dъvida -
Duk - 01.03.2015
Pessoal estou com uma dъvida em textdraw clicбvel.
Bom a dъvida serб que tem como continuar mostrando o textdraw da tela de login, mesmo o player apertando esc?
Por que eu coloquei se no caso o player aperta esc ele й kickado, tem outra maneira sem ser que kick o player?
Eu coloquei pra mostrar as textdraw novamente se caso o jogador aperte a ESC mais a funзгo de clicar nas textdraw desativa.
pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(_:clickedid != INVALID_TEXT_DRAW)
{
if(clickedid == TLogin_Entrar[playerid])
{
SendClientMessage(playerid, -1, "Clicou em Entrar");
TextDrawHideForPlayer(playerid, MiniT_Sair[playerid]);
CancelSelectTextDraw(playerid);
}
else if(clickedid == TLogin_Registrar[playerid])
{
SendClientMessage(playerid, -1, "Clicou em registrar");
TextDrawHideForPlayer(playerid, MiniT_Sair[playerid]);
CancelSelectTextDraw(playerid);
}
TextDrawHideForPlayer(playerid, MiniT_Sair[playerid]);
CancelSelectTextDraw(playerid);
SendClientMessage(playerid, -1, "Vocк foi kickado por utilizar o ESC.");
SetTimerEx("KickPublic", 100, 0, "d", playerid);
}
return 1;
}
Re: Texdraw clicalvel dъvida -
Nenzittow - 01.03.2015
Isso poderб ajudar vocк. Estude:
»
https://sampwiki.blast.hk/wiki/OnPlayerClickTextDraw
»
https://sampforum.blast.hk/showthread.php?tid=340781
Re: Texdraw clicalvel dъvida -
arakuta - 01.03.2015
Atй onde eu saiba, ao apertar ESC vбrias vezes, o servidor pode ignorar o ESC, enquanto o cliente sempre removerб o cursor para clicar nos textos, ou deixa-los inclicбveis.
Uma possнvel soluзгo seria criar uma variбvel que determina se um player deve ou nгo estar selecionando um textdraw, e roda um timer de 1~2 segundos de intervalo para o player que deve estar selecionando um textdraw, forзando a funзгo SelectTextDraw.
PHP код:
new SelectTimer[MAX_PLAYERS];
forward ForceSelectTextDraw(playerid,color);
public ForceSelectTextDraw(playerid,color)
SelecTextDraw(playerid,color);
public SelectTextDrawEx(playerid,color)
{
SelecTextDraw(playerid,color);
SelectTimer[playerid] = SetTimerEx("ForceSelectTextDraw",1500,true,"d",playerid);
}
public CancelSelectTextDrawEx(playerid)
{
CancelSelecTextDraw(playerid,color);
KillTimer(SelectTimer[playerid]);
}
E entгo substitua suas funзхes
CancelSelectTextDraw e
SelectTextDraw por
CancelSelectTextDrawEx e
SelectTextDrawEx respectivamente.
PS: Nгo testei e nгo sei como isso vai se comportar... Tentativa e erro, abraзos.
PS2: Sу use SelectTextDrawEx se um texto deve ser clicado SEMPRE, sem direito do player de pular essa escolha.
Re: Texdraw clicalvel dъvida -
Duk - 01.03.2015
Quote:
Originally Posted by arakuta
Atй onde eu saiba, ao apertar ESC vбrias vezes, o servidor pode ignorar o ESC, enquanto o cliente sempre removerб o cursor para clicar nos textos, ou deixa-los inclicбveis.
Uma possнvel soluзгo seria criar uma variбvel que determina se um player deve ou nгo estar selecionando um textdraw, e roda um timer de 1~2 segundos de intervalo para o player que deve estar selecionando um textdraw, forзando a funзгo SelectTextDraw.
PHP код:
new SelectTimer[MAX_PLAYERS];
forward ForceSelectTextDraw(playerid,color);
public ForceSelectTextDraw(playerid,color)
SelecTextDraw(playerid,color);
public SelectTextDrawEx(playerid,color)
{
SelecTextDraw(playerid,color);
SelectTimer[playerid] = SetTimerEx("ForceSelectTextDraw",1500,true,"d",playerid);
}
public CancelSelectTextDrawEx(playerid)
{
CancelSelecTextDraw(playerid,color);
KillTimer(SelectTimer[playerid]);
}
E entгo substitua suas funзхes CancelSelectTextDraw e SelectTextDraw por CancelSelectTextDrawEx e SelectTextDrawEx respectivamente.
PS: Nгo testei e nгo sei como isso vai se comportar... Tentativa e erro, abraзos.
PS2: Sу use SelectTextDrawEx se um texto deve ser clicado SEMPRE, sem direito do player de pular essa escolha.
|
O ruim й se toda vкs que eu apertar esc, irгo aparece as textdraw clicaveis.
Re: Texdraw clicalvel dъvida -
arakuta - 01.03.2015
Quote:
Originally Posted by Duk
O ruim й se toda vкs que eu apertar esc, irгo aparece as textdraw clicaveis.
|
Ao menos testou o cуdigo?
Re: Texdraw clicalvel dъvida -
Duk - 01.03.2015
Quote:
Originally Posted by arakuta
Ao menos testou o cуdigo?
|
Estou com medo de testar. Vou adpitar!
Re: Texdraw clicalvel dъvida -
ipsLuan - 01.03.2015
Quote:
Originally Posted by Duk
Estou com medo de testar. Vou adpitar!
|
Nгo precisa ter medo, apenas faзa!
Mantenha sempre um backup do source.
Re: Texdraw clicalvel dъvida -
PT - 01.03.2015
Quote:
Originally Posted by Duk
O ruim й se toda vкs que eu apertar esc, irгo aparece as textdraw clicaveis.
|
O problema o ъnico no nesse cуdigo й que o mouse a casa 1500 ms estarб a "fugir" para o centro.
Re: Texdraw clicalvel dъvida -
Duk - 01.03.2015
Fiz de outuro jeito ficou tudo ok, o problema й
pawn Код:
new Selec_Tempo[max_players];
Select_Tempo[playerid] = SetTimerEx("Aceitar_Select_Text",500,true,"d",playerid);
forward Aceitar_Select_Text(playerid);
public Aceitar_Select_Text(playerid)
{
SelectTextDraw(playerid, 0x252525FF);
return true;
}
O problema й que eu vou tem que usar sempre a mesma cor
Tem como eu colocar outra cor na funзгo mesmo estando no time?
Re: Texdraw clicalvel dъvida -
PT - 01.03.2015
Tem coloca um parametro para a cor. Ou faz um random.