Не отключается ночной режим

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
36
Реакции
8
Основная информация

Проблема: Не отключается ночной режим

Ошибка:
Плагин не выходит из ночного режима
Дополнительная информация

Amx Mod X: 1.8.3-dev

Билд:
Код:
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 17:35:12 Jul 5 2017 (7559)


ReGamedll:
Код:


Список модулей:
PHP:
Currently loaded modules:
name version author status
[ 1] Ham Sandwich 1.8.3-dev+ AMX Mod X Dev Team running
[ 2] CSX 1.8.3-dev+ AMX Mod X Dev Team running
2 modules, 2 correct


Список плагинов:
HTML:
Currently loaded plugins:
name version author file status
[ 1] Night MapList 1.1 neygomon night_maplist.a running
[ 2] Admin Base 1.8.3-dev+ AMXX Dev Team admin.amxx running
[ 3] Admin Commands 1.8.3-dev+ AMXX Dev Team admincmd.amxx running
[ 4] Admin Help 1.8.3-dev+ AMXX Dev Team adminhelp.amxx running
[ 5] Slots Reservation 1.8.3-dev+ AMXX Dev Team adminslots.amxx running
[ 6] Multi-Lingual System 1.8.3-dev+ AMXX Dev Team multilingual.am running
[ 7] Menus Front-End 1.8.3-dev+ AMXX Dev Team menufront.amxx running
[ 8] Commands Menu 1.8.3-dev+ AMXX Dev Team cmdmenu.amxx running
[ 9] Players Menu 1.8.3-dev+ AMXX Dev Team plmenu.amxx running
[ 10] Maps Menu 1.8.3-dev+ AMXX Dev Team mapsmenu.amxx running
[ 11] Plugin Menu 1.8.3-dev+ AMXX Dev Team pluginmenu.amxx running
[ 12] Admin Chat 1.8.3-dev+ AMXX Dev Team adminchat.amxx running
[ 13] Anti Flood 1.8.3-dev+ AMXX Dev Team antiflood.amxx running
[ 14] Scrolling Message 1.8.3-dev+ AMXX Dev Team scrollmsg.amxx running
[ 15] Info. Messages 1.8.3-dev+ AMXX Dev Team imessage.amxx running
[ 16] Admin Votes 1.8.3-dev+ AMXX Dev Team adminvote.amxx running
[ 17] NextMap 1.8.3-dev+ AMXX Dev Team nextmap.amxx running
[ 18] Nextmap Chooser 1.8.3-dev+ AMXX Dev Team mapchooser.amxx running
[ 19] TimeLeft 1.8.3-dev+ AMXX Dev Team timeleft.amxx running
[ 20] Pause Plugins 1.8.3-dev+ AMXX Dev Team pausecfg.amxx running
[ 21] Stats Configuration 1.8.3-dev+ AMXX Dev Team statscfg.amxx running
[ 22] StatsX 1.8.3-dev+ AMXX Dev Team statsx.amxx running
22 plugins, 22 running


Список метамодулей:
PHP:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.3-d ini Start ANY
[ 2] dproto_EF RUN - dproto_i386.so v0.9.548 ini Start Never
[ 3] VoiceTranscoder RUN - VoiceTranscoder. v2017RC3 ini ANY ANY
[ 4] FakeDetector RUN - fakedetector_mm_ v2.1.3 ini Start Never
[ 5] LocalizeBug Fix RUN - localizebugfix_m v2.4 ini Start Never
[ 6] WHBlocker RUN - whblocker_mm_i38 v1.5.620 ini Chlvl ANY
[ 7] Ham Sandwich RUN - hamsandwich_amxx v1.8.3-d pl1 ANY ANY
[ 8] CSX RUN - csx_amxx_i386.so v1.8.3-d pl1 ANY ANY
8 plugins, 8 running


Исходник:
Код:
#include amxmodx
#if AMXX_VERSION_NUM < 183
#define engine_changelevel(%0) server_cmd("changelevel %s", %0)
#endif

