Textdraw - Aranha - 24/06/2023
Estou usando randommsg na textdraw
Alguem sabe se esta correto este codgio?
Código: forward RandomMessagesTD();
public RandomMessagesTD()
{
new randMSG = random(sizeof(RandomMSG));
TextDrawSetString(Textdraw12, RandomMSG[randMSG]);
return 1;
}
as vezes da bug a texdraw
uso textdraw global
Código: Textdraw12 = TextDrawCreate(151.332382, 432.250030, "ramdonmsg");
TextDrawLetterSize(Textdraw12, 0.152488, 1.144999);
TextDrawAlignment(Textdraw12, 1);
TextDrawColor(Textdraw12, -1);
TextDrawSetShadow(Textdraw12, 0);
TextDrawSetOutline(Textdraw12, 0);
TextDrawBackgroundColor(Textdraw12, 51);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);
RE: Textdraw - White_Blue - 24/06/2023
A array "RandomMSG" está correta? A função "RandomMessagesTD" está sendo chamada corretamente? Pois não vejo a necessidade de encapsular isso dentro de uma função (Ao menos que seja um timer).
Se for um timer, mostre como você está executando esse timer, pois aparentemente no seu código está tudo certo.
RE: Textdraw - Aranha - 24/06/2023
Código: new RandomMSG[][] =
{
"Esta perdido pelo mapa ou esta precisando de uma carona? Chame um taxi ate voce ~> /Taxi",
"Seu veiculo quebrou? Compre um kit reparo no supermercado ou chame um mecanico ~> /Mecanico",
"Seu veiculo acabou o combustivel? Va ate um posto de gasolina e compre um Galao de 10L para abastece-lo",
"Sempre ande com alimentos, galao de combustivel e kit reparo na mochila para se previnir de incidentes"
};
SetTimer("RandomMessagesTD", 30000, true);
RE: Textdraw - White_Blue - 24/06/2023
(24/06/2023 13:31)Aranha Escreveu: Código: new RandomMSG[][] =
{
"Esta perdido pelo mapa ou esta precisando de uma carona? Chame um taxi ate voce ~> /Taxi",
"Seu veiculo quebrou? Compre um kit reparo no supermercado ou chame um mecanico ~> /Mecanico",
"Seu veiculo acabou o combustivel? Va ate um posto de gasolina e compre um Galao de 10L para abastece-lo",
"Sempre ande com alimentos, galao de combustivel e kit reparo na mochila para se previnir de incidentes"
};
SetTimer("RandomMessagesTD", 30000, true);
Troque de textdraw global para player textdraw.
Código corrigido(Testei e funcionou normalmente):
Código PHP: new PlayerText:Textdraw12[MAX_PLAYERS];
new RandomMSG[][] = { "Esta perdido pelo mapa ou esta precisando de uma carona? Chame um taxi ate voce ~> /Taxi", "Seu veiculo quebrou? Compre um kit reparo no supermercado ou chame um mecanico ~> /Mecanico", "Seu veiculo acabou o combustivel? Va ate um posto de gasolina e compre um Galao de 10L para abastece-lo", "Sempre ande com alimentos, galao de combustivel e kit reparo na mochila para se previnir de incidentes" };
public OnPlayerConnect(playerid) { LoadTextDraw(playerid); // Carrega as texdraws SetTimerEx("RandomMSGs", 30000, true, "d", playerid); // Inicia o timer return 1; }
stock LoadTextDraw(playerid) /* Vou carregar as textdraws em uma função para ficar mais organizado */ { Textdraw12[playerid] = CreatePlayerTextDraw(playerid, 151.332382, 432.250030, "ramdonmsg"); PlayerTextDrawLetterSize(playerid, Textdraw12[playerid], 0.152488, 1.144999); PlayerTextDrawAlignment(playerid, Textdraw12[playerid], 1); PlayerTextDrawColor(playerid, Textdraw12[playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw12[playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw12[playerid], 0); PlayerTextDrawBackgroundColor(playerid, Textdraw12[playerid], 51); PlayerTextDrawFont(playerid, Textdraw12[playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw12[playerid], 1); return 1; }
public OnPlayerSpawn(playerid) { PlayerTextDrawShow(playerid, Textdraw12[playerid]); return 1; }
forward RandomMSGs(playerid); public RandomMSGs(playerid) { new string[128], randomvar; randomvar = random(sizeof(RandomMSG)); format(string, sizeof(string), "%s", RandomMSG[randomvar]); TextDrawSetString(Textdraw12, string); return 1; }
RE: Textdraw - Aranha - 24/06/2023
ai sim
valeu!!!
RE: Textdraw - Aranha - 27/06/2023
estranho o erro continua
as vezes fica normal as vezes da erro
no ultimo codigo q vc colocou eu troquei
troquei esse
TextDrawSetString(Textdraw12, string);
por esse
PlayerTextDrawSetString(playerid, Textdraw12[playerid], string);
pq o textdraw nao e global
RE: Textdraw - xbruno1000x - 27/06/2023
(27/06/2023 19:58)Aranha Escreveu:
Me parece que esse erro ocorre por ter ~ na mensagem.
Tente assim:
Código: new RandomMSG[][] =
{
"Esta perdido pelo mapa ou esta precisando de uma carona? Chame um taxi ate voce -> /Taxi",
"Seu veiculo quebrou? Compre um kit reparo no supermercado ou chame um mecanico -> /Mecanico",
"Seu veiculo acabou o combustivel? Va ate um posto de gasolina e compre um Galao de 10L para abastece-lo",
"Sempre ande com alimentos, galao de combustivel e kit reparo na mochila para se previnir de incidentes"
};
RE: Textdraw - Aranha - 28/06/2023
esse era o erro mesmo bug foi resolvido
Valeu pela ajuda de vcs
RE: Textdraw - xbruno1000x - 28/06/2023
O ~ nas textdraws do samp é usado para dar comandos, como o ~n~ para pular linhas, ~r~ para o texto ficar vermelho... então quando você digita um ~ é como se estivesse abrindo chave no código, e sendo assim, ela precisa ser fechada.
Fico feliz em ter ajudado a resolver o problema!
RE: Textdraw - White_Blue - 28/06/2023
Só para complementar, você pode utilizar a função FixText para usar acentuação nas textdraws.
Código PHP: FixText(string[]) {
new szFixed[1024], iPos, iLen;
for(iLen = strlen(string); iPos < iLen; iPos ++) switch(string[iPos]) { case '%': szFixed[iPos] = 37; case '&': szFixed[iPos] = 38; case '¡': szFixed[iPos] = 64; case '°': szFixed[iPos] = 124; case 'À': szFixed[iPos] = 128; case 'Á': szFixed[iPos] = 129; case 'Â': szFixed[iPos] = 130; case 'Ä', 'Ã': szFixed[iPos] = 131; case 'Ç': szFixed[iPos] = 133; case 'È': szFixed[iPos] = 134; case 'É': szFixed[iPos] = 135; case 'Ê': szFixed[iPos] = 136; case 'Ë': szFixed[iPos] = 137; case 'Ì': szFixed[iPos] = 138; case 'Í': szFixed[iPos] = 139; case 'Î': szFixed[iPos] = 140; case 'Ï': szFixed[iPos] = 141; case 'Ò': szFixed[iPos] = 142; case 'Ó': szFixed[iPos] = 143; case 'Ô': szFixed[iPos] = 144; case 'Ö', 'Õ': szFixed[iPos] = 145; case 'Ù': szFixed[iPos] = 146; case 'Ú': szFixed[iPos] = 147; case 'Û': szFixed[iPos] = 148; case 'Ü': szFixed[iPos] = 149; case 'à': szFixed[iPos] = 151; case 'á': szFixed[iPos] = 152; case 'â': szFixed[iPos] = 153; case 'ä', 'ã': szFixed[iPos] = 154; case 'ç': szFixed[iPos] = 156; case 'è': szFixed[iPos] = 157; case 'é': szFixed[iPos] = 158; case 'ê': szFixed[iPos] = 159; case 'ë': szFixed[iPos] = 160; case 'ì': szFixed[iPos] = 161; case 'í': szFixed[iPos] = 162; case 'î': szFixed[iPos] = 163; case 'ï': szFixed[iPos] = 164; case 'ò': szFixed[iPos] = 165; case 'ó': szFixed[iPos] = 166; case 'ô': szFixed[iPos] = 167; case 'ö', 'õ': szFixed[iPos] = 168; case 'ù': szFixed[iPos] = 169; case 'ú': szFixed[iPos] = 170; case 'û': szFixed[iPos] = 171; case 'ü': szFixed[iPos] = 172; case 'Ñ': szFixed[iPos] = 173; case 'ñ': szFixed[iPos] = 174; case '¿': szFixed[iPos] = 175; case '`': szFixed[iPos] = 177; default: szFixed[iPos] = string[iPos]; }
return szFixed; }
Exemplo de uso:
Código PHP: new PlayerText:MinhaTextdraw[MAX_PLAYERS];
public OnPlayerConnect(playerid) { MinhaTextdraw[playerid] = CreatePlayerTextDraw(playerid, 320.0, 240.0, FixText("Olá, mundo!")); return 1; }
CMD:helloworld(playerid) { PlayerTextDrawShow(playerid, MinhaTextdraw[playerid]); return 1; }
FixText(string[]) {
new szFixed[1024], iPos, iLen;
for(iLen = strlen(string); iPos < iLen; iPos ++) switch(string[iPos]) { case '%': szFixed[iPos] = 37; case '&': szFixed[iPos] = 38; case '¡': szFixed[iPos] = 64; case '°': szFixed[iPos] = 124; case 'À': szFixed[iPos] = 128; case 'Á': szFixed[iPos] = 129; case 'Â': szFixed[iPos] = 130; case 'Ä', 'Ã': szFixed[iPos] = 131; case 'Ç': szFixed[iPos] = 133; case 'È': szFixed[iPos] = 134; case 'É': szFixed[iPos] = 135; case 'Ê': szFixed[iPos] = 136; case 'Ë': szFixed[iPos] = 137; case 'Ì': szFixed[iPos] = 138; case 'Í': szFixed[iPos] = 139; case 'Î': szFixed[iPos] = 140; case 'Ï': szFixed[iPos] = 141; case 'Ò': szFixed[iPos] = 142; case 'Ó': szFixed[iPos] = 143; case 'Ô': szFixed[iPos] = 144; case 'Ö', 'Õ': szFixed[iPos] = 145; case 'Ù': szFixed[iPos] = 146; case 'Ú': szFixed[iPos] = 147; case 'Û': szFixed[iPos] = 148; case 'Ü': szFixed[iPos] = 149; case 'à': szFixed[iPos] = 151; case 'á': szFixed[iPos] = 152; case 'â': szFixed[iPos] = 153; case 'ä', 'ã': szFixed[iPos] = 154; case 'ç': szFixed[iPos] = 156; case 'è': szFixed[iPos] = 157; case 'é': szFixed[iPos] = 158; case 'ê': szFixed[iPos] = 159; case 'ë': szFixed[iPos] = 160; case 'ì': szFixed[iPos] = 161; case 'í': szFixed[iPos] = 162; case 'î': szFixed[iPos] = 163; case 'ï': szFixed[iPos] = 164; case 'ò': szFixed[iPos] = 165; case 'ó': szFixed[iPos] = 166; case 'ô': szFixed[iPos] = 167; case 'ö', 'õ': szFixed[iPos] = 168; case 'ù': szFixed[iPos] = 169; case 'ú': szFixed[iPos] = 170; case 'û': szFixed[iPos] = 171; case 'ü': szFixed[iPos] = 172; case 'Ñ': szFixed[iPos] = 173; case 'ñ': szFixed[iPos] = 174; case '¿': szFixed[iPos] = 175; case '`': szFixed[iPos] = 177; default: szFixed[iPos] = string[iPos]; }
return szFixed; }
|