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

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

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

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

map on time 1.4

Статус пользователя Akushi
сообщение 5.9.2011, 22:48
Сообщение #1


Стаж: 16 лет

Сообщений: 883
Благодарностей: 313
Полезность: 604

Прикрепленное изображение
Название плагина: map on time
Автор: Trofian & Lefan Офф сайт
Версия: 1.4 (скорей всего последняя)

Описание:
Плагин позволяет запускать определённую карту в определённом промежутке времени.
Например карту de_dust2 с 23 вечера по 1 час ночи, с часа ночи по 10 утра, карту aim_headshot.

Модули:
orpheu_amxx (в комплекте, вам нужно прописать его в modules.ini)
fakemeta_amxx

Установка:
Как обычно, раскидать по папкам.

Конфигурирование:
В файле mot.ini прописывать в таком формате:
<время старта> <время окончания> <карта>
Например:
20:30 23:00 de_dust
00:00 01:00 aim_headshot
01:00 09:25 de_dust2

Cvar's (прописывать в server.cfg):
mot_show_hud 0/1 - не отображать/отображать hud сообщение (стандартно 1)
mot_light 0/1/2/3 - задаёт уровень освещённости карты во время ночного режима 1 - чуть темнее 2 - ещё темнее 3 - достаточно темно 0 - обычное освещение (стандартно 0)

Команды:
"amx_mot off" - Принудительно отключение ночного режима, доступна администраторам с флагом e (slay/slap). Для тех кто в танке - вводить в консоли без ковычек

Изменения:
1. Исправления в коде, исправлены почти все баги (остался 1 маленький, не слишком большой, в большенстве случаев не проявится)
2. Отключена проверка наличия обновлений
3. Добавлены квары
4. Добавлена команда amx_mot

История:
Версия 0.1
-Первая версия плагина

Версия 0.2
- Добавлена мультиязычность
- Добавлена возможность выставлять несколько карт
* Баженая, нерабочая

Версия 0.3
- Исправления в коде, исправлены баги
- Проверка наличия обновлений
- Перехват сообщения timeleft
- Показ следующей карты ночного режима
- Ну и там помаленьку
* Баженая, нерабочая

Версия 1.4
- Исправления в коде, исправлены почти все баги (остался 1 маленький, не слишком большой, в большенстве случаев не проявится)
- Отключена проверка наличия обновлений
- Возможность выставлять минуты в mot.ini
- Добавлены квары
- Добавлена команда amx_mot
Прикрепленный файл  map_on_time_1.4.rar ( 464,57 килобайт ) Кол-во скачиваний: 266


Отредактировал: Akushi, - 5.9.2011, 22:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 5 раз
   Цитировать сообщение
Статус пользователя Gaikotsu
сообщение 5.9.2011, 22:53
Сообщение #2
Стаж: 16 лет

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

Кто может доработать этот плагин? (нужно отключать "rtv" во время ночного режима...)
boast.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Akushi
сообщение 5.9.2011, 23:23
Сообщение #3


Стаж: 16 лет

Сообщений: 883
Благодарностей: 313
Полезность: 604

Ага плагин классный... но когда люди пропишут ртв то мапы меняются без конца...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя coca-cola :)
сообщение 22.3.2014, 8:18
Сообщение #4


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

Стаж: 12 лет
Город: Москва

Сообщений: 1306
Благодарностей: 1031
Полезность: 1247

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

Цитата(Gaikotsu @ 5.9.2011, 22:53) *
Кто может доработать этот плагин? (нужно отключать "rtv" во время ночного режима...)
boast.gif

Подниму старую тему, но у меня стоит mot 1.6 и проблема существует до сих пор. Можно ли как-нибудь на время работы плагина отключить команду rtv и чтобы стоял запрет админам на amx_votemap и amx_changelevel ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя r1nk0
сообщение 13.12.2014, 18:19
Сообщение #5


Стаж: 12 лет

Сообщений: 1417
Благодарностей: 705
Полезность: 349

Цитата(bakssoldier @ 22.3.2014, 8:14) *
Подниму старую тему, но у меня стоит mot 1.6 и проблема существует до сих пор. Можно ли как-нибудь на время работы плагина отключить команду rtv и чтобы стоял запрет админам на amx_votemap и amx_changelevel ?


этот плагин и так запрещает подобные команды.


Создание и редактирование карт ($) - vk.com/id476857873
Настройка и техническое обслуживание ваших игровых серверов - vk.com/id476857873
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя corefir
сообщение 15.2.2015, 11:36
Сообщение #6


Стаж: 14 лет

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

Топик плагина

там ничего не указано про то, как прописать плагин в plugins.ini

Нужно ли прописывать выше или ниже таких плагинов как admincmd.amxx и плагинов, которые с картами работают?

Отредактировал: Bloo, - 15.2.2015, 14:24
Причина: Выдано предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя badboy2115
сообщение 15.2.2015, 11:38
Сообщение #7


Стаж: 13 лет

Сообщений: 589
Благодарностей: 115
Полезность: 351

Выше:
nextmap.amxx
timeleft.amxx
mapchooser.amxx
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя corefir
сообщение 15.2.2015, 11:39
Сообщение #8


Стаж: 14 лет

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

Цитата(badboy2115 @ 15.2.2015, 11:38) *
Выше:
nextmap.amxx
timeleft.amxx
mapchooser.amxx


а если идет блокировка админских команд типа amx_votemap, amx_map?
выше admincmd.amxx?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя badboy2115
сообщение 15.2.2015, 11:58
Сообщение #9


Стаж: 13 лет

Сообщений: 589
Благодарностей: 115
Полезность: 351

Цитата(corefir @ 15.2.2015, 12:39) *
а если идет блокировка админских команд типа amx_votemap, amx_map?
выше admincmd.amxx?

У меня ниже стоит, не жалуюсь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 18.8.2015, 0:50
Сообщение #10


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

[12] Orpheu RUN - orpheu_amxx_i386 v2.4 pl1 ANY ANY
Map On Time 1.4 Trofian map_on_time.amx running
--->>>
Cкрытый текст
[ORPHEU] Function "UTIL_ClientPrint" not found
L 08/18/2015 - 01:27:21: [AMXX] Run time error 10 (plugin "map_on_time.amxx") (native "OrpheuGetFunction") - debug not enabled!
L 08/18/2015 - 01:27:21: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

---->>>
С первого поста орфей не устанавливал,чисто функцию добавил в папку.

Отредактировал: ThePhoenix, - 18.8.2015, 0:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ADEPT
сообщение 28.11.2015, 2:55
Сообщение #11


Стаж: 11 лет
Город: Киев

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

Не роботает плагин все прописал все закинул пишет ошыбку.
L 11/28/2015 - 02:37:51: [ORPHEU] Function "UTIL_ClientPrint" not found
L 11/28/2015 - 02:37:51: [AMXX] Run time error 10 (plugin "map_on_time.amxx") (native "OrpheuGetFunction") - debug not enabled!
L 11/28/2015 - 02:37:51: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 6bIpuk
сообщение 28.11.2015, 3:39
Сообщение #12
Стаж: 14 лет

Сообщений: 457
Благодарностей: 119
Полезность: 210

есть версия 1.5,если не ошибаюсь не требует модуль орфей

только что глянул на сервере,оказывается у меня установлен даже версии 1.6 ))
[ 8] Map On Time 1.6 trofian map_on_time.amx running
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
6yxoudbdarg
сообщение 28.11.2015, 4:31
Сообщение #13
Стаж: 13 лет

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

Цитата(6bIpuk @ 28.11.2015, 4:34) *
есть версия 1.5,если не ошибаюсь не требует модуль орфей

только что глянул на сервере,оказывается у меня установлен даже версии 1.6 ))
[ 8] Map On Time 1.6 trofian map_on_time.amx running

ну скинь!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 6bIpuk
сообщение 28.11.2015, 4:55
Сообщение #14
Стаж: 14 лет

Сообщений: 457
Благодарностей: 119
Полезность: 210

Цитата(6yxoudbdarg @ 28.11.2015, 5:26) *
ну скинь!

в гугле бан получил?
Cкрытый текст
http://next21.ru/2012/10/%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD-map-on-time/

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
6yxoudbdarg
сообщение 28.11.2015, 5:44
Сообщение #15
Стаж: 13 лет

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

omg)
1.6 она кстати есть где то в темах здесь.

Отредактировал: 6yxoudbdarg, - 28.11.2015, 5:45
Прикрепленные файлы:
Прикрепленный файл  map_on_time.sma ( 8,7 килобайт ) Кол-во скачиваний: 38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя shram47
сообщение 5.12.2015, 6:21
Сообщение #16