new g_pTimeLimit, g_iOldTime, Float:g_flResetTime;
new bool:g_bNight;

enum _:DATA
{
NAME[32],
FROM,
TO
}
new g_aMaps[128][DATA];
new g_iCountMaps;

public plugin_init()
{
#define VERSION "1.1"
register_plugin("Night MapList", VERSION, "neygomon");
register_cvar("light_maplist", VERSION, FCVAR_SERVER | FCVAR_SPONLY);

register_event("TextMsg", "eGameCommencing", "a", "2=#Game_Commencing", "2=#Game_will_restart_in");
register_event("HLTV", "eRoundStart", "a", "1=0", "2=0");

register_clcmd("say rtv", "RtvHook");
register_clcmd("say_team rtv", "RtvHook");
register_clcmd("say /rtv", "RtvHook");
register_clcmd("say_team rtv", "RtvHook");
register_clcmd("amx_rtv", "RtvHook");

g_pTimeLimit = get_cvar_pointer("mp_timelimit");
}

public plugin_cfg()
{
new fHand = fopen("addons/amxmodx/configs/night_maps.ini", "rt");
if(!fHand) set_fail_state("File ^"addons/amxmodx/configs/night_maps.ini^" not found OR not read!");
new buffer[64], sFrom[6], sTo[6];
new sTemp[4][3];
new iFrom, iTo;
while(!feof(fHand))
{
fgets(fHand, buffer, charsmax(buffer)); trim(buffer);
if(!buffer[0] || buffer[0] == ';') continue;
if(parse(buffer, g_aMaps[g_iCountMaps][NAME], charsmax(g_aMaps[][NAME]), sFrom, charsmax(sFrom), sTo, charsmax(sTo)))
{
replace_all(sFrom, charsmax(sFrom), ":", " ");
replace_all(sTo, charsmax(sTo), ":", " ");
if(parse(sFrom, sTemp[0], charsmax(sTemp[]), sTemp[1], charsmax(sTemp[])) &&
parse(sTo, sTemp[2], charsmax(sTemp[]), sTemp[3], charsmax(sTemp[])))
{
iFrom = str_to_num(sTemp[0]) * 60 * 60 + str_to_num(sTemp[1]) * 60;
iTo = str_to_num(sTemp[2]) * 60 * 60 + str_to_num(sTemp[3]) * 60;

g_aMaps[g_iCountMaps][FROM] = iFrom;
g_aMaps[g_iCountMaps][TO] = (iFrom > iTo) ? (86400 - iFrom) + iFrom + iTo : iTo;

g_iCountMaps++;
}
}
}
if(!g_iCountMaps) set_fail_state("Maps not found OR invalid syntax file! Check ^"addons/amxmodx/configs/night_maps.ini^"");
}

public plugin_end()
if(g_iOldTime)
set_pcvar_num(g_pTimeLimit, g_iOldTime);

public client_putinserver(id)
if(g_bNight)
remove_user_flags(id, ADMIN_MAP|ADMIN_VOTE);

public eGameCommencing()
g_flResetTime = get_gametime();

public eRoundStart()
{
static CurHour, CurMinute; time(CurHour, CurMinute);
new CurTime = CurHour * 60 * 60 + CurMinute * 60;
if(g_aMaps[0][FROM] <= CurTime || CurTime < g_aMaps[g_iCountMaps-1][TO])
{
new IdMap = CheckMaps(CurTime); if(IdMap == -1) return;
static map[32]; if(!map[0]) get_mapname(map, charsmax(map));
if(!equal(map, g_aMaps[IdMap][NAME]))
{
engine_changelevel(g_aMaps[IdMap][NAME]);
return;
}
else if(!g_bNight)
{
g_bNight = true;
RemovePlayersFlags();
g_iOldTime = get_pcvar_num(g_pTimeLimit);
set_pcvar_num(g_pTimeLimit, 0);
}
}
else if(g_bNight)
{
set_pcvar_num(g_pTimeLimit, floatround(get_gametime() - g_flResetTime) / 60 + 5);
g_bNight = false;
}
}

