09/08/2023 18:03
(Esta mensagem foi modificada pela última vez a: 09/08/2023 18:03 por Calasans.)
(09/08/2023 17:56)White_Blue Escreveu:(09/08/2023 17:44)MarcosBrazz Escreveu:O segundo parametro de TextDrawHideForPlayer pede uma variavel com a tag Text:, logo a variavel usada (do loop) tem que conter Text:Código PHP:for(new Text:text; Text:text < MAX_TEXT_DRAWS; Text:text ++)
TextDrawHideForPlayer(playerid, Text:text);
Não havia percebido que ele estava usando o loop para definir a variável, mas não entendo o por quê.
Qual o motivo para isso? Por que apenas não declarar uma variável global? O loop 'for' é um laço de repetição, não uma palavra-chave para definir variáveis.
Exemplo:
Código PHP:new Text:text; // Supondo que seja apenas uma textdraw, afinal, a variável do loop não é uma array. Portanto, sequer precisa usar um loop para manipular a textdraw
public OnGameModeInit() {
text = TextDrawCreate(240.0, 580.0, "Bem-vindo ao meu servidor SA-MP!");
return 1;
}
public OnPlayerConnect(playerid) {
TextDrawShowForPlayer(playerid, text);
return 1;
}
CMD:escondertextdraw(playerid) {
TextDrawHideForPlayer(playerid, text);
return 1;
}
O código acima não necessita de um loop, assim poupando processamento, pois no contexto do código que você forneceu, não faz o menor sentido usar um loop.
Esse loop remove todas as textdraws que for "Text" da tela do player.
GitHub: https://github.com/ocalasans
Community: https://abre.ai/samp-spc