Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Запуск / отключение плагина в определенное время

, Отключение определенного плагина ночью и включение другого
Статус пользователя MiXa
сообщение 18.5.2014, 14:36
Сообщение #1


Стаж: 10 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

Здраствуйте уважаемые учасники форума,скриптеры , я хочу попросить вас об помощи,потому что никак не получается сделать следующее:

есть код который я вставляю в нужный мне плагин,для его отключения/включения в определенный час дня или ночи,вот и собственно код:

Код:
	new Hours[3]
get_time("%H", Hours, 2)
new iHours = str_to_num(Hours)

if (0 <= iHours <= 8)
{
//код который работает с 12 ночи до 8 утра
}
else
{
//код который работает с 8 утра до 12 ночи
}


А если например я хочу отключить плагин в 8:30 и включить его в 23:30, как быть с минутами,я ознакомился с get_time,но как дальше привязать минуты незнаю,сейчас пробую,если получится скину отовый код,но все таки подскажите пожалуйста,спасибо за внимание,заранее благодарен


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 18.5.2014, 14:40
Сообщение #2


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

как-то так примерно, математика за первый класс
Код:

new hour
new minute
new secound
time(hour,minute,secound)

if ( (0 <= hour <= 7) || (hour==8 && minute<=30) )
{
//код, который работает с 24 до 8:30
}
else
{
//код, который работает вне 24 ночи до 8:30
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 18.5.2014, 15:19
Сообщение #3


Стаж: 10 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

можете подсказать еще,а то я чуть-чуть не понял)))
Код:
(0 <= hour <= 7)

0 это время когда плагин запускается
Код:
if ( (0 <= hour <= 7) 

а число 7 это что?
ну это я понял
Код:
 (hour==8 && minute<=30) )


а чтобы сделать запуск с 23:50 до 23:59 то надо так:

Код:
if ( (hour==23 && minute<=50) || (hour==23 && minute<=59) )

я прав?исправте поалуйста мою ошибку,спасибо)


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 18.5.2014, 15:27
Сообщение #4


Стаж: 10 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

вот плагин который я хочу сделать,это информер,который с 23:50 до 23:59 отображает сколько осталось времени до включения ночного режима
Скрытый текст
Код:
#include <amxmodx>
#include <dhudmessage>

public plugin_init()
{
set_task(15.0, "info24")
}
public info24(id)
{
new hour
new minute
new secound
time(hour,minute,secound)

if ( (hour==16 && minute<=30) || (hour==16 && minute<=35) )
{
set_task(0.001, "info_details_hacker")
return PLUGIN_CONTINUE
}
else
{
}
return PLUGIN_CONTINUE
}

public info_details_hacker( id )
{
static CurrentTime[15];
static h, hours[3], m, minutes[3], s, seconds[6];
static point_hours, point_minutes, point_seconds;

point_hours = 0;
point_minutes = 0;
point_seconds = 0;

get_time("%H %M %S", CurrentTime, sizeof(CurrentTime));

parse(CurrentTime, hours, sizeof(hours), minutes, sizeof(minutes), seconds, sizeof(seconds));

h = str_to_num(hours);
m = str_to_num(minutes);
s = str_to_num(seconds);

point_hours = 23 - h;
point_minutes = 59 - m;
point_seconds = 60 - s;

set_hudmessage(0, 250, 0, -1.0, 0.008, 0, 0.52, 0.52, 0.5, 0.5 );
show_hudmessage(id, "До ночного режима осталось: %d:%d:%d", point_hours, point_minutes, point_seconds);

return;
}


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 18.5.2014, 15:35
Сообщение #5


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Код
if ( (hour==23 && minute<=50) || (hour==23 && minute<=59) )

Полный бред, но будет работать


