Hunger System - TextDraw bug.
#1

Hello, I've made an timer to update the textdraw.

The problem was.. It's updating all textdraws, instead of updating the Hunger Textdraw only..

pawn Код:
forward HungryLost();
public HungryLost() // Must be a public.
{
    for(new i; i<MAX_PLAYERS; i++) // Loop for all players
    {
       new TDstring[150];
       format(TDstring, sizeof(TDstring), "Hunger: %d %", PlayerInfo[i][pHunger]);

       new Float:Health;
       GetPlayerHealth(i, Health);
       if(!aDuty[i] && !mDuty[i])
       {
        if(PlayerInfo[i][pHunger] >= 1)
        {
        PlayerInfo[i][pHunger] --;
        TextDrawSetString(hunger[i], TDstring);
        }
        else
        {
        SetPlayerHealth(i,Health-5);
        PlayerInfo[i][pHungry] = 1;
        PlayerInfo[i][pHunger] = 0;
        TextDrawSetString(hunger[i], TDstring);
        }
       }
    }
    return 1;
}

This is the timer..

I hope somebody could help me. Thanks.
Reply
#2

Hmm?
Reply
#3

Try.

pawn Код:
forward HungryLost();
public HungryLost() // Must be a public.
{
    for(new i; i<MAX_PLAYERS; i++) // Loop for all players
    {
       new TDstring[150];
       format(TDstring, sizeof(TDstring), "Hunger: %d %", PlayerInfo[i][pHunger]);

       new Float:Health;
       GetPlayerHealth(i, Health);
       if(!aDuty[i] && !mDuty[i])
       {
        if(PlayerInfo[i][pHunger] >= 1)
        {
        PlayerInfo[i][pHunger] --;
        TextDrawSetString(PlayerInfo[i][pHunger], TDstring);
        }
        else
        {
        SetPlayerHealth(i,Health-5);
        PlayerInfo[i][pHungry] = 1;
        PlayerInfo[i][pHunger] = 0;
        TextDrawSetString(PlayerInfo[i][pHunger], TDstring);
        }
       }
    }
    return 1;
}
Reply
#4

''hunger' is the name of the textdraw
Reply
#5

Ohyea, fuck I'm dumb hahah :$

pawn Код:
forward HungryLost();
public HungryLost() // Must be a public.
{
    for(new i; i<MAX_PLAYERS; i++) // Loop for all players
    {
       new TDstring[150];
       format(TDstring, sizeof(TDstring), "Hunger: %d", hunger[i]);

       new Float:Health;
       GetPlayerHealth(i, Health);
       if(!aDuty[i] && !mDuty[i])
       {
        if(PlayerInfo[i][pHunger] >= 1)
        {
        PlayerInfo[i][pHunger] --;
        TextDrawSetString(hunger[i], TDstring);
        }
        else
        {
        SetPlayerHealth(i,Health-5);
        PlayerInfo[i][pHungry] = 1;
        PlayerInfo[i][pHunger] = 0;
        TextDrawSetString(hunger[i], TDstring);
        }
       }
    }
    return 1;
}
Reply
#6

LOL, that format doesnt need the textdrawname in it .
That PlayerInfo, is to fill up %d.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)