SA-MP Forums Archive
TextDraw only for player - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: TextDraw only for player (/showthread.php?tid=224787)



TextDraw only for player - BlackWolf120 - 12.02.2011

hi,

as soon as a player got less than 20% of life i want that a textdraw shows upand hides again so i get a kind of flash effect.
Well, for me it works but if there are are more players on the server its buggy.
The textdraw also shows up for other players but i dont know why cause i used settimerex and textdrawforplayer.
Some help would be great

pawn Код:
public OnPlayerUpdate(playerid)
{

    new Float:HealthLow;

    GetPlayerHealth(playerid,HealthLow);
    if(HealthLow < 20)
    {
    if(lowhactive[playerid] == 1)
    {
    SetTimerEx("LowHealthFlash1",1000,false,"i",playerid);
    lowhactive[playerid] = 0;
    }
    }
   
    else if(HealthLow > 20)
    {
    KillTimer(LHFT1);
    KillTimer(LHFT2);
    KillTimer(LHFT3);
    TextDrawHideForPlayer(playerid,wastedlh);
    lowhactive[playerid] = 1;
    }
}

forward LowHealthFlash1(playerid);
public LowHealthFlash1(playerid)
{
LHFT1 = SetTimerEx("LowHealthFlash2",500,false,"i",playerid);
TextDrawShowForPlayer(playerid,wastedlh);
}

forward LowHealthFlash2(playerid);
public LowHealthFlash2(playerid)
{
LHFT2 = SetTimerEx("LowHealthFlash3",500,false,"i",playerid);
TextDrawHideForPlayer(playerid,wastedlh);
}

forward LowHealthFlash3(playerid);
public LowHealthFlash3(playerid)
{
LHFT3 = SetTimerEx("LowHealthFlash2",500,false,"i",playerid);
TextDrawShowForPlayer(playerid,wastedlh);
}



Re: TextDraw only for player - Stigg - 12.02.2011

Show your text draw creation code.

Peace....


Re: TextDraw only for player - BlackWolf120 - 12.02.2011

pawn Код:
wastedlh = TextDrawCreate(-1.000000, 0.000000, "WASTED");
TextDrawBackgroundColor(wastedlh, 255);
TextDrawFont(wastedlh, 2);
TextDrawLetterSize(wastedlh, -0.000000, 49.699966);
TextDrawColor(wastedlh, -16776961);
TextDrawSetOutline(wastedlh, 1);
TextDrawSetProportional(wastedlh, 1);
TextDrawUseBox(wastedlh, 1);
TextDrawBoxColor(wastedlh, -8882026);
TextDrawTextSize(wastedlh, 648.000000, 11.000000);
thx for answering but what do u need the creation code for?


Re: TextDraw only for player - Stigg - 12.02.2011

Is that under OnGameModeInit() or OnPlayerConnect ?

I think your creating a global textdraw for every 1.

new HealthLow[MAX_PLAYERS];
Might help.

Peace...


Re: TextDraw only for player - BlackWolf120 - 12.02.2011

its under on game mode init.

and defined like this:

pawn Код:
new Text:wastedlh;
ill try it with
pawn Код:
new Text:wastedlh[MAX_PLAYERS];
thx but does it really make sense for my problem?


Re: TextDraw only for player - Stigg - 12.02.2011

Quote:
Originally Posted by BlackWolf120
Посмотреть сообщение
its under on game mode init.

and defined like this:

pawn Код:
new Text:wastedlh;
ill try it with
pawn Код:
new Text:wastedlh[MAX_PLAYERS];
thx but does it really make sense for my problem?
Create the TextDraw onplayerconnect.

Peace...


Re: TextDraw only for player - BlackWolf120 - 12.02.2011

sorry for asking but what does it change if i create it under OnPlayerConnect?
And shall i try your first suggestion?


Re: TextDraw only for player - Mean - 12.02.2011

You can actually use zamaroht's TextDraw editor, it really helps in these cases!