Стаж: 10 лет
Город: Москва

Сообщений: 222
Благодарностей: 68
Полезность: 173

del
Не компилет. Выдаёт что ошибка (211) в <82> строке
code
Код:
#include <amxmodx>
#include <amxmisc>
#include <core>
#include <engine>
#include <fakemeta>
#include <orpheu>
#include <nvault>

#define PLUGIN "Map On Time"
#define AUTHOR "Trofian"
#define VERSION "1.4"

#define IsPlayer(%1) (1 <= (%1) <= 32)
#pragma tabsize 0

// global constants
#define PATH_CFG "mot.ini"

// global variables
new g_massParams[32][32]
new g_countParams
new g_standartTimeleft

new g_startTime_h[32]
new g_stopTime_h[32]
new g_startTime_m[32]
new g_stopTime_m[32]
new g_map[32][32]

new g_nowMap[32]
new g_nowStartTime_h
new g_nowStopTime_h
new g_nowStartTime_m
new g_nowStopTime_m

new g_nextMap[32]
new g_nextStartTime_h
new g_nextStopTime_h
new g_nextStartTime_m
new g_nextStopTime_m

new bool:g_b_motModeOn = false
new bool:g_b_hookTimeleft = false
new bool:g_b_showhud = false

new OrpheuFunction:o_IndexOfEdict

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("mp_timelimit","20")
register_cvar("mot_show_hud","1")
register_cvar("mot_light","0")
register_dictionary("mot.txt")
register_dictionary("timeleft.txt")
OrpheuRegisterHook(OrpheuGetFunction("UTIL_ClientPrint"), "On_ClientPrint_Pre", OrpheuHookPre)
o_IndexOfEdict = OrpheuGetFunction("IndexOfEdict")
register_concmd("amx_mot","moton", ADMIN_SLAY,"<on/off>")
g_standartTimeleft = get_cvar_num("mp_timelimit")
read_cfg_and_calls()
}

public read_cfg_and_calls()
{
// func var's
new f_configsDir[64]
new f_numSymb
new f_line = 0
new f_textline[32]
new f_period = 0
//-------------------

get_configsdir(f_configsDir, 63)
format(f_configsDir, 63, "%s/%s", f_configsDir, PATH_CFG)

if (!file_exists(f_configsDir))
{
server_print("[%s] File ^"%s^" doesn't exist.", PLUGIN, f_configsDir)
return PLUGIN_HANDLED
}

while (f_line = read_file (f_configsDir, f_line, f_textline, 255, f_numSymb))
{
g_massParams[f_period] = f_textline
analysisOfParameters(f_period)
f_period = f_period + 1
}
g_countParams = f_period-1
pre_chek()
return PLUGIN_CONTINUE
}

public analysisOfParameters(num)
{
// func var's
new f_all[32]
new f_temp[6]
//-------------------

f_all = g_massParams[num]

// start time h & convert
format(f_temp,5,"%s%s",f_all[0], f_all[1])
g_startTime_h[num] = str_to_num(f_temp)

// stop time h & convert
format(f_temp,5,"%s%s",f_all[6], f_all[7])
g_stopTime_h[num] = str_to_num(f_temp)

// start time m & convert
format(f_temp,5,"%s%s",f_all[3], f_all[4])
g_startTime_m[num] = str_to_num(f_temp)

// stop time m & convert
format(f_temp, 5,"%s%s",f_all[9], f_all[10])
g_stopTime_m[num] = str_to_num(f_temp)

// map name
for (new i = 0; i<20; i++)
{
g_map[num][i] = f_all[i+12]
}

return PLUGIN_CONTINUE
}

public pre_chek()
{
if (g_countParams+1 == 0)
{
server_print("[%s] Error: Config file is empty!", PLUGIN)
return PLUGIN_HANDLED
}

if(g_countParams+1 < 0)
{
server_print("[%s] Error: Unknown error! (debug: g_countParams = %d)", PLUGIN, g_countParams)
return PLUGIN_HANDLED
}

if(g_countParams+1 >= 1)
{
set_task (5.0, "chek_and_show")
}
return PLUGIN_CONTINUE
}

public chek_and_show()
{
// func var's
new f_timeHours
new f_timeMinutes
new f_map[32]
new f_nowStartTime[32]
new f_nowStopTime[32]
new f_nextStartTime[32]
new f_nextStopTime[32]
//-------------------

set_task (25.0, "chek_and_show")
time (f_timeHours, f_timeMinutes)
get_mapname(f_map, 31)

for (new i = 0; i<=g_countParams; i++)
{
if(f_timeHours == g_startTime_h[i] && f_timeMinutes == g_startTime_m[i])
{
if(g_b_motModeOn == true || equali(f_map, g_map[i]))
{
g_b_motModeOn = true
g_nowMap = g_map[i]
g_nowStartTime_h = g_startTime_h[i]
g_nowStopTime_h = g_stopTime_h[i]
g_nowStartTime_m = g_startTime_m[i]
g_nowStopTime_m = g_stopTime_m[i]

g_nextMap = g_map[i+1]
g_nextStartTime_h = g_startTime_h[i+1]
g_nextStopTime_h = g_stopTime_h[i+1]
g_nextStartTime_m = g_startTime_m[i+1]
g_nextStopTime_m = g_stopTime_m[i+1]

g_b_hookTimeleft = true
g_b_showhud = true
server_cmd("mp_timelimit 0")
switch (get_cvar_num("mot_light"))
{
case 0:
{
// nothing
}

case 1:
{
engfunc(EngFunc_LightStyle, 0, 107)
}

case 2:
{
engfunc(EngFunc_LightStyle, 0, 105)
}

case 3:
{
engfunc(EngFunc_LightStyle, 0, 103)
}
}
}else{
server_cmd("changelevel %s", g_map[i])
}
}
else if(f_timeHours == g_stopTime_h[i] && f_timeMinutes == g_stopTime_m[i])
{
if(g_b_motModeOn == true)
{
server_cmd("mp_timelimit %d", g_standartTimeleft)
g_b_motModeOn = false
}
g_b_motModeOn = false
g_b_showhud = false
g_b_hookTimeleft = false
}

if(g_b_showhud == true && get_cvar_num("mot_show_hud") == 1)
{
format(f_nowStartTime, 31, "%d", g_nowStartTime_m)
format(f_nowStopTime, 31, "%d", g_nowStopTime_m)
format(f_nextStartTime, 31, "%d", g_nextStartTime_m)
format(f_nextStopTime, 31, "%d", g_nextStopTime_m)

if(g_nowStartTime_m >=0 && g_nowStartTime_m <= 9)
format(f_nowStartTime, 31, "0%d", g_nowStartTime_m)
if(g_nowStopTime_m >=0 && g_nowStopTime_m <= 9)
format(f_nowStopTime, 31, "0%d", g_nowStopTime_m)
if(g_nextStartTime_m >=0 && g_nextStartTime_m <= 9)
format(f_nextStartTime, 31, "0%d", g_nextStartTime_m)
if(g_nextStopTime_m >=0 && g_nextStopTime_m <= 9)
format(f_nextStopTime, 31, "0%d", g_nextStopTime_m)

if(g_nowStopTime_h == g_nextStartTime_h && g_nowStopTime_m == g_nextStartTime_m)
{
set_hudmessage(0, 255, 0, 0.16, 0.0, 0, 26.0, 26.0, 0.1, 0.1, -1)
show_hudmessage (0, "%L %s^n%L %d:%s %L %d:%s^n" ,LANG_PLAYER, "HUD_MESSAGE_ON", g_nowMap , LANG_PLAYER,"HUD_MESSAGE_ON_BEGIN", g_nowStartTime_h, f_nowStartTime, LANG_PLAYER,"HUD_MESSAGE_ON_END", g_nowStopTime_h, f_nowStopTime)
set_hudmessage(0, 255, 0, 0.50, 0.0, 0, 26.0, 26.0, 0.1, 0.1, -1)
show_hudmessage (0, "%L %s^n%L %d:%s %L %d:%s^n" ,LANG_PLAYER, "HUD_MESSAGE_NEXT_MAP", g_nextMap , LANG_PLAYER,"HUD_MESSAGE_ON_BEGIN", g_nextStartTime_h, f_nextStartTime, LANG_PLAYER,"HUD_MESSAGE_ON_END", g_nextStopTime_h, f_nextStopTime)
}else{
set_hudmessage(0, 255, 0, 0.16, 0.0, 0, 26.0, 26.0, 0.1, 0.1, -1)
show_hudmessage (0, "%L %s^n%L %d:%s %L %d:%s^n" ,LANG_PLAYER, "HUD_MESSAGE_ON", g_nowMap , LANG_PLAYER,"HUD_MESSAGE_ON_BEGIN", g_nowStartTime_h, f_nowStartTime, LANG_PLAYER,"HUD_MESSAGE_ON_END", g_nowStopTime_h, f_nowStopTime)
}
}
}
}

// hook timeleft
// http://amx-x.ru/viewtopic.php?f=9&t=1439
public OrpheuHookReturn:On_ClientPrint_Pre(p_Edict, i_Type, s_Message[190])
{
if (g_b_hookTimeleft == true)
{
// func var's
new f_text[32]
new f_nowStartTime[32]
new f_nowStopTime[32]
//-------------------

format(f_nowStartTime, 31, "%d", g_nowStartTime_m)
format(f_nowStopTime, 31, "%d", g_nowStopTime_m)
if(g_nowStartTime_m >=0 && g_nowStartTime_m <= 9)
format(f_nowStartTime, 31, "0%d", g_nowStartTime_m)
if(g_nowStopTime_m >=0 && g_nowStopTime_m <= 9)
format(f_nowStopTime, 31, "0%d", g_nowStopTime_m)

format (f_text, 31, "%L", LANG_PLAYER, "NO_T_LIMIT")

trim(s_Message)

if (equal(s_Message, f_text) && i_Type == print_chat)
{
static id

id = OrpheuCall(o_IndexOfEdict, p_Edict)

if (IsPlayer(id))
{
client_print(id, i_Type, "%L %s %L %d:%s %L %d:%s", LANG_PLAYER, "CHAT_PRINT", g_nowMap, LANG_PLAYER, "HUD_MESSAGE_ON_BEGIN", g_nowStartTime_h, f_nowStartTime, LANG_PLAYER, "HUD_MESSAGE_ON_END", g_nowStopTime_h, f_nowStopTime)
return OrpheuSupercede
}

}
return OrpheuIgnored
}
return OrpheuIgnored
}

public moton(id, level, cid)
{
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED

// func var's
new f_a_motoffon[16]
//-------------------

read_argv(1, f_a_motoffon, 15)

if(equali(f_a_motoffon, "off"))
{
server_cmd("mp_timelimit %d", g_standartTimeleft)
g_b_motModeOn = false
g_b_showhud = false
g_b_hookTimeleft = false
engfunc(EngFunc_LightStyle, 0, 109)
client_print(id, print_console, "[%s] Night Mode stoped^n[%s] In 25 seconds hud will off", PLUGIN, PLUGIN)
}else{
client_print(id, print_console, "[%s] What... What do you want?^n[%s] You can stop Night mode: ^"amx_mot off^"", PLUGIN, PLUGIN)
}
return PLUGIN_CONTINUE
}


Решилось всё файлом их поста надо мною !

Отредактировал: shram47, - 5.12.2015, 6:23


Enough to hope for someone's help, I will do it myself and I will not ask anyone. I cope with children and can cope with amxx :thank_you:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csparena
сообщение 14.8.2018, 8:40
Сообщение #17


Стаж: 10 лет

Сообщений: 2377
Благодарностей: 541
Полезность: 106

Ребят всем привет! нужен исходник плагина

Цитата
Map on Time 4.3 neygomon


у кого есть поделитесь, или может ссылку скинете

Cкрытый текст
Ночной режим на сервере.

Особенности:

Нету set_task. Отсюда вывод, работать будет только на серверах с раундами
Во время ночного режима отключаются права у админов на смену карты и голосования
Каждые 30 раундов во время ночного режима происходит рестарт карты. В чате удобный информатор в начале раунда
Нет никаких излишеств
Перед сменой мапы дает доиграть раунд
Возможность отключения авторестартов
А так же, включение CSDM режима: после убийства сразу возраждение, 16к $, возможность закупа и все в таком стиле:)
ps Исправленная версия...

Теперь настройки работают корректно:)

Настройки server.cfg:

nm_csdm "0" // CSDM режим. 1 - вкл, 0 - выкл.
nm_autorr "0" // Авторестарт карты. 1 - вкл, 0 - выкл.
nm_roundrr "30" // Количество раундов, через которое будет рестарт.


за меня спасибо medal.gif

Отредактировал: csparena, - 14.8.2018, 8:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ladders
сообщение 7.3.2020, 14:39
Сообщение #18


Стаж: 16 лет

Сообщений: 440
Благодарностей: 49
Полезность: 117

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