@7pElllHuK, а нафига тебе в плагине таймер? Чтобы лишние хэндлы в памяти держать?
Просто записывай в переменную текущее время плюс значение квара в секундах. А при проверке сравнивай сохранённое значение с текущим временем. И код короче и заморочек с таймерами никаких.
if (g_bEnabled[iClient] ^= true) SetClientCookie(iClient, g_hCookie, "1");
else SetClientCookie(iClient, g_hCookie, "0");
я бы заменил на вот это:
SetClientCookie(iClient, g_hCookie, (g_bEnabled[iClient] ^= true) ? "1" : "0");
А само меню с предложением покупки изменил бы с панели на меню, создавал бы при запуске плагина, а при вызове уже поправлял текст и активность кнопок (
может ещё добавил отображение цены покупки или сколько баксов нехватает). У меня много плагинов с такой реализацией менюшек, где количество пунктов и их содержимое/действие не меняется, а только меняется отображение названия пункта.