[Ajuda] TextDraw Criando Outra em cima da mesma. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] TextDraw Criando Outra em cima da mesma. (
/showthread.php?tid=542370)
TextDraw Criando Outra em cima da mesma. -
CLANdok - 18.10.2014
Estava criando uma textdraw, ..., usei 'TextDrawSetString' em uma certa text, quando eu conecto ela fica normal atualizando as areas, mais quando algum outro player conecta, buga e cria
Outra text em cima da mesma...
Cod:
pawn Код:
static
Text:Localidades[MAX_PLAYERS]
;
//OnGameModeInit
timerspeedo[i] = SetTimerEx("Speedo",500, true, "i", i);
//OnPlayerDisconnect
for(new i; i < MAX_PLAYERS;i++){
TextDrawHideForPlayer(playerid, Localidades[playerid]);
TextDrawDestroy(Localidades[playerid]);
}
//OnPlayerSpawn
for(new i; i < MAX_PLAYERS;i++){
TextDrawShowForPlayer(playerid, Localidades[playerid]);
}
//Speedo
GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
format(sstring,sizeof(sstring),"~w~%s", zone); //Sstring jб foi criada.
TextDrawSetString(Localidades[playerid], sstring);
TextDrawShowForPlayer(playerid, Localidades[playerid]);
//Stock GetPlayer2DZone
stock GetPlayer2DZone(playerid, zoneada[], len)
{
GetPlayerPos(playerid, x, y, z);
for(new i = 0; i != sizeof(gSAZones); i++ )
{
if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
{
return format(zoneada, len, gSAZones[i][SAZONE_NAME], 0);
}
}
return 0;
}
Obrigado :/
Re: TextDraw Criando Outra em cima da mesma. -
DannielCooper - 18.10.2014
Exclua esses loops ae.
--
Tenta destruir e criar denovo a text quando ele mudar de бrea.
Re: TextDraw Criando Outra em cima da mesma. -
Jimmmy - 18.10.2014
Jeito Correto Abraзo
pawn Код:
new Text:Localidades[MAX_PLAYERS];
//OnGameModeInit
SetTimer("Speedo", 500, true);
//OnPlayerDisconnect
TextDrawHideForPlayer(playerid, Localidades[playerid]);
//OnPlayerSpawn
TextDrawShowForPlayer(playerid, Localidades[playerid]);
//Speedo
public Speedo()
{
foreach(Player, i)
{
new zoneada[ MAX_ZONE_NAME ];
GetPlayer2DZone(i, zoneada, MAX_ZONE_NAME);
format(sstring,sizeof(sstring),"~w~%s", zoneada); //Sstring jб foi criada.
TextDrawSetString(Localidades[i], sstring);
TextDrawShowForPlayer(i, Localidades[i]);
}
}
//Stock GetPlayer2DZone
stock GetPlayer2DZone(playerid, zoneada[], len)
{
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0; i != sizeof(gSAZones); i++ )
{
if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
{
return format(zoneada, len, gSAZones[i][SAZONE_NAME], 0);
}
}
return 0;
}