[Ajuda] Problemas com TextDraw
#1

Estou com alguns problemas em uns projetos que comecei no servidor, como a perseguiзгo, o jogador inicia perseguiзгo com outro usando o comando /vdp e cria uma textdraw no canto Direito inferior da tela Escrito "Perseguiзгo", e a baixo tem o tempo que a perseguiзгo dura, tem um problema nisso quando a perseguiзгo acaba a textdraw nгo some pra nenhum dos jogadores, ja tentei varias formas de tira-las. Mas nгo estou conseguindo.
PHP код:
if(strcmp(cmd"/vdp"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            if(!
IsACop(playerid))
            {
                
SendClientMessage(playeridCOLOR_GREY"   Vocк nгo й um policial!");
                return 
true;
            }
            if(
OnDuty[playerid] != 1)
            {
                
SendClientMessage(playeridCOLOR_GREY"   Vocк nгo Bateu o cartгo!");
                return 
true;
            }
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp))
            {
                
SendClientMessage(playeridCOLOR_LIGHTBLUE"Use: /vdp [id]");
                return 
true;
            }
            
giveplayerid ReturnUser(tmp);
            if(
IsPlayerConnected(giveplayerid))
            {
                if(
giveplayerid != INVALID_PLAYER_ID)
                {
                    if(
WantedPoints[giveplayerid] == 0)
                    {
                        
SendClientMessage(playeridCOLOR_LIGHTBLUE"   Este jogador nгo estб sendo procurado!");
                        return 
true;
                    }
                    if(
VozDePrisao[giveplayerid] == 1)
                    {
                        
SendClientMessage(playeridCOLOR_LIGHTBLUE"[POLICIA] O jogador ja estб sendo perseguido.");
                        return 
true;
                    }
                    if(
Abordagem[giveplayerid] == 1)
                    {
                        
SendClientMessage(playeridCOLOR_LIGHTBLUE"  O jogador ja estб sendo Abordado.");
                        return 
true;
                    }
                    new 
id strval(tmp);
                       if(!
IsPlayerConnected(id))
                       {
                     
SendClientMessage(playeridCOLOR_RED"  O ID Informado й Invalido.");
                     return 
true;
                    }
                    if(!
ProxDetectorS(9.0playeridgiveplayerid))
                    {
                        
SendClientMessage(playeridCOLOR_GREY"   O Jogador estб longe de Vocк !");
                        return 
true;
                    }
                    if(
GetDistanceBetweenPlayers(playerid,giveplayerid) < 9)
                      {
                        if(
giveplayerid == playerid) { SendClientMessage(playeridCOLOR_GREY"Vocк nгo pode dar voz de prisao em vocк mesmo."); return 1; }
                        if(
PlayerInfo[playerid][pMembro] != && PlayerInfo[playerid][pLider] != 3)
                        {
                        
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                        
GetPlayerName(playeridsendernamesizeof(sendername));
                        
format(stringsizeof(string), "*Vocк deu voz de prisao a %s."giveplayer);
                        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
format(stringsizeof(string), "[POLICIA] O Jogador %s[%d] esta sendo perseguido pelo policial %s[%d] por nгo se render."giveplayergiveplayeridsendernameplayerid);
                        
SendClientMessageToAll(COLOR_LIGHTBLUE,string);
                        
TempoPerseg[giveplayerid] = 300;
                        
TempoPerseg[playerid] = 300;
                        
AcabouPerseg SetTimerEx("VozDePrisaoo"minutos(5), 0"i"giveplayerid);
                        
TempoPersegg SetTimerEx("PrisionTime"segundos(1), 1"ii"playeridgiveplayerid);
                        
VozDePrisao[giveplayerid] = 1;
                        
Abordando[playerid] = 1;
                        
pVozdePrisao playerid;
                        
ppVozdePrisao giveplayerid;
                       }
                       else if(
GetDistanceBetweenPlayers(playerid,giveplayerid) < 9)
                       {
                        if(
PlayerInfo[playerid][pMembro] == || PlayerInfo[playerid][pLider] == 3)
                        {
                        
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                        
GetPlayerName(playeridsendernamesizeof(sendername));
                        
format(stringsizeof(string), "*Vocк deu voz de prisao a %s."giveplayer);
                        
SendClientMessage(playeridCOLOR_GREENstring);
                        
format(stringsizeof(string), "[EXERCITO] O Jogador %s[%d] esta sendo perseguido pelo militar %s[%d] por nгo se render."giveplayergiveplayeridsendernameplayerid);
                        
SendClientMessageToAll(COLOR_GREEN,string);
                        
TempoPersegg SetTimerEx("PrisionTime"segundos(1), 0"ii"playeridgiveplayerid);
                        
AcabouPerseg SetTimerEx("VozDePrisaoo"minutos(5), 0"i"giveplayerid);
                        
VozDePrisao[giveplayerid] = 1;
                        
Abordando[playerid] = 1;
                        
TempoPerseg[giveplayerid] = 300;
                        
TempoPerseg[playerid] = 300;
                        
pVozdePrisao giveplayerid;
                        }
                     }
               }
          }
       }
        return 
