Como remover essa textdraw - LeleziiN - 23/12/2020
Bom fiz essa TextDraw para marca a distancia da pessoa para o Objeto, certo até tudo bem, mais queria saber como faço para remover essa TextDraw quando a pessoa sair da zona aonde a TextDraw se ativa com o comando.
Código: DistanceTD[playerid] = CreatePlayerTextDraw(playerid, 87.333358, 317.573242, "Distanta_xxxM");
PlayerTextDrawLetterSize(playerid, DistanceTD[playerid], 0.363428, 1.297067);
PlayerTextDrawTextSize(playerid, DistanceTD[playerid], 0.000000, 111.000000);
PlayerTextDrawAlignment(playerid, DistanceTD[playerid], 2);
PlayerTextDrawColor(playerid, DistanceTD[playerid], -1);
PlayerTextDrawUseBox(playerid, DistanceTD[playerid], 1);
PlayerTextDrawBoxColor(playerid, DistanceTD[playerid], 112);
PlayerTextDrawSetShadow(playerid, DistanceTD[playerid], 0);
PlayerTextDrawSetOutline(playerid, DistanceTD[playerid], 1);
PlayerTextDrawBackgroundColor(playerid, DistanceTD[playerid], 189);
PlayerTextDrawFont(playerid, DistanceTD[playerid], 1);
PlayerTextDrawSetProportional(playerid, DistanceTD[playerid], 1);
PlayerTextDrawSetShadow(playerid, DistanceTD[playerid], 0);
RE: Como remover essa textdraw - LeleziiN - 23/12/2020
Bom já tentei de varias formas e sem êxito na formula.
RE: Como remover essa textdraw - Gustavo P - 23/12/2020
Não entendi muito bem, mas pelo que eu entendi, você vai ter que criar uma variavel global
new Float:pos[3][MAX_PLAYERS]
quando o cara dar o cmd e criar o textdraw, voce salva os valores
GetPlayerPos(playerid, Float:x, Float:y, Float:z)
pos[0][playerid] = Float:x;
depois criar uma função e um timer
SetTimerEx("ChecarArea", 1000, true, "d", playerid);
ChecarArea(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid, Float:range,pos[0][playerid], pos[1][playerid], pos[2][playerid]))
return PlayerTextDrawHide(playerid, PlayerText:text);
}
RE: Como remover essa textdraw - LeleziiN - 23/12/2020
(23/12/2020 18:55)Gustavo P Escreveu: Não entendi muito bem, mas pelo que eu entendi, você vai ter que criar uma variavel global
new Float:pos[3][MAX_PLAYERS]
quando o cara dar o cmd e criar o textdraw, voce salva os valores
GetPlayerPos(playerid, Float:x, Float:y, Float:z)
pos[0][playerid] = Float:x;
depois criar uma função e um timer
SetTimerEx("ChecarArea", 1000, true, "d", playerid);
ChecarArea(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid, Float:range,pos[0][playerid], pos[1][playerid], pos[2][playerid]))
return PlayerTextDrawHide(playerid, PlayerText:text);
Assim amigo essa TextDraw é de uma profissão que criei, ai ela é para ajuda o jogador saber a distancia que ele está no objeto que tem que fazer a dinamica da profissão, mais não estou sabendo tirar ela quando o jogador sair da área exata da profissão.
RE: Como remover essa textdraw - LeleziiN - 29/12/2020
Podem mim ajuda pfvr?
RE: Como remover essa textdraw - NelsonC. - 30/12/2020
Vou estar deixando um código que fiz no meu gm antigo.
Código: forward localcarregamento();
public localcarregamento() {
foreach(new i: Player) {
if(PlayerToPoint(i, 30.0, 1788.0253,-2066.2034,13.5825)) { // Transportador de Mercadoria
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, 226.4612,1407.4763,10.5859)) { // Transportador de Combustivel
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, 2003.2245,-2606.1133,13.5469)) { // Piloto
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, -1111.2908,-1208.2714,129.2259)) {
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento"); // Transportador de Feno
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
}
SetTimer("CheckAreasServer", 1000, false);
return true;
}
OnGameModeInit:
Código: SetTimer("localcarregamento", 800, true);
Código: stock PlayerToPoint(playerid, Float:radi, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))){
return true;
}
}
return 0;
}
RE: Como remover essa textdraw - Pedro Gabriel Samp - 30/12/2020
(30/12/2020 15:57)NelsonC. Escreveu: Vou estar deixando um código que fiz no meu gm antigo.
Código: forward localcarregamento();
public localcarregamento() {
foreach(new i: Player) {
if(PlayerToPoint(i, 30.0, 1788.0253,-2066.2034,13.5825)) { // Transportador de Mercadoria
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, 226.4612,1407.4763,10.5859)) { // Transportador de Combustivel
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, 2003.2245,-2606.1133,13.5469)) { // Piloto
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, -1111.2908,-1208.2714,129.2259)) {
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento"); // Transportador de Feno
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
}
SetTimer("CheckAreasServer", 1000, false);
return true;
}
OnGameModeInit:
Código: SetTimer("localcarregamento", 800, true);
Código: stock PlayerToPoint(playerid, Float:radi, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))){
return true;
}
}
return 0;
}
Mano nmrl tu e foda toda hora ajudando os cara queria ser igual você soque não entendo muito de script
RE: Como remover essa textdraw - LeleziiN - 30/12/2020
(30/12/2020 15:57)NelsonC. Escreveu: Vou estar deixando um código que fiz no meu gm antigo.
Código: forward localcarregamento();
public localcarregamento() {
foreach(new i: Player) {
if(PlayerToPoint(i, 30.0, 1788.0253,-2066.2034,13.5825)) { // Transportador de Mercadoria
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, 226.4612,1407.4763,10.5859)) { // Transportador de Combustivel
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, 2003.2245,-2606.1133,13.5469)) { // Piloto
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento");
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
if(PlayerToPoint(i, 30.0, -1111.2908,-1208.2714,129.2259)) {
TextDrawSetString(TextCarregamento, "~b~~h~~h~Area de Carregamento"); // Transportador de Feno
TextDrawShowForPlayer(i, TextCarregamento);
HideVelo[i] = 1;
} else {
TextDrawHideForPlayer(i, TextCarregamento);
HideVelo[i] = 0;
}
}
SetTimer("CheckAreasServer", 1000, false);
return true;
}
OnGameModeInit:
Código: SetTimer("localcarregamento", 800, true);
Código: stock PlayerToPoint(playerid, Float:radi, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))){
return true;
}
}
return 0;
}
Blz mano vou pega seu exemplo pra fazer o meu aqui e resolver o meu problema ok
|