Инвестигируйте паблик OnPlayerConnect, и покажите всё, что связано в этом паблике с этими текстдравами.
Инвестигируйте паблик OnPlayerConnect, и покажите всё, что связано в этом паблике с этими текстдравами.
Последний раз редактировалось L0ndl3m; 23.07.2014 в 14:48.
Вот текстдравы в паблике OnPlayerConnect():
- - - Добавлено - - -PHP код:
Textdraw8 = TextDrawCreate(191.000000, 420.000000, "Grove"); // Пропадает этот
TextDrawLetterSize(Textdraw8, 0.500000, 1.000000);
TextDrawAlignment(Textdraw8, 0);
TextDrawColor(Textdraw8, 10027263);
TextDrawSetShadow(Textdraw8, 1);
TextDrawSetOutline(Textdraw8, 1);
TextDrawBackgroundColor(Textdraw8, 255);
TextDrawFont(Textdraw8, 1);
TextDrawSetProportional(Textdraw8, 1);
Textdraw9 = TextDrawCreate(246.000000, 420.000000, "Vagos"); // Пропадает этот
TextDrawLetterSize(Textdraw9, 0.500000, 1.000000);
TextDrawAlignment(Textdraw9, 0);
TextDrawColor(Textdraw9, -3342081);
TextDrawSetShadow(Textdraw9, 1);
TextDrawSetOutline(Textdraw9, 1);
TextDrawBackgroundColor(Textdraw9, 255);
TextDrawFont(Textdraw9, 1);
TextDrawSetProportional(Textdraw9, 1);
Textdraw10 = TextDrawCreate(301.000000, 420.000000, "Ballas"); // Пропадает этот
TextDrawLetterSize(Textdraw10, 0.500000, 1.000000);
TextDrawAlignment(Textdraw10, 0);
TextDrawColor(Textdraw10, -872349697);
TextDrawSetShadow(Textdraw10, 1);
TextDrawSetOutline(Textdraw10, 1);
TextDrawBackgroundColor(Textdraw10, 255);
TextDrawFont(Textdraw10, 1);
TextDrawSetProportional(Textdraw10, 1);
Textdraw11 = TextDrawCreate(352.000000, 420.000000, "Aztecas"); // Пропадает этот
TextDrawLetterSize(Textdraw11, 0.500000, 1.000000);
TextDrawAlignment(Textdraw11, 0);
TextDrawColor(Textdraw11, 16777215);
TextDrawSetShadow(Textdraw11, 1);
TextDrawSetOutline(Textdraw11, 1);
TextDrawBackgroundColor(Textdraw11, 255);
TextDrawFont(Textdraw11, 1);
TextDrawSetProportional(Textdraw11, 1);
Textdraw12 = TextDrawCreate(418.000000, 420.000000, "Rifa"); // Пропадает этот
TextDrawLetterSize(Textdraw12, 0.500000, 1.000000);
TextDrawAlignment(Textdraw12, 0);
TextDrawColor(Textdraw12, 1718026239);
TextDrawSetShadow(Textdraw12, 1);
TextDrawSetOutline(Textdraw12, 1);
TextDrawBackgroundColor(Textdraw12, 255);
TextDrawFont(Textdraw12, 1);
TextDrawSetProportional(Textdraw12, 1);
Textdraw13_17[playerid][0] = CreatePlayerTextDraw(playerid,211.000000, 432.000000, "0"); // остается
PlayerTextDrawLetterSize(playerid,Textdraw13_17[playerid][0], 0.500000, 1.000000);
Textdraw13_17[playerid][1] = CreatePlayerTextDraw(playerid,267.000000, 432.000000, "0"); // остается
PlayerTextDrawLetterSize(playerid,Textdraw13_17[playerid][1], 0.500000, 1.000000);
Textdraw13_17[playerid][2] = CreatePlayerTextDraw(playerid,320.000000, 432.000000, "0"); // остается
PlayerTextDrawLetterSize(playerid,Textdraw13_17[playerid][2], 0.500000, 1.000000);
Textdraw13_17[playerid][3] = CreatePlayerTextDraw(playerid,378.000000, 432.000000, "0"); // остается
PlayerTextDrawLetterSize(playerid,Textdraw13_17[playerid][3], 0.500000, 1.000000);
Textdraw13_17[playerid][4] = CreatePlayerTextDraw(playerid,427.000000, 432.000000, "0"); //остается
PlayerTextDrawLetterSize(playerid,Textdraw13_17[playerid][4], 0.500000, 1.000000);
for(new twix; twix < 0; twix++)
{
PlayerTextDrawAlignment(playerid,Textdraw13_17[playerid][twix], 0);
PlayerTextDrawColor(playerid,Textdraw13_17[playerid][twix], -6749953);
PlayerTextDrawSetShadow(playerid,Textdraw13_17[playerid][twix], 1);
PlayerTextDrawSetOutline(playerid,Textdraw13_17[playerid][twix], 1);
PlayerTextDrawBackgroundColor(playerid,Textdraw13_17[playerid][twix], 255);
PlayerTextDrawFont(playerid,Textdraw13_17[playerid][twix], 1);
PlayerTextDrawSetProportional(playerid,Textdraw13_17[playerid][twix], 1);
}
/* ÑÒÀÒÈÑÒÈÊÀ */
Textdraw18 = TextDrawCreate(27.000000, 174.000000, "MY STATS");// Пропадает этот
TextDrawLetterSize(Textdraw18, 0.433133, 1.611666);
TextDrawAlignment(Textdraw18, 1);
TextDrawColor(Textdraw18, -748417793);
TextDrawSetShadow(Textdraw18, 1);
TextDrawSetOutline(Textdraw18, 1);
TextDrawBackgroundColor(Textdraw18, 255);
TextDrawFont(Textdraw18, 1);
TextDrawSetProportional(Textdraw18, 1);
Textdraw19 = TextDrawCreate(27.000000, 186.000000, "Kills"); // Пропадает этот
TextDrawLetterSize(Textdraw19, 0.433133, 1.611666);
TextDrawAlignment(Textdraw19, 1);
TextDrawColor(Textdraw19, -1718252289);
TextDrawSetShadow(Textdraw19, 1);
TextDrawSetOutline(Textdraw19, 1);
TextDrawBackgroundColor(Textdraw19, 255);
TextDrawFont(Textdraw19, 1);
TextDrawSetProportional(Textdraw19, 1);
Textdraw20 = TextDrawCreate(27.000000, 198.000000, "Deaths"); // Пропадает этот
TextDrawLetterSize(Textdraw20, 0.433133, 1.611666);
TextDrawAlignment(Textdraw20, 1);
TextDrawColor(Textdraw20, -1718252289);
TextDrawSetShadow(Textdraw20, 1);
TextDrawSetOutline(Textdraw20, 1);
TextDrawBackgroundColor(Textdraw20, 255);
TextDrawFont(Textdraw20, 1);
TextDrawSetProportional(Textdraw20, 1);
Может проблема в OnPlayerDisconnect?
PHP код:
TextDrawDestroy
Не понял смысла куска вашего кода:
Здесь будет выполняться цикл 1 раз, нет смысла от него:PHP код:
for(new twix; twix < 0; twix++)
{
PlayerTextDrawAlignment(playerid,Textdraw13_17[playerid][twix], 0);
PlayerTextDrawColor(playerid,Textdraw13_17[playerid][twix], -6749953);
PlayerTextDrawSetShadow(playerid,Textdraw13_17[playerid][twix], 1);
PlayerTextDrawSetOutline(playerid,Textdraw13_17[playerid][twix], 1);
PlayerTextDrawBackgroundColor(playerid,Textdraw13_17[playerid][twix], 255);
PlayerTextDrawFont(playerid,Textdraw13_17[playerid][twix], 1);
PlayerTextDrawSetProportional(playerid,Textdraw13_17[playerid][twix], 1);
}
А вы разве удаляете PlayerTextDraw с помощью функции TextDrawDestroy? Покажите паблик OnPlayerDisconnect.PHP код:
PlayerTextDrawAlignment(playerid, Textdraw13_17[playerid][0], 0);
PlayerTextDrawColor(playerid, Textdraw13_17[playerid][0], -6749953);
PlayerTextDrawSetShadow(playerid, Textdraw13_17[playerid][0], 1);
PlayerTextDrawSetOutline(playerid, Textdraw13_17[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw13_17[playerid][0], 255);
PlayerTextDrawFont(playerid, Textdraw13_17[playerid][0], 1);
PlayerTextDrawSetProportional(playerid, Textdraw13_17[playerid][0], 1);
Последний раз редактировалось L0ndl3m; 23.07.2014 в 15:05.
Конечно нет! Дело в том что текстдравы созданы PlayerTextDraw остаются, остальные пропадают...
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
ResetCarInfo(playerid);
Save_Player(playerid);
GUNVIRT[playerid] = 0;
GUNINIT[playerid] = 0;
KillTimer(count1[playerid]);
Hentum1[playerid] = 0;
if(pStats[playerid][pMember] == 1)
{
GroovePl -=1;
}
if(pStats[playerid][pMember] == 2)
{
VagosPl -=1;
}
if(pStats[playerid][pMember] == 3)
{
BallasPl -=1;
}
if(pStats[playerid][pMember] == 4)
{
AztecasPl -=1;
}
if(pStats[playerid][pMember] == 5)
{
RifaPl -=1;
}
/*Online áàíä*/
switch(gangnumber)
{
case 1: band_online[GANG_GROVE]--;
case 2: band_online[GANG_VAGOS]--;
case 3: band_online[GANG_BALLAS]--;
case 4: band_online[GANG_AZTECAS]--;
case 5: band_online[GANG_RIFA]--;
}
/*Online áàíä*/
IsConnected{playerid} = 0;
if(BattleZone == 1)
{
TextDrawDestroy(BandaCapt1a[playerid]);
TextDrawDestroy(BandaCapt2a[playerid]);
TextDrawDestroy(ScoreCapt1a[playerid]);
TextDrawDestroy(ScoreCapt2a[playerid]);
TextDrawDestroy(CaptTime[playerid]);
TextDrawDestroy(Textdraw0[playerid]);
TextDrawDestroy(Textdraw4[playerid]);
}
TextDrawDestroy(Textdraw5);
TextDrawDestroy(Textdraw6);
TextDrawDestroy(Textdraw7);
TextDrawDestroy(Textdraw8);//Grove online
TextDrawDestroy(Textdraw9);//Vagos online
TextDrawDestroy(Textdraw10);//Ballas online
TextDrawDestroy(Textdraw11);//Aztecas online
TextDrawDestroy(Textdraw12);//Rifa online
TextDrawDestroy(Textdraw18);//Stat
TextDrawDestroy(Textdraw19);//Kills
TextDrawDestroy(Textdraw20);//Deaths
gPlayerLogged[playerid] = 0;
pStats[playerid][pLoginTime] = 0;
new string[256];
gActivePlayers[playerid]--;
numplayers--;
SaveGZ();
SendDeathMessage(INVALID_PLAYER_ID,playerid,201);
if(GetPVarInt(playerid, "Kick") != 0) KillTimer(GetPVarInt(playerid, "Kick"));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerState(i) == PLAYER_STATE_SPECTATING && Spectate[i] == playerid)
{
StopSpectate(i);
format(string, sizeof(string), "~r~PLAYER DISCONNECT");
GameTextForPlayer(i, string, 5000, 3);
TeleportTimer(playerid);
}
}
return true;
}
Что-то я не увидел удаления текстдравов при выходе игрока ( удалять надо, потому что в OnPlayerConnect заново создаются ):
Кстати цикл в том случае нужен был, но там всего лишь для 1 текстдрава выполнялось. Замените:PHP код:
PlayerTextDrawDestroy(playerid, Textdraw13_17[playerid][0]);
PlayerTextDrawDestroy(playerid, Textdraw13_17[playerid][1]);
PlayerTextDrawDestroy(playerid, Textdraw13_17[playerid][2]);
PlayerTextDrawDestroy(playerid, Textdraw13_17[playerid][3]);
PlayerTextDrawDestroy(playerid, Textdraw13_17[playerid][4]);
PHP код:
for(new twix; twix < 5; twix++)
{
PlayerTextDrawAlignment(playerid, Textdraw13_17[playerid][twix], 0);
PlayerTextDrawColor(playerid, Textdraw13_17[playerid][twix], -6749953);
PlayerTextDrawSetShadow(playerid, Textdraw13_17[playerid][twix], 1);
PlayerTextDrawSetOutline(playerid, Textdraw13_17[playerid][twix], 1);
PlayerTextDrawBackgroundColor(playerid, Textdraw13_17[playerid][twix], 255);
PlayerTextDrawFont(playerid, Textdraw13_17[playerid][twix], 1);
PlayerTextDrawSetProportional(playerid, Textdraw13_17[playerid][twix], 1);
}
Вы пробовали всё это же проделать с новым кодом?
lonin (23.07.2014)
Все равно слетают текста все кроме PlayerTextDraw![]()
Все текстдравы, которые созданы с помощью функции TextDrawCreate и расположенные в паблике OnPlayerConnect засуньте в паблик OnGameModeInit. И никогда их не уничтожайте с помощью функции TextDrawDestroy. В паблике OnPlayerConnect используйте функцию TextDrawShowForPlayer для показа текстдрава, а в OnPlayerDisconnect используйте функцию TextDrawHideForPlayer для скрытия текстдрава для игрока.
lonin (23.07.2014)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)