13/04/2022 13:50
(Esta mensagem foi modificada pela última vez a: 13/04/2022 15:06 por Mateus Lima.)
Olá! Algumas pessoas me perguntam como fiz a include [XP.inc], é bem simples fazer um movimento em uma box
caso ainda não tenho vistam é include é baseada no sistema de level nativo do jogo Grand Theft Auto V, no caso a locomoção dessa include é "estática" só é alterada com o chamado da função.
Primeiramente precisamos da textdraw para tirarmos o cálculos rs, pegarei uma qualquer como base.
como todos nós sabemos (ou a maioria), a base gira em torno da criação ou seja CreatePlayerTextDraw, não importa como você queira que ela se mexa sempre será a mesma logica. Voltando ao assunto pegaremos a nossa base, como eu quero que ela se mexa para os lados pegarei a coordenada X.
Espera um pouco.. você não sabe qual base pegar ? lhe amostrarei um exemplo!
CreatePlayerTextDraw(playerid, 563.932861, 294.544342, "_");
Voltando ao assunto, pegarei a base X da textdraw e diminuirei pela coordenada de termino assim recebendo a base, não sabe qual é? bem amigos é a textsize, vou te dar um exemplo mais simples possível
Começo ( C ) = 563.932861
Termino ( T ) = 626.000000
Base ( B ) = 0.63 Esse valor é a subtração entre C e T
de forma alguma a base pode ser negativa, o valor tem que ser absoluto basta diminuir pelo numero maior primeiro. antes de tudo caso sua base seja maior que 100 basta dividir por 100, por exemplo: 403 - 241 = (162 / 100 = 1.62) enfim para para mexer sua barra de carregamento basta fazer isso.
X + (variavel*base)
caso ainda não tenho vistam é include é baseada no sistema de level nativo do jogo Grand Theft Auto V, no caso a locomoção dessa include é "estática" só é alterada com o chamado da função.
Primeiramente precisamos da textdraw para tirarmos o cálculos rs, pegarei uma qualquer como base.
Código:
teste[playerid] = CreatePlayerTextDraw(playerid, 563.932861, 294.544342, "_");
PlayerTextDrawLetterSize(playerid, teste[playerid], 0.000000, 0.246213);
PlayerTextDrawTextSize(playerid, teste[playerid], 626.000000, 0.000000);
PlayerTextDrawAlignment(playerid, teste[playerid], 1);
PlayerTextDrawColor(playerid, teste[playerid], -1);
PlayerTextDrawUseBox(playerid, teste[playerid], 1);
PlayerTextDrawBoxColor(playerid, teste[playerid], 255);
PlayerTextDrawSetShadow(playerid, teste[playerid], 0);
PlayerTextDrawSetOutline(playerid, teste[playerid], 0);
PlayerTextDrawBackgroundColor(playerid, teste[playerid], 255);
PlayerTextDrawFont(playerid, teste[playerid], 1);
PlayerTextDrawSetProportional(playerid, teste[playerid], 1);
PlayerTextDrawSetShadow(playerid, teste[playerid], 0);
como todos nós sabemos (ou a maioria), a base gira em torno da criação ou seja CreatePlayerTextDraw, não importa como você queira que ela se mexa sempre será a mesma logica. Voltando ao assunto pegaremos a nossa base, como eu quero que ela se mexa para os lados pegarei a coordenada X.
Espera um pouco.. você não sabe qual base pegar ? lhe amostrarei um exemplo!
CreatePlayerTextDraw(playerid, 563.932861, 294.544342, "_");
Voltando ao assunto, pegarei a base X da textdraw e diminuirei pela coordenada de termino assim recebendo a base, não sabe qual é? bem amigos é a textsize, vou te dar um exemplo mais simples possível
Começo ( C ) = 563.932861
Termino ( T ) = 626.000000
Base ( B ) = 0.63 Esse valor é a subtração entre C e T
de forma alguma a base pode ser negativa, o valor tem que ser absoluto basta diminuir pelo numero maior primeiro. antes de tudo caso sua base seja maior que 100 basta dividir por 100, por exemplo: 403 - 241 = (162 / 100 = 1.62) enfim para para mexer sua barra de carregamento basta fazer isso.
X + (variavel*base)
Não sou muito bom em dar tutoriais como podemos ver, mas ao menos tentei ajudar vocês qualquer problema me chamem no DM