public RtvHook(id)
{
if(g_bNight)
{
ChatColor(id, "^1[^4INFO^1] ^4RTV не работает в ^3Ночном режиме!");
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

RemovePlayersFlags()
{
static players[32], pcount;
get_players(players, pcount, "ch");
for(new i; i < pcount; i++)
remove_user_flags(players, ADMIN_MAP|ADMIN_VOTE);
}

stock CheckMaps(cTime)
{
for(new i; i < g_iCountMaps; i++)
{
if(cTime >= g_aMaps[FROM] && cTime < g_aMaps[TO])
return i;
}
return -1;
}
/*
stock CheckMaps(cTime)
{
new iTemp;
for(new i; i < g_iCountMaps; i++)
{
if(cTime >= g_aMaps[FROM] && cTime < g_aMaps[TO])
iTemp = i;
}
return (iTemp > 0) ? iTemp : -1;
}
*/
stock ChatColor(const id, const szMessage[], any:...)
{
static pnum, players[32], szMsg[190], IdMsg;
vformat(szMsg, charsmax(szMsg), szMessage, 3);

if(!IdMsg) IdMsg = get_user_msgid("SayText");

if(id)
{
if(!is_user_connected(id)) return;
players[0] = id;
pnum = 1;
}
else get_players(players, pnum, "ch");

for(new i; i < pnum; i++)
{
message_begin(MSG_ONE, IdMsg, .player = players);
write_byte(players);
write_string(szMsg);
message_end();
}
}


Комментарий:
Начал тестировать плагин, но столкнулся с проблемой. Плагин входит в ночной режим, команды rtv, amx_vote блокируются, как и положено, но вот плагин не выходит из ночного режима. Время истекает, а сервер остается на последней карте ночного режима с timelimit 0. Помогите решить эту проблему.
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
хмм... когда это к нам на форум успели перебраться для поддержки плагинов neygomon 'a ?!
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
sector, нет, не запрещено. В последнее время довольно активно идут за фиксами его плагинов..
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
У вас случаем не ночной ксдм?
 
Сообщения
2,288
Реакции
1,739
Помог
31 раз(а)
fantom, cкорее всего просто ночной режим паблик с разными картами.У меня на lite_night_mode , тоже после окончания не восстанавливался mp_timelimit (только с мапчузером неугомона такое, от мистрика хорошо работало)
 
Сообщения
36
Реакции
8
У вас случаем не ночной ксдм?
Нет, CSDM нету. Просто ночной режим с определенным списком карт в определенное время.
11 Ноя 2017
Есть ещё такой вариант ночного режима, но он тоже по окончания не выходит из него. Если только самому сменить карту, то заработает.
 

Вложения

Сообщения
2,288
Реакции
1,739
Помог
31 раз(а)
sector, попробуй LiteNightMode поставить тоже неугомоновский
 
Последнее редактирование модератором:
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
unit, мы же с Вами, вроде, решали вопрос по этому плагину. или я путаю с кем то?
 
Сообщения
19
Реакции
5
Pokemoshka, кстати, этот LiteNightMode тоже имеет баг, после окончания не восстанавливался mp_timelimit. Мапчузер неугомона
 
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Kobalt, стоит такой, проблему не наблюдал.
 

Вложения

Сообщения
2,288
Реакции
1,739
Помог
31 раз(а)
Kobalt,
да замечал это, но не разбирался, т.к не до него было в то время
18 Ноя 2017
neygomon, попробовал, после ночного mp_timelimit 28 ставится вместо 20.
 
Сообщения
36
Реакции
8
Попробуйте такой ночной режим. Он рабочий. Стоял у меня когда-то.
 

Вложения

Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу