PDA

Просмотр полной версии : [Вопрос] TextDrawBox



vovandolg
01.01.2016, 21:32
Проблема с боксом, суть в чём:
при заходе на сервак я поставил типо приветствие, и иногда бывает так что переменная Fon[0] не срабатывает,
остальные все последующие всегда при любых обстоятельствах срабатывают, а вот самый первый не всегда.
Вот часть кода:


new Text:Fon[12];

public OnPlayerConnect(playerid)
{
SetPVarInt(playerid, "Fon", 0);
SetTimerEx("FonGO", 1000, 0, "d", playerid);
}

public OnGameModeInit()
{
Fon[0] = TextDrawCreate(642.0, 1.0, "_");
TextDrawLetterSize(Fon[0], 0.5, 49.5);
TextDrawUseBox(Fon[0], 1);
TextDrawBoxColor(Fon[0], 0x000000AA);
TextDrawTextSize(Fon[0], -2.0, 0.0);

Fon[1] = TextDrawCreate(190.000000, 175.000000, "bla bla bla");
TextDrawColor(Fon[1], 0xB514FFFF);
TextDrawFont(Fon[1], 2);
TextDrawLetterSize(Fon[1], 0.570000, 1.799999);
тут дальше остальные текстдравы подобные Fon[1]
}

public FonGO(playerid)
{
SetPVarInt(playerid, "Fon", GetPVarInt(playerid, "Fon") + 1);
new iteration = GetPVarInt(playerid, "Fon");
switch(iteration)
{
case 1:
{
printf("> (%s[%d]) совершает 1 проход.",PlayerInfo[playerid][pNames],playerid);
TextDrawShowForPlayer(playerid, Fon[0]);
printf("> (%s[%d]) совершает 2 проход.",PlayerInfo[playerid][pNames],playerid);
}
case 2:
{
printf("> (%s[%d]) совершает 3 проход.",PlayerInfo[playerid][pNames],playerid);
TextDrawShowForPlayer(playerid, Fon[1]);
}
дальше уже не важно что идёт... принцип такой же.

Вот логи:


[19:53:45] [join] Sany_Sve has joined the server (1:95.153.134.87)
[19:53:46] > (Sany_Sve[1]) совершает 1 проход.
[19:53:46] > (Sany_Sve[1]) совершает 2 проход.
[19:53:47] > (Sany_Sve[1]) совершает 3 проход.
То есть что получается что Fon[0] как то не корректно написан или просто не появляется, и фишка в чём, иногда такое бывает и если оно случилось то до рестарта так и будет у всех, по началу играют все и всё гуд, потом непонятно из за чего Fon[0] не читается, хотя проход происходит через него!
Почему так?

vovandolg
17.01.2016, 06:58
Тему можно закрыть, проблема была в том что загружаемые текстдравы загружались через таймер который срабатывал только через 17 секунд, что получилось юзал текстдравы которые ещё не создались...:pardon: