Русское сообщество по скриптингу

Доделать плагин "ночной режим"

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

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

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Доделать плагин "ночной режим"

Сообщение vesuvius19 » 17 ноя 2016, 16:23

здраствуйте! есть плагин ночного режима... ево функции :

{ "Карта", "Начало карты", "Конец карты" }
{ "de_inferno", "23:10", "23:30" },
{ "de_dust2", "23:30", "00:00" },
{ "de_dust", "00:00", "00:20" }

а хотелось би сделать чтоб б:
{ "Начало ночного режима", "Конец ночного режима" } а карта любая
сколько будет стоить данний труд?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось vesuvius19 25 ноя 2016, 19:06, всего редактировалось 1 раз.
Аватара пользователя
vesuvius19
 
Сообщения: 3
Зарегистрирован: 02 мар 2016, 00:22
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Доделать плагин "ночной режим"

Сообщение flymic24 » 17 ноя 2016, 17:30

vesuvius19, Кидай свой исходник, может кто и сделает
Аватара пользователя
flymic24
 
Сообщения: 209
Зарегистрирован: 05 окт 2012, 17:29
Откуда: Bryansk
Благодарил (а): 4 раз.
Поблагодарили: 76 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Доделать плагин "ночной режим"

Сообщение vesuvius19 » 17 ноя 2016, 17:37

спасибо flymic24 за помощь! кладу плагин сюд.. так как не жаден...

Код: Выделить всё
// *************************************************************************************//
// Плагин предоставлен автором с правом на какое либо распространение                    //
// Плагин загружен с  www.neugomon.ru                                                   //
// Автор: Neygomon / Flymic24                                                            //
// *************************************************************************************//

/*    Применение в доп плагине

    forward NightModeStart();    // Начало
    forward NightModeEnd();        // Конец
*/

#include <amxmodx>

new szStartNightTime[] = "20:00";    // Время начала ночного режима
new szEndNightTime[] = "04:00";        // Время окончания ночного режима

new g_ExecStartCmds[][] = {                // Команды, выполняемые перед ночным режимом
    
"amxx pause mode.amxx",
    
"amxx pause C4timer.amxx",
    
"amxx unpause gg_ammo.amxx"
}
new 
g_ExecEndCmds[][] = {                // Команды, выполняемые после ночного режима
    
"amxx unpause mode.amxx",
    
"amxx unpause C4timer.amxx",
    
"amxx pause gg_ammo.amxx"
}

new 
g_BlockedCmds[][] = {    // Команды клиента, блокируемые на время режима
    //"say rtv",
    //"say /rtv",
    
"amx_mapmenu",
    
"amx_votemapmenu",
    
"amx_map",
    
"amx_votemap"
    
//"amx_rtv"
}

new 
bool:g_bNightMode false;

enum _:FORWARD STARTEND };
enum _:DATA2 sTIMEeTIME };
new 
g_iUnixTime[DATA2], g_Forward[FORWARD];

public 
plugin_init()
{
    
register_plugin
    
(
        
"NightMode",
        
"1.0",
        
"Neygomon / Flymic24 (modified)"
    
);
    
    
register_event("HLTV""eRoundStart""a""1=0""2=0");
    
    for(new 
isizeof g_BlockedCmdsi++)
        
register_clcmd(g_BlockedCmds[i], "ClCmdBlock");
    
    
g_Forward[START] = CreateMultiForward("NightModeStart"ET_IGNORE);
    
g_Forward[END] = CreateMultiForward("NightModeEnd"ET_IGNORE);
}

public 
plugin_cfg()
{
    new 
sHour[3], sMinute[3];
    
    
strtok(szStartNightTimesHourcharsmax(sHour), sMinutecharsmax(sMinute), ':');
    new 
iFrom str_to_num(sHour) * 60 60 str_to_num(sMinute) * 60;
    
strtok(szEndNightTimesHourcharsmax(sHour), sMinutecharsmax(sMinute), ':');
    new 
iTo str_to_num(sHour) * 60 60 str_to_num(sMinute) * 60;
    
    
g_iUnixTime[sTIME] = iFrom;
    
g_iUnixTime[eTIME] = (iFrom iTo) ? (86400 iFrom) + iFrom iTo iTo;
    
    
eRoundStart();
}

public 
plugin_natives()    register_native("is_night_mode""_IsNightMode");

public 
_IsNightMode()    return g_bNightMode;

public 
plugin_end()
{
    if(
g_bNightMode)
        for(new 
isizeof g_ExecEndCmdsi++) server_cmd("%s"g_ExecEndCmds[i]);
}

new 
iCurTimeiCurHouriCurMinuteiResult;
public 
eRoundStart()
{
    
time(iCurHouriCurMinute);
    
iCurTime iCurHour 60 60 iCurMinute 60;
    
    if(
iCurTime >= g_iUnixTime[sTIME] && g_iUnixTime[eTIME] > iCurTime)
    {
        
g_bNightMode true;
        
        for(new 
isizeof g_ExecStartCmdsi++)    server_cmd("%s"g_ExecStartCmds[i]);
        
        
ExecuteForward(g_Forward[START], iResult);
    }
    else
    {
        
g_bNightMode false;
        
        for(new 
isizeof g_ExecEndCmdsi++) server_cmd("%s"g_ExecEndCmds[i]);
        
        
ExecuteForward(g_Forward[END], iResult);
        
        
set_cvar_num("mp_timelimit"floatround(get_gametime()) / 60 5);
    }
}

public 
ClCmdBlock(id)
{
    if(!
g_bNightMode)
        return 
PLUGIN_CONTINUE;
    
    
client_print(idprint_chat"* Команда заблокирована на время ночного режима!");
    
    return 
PLUGIN_HANDLED;
Аватара пользователя
vesuvius19
 
Сообщения: 3
Зарегистрирован: 02 мар 2016, 00:22
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Доделать плагин "ночной режим"

Сообщение Jon_guitarist » 19 май 2019, 03:34

Привет из 2019. Благодарен!
Аватара пользователя
Jon_guitarist
 
Сообщения: 1
Зарегистрирован: 15 май 2019, 19:29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю


Вернуться в Поиск исполнителей / заказчиков

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6