Иконка ресурса

[VIP] Time VIP 2.0.2

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #1

pracc

Быть, а не казаться.
Сообщения
946
Реакции
541
Не понял суть данного модуля.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
в определенное время суток
В плагине есть недоработка - та же самая, о которой я предупреждал, когда делал нечто подобное для другого ядра VIP.
Если время на сервере изменится в большую сторону (перевод "стрелок" на час вперёд), начальное время указывается до полуночи (00:00, например, 20:00), а конечное - после (например, те же 5:00), то плагин в этот день просто не сработает.
C-подобный:
	//Текущее: 21 (21:00)  == Стартовое: 20 (20:00)
	if(iCurrentTime[HOURS] == iStartTime[HOURS])
	{
		// 21 НЕ равно 20 - проверка провалилась, продолжаем...
		if(iCurrentTime[MINUTES] > iStartTime[MINUTES])
		{
			g_bGive = true;
			return Plugin_Continue;
		}
	}

	//Текущее: 21 (21:00)  > Стартовое: 20 (20:00)
	if(iCurrentTime[HOURS] > iStartTime[HOURS])
	{
		// 21 > 20 - правда, проверка пройдена успешно.
		//Текущее: 21 (21:00)  < Конечное: 5 (5:00)
		if(iCurrentTime[HOURS] < iEndTime[HOURS])
		{
			// 21 НЕ меньше 5 - проверка провалилась.
			g_bGive = true;
			return Plugin_Continue;
		}
		// 21 НЕ равно 5 - проверка провалилась.
		else if(iCurrentTime[HOURS] == iEndTime[HOURS])
		{			
			if(iCurrentTime[MINUTES] < iStartTime[MINUTES])
			{
				g_bGive = true;
				return Plugin_Continue;
			}
		}
		// Действий нет - сбой плагина в эти сутки.
	}
Оффтоп
 

MaEStro71

Участник
Сообщения
163
Реакции
21
В выбранное вами время все игроки на сервере получают вип статус.
Ну и как? Работает? У меня на 34-й не вышло. Правда я выставлял время начала 23.15, а время окончания 23.20.
Может быть правильней было время начала 22.00, окончания 23.00?!
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #8
В плагине есть недоработка - та же самая, о которой я предупреждал, когда делал нечто подобное для другого ядра VIP.
Если время на сервере изменится в большую сторону (перевод "стрелок" на час вперёд), начальное время указывается до полуночи (00:00, например, 20:00), а конечное - после (например, те же 5:00), то плагин в этот день просто не сработает.
C-подобный:
    //Текущее: 21 (21:00)  == Стартовое: 20 (20:00)
    if(iCurrentTime[HOURS] == iStartTime[HOURS])
    {
        // 21 НЕ равно 20 - проверка провалилась, продолжаем...
        if(iCurrentTime[MINUTES] > iStartTime[MINUTES])
        {
            g_bGive = true;
            return Plugin_Continue;
        }
    }

    //Текущее: 21 (21:00)  > Стартовое: 20 (20:00)
    if(iCurrentTime[HOURS] > iStartTime[HOURS])
    {
        // 21 > 20 - правда, проверка пройдена успешно.
        //Текущее: 21 (21:00)  < Конечное: 5 (5:00)
        if(iCurrentTime[HOURS] < iEndTime[HOURS])
        {
            // 21 НЕ меньше 5 - проверка провалилась.
            g_bGive = true;
            return Plugin_Continue;
        }
        // 21 НЕ равно 5 - проверка провалилась.
        else if(iCurrentTime[HOURS] == iEndTime[HOURS])
        {          
            if(iCurrentTime[MINUTES] < iStartTime[MINUTES])
            {
                g_bGive = true;
                return Plugin_Continue;
            }
        }
        // Действий нет - сбой плагина в эти сутки.
    }
Оффтоп

Даже если так - пару раз в году это не страшно.

Ну и как? Работает? У меня на 34-й не вышло. Правда я выставлял время начала 23.15, а время окончания 23.20.
Может быть правильней было время начала 22.00, окончания 23.00?!
По окончанию времени випка не снимается, а просто перестает выдаваться и при перезаходе её уже не будет. Доработаю это
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
пару раз в году это не страшно
А если сервер запускают с таким же временем, которое больше текущего? Сразу пойдут жалобы, что есть баг. Оффтоп
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #10
А если сервер запускают с таким же временем, которое больше текущего? Сразу пойдут жалобы, что есть баг. Оффтоп
Дак какая разница, плагин работает по времени сервера. Даже если я с unix буду работать то он все ровно будет от времени сервера отталкиваться
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Указано стартовое время - 20:00. VIP-ки выдывались, но вдруг сервер упал/перезапустили. Текущее время - 22:34... Всё, никаких больше VIP-статусов, сколько не перезапускай в эти сутки.
К тому же, на серверах есть режим полного перезапуска плагинов при смене карты (OnPluginStart() выполняется каждую карту). Т.е., в таком случае, плагин вообще не будет стабильно работать по указанному времени.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #12
@AlmazON, почему?
PHP:
public OnMapStart()
{
    g_bGive = false;
   
    Timer_CheckTime(INVALID_HANDLE);

    CreateTimer(60.0, Timer_CheckTime, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}
При старте карты сразу произойдет проверка времени.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • Автор ресурса
  • #14

MaEStro71

Участник
Сообщения
163
Реакции
21
За эти 5 минут игрокам нужно перезайти - только тогда они получают VIP-статус.
Так я на себе проверял. И перезаходить пробовал, но ни чего не выдало. Попытаюсь ночью еще раз провернуть это дело.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
проверки же будут
Конечно, каждую минуту. Но ведь час от этого не уменьшается, а увеличивается. Ситуация повторяется. Оффтоп
на себе проверял
А время точно было при этом серверное, а не местное? :ab:
ни чего не выдало
Это к автору, чего он там намутил. :biggrin: Я бы одним кваром сделал, через тире или пробел. Оффтоп
 

MaEStro71

Участник
Сообщения
163
Реакции
21
Конечно, каждую минуту. Но ведь час от этого не уменьшается, а увеличивается. Ситуация повторяется. ОффтопА время точно было при этом серверное, а не местное? :ab:Это к автору, чего он там намутил. :biggrin: Я бы одним кваром сделал, через тире или пробел. Оффтоп
Через thetime проверял
 

andrey19992

Участник
Сообщения
487
Реакции
101
Все работает, можно ли сделать такую функцию, у меня много групп випок. например игрок с випкой 2 уровня заходит ночью, ночью у всех 7 уровень випок, т.е. больше возможностей. а он на 2 остается
Можно ли сделать пункт в меню что бы игрок мог выбрать, оставаться на своей випке или на той которая стоит в ночное время, естественно что бы когда время заканчивалось у TIME VIP, ему возвращалась его випка а не продолжалась випка которая указана в TIME VIP.
Пункт в меню чтото типа. Включить TIME VIP? да нет
Или даже не надо его автоматически переключать на его випку. т.е. TIME VIP закончилась, у него випка пропадает вообще, заходит в !vip и выключает TIME VIP.
Вообщем как удобнее будет реализовать. сделай плз))))
 
  • Мне нравится
Реакции: R1KO

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Мне нравится
Реакции: R1KO

andrey19992

Участник
Сообщения
487
Реакции
101
Поставь время старта, скажем, 23:59, а конечное - те же 5:00. Зайди на сервер не раньше полночи или позже - и, упс... Это самый значимый пробел плагина.
у мя 00:00 по 7:30 и все норм :-) SM 1.7.2 ВСЕ СУПППЕР на новый SM даже не думаю переходить :-)
 
Сверху Снизу