Ошибка Удаления таймера

K1NG

Меня держат насильно, помогите
Сообщения
287
Реакции
184
Приветствую. Столкнулся с проблемой у таймеров.
Сама ошибка
C-подобный:
L 08/14/2018 - 17:42:14: [SM] Exception reported: Invalid timer handle a6fe13e8 (error 1)
L 08/14/2018 - 17:42:14: [SM] Blaming: Plugin.smx
L 08/14/2018 - 17:42:14: [SM] Call stack trace:
L 08/14/2018 - 17:42:14: [SM] [0] KillTimer
L 08/14/2018 - 17:42:14: [SM] [1] Line 189, Plugin.sp::SetModel
L 08/14/2018 - 17:42:14: [SM] [2] Line 113, Plugin.sp::Event_PlayerSpawn

Что сделано, сам плагин не очень большой, но попытаюсь кратко

Объявил глобальную переменную

C-подобный:
Handle g_hTimer[MAXPLAYERS+1];

Потом через команду вызвал функцию с созданием таймера
C-подобный:
stock void SetModel(int client, bool b_Good)
{
    if (b_Good)
    {
//убрал лишние строки с установкой моделей
        g_hTimer[client] = CreateTimer(15.0, Timer_Model, client);
   }
   else
   {
//убрал лишние строки с удалением моделей

        if(g_hTimer[client])
        {
           KillTimer(g_hTimer[client]);
            g_hTimer[client] = null;
        }
   }
}
Сам таймер
C-подобный:
public Action Timer_Model(Handle hTimer, any client)
{
    if(client && IsClientInGame(client))
    {
        CGOPrintToChat(client,"[{RED}Модели{DEFAULT}] Время простоя истекло.");
        SetModel(client,false);
    }

    return Plugin_Stop;
}

и есть удаление при дисконекте игрока
C-подобный:
public void OnClientDisconnect( int client)
{
  if(g_hTimer[client])
   {
      KillTimer(g_hTimer[client]);
      g_hTimer[client] = null;
   }
}

Почему то ошибка вызвана не в самом таймере к чему и вопрос..
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
@GTMichael,
PHP:
public Action Timer_Model(Handle hTimer, any client)
{
    if(client && IsClientInGame(client))
    {
        CGOPrintToChat(client,"[{RED}Модели{DEFAULT}] Время простоя истекло.");
        SetModel(client,false);
    }
     g_hTimer[client] = null; // behold
    return Plugin_Stop;
}
 
Последнее редактирование:
Сверху Снизу