11/06/2021 10:37
(Esta mensagem foi modificada pela última vez a: 11/06/2021 10:43 por LeleziiN.)
(11/06/2021 10:15)Levi.M Escreveu: Olá, estou tendo um problema bem irritante com textdraws, eu fiz um sistema para mostrar a textdraw em uma área, mas só está mostrando uma.
Código PHP:forward ShowTextDraws(playerid);
public ShowTextDraws(playerid)
{
SetTimerEx("ShowTextDraws", segundos(1), false, "i", playerid);
if(PlayerToPoint(35.0,playerid,-1003.4734,-1620.8268,76.3672))
{
Area[playerid]=1;
PlayerTextDrawSetString(playerid,ABASTECENDO[playerid],"Plantacao_de_~r~Maconha");
PlayerTextDrawShow(playerid,ABASTECENDO[playerid]);
}else{
if(Area[playerid] == 1)
{
PlayerTextDrawHide(playerid,ABASTECENDO[playerid]);
Area[playerid]=0;
}
}
if(PlayerToPoint(15.0,playerid,-2022.6522, 157.7932, 30.5547))
{
new string[128];
Area[playerid]=1;
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
Get2DZoneName(Location,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY]);
format(string,sizeof(string),"Auto_Posto_~r~%s__~b~/Abastecer",Location);
PlayerTextDrawSetString(playerid,ABASTECENDO[playerid],string);
PlayerTextDrawShow(playerid,ABASTECENDO[playerid]);
}else{
if(Area[playerid] == 1)
{
PlayerTextDrawHide(playerid,ABASTECENDO[playerid]);
Area[playerid]=0;
}
}
}
No caso só está mostrando em uma posição, e na outra não mostra, não sei oque pode ser, até coloquei verificação pra não floodar mas infelizmente não aparece, se alguém puder ajudar, agradeço.
Código PHP:if(PlayerToPoint(15.0,playerid,-2022.6522, 157.7932, 30.5547))
Mano não sei se vai ta certo, mais vc poderia fazer de outra formar.
Testa assim
Código PHP:
forward ShowTextDraws(playerid);
public ShowTextDraws(playerid)
{
SetTimerEx("ShowTextDraws", segundos(1), false, "i", playerid);
if(PlayerToPoint(35.0,playerid,-1003.4734,-1620.8268,76.3672))
{
Area[playerid]=1;
PlayerTextDrawSetString(playerid,ABASTECENDO[playerid],"Plantacao_de_~r~Maconha");
PlayerTextDrawShow(playerid,ABASTECENDO[playerid]);
}else{
if(Area[playerid] == 1)
{
PlayerTextDrawHide(playerid,ABASTECENDO[playerid]);
Area[playerid]=0;
}
}
else if(PlayerToPoint(15.0,playerid,-2022.6522, 157.7932, 30.5547))
{
new string[128];
Area[playerid]=1;
GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
Get2DZoneName(Location,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY]);
format(string,sizeof(string),"Auto_Posto_~r~%s__~b~/Abastecer",Location);
PlayerTextDrawSetString(playerid,ABASTECENDO[playerid],string);
PlayerTextDrawShow(playerid,ABASTECENDO[playerid]);
}else{
if(Area[playerid] == 1)
{
PlayerTextDrawHide(playerid,ABASTECENDO[playerid]);
Area[playerid]=0;
}
}
}
No meu uso dessa forma aqui
Código PHP:
if(X >= 349.9816 && Y >= -2089.4988 && X <= 409.1110 && Y <= -2049.2551) //Perto da roda gigante de LS
{
TextDrawSetString(TextdrawPostos[I], "~n~~y~~h~Area ~w~~h~de ~b~~h~~h~~h~Pesca ~w~~h~- ~g~~h~~h~~h~/Pescar");
TextDrawShowForPlayer(I, TextdrawPostos[I]);
AreaPesca[I] = 1;
}
else
{
AreaPesca[I] = 0;
if(PescaInProgress[I] == 1)
{
SendClientMessage(I, branco, "~ Você abandonou sua rede de pesca...");
PescaInProgress[I] = 0;
TempoPescaAtivado[I] = 0;
KillTimer(TempoPesca[I]);
}
}
//Postos
if(PlayerToPoint(9.0, I, 2201.2949,2475.2471,10.8203))
{
AreaPosto[I] = 0;
format(S, sizeof(S), "~y~~h~Posto ~w~~h~de ~b~~h~~h~~h~%s ~w~~h~- ~g~~h~~h~~h~/Abastecer~n~~p~~h~Total de Litros disponiveis: ~w~~h~%d", NomesDPostos[AreaPosto[I]][0], GasolinaDisponivel[AreaPosto[I] - 0]);
TextDrawSetString(TextdrawPostos[I], S);
TextDrawShowForPlayer(I, TextdrawPostos[I]);
format(A, sizeof(A), "%d", ((dini_Int(PostosFile(AreaPosto[I]),"Litros")), GasolinaDisponivel[AreaPosto[I] - 0]));
dini_Set(PostosFile(AreaPosto[I]), "Litros", A);
}