Textdraws problem....
#1

pawn Код:
forward Updater();
public Updater()
{
    foreach(new playerid:Player)
    {
        new TDString[ 100 ], Float:Hp, Float:Armour;
        TimeConvert(Count);
        Count --;

        format(TDString, 100, " HEALTH: %d ", GetPlayerHealth(playerid, Hp));
        TextDrawSetString(Textdraw3[ playerid ], TDString);
        format(TDString, 100, " ARMOUR: %d ", GetPlayerArmour(playerid, Armour));
        TextDrawSetString(Textdraw4[ playerid ], TDString);
        format(TDString, 100, " ~Y~~H~TIME LEFT: %i ", Count);
        TextDrawSetString(Textdraw0[ playerid ], TDString);
        format(TDString, 100, "~b~~h~COUNTER TERRORISTS: %i ", GetPlayersInTeamFromMaxPlayers(TEAM_TERRORISTS));
        TextDrawSetString(Textdraw2[ playerid ], TDString);
        format(TDString, 100, "~R~~H~TERRORISTS: %i ",  GetPlayersInTeamFromMaxPlayers(TEAM_TERRORISTS));
        TextDrawSetString(Textdraw1[ playerid ], TDString);

        if(Count < 0.1)
        {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                TogglePlayerControllable(i, true);
                GameTextForAll("~b~~h~Counter terrorist win!", 6000, 6);
            }
        }
    }
    return 1;
}
pawn Код:
public OnGameModeInit()
{
    SetTimer("Updater", 1000, true);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        Textdraw0[ i ] = TextDrawCreate(471.000000, 336.000000, "~Y~~H~TIME LEFT: ");
        TextDrawBackgroundColor(Textdraw0[ i ], 255);
        TextDrawFont(Textdraw0[ i ], 2);
        TextDrawLetterSize(Textdraw0[ i ], 0.370000, 1.000000);
        TextDrawColor(Textdraw0[ i ], -1);
        TextDrawSetOutline(Textdraw0[ i ], 1);
        TextDrawSetProportional(Textdraw0[ i ], 1);

        Textdraw1[ i ] = TextDrawCreate(456.000000, 349.000000, "~R~~H~TERRORISTS: ");
        TextDrawBackgroundColor(Textdraw1[ i ], 255);
        TextDrawFont(Textdraw1[ i ], 2);
        TextDrawLetterSize(Textdraw1[ i ], 0.370000, 1.000000);
        TextDrawColor(Textdraw1[ i ], -1);
        TextDrawSetOutline(Textdraw1[ i ], 1);
        TextDrawSetProportional(Textdraw1[ i ], 1);

        Textdraw2[ i ] = TextDrawCreate(381.000000, 362.000000, "~b~~h~COUNTER TERRORISTS: ");
        TextDrawBackgroundColor(Textdraw2[ i ], 255);
        TextDrawFont(Textdraw2[ i ], 2);
        TextDrawLetterSize(Textdraw2[ i ], 0.370000, 1.000000);
        TextDrawColor(Textdraw2[ i ], -1);
        TextDrawSetOutline(Textdraw2[ i ], 1);
        TextDrawSetProportional(Textdraw2[ i ], 1);

        Textdraw3[ i ] = TextDrawCreate(489.000000, 374.000000, "HEALTH: ");
        TextDrawBackgroundColor(Textdraw3[ i ], 255);
        TextDrawFont(Textdraw3[ i ], 2);
        TextDrawLetterSize(Textdraw3[ i ], 0.370000, 1.000000);
        TextDrawColor(Textdraw3[ i ], -1);
        TextDrawSetOutline(Textdraw3[ i ], 1);
        TextDrawSetProportional(Textdraw3[ i ], 1);

        Textdraw4[ i ] = TextDrawCreate(489.000000, 386.000000, "ARMOUR: ");
        TextDrawBackgroundColor(Textdraw4[ i ], 255);
        TextDrawFont(Textdraw4[ i ], 2);
        TextDrawLetterSize(Textdraw4[ i ], 0.370000, 1.000000);
        TextDrawColor(Textdraw4[ i ], -1);
        TextDrawSetOutline(Textdraw4[ i ], 1);
        TextDrawSetProportional(Textdraw4[ i ], 1);
    }
        return 1;
}
Everything compiles fine, they are just not appearing in the screen upon spawn, help?..


These textdraws ain't being shown, why is that so?...
Reply
#2

pawn Код:
OnPlayerSpawn(playerid)
{
    TextDrawShowForPlayer(...);
    return 1;
}
Try that.

Also, health and armour aren't an integer. They are a float.
Reply
#3

pawn Код:
public OnPlayerSpawn(playerid)
{
    TextDrawShowForAll( Textdraw0[ playerid ]);
    TextDrawShowForAll( Textdraw1[ playerid ]);
    TextDrawShowForAll( Textdraw2[ playerid ]);
    TextDrawShowForPlayer(playerid, Textdraw3[ playerid ]);
    TextDrawShowForPlayer(playerid, Textdraw4[ playerid ]);
return 1;
}
Got it, and also changed integer to float..., still doesn't work.. help please it's really important.
Reply
#4