А вот так правильно
Код
if ( (hour==23 && 50<=minute<=59)


Читай логику. И ИЛИ НЕ. Проще не куда же.

http://amxxmodx.ru/lessons-on-pawn/208-uro...hto-takoe-.html


set_task(0.001, "info_details_hacker") - не может быть в принципе, минимум 0.1
return PLUGIN_CONTINUE
и нафига вообще тут set_task нужен и return?

public info_details_hacker( id ) - что такое id ? и нафига оно тут?

return; в самом конце нафига нужен?

дальше даже смотреть не стал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 18.5.2014, 16:17
Сообщение #6


Стаж: 10 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

можете полностью исправить мой плагин что бы он отображал худ сообщение отсчета с 23:45 до 23:55 , спасибо


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 19.5.2014, 0:23
Сообщение #7


Стаж: 10 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

как сделаь что бы худ сообщение не исчезало и ототбражалось в нужное мне время?


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 19.5.2014, 1:37
Сообщение #8


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(MiXa @ 19.5.2014, 2:23) *
как сделаь что бы худ сообщение не исчезало и ототбражалось в нужное мне время?

обновлять hud по новой
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 19.5.2014, 2:24
Сообщение #9


Стаж: 10 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

Код
if ( (hour==23 && 50<=minute<=59)

как указать время запуска час и минуту? а также завершения.напишит пожалуйста готовую строчку,спасибо


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 19.5.2014, 10:07
Сообщение #10


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Код:

if (hour==23 && minute==30)
запуск
if (hour_end==0 && minute_end==45)
завершение



ты занимаешься ерундой полной, возьми бумажку и на ней напиши алгоритм работы плагина
а уж только потом переводи свой алгоритм на язык pawn amxx

не зная алгоритм - нельзя написать плагин либо вообще хоть какую-то программу
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Safety1st
сообщение 19.5.2014, 14:59
Сообщение #11
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Вот платформа для затеи смены режимов, она универсальная. Вычислять всё с точностью до секунды - это лишнее, достаточно до минуты.

Старт и конец 'ночного' режима задаются в #define NIGHT_MODE_START и #define NIGHT_MODE_END. Раскомментировав опцию #define DEBUG можно посмотреть вживую за сменами режимов:
Скрытый текст
Код
[AMXX] Loaded 3 admins from file

Night mode interval: start - 16:39, end - 16:44.
Current time - 16:37, current mode - 'day', 00:02 before mode change.

Executing day mode cmds...


Fuck yeah! Server has changed mode to night one.

Night mode interval: start - 16:39, end - 16:44.
Current time - 16:39, current mode - 'night', 00:05 before mode change.

Executing night mode cmds...


Fuck yeah! Server has changed mode to day one.

Night mode interval: start - 16:39, end - 16:44.
Current time - 16:44, current mode - 'day', 23:55 before mode change.

Executing day mode cmds...

Код
[AMXX] Loaded 3 admins from file

Night mode interval: start - 16:00, end - 16:51.
Current time - 16:47, current mode - 'night', 00:04 before mode change.

Executing night mode cmds...


Fuck yeah! Server has changed mode to day one.

Night mode interval: start - 16:00, end - 16:51.
Current time - 16:51, current mode - 'day', 23:09 before mode change.

Executing day mode cmds...

Осталось добавить конкретные, необходимые именно вам, функции: сами команды, которые должны выполняться в каждом режиме, и информер. Команды добавлять в блок ProcessCurrentMode(), задачу на информер поставить там же, а задержку ей назначить как разницу между giNextChangeDelay и временем, насколько заранее перед сменой режима начать показывать информер, не забыв перевести итог из минут в секунды.

Думаю, с этими мелочами вам уже помогут, если сами не справитесь; мне не интересно ими заниматься.
Плагин, наверное, позже чуток подправлю ;)

Исходник тут.

Отредактировал: Developer, - 30.5.2014, 18:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя bygai2
сообщение 5.4.2017, 23:30
Сообщение #12
Стаж: 9 лет

Сообщений: 197
Благодарностей: 22
Полезность: < 0

Ищу человека, который сможет организовать такую фишку:
С 22до16 часов отключает 3 плагина, либо включает с 16до 22
обращаться id61553927

либо пишите контакты, стоимость.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 9.4.2017, 13:05
Сообщение #13
Стаж: 7 лет

Сообщений: 155
Благодарностей: 114
Полезность: 692

Цитата(bygai2 @ 5.4.2017, 23:30) *
Ищу человека, который сможет организовать такую фишку:
С 22до16 часов отключает 3 плагина, либо включает с 16до 22
обращаться id61553927

либо пишите контакты, стоимость.

Данный человек кидала. Договорились о цене. Написал плагин, скинул амхх, требует сма для проверки на наличие рекламы и т.д. Говорю, что ничего такого нет и после оплаты скину амхх. Он же сливается тем, что ему ну просто необходимо проверить на наличие рекламы и т.д. Что он не собирается покупать воздух.


Прикрепленные файлы:
Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: