Portal SAMP
[Ajuda] Remover textdraw com comando. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Remover textdraw com comando. (/showthread.php?tid=2082)



Remover textdraw com comando. - Eiffel - 09/02/2022

Boa tarde glr, estou com uma duvida gigante que talvez seja algo simples..


° Tenho um celular com tela inicial, entao ao usar o comando /celular se cria as text.
°Gostaria de que ao clicar em uma textdraw dessa tela. Abra outras text que estao no comando /menucel e que destrua a dos comandos /celular.

Exemplo.

CMD:celular(playerid, params[])
{
if(IsPlayerConnected(playerid))
{

if(PlayerInfo[playerid][pPnumber] == 0)
{
SendClientMessage(playerid, COR_GRAD2, "Voce nao tem um celular");
return 1;
}

     GetPlayerName(playerid, sendername, sizeof(sendername));
     format(stringZCMD, sizeof(stringZCMD), "* %s pega o celular e faz uma ligacao.", sendername);
     ProxDetector(30.0, playerid, stringZCMD, COR_PURPLE,COR_PURPLE,COR_PURPLE,COR_PURPLE,COR_PURPLE);
     TextDrawShowForPlayer(playerid, CelTelaBloq[0]);     
     }
}

_____________________________________________________________________________

CMD:menucel(playerid, params[])
{
if(IsPlayerConnected(playerid))
{

if(PlayerInfo[playerid][pPnumber] == 0)
{
SendClientMessage(playerid, COR_GRAD2, "Voce nao tem um celular");
return 1;
}
     TextDrawShowForPlayer(playerid, menucel[0]);
     }



_____________________________________________________________________________

Queria que ao clicar nessa textdraw TextDrawShowForPlayer(playerid, CelTelaBloq[0]); 
apareça essa no lugar TextDrawShowForPlayer(playerid, menucel[0]); e que destrua a anterior: (TextDrawShowForPlayer(playerid, CelTelaBloq[0]); )



Se alguem puder ajudar agradeço muito!!!


RE: Remover textdraw com comando. - xbruno1000x - 09/02/2022

É só usar o TextDrawHideForPlayer.

Documentação:
https://www.open.mp/docs/scripting/functions/TextDrawHideForPlayer


RE: Remover textdraw com comando. - Eiffel - 09/02/2022

(09/02/2022 20:52)xbruno1000x Escreveu: É só usar o TextDrawHideForPlayer.

Documentação:
https://www.open.mp/docs/scripting/functions/TextDrawHideForPlayer

Utilizei o TextDrawHideForPlayer, o problema é que não consegui conciliar o TextDrawHideForPlayer. (das text que quero que exclua) com o TextDrawShowForPlayer(das text que quero que apareça) para quando clicar em determinada textdraw


RE: Remover textdraw com comando. - k2bi_YT - 10/02/2022

Primeiro você deve "esconder" as textdraw que já estão aparecendo, exemplo:

São 3 Textdraws,

1°- TextDraw Principal
2°- TextDraw Menu
3°- TextDraw Informação do Menu

Entao quando o jogador digitar tal comando, ira aparecer as principais
Código PHP:
CMD:celular(playerid)
{
    
TextDrawShowForPlayer(playeriPrincipal);
    
TextDrawShowForPlayer(playeridMenu);
    return 
1;


Assim que o jogador clicar na textdraw MENU, iremos fazer ele executar um comando

Código PHP:
CMD:infomenu(playerid)
{
    
//Aqui é quando o jogador já clicou na textdraw MENU e será executado essa função
    
TextDrawHideForPlayer(playeridMenu);
    
TextDrawShowForPlayer(playeridInformacaoMenu);
    return 
1;


Assim, faremos que primeiro "desapareça" a textdraw MENU e em seguida mostre a textdraw "InformacaoMenu"



Não sei se é uma regra/causar problemas, mas gosto de trabalhar de acordo com o que vem primeiro

Se eu mostre a textdraw X Y, e ao executar uma funcao quero que apareça a textDraw Z e desapareça a textdraw Y, irei fazer a textdraw Y sumir e vir mostrando a textDraw Z, independente do que eu queira fazer... primeiro eu "escondo" a textdraw necessaria, depois venho definindo as que serão vista


Espero que tenha sanado sua duvida.