IsPlayerInRangeOfPoint -
Welconha - 12.07.2015
Й o seguinte, quando o player passar no icone da casa irб criar uma textdraw com as informaзхes, certo ?
Exemplo:
Код:
if( IsPlayerInRangeOfPoint( playerid, 3.0, CasaInfo[ ][ x ], CasaInfo[ ][ y ], CasaInfo[ ][ z ] ))
{
/// Chama textdraw tal, ok.
{
Mas aн a textdraw fica pra sempre, jб criei uma SetTimer sу que buga, dps do timer fica piscando a textdraw, jб tentei uma
Код:
else if( !IsPlayerInRangeOfPoint( playerid, 3.0, CasaInfo[ ][ x ], CasaInfo[ ][ y ], CasaInfo[ ][ z ] ))
mas nгo funfou, alguйm sabe me dizer um jeito de destruir a textdraw dps que o player sai da tal IsPlayerInRangeOfPoint ?
OBS: Jб tentei SetTimer, sу que buga a textdraw fica criando e excluiu, piscando muito rбpido, se o player continuar no icone da casa, me ajudem to comeзando agr
Re: IsPlayerInRangeOfPoint -
ReDKiiL - 12.07.2015
Cria uma TextDraw para cada player, e quando ele entrar no range da casa vocк formata ela e mostra.
Quando ele sair vocк apenas da hide nela.
Re: IsPlayerInRangeOfPoint -
Welconha - 12.07.2015
// Funзгo que chama quando estб no icone da casa
Quote:
format( gstring, 256, "~b~Casa ID ~w~%d - ~r~/Casa Info", CasaInfo[ c ][ CasaID] );
TextDrawSetString( CasaIDInfo, gstring );
TextDrawShowForPlayer( playerid, CasaIDInfo );
SetTimer( "OcultarIDInfo", 5000, false );
|
Quote:
forward OcultarIDInfo( playerid );
public OcultarIDInfo( playerid )
{
TextDrawHideForPlayer( playerid, CasaIDInfo );
return 1;
}
|
Sу que dps que passa os 5 segs, nгo estabiliza, fica piscando rapidamente a textdraw, eu quero q estabilize, fique fixa, sу destruir quando sair do icone.
Re: IsPlayerInRangeOfPoint -
ReDKiiL - 12.07.2015
Vocк estб usando SetTimer, acho que vocк deveria usar SetTimerEx....
Re: IsPlayerInRangeOfPoint -
Welconha - 12.07.2015
Deu no mesmo, continua piscando dps do tempo =\
Код:
SetTimerEx( "OcultarIDInfo", 5000, false, "d", playerid );
Estб certo ?
Re: IsPlayerInRangeOfPoint -
ReDKiiL - 12.07.2015
Nгo sou um bom vidente, mais eu acho que vocк vai ter que colocar uma variavel para verificar se a textdraw jб estб a mostra! Eu acho que seu Timer que fica em loop esperando o player entrar no range, estб executando sempre mesmo quando jб estб aparecendo a TextDraw, e quando passa os 5seg ele mostra denovo.
Tenta colocar uma variavel para verificar se ele jб estб vendo a TextDraw e depois que passar os 5seg vocк reseta a variavel.
Re: IsPlayerInRangeOfPoint -
Welconha - 12.07.2015
Acho que й isso mesmo que vocк disse, estб executando direto a textdraw direto, atй mesmo quando ela jб estб ativa.
Tem como me dar uma exemplo de como fazer a verificaзгo ?
Re: IsPlayerInRangeOfPoint -
ReDKiiL - 12.07.2015
Vocк faz uma verificaзгo antes de mostrar a variavel! Exemplo: if(GetPVarInt(playerid,"tdshow") == 0)
Dai quando mostrar a TextDraw: SetPVarInt(playerid,"tdshow",1);
Dai quando ocultar SetPVarInt(playerid,"tdshow",0);
Re: IsPlayerInRangeOfPoint -
Welconha - 12.07.2015
Demorei pra sanar, mas entendi e consegui, muito obrigado man

Dei +REP, nгo sei se vai constar, pq nгo entendo esse sistema de reputaзгo daqui .-.'