new Text:textdraw;
MyTextDraw(playerid, Float:TextX, Float:TextY, TextString[50], TextColor, TextOutline, TextShadow, TextFont, Float:LetterX, Float:LetterY)
{
textdraw = TextDrawCreate(TextX, TextY, TextString);
TextDrawColor(textdraw, TextColor);
TextDrawSetOutline(textdraw, TextOutline);
TextDrawSetShadow(textdraw, TextShadow);
TextDrawFont(textdraw, TextFont);
TextDrawLetterSize(textdraw, LetterX, LetterY);
TextDrawAlignment(textdraw, 2);
TextDrawShowForPlayer(playerid, textdraw);
}
public OnGameModeInit()
{
SetGameModeText("Deathmatch");
#include <Playerskins> //include of all the AddPlayerClass
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
MyTextDraw(playerid, 320, 55, "Choose Skin:", COLOR_LIGHTBLUE, 1, 0, 3, 0.7, 3.1);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
TextDrawHideForPlayer(playerid, textdraw);
return 1;
}
new Text:textdraw[MAX_PLAYERS] = {-1, ...};
MyTextDraw(playerid, Float:TextX, Float:TextY, TextString[50], TextColor, TextOutline, TextShadow, TextFont, Float:LetterX, Float:LetterY)
{
textdraw[playerid] = TextDrawCreate(TextX, TextY, TextString);
TextDrawColor(textdraw[playerid], TextColor);
TextDrawSetOutline(textdraw[playerid], TextOutline);
TextDrawSetShadow(textdraw[playerid], TextShadow);
TextDrawFont(textdraw[playerid], TextFont);
TextDrawLetterSize(textdraw[playerid], LetterX, LetterY);
TextDrawAlignment(textdraw[playerid], 2);
TextDrawShowForPlayer(playerid, textdraw[playerid]);
}
public OnPlayerRequestClass(playerid, classid)
{
if(textdraw[playerid] == -1)
MyTextDraw(playerid, 320, 55, "Choose Skin:", COLOR_LIGHTBLUE, 1, 0, 3, 0.7, 3.1);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(textdraw[playerid] != -1)
{
TextDrawHideForPlayer(playerid, textdraw[playerid]);
PlayerTextDrawDestroy(playerid, textdraw[playerid]);
textdraw[playerid] = Text:-1;
}
return 1;
}
that happens because you're creating textdraw multiple times.
you should make this var per player, reset it, check for it, destroy it.... -> PHP код:
PHP код:
PHP код:
also you can use global textdraw, make it once, show it once, hide it once... |
new Text:textdraw[MAX_PLAYERS] = {-1, ...};