TextDraws muda de cor -
Alwe - 06.09.2014
Queria saber como fazer as textdraws ficar mudando de cor.
Ex:
Forum SAMP
Ai a cada 2 Segundos ela vai mudando de cor, do Vermelho vai pro azul, do azul pro amarelo e assim em diante, eu achei um
tutorial mais pra mensagem, queria saber se serve pra TextDraws e como posso fazer isso .
Re: TextDraws muda de cor -
Marlon307 - 06.09.2014
Teste ai se ficou bom.
pawn Код:
#include <a_samp>
public OnFilterScriptInit()
{
SetTimer("Mudarcor",500,1); //configure como quiser, so nao abuse
return 1;
}
new PlayerText:BarraNomeSever[MAX_PLAYERS][2];
new Cores[] =
{
0x5EB7E3AA,
0xCD6CF6F6,
0x685000F6,
0x00FF00AA,
0xFFFF00AA,
0x00FF80AA,
0xFF00FFAA,
0xFF0080AA,
0xFF8000AA,
0x008040AA,
0xC0C0C0AA,
0x00FF80AA,
0x00A854AA,
0xFF0080AA,
0x20D1DFAA,
0x03FC6CAA,
0xDC51FFAA,
0xFF00FFFF,
0x000080AA,
0xDDB322AA,
0x70FEBAAA,
0x26D98DAA,
0x33ff33AA
};
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
LoadTextsDraws(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DeleteTextDraws(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
PlayerTextDrawShow(playerid,BarraNomeSever[playerid][0]);
PlayerTextDrawShow(playerid,BarraNomeSever[playerid][1]);
return 1;
}
stock DeleteTextDraws(playerid)
{
PlayerTextDrawHide(playerid, BarraNomeSever[playerid][0]);
PlayerTextDrawHide(playerid, BarraNomeSever[playerid][1]);
return 1;
}
stock LoadTextsDraws(playerid)
{
// Nome do sever
BarraNomeSever[playerid][0] = CreatePlayerTextDraw(playerid, 0.0, 436, "~n~");
PlayerTextDrawUseBox(playerid,BarraNomeSever[playerid][0],true);
PlayerTextDrawBoxColor(playerid,BarraNomeSever[playerid][0],0x000000AA);
PlayerTextDrawBackgroundColor(playerid,BarraNomeSever[playerid][0],30);
BarraNomeSever[playerid][1] = CreatePlayerTextDraw(playerid, 319.000000,436.000000, "Nome do sever");
PlayerTextDrawFont(playerid,BarraNomeSever[playerid][1],1);
PlayerTextDrawSetOutline(playerid,BarraNomeSever[playerid][1],1);
PlayerTextDrawAlignment(playerid,BarraNomeSever[playerid][1],2);
return 1;
}
forward Mudarcor();
public Mudarcor()
{
new i;
new random2 = random(sizeof(Cores));
PlayerTextDrawColor(i,BarraNomeSever[i][1], Cores[random2]);
PlayerTextDrawShow(i,BarraNomeSever[i][1]);
return 1;
}
Re: TextDraws muda de cor -
Bruno13 - 07.09.2014
Faзa o uso de um timer, juntamente a uma lista de cores armazenadas em uma variбvel, e quando o timer for chamado, alterarб a cor da TextDraw consecutivamente.
Exemplo:
pawn Код:
new Text:TextDraw;
new Cor;
forward Alterarcolor();
new corestxd[2] =
{
Cor1,
Cor2
};
public OnGameModeInit()
{
TextDraw = TextDrawCreate(240.0,580.0,"Welcome to my SA-MP server");
TextDrawColor(TextDraw, 0x000000FF);
SetTimer("Alterarcolor", 1000, true);
return 1;
}
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid, TextDraw);
return 1;
}
public Alterarcolor()
{
if(Cor > sizeof(corestxd)) Cor = 0;
TextDrawColor(TextDraw, corestxd[cor]);
Cor++;
}
Espero ter ajudado
Re: TextDraws muda de cor -
Alwe - 07.09.2014
@EDIT
Marlon e
Bruno
Valeu, usei os 2 como base(Principalmente do Marlon) E consegui fazer. Muito obrigado !