[Ajuda] Destruir textdraw
#1

Ola, tou tentando fazer um sistema para que quando o player leva dano, a tela dele fique escura, pra isso fiz uma textdraw na tela inteira! Bem, deu certo so que quando o player morre a textdraw nao desaparece! alguem ajuda pfv

Bem, eu coloquei que quando o "ppkiller" estiver = 1 vai aparecer as textdraws, entao quando ele morrer eu coloquei para voltar para 0 com isso deveria desaparecer as textdraws?

caso nao, eu tambem tentei colocar em onplayerupdate isso:

PHP код:
    if (Player[playerid][ppkiller] == 0)
    {
    
TextDrawDestroy(painkiller[playerid]);
    
TextDrawDestroy(painkiller1[playerid]);
    } 
e tambem assim:
PHP код:
   if (Player[playerid][ppkiller] == 0)
    {
    
TextDrawDestroy(painkiller[playerid]);
    
TextDrawDestroy(painkiller1[playerid]);
    } 
que eu creio que seja o jeito certo! so que esta dando esses warns:

Quote:

D:\samp037_svr_R2-1-1_win32\gamemodes\survive1.pwn(1114) : warning 213: tag mismatch
D:\samp037_svr_R2-1-1_win32\gamemodes\survive1.pwn(1115) : warning 213: tag mismatch

Reply
#2

PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
        
// Funзгo para desaparecer as Textdraw! Exemplo:
        
TextDrawShowForPlayer(playeridSuaText); //caso morrer
        
TextDrawShowForPlayer(killeridSuaText); //caso matar
    
return 1;

Depois em OnPlayerSpawn:

PHP код:
public OnPlayerSpawn(playerid)
{
        
TextDrawHideForPlayer(playeridSuaText); //desaparecer a text
    
return 1;

Caso nгo for isso fale
Reply
#3

https://sampwiki.blast.hk/wiki/TextDrawDestroy
Reply
#4

nao ta desaparecendo quando o player morre!

coloquei assim:

OnPlayerSpawn:
PHP код:
    if(Player[playerid][ppkiller] == 1)
     {
       
PlayerTextDrawShow(playeridpainkiller[playerid]); // Mostrar todos os HUDS quando da spawn
    
PlayerTextDrawShow(playeridpainkiller1[playerid]); // Mostrar todos os HUDS quando da spawn
    
}
    else
    {
    
PlayerTextDrawHide(playeridpainkiller[playerid]); // esconder os HUDS quando morrer
     
PlayerTextDrawHide(playeridpainkiller1[playerid]); // esconder os HUDS quando morre
     

OnPlayerDeath:
PHP код:
Player[playerid][ppkiller] = 0
OnplayerTakeDamage:
PHP код:
    {
    
Player[playerid][ppkiller] = 1;
       
PlayerTextDrawShow(playeridpainkiller[playerid]); // Mostrar todos os HUDS quando da spawn
    
PlayerTextDrawShow(playeridpainkiller1[playerid]); // Mostrar todos os HUDS quando da spawn
    

Reply
#5

Jб que ta a usar parametros playerid entгo й uma PlayerTextDraw!

https://sampwiki.blast.hk/wiki/PlayerTextDrawDestroy
Reply
#6

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Jб que ta a usar parametros playerid entгo й uma PlayerTextDraw!

https://sampwiki.blast.hk/wiki/PlayerTextDrawDestroy
agora nao ta aparecendo!

mas tipo, eu coloquei daquela forma e pegou, so que quando o player morre ele nao destroi/oculta a textdraw! ja com o item ele destroi/oculta a textdraw! pq tipo eu fiz para que quando um player usar um item a textdraw desapareзa ficou assim e funcionou:

OnplayerUseItem:
Quote:

if(!strcmp(ItemName,"Painkiller",true))
{
SetPlayerDrunkLevel(playerid, 0);
PlayerTextDrawHide(playerid, painkiller[playerid]); // esconder as textdraws
PlayerTextDrawHide(playerid, painkiller1[playerid]); // esconder as textdraws

ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~ n~~r~~h~Healing....",1000,3);
RemoveItem(playerid, ItemName, 1);
}

so que eu coloco a mesma coisa em OnplayerDeath e nao destroi/oculta! :/
Reply
#7

Como o Ilanz falou se vc usar o parвmetro playerid[] й Playertextdraw

Mostrar as textdraws

PHP код:
PlayerTextDrawShow(playeridpainkiller[playerid]); 
PlayerTextDrawShow(playeridpainkiller1[playerid]); 
Esconder as textdraws

PHP код:
PlayerTextDrawHide(playeridpainkiller[playerid]);  
PlayerTextDrawHide(playeridpainkiller1[playerid]); 
Destruir as textdraws

PHP код:
PlayerTextDrawDestroy(playeridpainkiller[playerid]);  
PlayerTextDrawDestroy(playeridpainkiller1[playerid]); 
Reply
#8

Bem, na verdade foi uma burrice minha, eu coloquei para o textdraw aparecer quando player leva dano, dai quando o player morre ele leva dano '-' o textdraw desaparece quando morre, mas volta no mesmo tempo por conta que o player morreu e consequentemente tomou dano! eu tenho quase certeza que й isso!

tem como eu colocar para o textdraw aparecer apenas quando o player leva uma certa quantidade de dano? ou alguma forma de resolver isso?
Reply
#9

Ss , quando vocк dб o dano existe a callback

PHP код:
public OnPlayerGiveDamage(playeriddamagedidFloatamountweaponidbodypart)
{
        
//playerid assasino atacante
        //damagedid vitima do ataque
    
return 1;

e quando vc toma dano, ao contrбrio do de cima


PHP код:
public OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart)
{
        
//playerid vitima do ataque
        //damagedid assasino atacante
    
return 1;

Reply
#10

PHP код:
new Morto[MAX_PLAYERS];


//OnPlayerDeath
Morto[playerid] = 1;
Player[playerid][ppkiller] = 0;



//OnPlayerSpawn
Morto[playerid] = 0;
if(
Player[playerid][ppkiller] == 1)
{
    
PlayerTextDrawShow(playeridpainkiller[playerid]); // Mostrar todos os HUDS quando da spawn
    
PlayerTextDrawShow(playeridpainkiller1[playerid]); // Mostrar todos os HUDS quando da spawn
}
else
{
    
PlayerTextDrawHide(playeridpainkiller[playerid]); // esconder os HUDS quando morrer
    
PlayerTextDrawHide(playeridpainkiller1[playerid]); // esconder os HUDS quando morre
}



//OnPlayerTakeDamage
if(Morto[playerid] == && Player[playerid][ppkiller] == 0)
{
    
Player[playerid][ppkiller] = 1;
       
PlayerTextDrawShow(playeridpainkiller[playerid]); // Mostrar todos os HUDS quando da spawn
    
PlayerTextDrawShow(playeridpainkiller1[playerid]); // Mostrar todos os HUDS quando da spawn

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)