Textdraw diferente no mobile - annety - 17/12/2020
Eu tenho esse textdraw de velocimetro:
Código: new Float:txdVelmaispesquerdaMOBILE = 0.000000; // PC
if(IsPlayerAndroid(playerid) == true) txdVelmaispesquerdaMOBILE = 205.000000;
new Float:txdVelmaispbaixoMOBILE = 0.000000;
if(IsPlayerAndroid(playerid) == true) txdVelmaispbaixoMOBILE = 25.000000; //
// velocimetro GTA V 4
PlayerVelocimetro[playerid] = false;
textPlayerVelocimetro[0][playerid] = CreatePlayerTextDraw(playerid,575.000000-txdVelmaispesquerdaMOBILE, 365.000000+txdVelmaispbaixoMOBILE, "Nenhum");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[0][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[0][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[0][playerid], 1);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[0][playerid], 0.330000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[0][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[0][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[0][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[0][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[0][playerid], 0);
textPlayerVelocimetro[1][playerid] = CreatePlayerTextDraw(playerid,575.000000-txdVelmaispesquerdaMOBILE, 379.000000+txdVelmaispbaixoMOBILE, "000 km/h");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[1][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[1][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[1][playerid], 2);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[1][playerid], 0.250000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[1][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[1][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[1][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[1][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[1][playerid], 0);
textPlayerVelocimetro[2][playerid] = CreatePlayerTextDraw(playerid,575.000000-txdVelmaispesquerdaMOBILE, 393.000000+txdVelmaispbaixoMOBILE, "0 LT");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[2][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[2][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[2][playerid], 2);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[2][playerid], 0.250000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[2][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[2][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[2][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[2][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[2][playerid], 0);
textPlayerVelocimetro[3][playerid] = CreatePlayerTextDraw(playerid,575.000000-txdVelmaispesquerdaMOBILE, 407.000000+txdVelmaispbaixoMOBILE, "0%");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[3][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[3][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[3][playerid], 2);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[3][playerid], 0.250000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[3][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[3][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[3][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[3][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[3][playerid], 0);
// velocimetro GTA V 7
if(IsPlayerAndroid(playerid) == true) txdVelmaispesquerdaMOBILE = 231.000000 - 26.000000; // 575-344=231 231-205=26
textVelocimetro[0][playerid] = CreatePlayerTextDraw(playerid, 344.000000-txdVelmaispesquerdaMOBILE, 358.000000+txdVelmaispbaixoMOBILE, "i");
PlayerTextDrawBackgroundColor(playerid, textVelocimetro[0][playerid], 0);
PlayerTextDrawFont(playerid,textVelocimetro[0][playerid], 2);
PlayerTextDrawLetterSize(playerid, textVelocimetro[0][playerid], 28.800073, 2.600000);
PlayerTextDrawColor(playerid, textVelocimetro[0][playerid], 80);
PlayerTextDrawSetOutline(playerid,textVelocimetro[0][playerid], 0);
PlayerTextDrawSetProportional(playerid,textVelocimetro[0][playerid], 1);
PlayerTextDrawSetShadow(playerid,textVelocimetro[0][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textVelocimetro[0][playerid], 0);
textVelocimetro[1][playerid] = CreatePlayerTextDraw(playerid, 344.000000-txdVelmaispesquerdaMOBILE, 372.000000+txdVelmaispbaixoMOBILE, "i");
PlayerTextDrawBackgroundColor(playerid, textVelocimetro[1][playerid], 0);
PlayerTextDrawFont(playerid, textVelocimetro[1][playerid], 2);
PlayerTextDrawLetterSize(playerid, textVelocimetro[1][playerid], 28.800073, 2.600000);
PlayerTextDrawColor(playerid, textVelocimetro[1][playerid], 80);
PlayerTextDrawSetOutline(playerid, textVelocimetro[1][playerid], 0);
PlayerTextDrawSetProportional(playerid,textVelocimetro[1][playerid], 1);
PlayerTextDrawSetShadow(playerid, textVelocimetro[1][playerid], 1);
PlayerTextDrawSetSelectable(playerid, textVelocimetro[1][playerid], 0);
textVelocimetro[2][playerid] = CreatePlayerTextDraw(playerid, 344.000000-txdVelmaispesquerdaMOBILE, 386.000000+txdVelmaispbaixoMOBILE, "i");
PlayerTextDrawBackgroundColor(playerid, textVelocimetro[2][playerid], 0);
PlayerTextDrawFont(playerid, textVelocimetro[2][playerid], 2);
PlayerTextDrawLetterSize(playerid, textVelocimetro[2][playerid], 28.800073, 2.600000);
PlayerTextDrawColor(playerid, textVelocimetro[2][playerid], 80);
PlayerTextDrawSetOutline(playerid, textVelocimetro[2][playerid], 0);
PlayerTextDrawSetProportional(playerid,textVelocimetro[2][playerid], 1);
PlayerTextDrawSetShadow(playerid, textVelocimetro[2][playerid], 1);
PlayerTextDrawSetSelectable(playerid, textVelocimetro[2][playerid], 0);
textVelocimetro[3][playerid] = CreatePlayerTextDraw(playerid, 344.000000-txdVelmaispesquerdaMOBILE, 400.000000+txdVelmaispbaixoMOBILE, "i");
PlayerTextDrawBackgroundColor(playerid, textVelocimetro[3][playerid], 0);
PlayerTextDrawFont(playerid, textVelocimetro[3][playerid], 2);
PlayerTextDrawLetterSize(playerid, textVelocimetro[3][playerid], 28.800073, 2.600000);
PlayerTextDrawColor(playerid, textVelocimetro[3][playerid], 80);
PlayerTextDrawSetOutline(playerid, textVelocimetro[3][playerid], 0);
PlayerTextDrawSetProportional(playerid,textVelocimetro[3][playerid], 1);
PlayerTextDrawSetShadow(playerid, textVelocimetro[3][playerid], 1);
PlayerTextDrawSetSelectable(playerid, textVelocimetro[3][playerid], 0);
textVelocimetro[4][playerid] = CreatePlayerTextDraw(playerid, 471.000000-txdVelmaispesquerdaMOBILE, 367.000000+txdVelmaispbaixoMOBILE, "Vehicle~n~~n~Speed~n~~n~Fuel~n~~n~Bodywork");
PlayerTextDrawAlignment(playerid, textVelocimetro[4][playerid], 3); // diff dos outros de cima 0,1,2,3
PlayerTextDrawBackgroundColor(playerid, textVelocimetro[4][playerid], 0);
PlayerTextDrawFont(playerid, textVelocimetro[4][playerid], 2);
PlayerTextDrawLetterSize(playerid, textVelocimetro[4][playerid], 0.210000, 0.799999);
PlayerTextDrawColor(playerid, textVelocimetro[4][playerid], -186);
PlayerTextDrawSetOutline(playerid, textVelocimetro[4][playerid], 0);
PlayerTextDrawSetProportional(playerid,textVelocimetro[4][playerid], 1);
PlayerTextDrawSetShadow(playerid, textVelocimetro[4][playerid], 1);
PlayerTextDrawSetSelectable(playerid, textVelocimetro[4][playerid], 0);
Eu queria mudar a posição do textdraw se o cara tivesse no samp android
Fiz umas posições diferentes pro (IsPlayerAndroid(playerid) == true)
Testei no PC com (IsPlayerAndroid(playerid) == false)
Ficou assim:
![[Imagem: Screenshot-from-2020-12-17-17-40-52.png]](https://i.ibb.co/M6fjJb5/Screenshot-from-2020-12-17-17-40-52.png)
Achei que tinha ficado perfeito, quando fui testar realmente no mobile votando pra true olha como ficou:
![[Imagem: Screenshot-from-2020-12-17-17-37-52.png]](https://i.ibb.co/SdkWV5D/Screenshot-from-2020-12-17-17-37-52.png)
Os textos estão numa posição legal, mas o quadrado preto embaixo não...
Pq?
RE: Textdraw diferente no mobile - guikommander2 - 18/12/2020
Eu tinha esse mesmo problema. Fiz dessa forma:
Código PHP: #define CreatePlayerTextDraw(%0,%1,%2,%3) \ PlayerTextDrawCreateEx(%0,%1,%2,%3)
new Float:PosicoesPTD[MAX_PLAYERS][PlayerText:MAX_PLAYER_TEXTDRAWS][2];
stock PlayerText:PlayerTextDrawCreateEx(playerid, Float:tdX, Float:tdY, text[]) { #undef CreatePlayerTextDraw
new PlayerText:playertextid = CreatePlayerTextDraw(playerid, tdX, tdY, text);
PosicoesPTD[playerid][PlayerText:playertextid][0] = tdX; PosicoesPTD[playerid][PlayerText:playertextid][1] = tdY;
#define CreatePlayerTextDraw(%0,%1,%2,%3) PlayerTextDrawCreateEx(%0,%1,%2,%3) return playertextid; }
if(IsPlayerAndroid(playerid)) { Loop(i, sizeof(PTDVelocimetro[])) { new PlayerText:ptd = PTDVelocimetro[playerid][i];
if(0 <= i <= 4) PlayerTextDrawSetPos(playerid, ptd, PosicoesPTD[playerid][ptd][0] + 70.0, PosicoesPTD[playerid][ptd][1]); else PlayerTextDrawSetPos(playerid, ptd, PosicoesPTD[playerid][ptd][0] - 70.0, PosicoesPTD[playerid][ptd][1]); } } else { Loop(i, sizeof(PTDVelocimetro[])) { new PlayerText:ptd = PTDVelocimetro[playerid][i]; PlayerTextDrawSetPos(playerid, ptd, PosicoesPTD[playerid][ptd][0], PosicoesPTD[playerid][ptd][1]); } }
(OBS: é só um exemplo, adapte ao seu código)
RE: Textdraw diferente no mobile - annety - 18/12/2020
(18/12/2020 08:58)guikommander2 Escreveu: Eu tinha esse mesmo problema. Fiz dessa forma:
Código PHP: #define CreatePlayerTextDraw(%0,%1,%2,%3) \ PlayerTextDrawCreateEx(%0,%1,%2,%3)
new Float:PosicoesPTD[MAX_PLAYERS][PlayerText:MAX_PLAYER_TEXTDRAWS][2];
stock PlayerText:PlayerTextDrawCreateEx(playerid, Float:tdX, Float:tdY, text[]) { #undef CreatePlayerTextDraw
new PlayerText:playertextid = CreatePlayerTextDraw(playerid, tdX, tdY, text);
PosicoesPTD[playerid][PlayerText:playertextid][0] = tdX; PosicoesPTD[playerid][PlayerText:playertextid][1] = tdY;
#define CreatePlayerTextDraw(%0,%1,%2,%3) PlayerTextDrawCreateEx(%0,%1,%2,%3) return playertextid; }
if(IsPlayerAndroid(playerid)) { Loop(i, sizeof(PTDVelocimetro[])) { new PlayerText:ptd = PTDVelocimetro[playerid][i];
if(0 <= i <= 4) PlayerTextDrawSetPos(playerid, ptd, PosicoesPTD[playerid][ptd][0] + 70.0, PosicoesPTD[playerid][ptd][1]); else PlayerTextDrawSetPos(playerid, ptd, PosicoesPTD[playerid][ptd][0] - 70.0, PosicoesPTD[playerid][ptd][1]); } } else { Loop(i, sizeof(PTDVelocimetro[])) { new PlayerText:ptd = PTDVelocimetro[playerid][i]; PlayerTextDrawSetPos(playerid, ptd, PosicoesPTD[playerid][ptd][0], PosicoesPTD[playerid][ptd][1]); } }
(OBS: é só um exemplo, adapte ao seu código)
como esse código resolve meu problema?
o triste é que todos os outros textdraws eu consegui mover certinho, só esse que tem esse fundo, alias só o fundo desse que eu não consegui mover certo
RE: Textdraw diferente no mobile - annety - 19/12/2020
eu ainda não entendi o pq as letras ficaram certa e o fundo preto não
RE: Textdraw diferente no mobile - annety - 26/12/2020
(19/12/2020 16:30)annety Escreveu: eu ainda não entendi o pq as letras ficaram certa e o fundo preto não 
upppp
RE: Textdraw diferente no mobile - annety - 29/12/2020
(19/12/2020 16:30)annety Escreveu: eu ainda não entendi o pq as letras ficaram certa e o fundo preto não 
upppp
RE: Textdraw diferente no mobile - xbruno1000x - 29/12/2020
Eu não costumo comentar em tópicos envolvendo mobile por conta de ser uma plataforma não-oficial e que nunca sabemos se é bug no source do APK ou no script, além de ser baseado em códigos vazados que não temos quase nenhum conhecimento. Porém, como ninguém se habilitou a te ajudar, irei tentar, mas não garanto nada. A primeira coisa que você pode tentar é alterar o PlayerTextDrawAlignment, ele define se a textdraw é criada da esquerda pra direita, etc. Talvez testando outro align funcione. A segunda hipótese é no source do APK, verificando se existe algum erro no arquivo .h responsável pela criação de textdraws.
RE: Textdraw diferente no mobile - annety - 30/12/2020
(29/12/2020 22:50)xbruno1000x Escreveu: Eu não costumo comentar em tópicos envolvendo mobile por conta de ser uma plataforma não-oficial e que nunca sabemos se é bug no source do APK ou no script, além de ser baseado em códigos vazados que não temos quase nenhum conhecimento. Porém, como ninguém se habilitou a te ajudar, irei tentar, mas não garanto nada. A primeira coisa que você pode tentar é alterar o PlayerTextDrawAlignment, ele define se a textdraw é criada da esquerda pra direita, etc. Talvez testando outro align funcione. A segunda hipótese é no source do APK, verificando se existe algum erro no arquivo .h responsável pela criação de textdraws.
De 3 pra quanto?
Pra mais ou pra menos?
N sei direito como isso funciona..
São só numeros inteiros aqui? Ou com . tbm?
RE: Textdraw diferente no mobile - annety - 31/12/2020
Eu ainda não entendi onde é construído esse fundo preto
RE: Textdraw diferente no mobile - annety - 31/12/2020
(30/12/2020 23:39)annety Escreveu: (29/12/2020 22:50)xbruno1000x Escreveu: Eu não costumo comentar em tópicos envolvendo mobile por conta de ser uma plataforma não-oficial e que nunca sabemos se é bug no source do APK ou no script, além de ser baseado em códigos vazados que não temos quase nenhum conhecimento. Porém, como ninguém se habilitou a te ajudar, irei tentar, mas não garanto nada. A primeira coisa que você pode tentar é alterar o PlayerTextDrawAlignment, ele define se a textdraw é criada da esquerda pra direita, etc. Talvez testando outro align funcione. A segunda hipótese é no source do APK, verificando se existe algum erro no arquivo .h responsável pela criação de textdraws.
De 3 pra quanto?
Pra mais ou pra menos?
N sei direito como isso funciona..
São só numeros inteiros aqui? Ou com . tbm?
Editei a msg
|