Shouldn't you be using Per player textdraws? the code should look like this afterwards.
pawn Код:
new PlayerText:Textdraw0[ MAX_PLAYERS ],
new PlayerText:Textdraw1[ MAX_PLAYERS ];
new PlayerText:Textdraw2[ MAX_PLAYERS ];
new PlayerText:Textdraw3[ MAX_PLAYERS ];
new PlayerText:Textdraw4[ MAX_PLAYERS ];
//First callback
public OnGameModeInit()
{
        SetTimer("Updater", 1000, true);
        return 1;
}
//Second callback
public OnPlayerConnect(playerid)
{
    Textdraw0[ playerid ] = CreatePlayerTextDraw(playerid,471.000000, 336.000000, "~Y~~H~TIME LEFT: ");
    PlayerTextDrawBackgroundColor(playerid,Textdraw0[ playerid ], 255);
    PlayerTextDrawFont(playerid,Textdraw0[ playerid ], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw0[ playerid ], 0.370000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw0[ playerid ], -1);
    PlayerTextDrawSetOutline(playerid,Textdraw0[ playerid ], 1);
    PlayerTextDrawSetProportional(playerid,Textdraw0[ playerid ], 1);

    Textdraw1[ playerid ] = CreatePlayerTextDraw(playerid,456.000000, 349.000000, "~R~~H~TERRORISTS: ");
    PlayerTextDrawBackgroundColor(playerid,Textdraw1[ playerid ], 255);
    PlayerTextDrawFont(playerid,Textdraw1[ playerid ], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw1[ playerid ], 0.370000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw1[ playerid ], -1);
    PlayerTextDrawSetOutline(playerid,Textdraw1[ playerid ], 1);
    PlayerTextDrawSetProportional(playerid,Textdraw1[ playerid ], 1);

    Textdraw2[ playerid ] = CreatePlayerTextDraw(playerid,381.000000, 362.000000, "~b~~h~COUNTER TERRORISTS: ");
    PlayerTextDrawBackgroundColor(playerid,Textdraw2[ playerid ], 255);
    PlayerTextDrawFont(playerid,Textdraw2[ playerid ], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw2[ playerid ], 0.370000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw2[ playerid ], -1);
    PlayerTextDrawSetOutline(playerid,Textdraw2[ playerid ], 1);
    PlayerTextDrawSetProportional(playerid,Textdraw2[ playerid ], 1);

    Textdraw3[ playerid ] = CreatePlayerTextDraw(playerid,489.000000, 374.000000, "HEALTH: ");
    PlayerTextDrawBackgroundColor(playerid,Textdraw3[ playerid ], 255);
    PlayerTextDrawFont(playerid,Textdraw3[ playerid ], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw3[ playerid ], 0.370000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw3[ playerid ], -1);
    PlayerTextDrawSetOutline(playerid,Textdraw3[ playerid ], 1);
    PlayerTextDrawSetProportional(playerid,Textdraw3[ playerid ], 1);

    Textdraw4[ playerid ] = CreatePlayerTextDraw(playerid,489.000000, 386.000000, "ARMOUR: ");
    PlayerTextDrawBackgroundColor(playerid,Textdraw4[ playerid ], 255);
    PlayerTextDrawFont(playerid,Textdraw4[ playerid ], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw4[ playerid ], 0.370000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw4[ playerid ], -1);
    PlayerTextDrawSetOutline(playerid,Textdraw4[ playerid ], 1);
    PlayerTextDrawSetProportional(playerid,Textdraw4[ playerid ], 1);
    return 1;
}
forward Updater();
public Updater()
{
    foreach(new playerid:Player)
    {
        new TDString[ 100 ], Float:Hp, Float:Armour;
        TimeConvert(Count);
        Count --;

        format(TDString, 100, " HEALTH: %d ", GetPlayerHealth(playerid, Hp));
        PlayerTextDrawSetString(playerid,Textdraw3[ playerid ], TDString);
        format(TDString, 100, " ARMOUR: %d ", GetPlayerArmour(playerid, Armour));
        TextDrawSetString(playerid,Textdraw4[ playerid ], TDString);
        format(TDString, 100, " ~Y~~H~TIME LEFT: %i ", Count);
        TextDrawSetString(playerid, Textdraw0[ playerid ], TDString);
        format(TDString, 100, "~b~~h~COUNTER TERRORISTS: %i ", GetPlayersInTeamFromMaxPlayers(TEAM_TERRORISTS));
        TextDrawSetString(playerid,Textdraw2[ playerid ], TDString);
        format(TDString, 100, "~R~~H~TERRORISTS: %i ",  GetPlayersInTeamFromMaxPlayers(TEAM_TERRORISTS));
        TextDrawSetString(playerid,Textdraw1[ playerid ], TDString);
        PlayerTextDrawShow(playerid, TextDraw0);
        PlayerTextDrawShow(playerid, TextDraw1);
        PlayerTextDrawShow(playerid, TextDraw2);
        PlayerTextDrawShow(playerid, TextDraw3);
        PlayerTextDrawShow(playerid, TextDraw4);

        if(Count < 0.1)
        {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                TogglePlayerControllable(i, true);
                GameTextForAll("~b~~h~Counter terrorist win!", 6000, 6);
            }
        }
    }
    return 1;
}
Reply
#5

Yup, it's fixed.. thanks
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)