true;
    }
}
public 
PrisionTime(playeridgiveplayerid)
{
    if(
IsPlayerConnected(playerid))
        {
        new 
gStr[128];
        new 
d_Horas1d_Minut1d_Segun1;
        
TextDrawShowForPlayer(giveplayeridPerseg[giveplayerid]);
        
TextDrawShowForPlayer(playeridPerseg[playerid]);
        
TempoPerseg[playerid] -= 1;
        
formatSecondsTempoPerseg[playerid], d_Horas1d_Minut1d_Segun1 ); //formata pra horas, minutos e segundos.
        
if(d_Horas1 <= && d_Minut1 <= && d_Segun1 1)
        {
        
KillTimer(TempoPersegg);
        
TextDrawHideForPlayer(playerid,Perseg[playerid]);
        
TextDrawHideForPlayer(playerid,PersegTime[playerid]);
        
TextDrawHideForPlayer(giveplayerid,Perseg[playerid]);
        
TextDrawHideForPlayer(giveplayerid,PersegTime[playerid]);
        }
     else if( 
d_Horas1 <= && d_Minut1 )
     {
    
formatgStrsizeofgStr ), "%d:%d"d_Minut1d_Segun1 );
    
TextDrawSetStringPersegTime[playerid], gStr );
    }
    else if( 
d_Horas1 <= && d_Minut1 <= && d_Segun1 )
    {
    
formatgStrsizeofgStr ), "0:%d"d_Segun1);
    
TextDrawSetStringPersegTime[playerid], gStr );
    }
    
TextDrawShowForPlayerplayeridPerseg[playerid] );
    
TextDrawShowForPlayerplayeridPersegTime[playerid] );
    
TextDrawShowForPlayergiveplayeridPerseg[playerid] );
    
TextDrawShowForPlayergiveplayeridPersegTime[playerid] );
  }
}
public 
VozDePrisaoo(playerid)
{
          new 
string[128];
          
GetPlayerName(playeridsendernamesizeof(sendername));
          
format(stringsizeof(string), "[POLICIA] Por se passar 5 minutos o jogador %s[%d] nгo esta mais sendo perseguido."sendernameplayerid);
          
SendClientMessageToAll(COLOR_LIGHTBLUEstring);
          
VozDePrisao[playerid] = 0;
          
Abordando[pVozdePrisao] = 0;
          
KillTimer(AcabouPerseg);
          
KillTimer(TempoPersegg);
          
TextDrawHideForPlayer(playerid,Perseg[playerid]);
          
TextDrawHideForPlayer(playerid,PersegTime[playerid]);

Reply
#2

Pode mostrar como cria as textdraw? new Text:blablabla
Reply
#3

Tenta ver suas variбveis, faz um tempo que n mexo em pawn-samp й perdi um pouco de noзгo tbm tenta utilizar o TextDrawHideForPlayer, eu vi que vc uso ali mas n vi o codigo inteiro essa funзгo que deleta/desativa a textdraw

Tbm acho que vc falou errado ne?

quando a perseguiзгo acaba a textdraw nгo some pra nenhum dos jogadores

se a perseguiзгo vai aparecer so para o policial, creio eu ne :/ Acho que tbm tem uma funзгo assim:

PlayerTextDrawHide ou PlayerHideTextDraw tenta usar essa funзгo pq vai aparecer apenas para o player (policial)
Reply
#4

Quote:
Originally Posted by Felipealves
Посмотреть сообщение
Pode mostrar como cria as textdraw? new Text:blablabla
PHP код:
new Text:Perseg[MAX_PLAYERS];
new 
Text:PersegTime[MAX_PLAYERS];
public 
OnGameModeInit()   //sу coloquei a parte das textdraw, mas la essa parte ta tudo certo.
{
    
Perseg ] = TextDrawCreate(533.000000355.000000"Perseguicao:");
    
TextDrawBackgroundColor(Perseg], 255);
    
TextDrawFont(Perseg], 3);
    
TextDrawLetterSize(Perseg], 0.5000001.400000);
    
TextDrawColor(Perseg], 65535);
    
TextDrawSetOutline(Perseg], 1);
    
TextDrawSetProportional(Perseg], 1);
    
TextDrawSetSelectable(Perseg], 0);
    
TextDrawHideForPlayer(i,Perseg[i]);
    
PersegTime[i] = TextDrawCreate(563.000000375.000000"");
    
TextDrawBackgroundColor(PersegTime[i], 255);
    
TextDrawFont(PersegTime[i], 1);
    
TextDrawLetterSize(PersegTime[i], 0.5299991.400000);
    
TextDrawColor(PersegTime[i], 16711935);
    
TextDrawSetOutline(PersegTime[i], 1);
    
TextDrawSetProportional(PersegTime[i], 1);
    
TextDrawSetSelectable(PersegTime[i], 0);

Reply
#5

A print de como fica depois que Acaba a Perseguiзгo: http://prntscr.com/m1wjb1
Reply
#6

Jб Resolvi meu problema dps de tentar varias vezes, agradeзo a atenзгo e colaboraзгo que tiveram comigo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)