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

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

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

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

Auto cmd exec

, Атоматическое выполнение команд в нужное время
Статус пользователя mazdan
сообщение 1.10.2012, 20:39
Сообщение #1


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Выклевали весь мозг чтобы написал.
Написал вот (не крон, конечно, но мне пофиг)
Два квара
cron_time "22:33:18"
cron_cmd "say cmd exec"
Резльтат в 22:33:18 сервер скажет cmd exec
Извращенцам

Чтобы заложить логику можно использовать конфиги с кварами.
например:
server.cfg в нём
cron_time "22:33:30"
cron_cmd "exec cfg1.cfg"
cfg1.cfg в нём
say Всем спать через 30 секунд
cron_time "22:33:50"
cron_cmd "exec cfg2.cfg"
cfg2.cfg в нём
say Всем спать через 10 секунд
cron_time "22:34:00"
cron_cmd "exit"
проще переписать, конечно :D
Исходник чтобы не лезть в архив
#include <amxmodx>

new ptime,pcmd
public plugin_init()
{
register_plugin("Cron", "0.1", "mazdan");
register_cvar("cron_time" , "")
register_cvar("cron_cmd" , "")
}

public plugin_cfg()
{
ptime=get_cvar_pointer("cron_time")
pcmd=get_cvar_pointer("cron_cmd")
check_time()
}

public check_time()
{
new ctime[21]
new now_time[21]
get_pcvar_string(ptime,ctime,20)
if(ctime[0]) //защита от поломок и дураков :D
{
format_time(now_time,20,"%H:%M:%S",get_systime())
new Float:timer=float(parse_time(ctime,"%H:%M:%S")-parse_time(now_time,"%H:%M:%S"))+0.0001
if(timer>0.0)
set_task(timer,"server_task")
else
set_task(3599.0,"check_time")
}
}

public server_task()
{
new ccmd[256]
get_pcvar_string(pcmd,ccmd,255)
server_cmd(ccmd)
set_task(1.1,"check_time")
}


Отредактировал: mazdan, - 1.10.2012, 20:41
Прикрепленные файлы:
Прикрепленный файл  cron.rar ( 2,98 килобайт ) Кол-во скачиваний: 89


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
cs-portal
сообщение 1.10.2012, 20:54
Сообщение #2
Стаж: 16 лет

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

сложно было нагуглить плагин amx_task ??)) хех

http://forums.alliedmods.net/showthread.php?p=11751

Flags:
m - time is in minutes
s - time is in seconds
r - repeat task
t - specific time (0:00-23:59, assumes "r" flag)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 1.10.2012, 21:02
Сообщение #3


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

да я помню что видел где-то, но писать тоже не так и долго =) Спасибо. Я ткну носом того паршивца, который обещал гуглить, прежде чем дергать меня :)

p.s. у меня реализация повеселее :D

Отредактировал: mazdan, - 1.10.2012, 21:03


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 7.10.2012, 12:28
Сообщение #4
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

Цитата(mazdan @ 1.10.2012, 22:39) *
(не крон, конечно, но мне пофиг)

К слову даже и "крон" есть - http://forums.alliedmods.net/showthread.php?t=69068
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
kreat1ff
сообщение 29.11.2013, 1:09
Сообщение #5
Стаж: 15 лет

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

Есть плагин который каждые 5 минут будет выполнять команду? К примеру amx_reloadadmins
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя got123
сообщение 29.11.2013, 1:27
Сообщение #6
Стаж: 12 лет

Сообщений: 92
Благодарностей: 34
Полезность: 111

public plugin_cfg() set_task(300.0,"reset",_,_,_,"b")

public reset() server_cmd("amx_reloadadmins")

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