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

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

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

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

Помогите правильно вырезать музыку из плагина.

Статус пользователя qTemplier
сообщение 1.8.2013, 3:13
Сообщение #1
Стаж: 13 лет

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

Добро ночи всем,прошу вас помочь мне вырезать музыку из плагина Mapchooser by BlackSmoke v.1.0.Буду больше благодарен если вы объясните что и как вы сделали,что-бы её вырезать,все-таки самому интересно и пробовал сделать сам,но не удалось.
Вот код плагина:
Скрытый текст
Код
/**==============================================================================
=============
*
* /) -=-=- Версии -=-=- (\
*
* 0.1 - Релиз.
* 0.2 - Добавлены проценты в меню.
* 0.3 - Фиксы.
* 0.4 - Добавлены звуки.
* 0.5 - Добавлены дхуды.
* 0.6 - Добавлено *RTV*
* 0.7 - Убраны баги с отсутствующими картами.
* 0.8 - Оптимизирован код.
* 0.9 - Фиксы.
* 1.0 - Добавлен отсчёт в меню голосования.
*
================================================================================
=============*/
#include <amxmodx>
#include <dhudmessage>
#include <fakemeta>

/**==============================================================================
=============
    Константы
================================================================================
=============*/
new g_szMaps[5][64];
new g_Votes[5];
new g_iTimerVote[33];
new g_szWinMap[64];
new g_iNumRTV;
new g_iPlayerProcc;
new bool:g_LastRound;
new b_HasRTV[33];
new Float:g_iLastSec[33];
new bool:g_Vote;
new bool:b_HasAlreadyVoted[33];
new iAllVoted;

new const szSoundTimer[6][] = {"","fvox/one","fvox/two","fvox/three","fvox/four","fvox/five"}
new const szSoundVote[3][] = {"sound/MapManager_by_BlackSmoke/g_start.mp3", "sound/MapManager_by_BlackSmoke/g_end.mp3", "sound/MapManager_by_BlackSmoke/g_sps.wav"}

/**==============================================================================
=============
    Макросы
================================================================================
=============*/
#define TimeVote 30 // Сколько будет длится голосование

/**==============================================================================
=============
    Инициализация
================================================================================
=============*/
public plugin_init()
{
    register_plugin("MapManager", "1.0", "BlackSmoke");
    
    register_clcmd("say /rtv", "RockTheVote")
    register_clcmd("say /rockthevote", "RockTheVote")
    register_clcmd("say rtv", "RockTheVote")
    register_clcmd("say rockthevote", "RockTheVote")
    
    register_clcmd("say nextmap", "Show_Nextmap")
    register_clcmd("say /nextmap", "Show_Nextmap")
    
    register_menucmd(register_menuid("VoteMenu"), 1023, "ActionVoteMenu");
    
    register_logevent("RoundEnd", 2, "1=Round_End")
    
    set_task(121.0, "ClCmdVote", _, _, _, "d")
    
    register_cvar("amx_nextmap", "[Не определена]");
    set_cvar_string("amx_nextmap", "[Не определена]");
    
    LoadMapsInVote();
}

/**==============================================================================
=============
    Показываем следующую карту.
================================================================================
=============*/
public Show_Nextmap(id)
{
    new cmd[127];
    get_cvar_string("amx_nextmap", cmd, 126)
    ChatColor(0, "!teamСледующая карта: !g%s", cmd)
}

/**==============================================================================
=============
    Конец раунда
================================================================================
=============*/
public RoundEnd()
    if(g_LastRound)
        set_task(1.0, "changelevel");

/**==============================================================================
=============
    Досрочная смена карты
================================================================================
=============*/
public RockTheVote(id)
{
    if(g_Vote)
    {
        ChatColor(id, "!teamГолосование уже начато. !g*RTV*")
        return PLUGIN_CONTINUE;
    }
    if(b_HasRTV[id])
    {
        ChatColor(id, "!teamВы уже голосовали. !g*RTV*")
        return PLUGIN_CONTINUE;
    }
    new iNum, szPlayers[32];
    get_players(szPlayers, iNum, "hc")
    g_iNumRTV++;
    b_HasRTV[id] = true;
    if(g_iNumRTV == iNum)
    {
        ChatColor(0, "!teamВсе игроки !g(%d) !teamзахотели досрочную смену карты. !g*RTV*", g_iNumRTV)
        set_task(5.0, "ClCmdVote");
    }
    else
        ChatColor(0, "!teamЧтобы начать досрочное голосование нужно !g%d !teamголосов. !g*RTV*", iNum-g_iNumRTV)
        
    return PLUGIN_HANDLED;
}

/**==============================================================================
=============
    Загрузки плагина
================================================================================
=============*/
public plugin_precache()
{
    for(new i; i < sizeof(szSoundVote); i++)
        precache_generic(szSoundVote[i])
}

/**==============================================================================
=============
    Ставим карты для голосования
================================================================================
=============*/
public LoadMapsInVote()
{
    new szFileName[64], Len, iNumRandomMap, q, iRepeat, szMapName[32], szDirMaps[127];
    get_mapname(szMapName, 31);
    format(szFileName, 63, "addons/amxmodx/configs/maps.ini")
    q = random_num(0, file_size(szFileName, 1)-1)
    
    while(read_file(szFileName, q ,g_szMaps[iNumRandomMap], 63, Len))
    {        
        q = random_num(0, file_size(szFileName, 1)-1)
        
        if(iRepeat == q)
            continue;
        
        iRepeat = q;
        
        if(g_szMaps[iNumRandomMap][0] == ';' || Len == 0)
            continue
    
        format(szDirMaps, 126, "maps/%s.bsp", g_szMaps[iNumRandomMap]);
        if(!equali(szMapName, g_szMaps[iNumRandomMap]) && file_exists(szDirMaps))
            iNumRandomMap++
    
        if(iNumRandomMap > 4)
            break;
    }
}

/**==============================================================================
=============
    Включаем отсчёт до голосования
================================================================================
=============*/
public ClCmdVote()
    set_task(1.0, "ValueVote", _, _, _, "a", 6);

/**==============================================================================
=============
    Отсчёт до голосования
================================================================================
=============*/
public ValueVote()
{
    new szSec[32];
    set_dhudmessage( 255,255,0, -1.0, -0.80, 0, 6.0, 0.001, 0.1, 1.5 )
    static timer = 6
    timer--
    switch(timer)
    {
        case 0:
        {
            g_Vote = true;
            startvote()
            arrayset(g_Votes, 0, sizeof(g_Votes));
            arrayset(g_iTimerVote, TimeVote-10, 33);
            arrayset(b_HasAlreadyVoted, false, 33);
            set_task(float(TimeVote), "endvote");
            timer = 6;
            client_cmd(0, "mp3 play %s", szSoundVote[0])
            set_cvar_string("amx_nextmap", "[Идёт голосование]");
        }
        default:
        {
            get_ending(timer, szSec, "у")
            show_dhudmessage(0, "Голосование пройдёт через %d %s", timer, szSec)
            client_cmd(0, "spk %s", szSoundTimer[timer])
        }
    }
}

/**==============================================================================
=============
    Голосование
================================================================================
=============*/
public startvote()
{
    if(!g_Vote)
        return PLUGIN_CONTINUE;
        
    new szPlayers[32], iNum;
    get_players(szPlayers, iNum);
    iAllVoted = 0;
    
    for(new i; i < iNum; i++)
        ChooseMap(szPlayers[i])
    
    return PLUGIN_HANDLED;
}

/**==============================================================================
=============
    Меню выбора карт.
================================================================================
=============*/
public ChooseMap(id)
{
    if(!g_Vote)
        return PLUGIN_CONTINUE;
    
    new szMenu[512], iLen, iKey, szSec[32]
    get_ending(g_iTimerVote[id], szSec, "а");
    iLen = format(szMenu[iLen], charsmax(szMenu)-iLen, "\yПора выбирать следующую карту.^n\dУ вас \r%d \dсек, чтобы подумать^n", g_iTimerVote[id], szSec)
    for(new q; q < 5; q++)
    {
        if(!b_HasAlreadyVoted[id])
            iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n\r%d. \w%s \d[\y%d%%\d]",q+1, g_szMaps[q], g_Votes[q] * g_iPlayerProcc)
        else
            iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n\d%s [\y%d%%\d]", g_szMaps[q], g_Votes[q] * g_iPlayerProcc)
    }
    
    if(!b_HasAlreadyVoted[id])
    {
        iKey |= MENU_KEY_0;
        iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\r0. \wНичего")
    }
    
    iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\yПроголосовало: \r%d \dчеловек", iAllVoted)
    
    iKey |= MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
    
    if(b_HasAlreadyVoted[id])
        iKey &= ~(MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5);
    
    show_menu(id, iKey, szMenu, -1, "VoteMenu");
    return PLUGIN_HANDLED;
}

/**==============================================================================
=============
    Игрок голосует
================================================================================
=============*/
public ActionVoteMenu(id, iKey)
{
    if(!g_Vote)
        return PLUGIN_CONTINUE;
        
    new szName[32]
    get_user_name(id, szName, 31)
    
    if(iKey == 9)
    {
        if(!b_HasAlreadyVoted[id])
            ChatColor(0, "!g%s !teamне принял участие в голосовании.", szName);
        b_HasAlreadyVoted[id] = true
        return PLUGIN_CONTINUE;
    }
    
    iAllVoted++;
    
    g_Votes[iKey]++, b_HasAlreadyVoted[id] = true;
    ChatColor(0, "!g%s !teamвыбрал !g%s", szName, g_szMaps[iKey]);
    
    return PLUGIN_HANDLED;
}

/**==============================================================================
=============
    Конец голосования
================================================================================
=============*/
public endvote()
{
    g_Vote = false;
    new win = 0, szDirFile[127];
    for(new i; i < sizeof(g_Votes); i++)
    {        
        if(win < g_Votes[i])
        {
            win = i
            format(g_szWinMap, 63, g_szMaps[win])
        }
    }

    if(win < g_Votes[0])
    {
        win = 0;
        format(g_szWinMap, 63, g_szMaps[win]);
    }
    
    if(!g_szWinMap[0])
    {
        LoadMapsInVote();
        set_task(5.0, "ClCmdVote");
        ChatColor(0, "!teamГолосование отложено.")
        return PLUGIN_CONTINUE;
    }
    format(szDirFile, 126, "maps/%s.bsp", g_szWinMap);
    if(!file_exists(szDirFile))
    {
        LoadMapsInVote();
        set_task(5.0, "ClCmdVote");
        ChatColor(0, "!teamГолосование отложено из за отсутствующей карты.")
        return PLUGIN_CONTINUE;
    }
    set_dhudmessage( 149,68,0, -1.0, -0.70, 2, 4.0, 11.0, 0.01, 1.5 )
    show_dhudmessage(0, "Следующая карта: %s^nКарта сменится по окончанию раунда",g_szWinMap, win)
    ChatColor(0, "!teamСледующая карта: !g%s", g_szWinMap)
    set_cvar_string("amx_nextmap", g_szWinMap);
    set_cvar_float("mp_timelimit", 0.0)
    g_LastRound = true;
    client_cmd(0, "mp3 play %s", szSoundVote[1])
    
    return PLUGIN_HANDLED;
}

/**==============================================================================
=============
    Меняем карту.
================================================================================
=============*/
public changelevel()
{
    set_cvar_float("mp_timelimit", 0.0);
    set_dhudmessage( 0,255,0, -1.0, -0.40, 0, 11.0, 6.0, 0.1, 1.5 )
    show_dhudmessage(0, "Всем спасибо^nКарта меняется на %s", g_szWinMap)
    client_cmd(0, "+showscores;wait;wait;wait;mp3 stop;stopsound;spk %s", szSoundVote[2])
    new iNum, szPlayers[32];
    get_players(szPlayers, iNum)
    for(new i; i < iNum; i++)
    {
        client_cmd(szPlayers[i], "drop;wait;wait;wait;wait;wait;drop;wait;wait;wait;wait;wait;drop");
        set_pev(szPlayers[i], pev_flags, pev(szPlayers[i], pev_flags) | FL_FROZEN)
    }
    set_task(4.0, "changelevel1")
}

/**==============================================================================
=============
    Меняем карту
================================================================================
=============*/
public changelevel1()
{
    server_cmd("changelevel %s", g_szWinMap);
}

/**==============================================================================
=============
    Синк
================================================================================
=============*/
public client_PreThink(id)
{
    if(!g_Vote)
        return;
        
    if(g_iTimerVote[id] <= -1)
        return;
    
    if(iAllVoted)
        g_iPlayerProcc = 100 / iAllVoted;
    else
        g_iPlayerProcc = 0;
    
    if((get_gametime() - g_iLastSec[id]) >= 1.0)
        if(g_iTimerVote[id] != 0)
            g_iTimerVote[id]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
        else
            show_menu(id, 0, "^n"), g_iTimerVote[id] = -1;
}

/**==============================================================================
==
    Получение Окончания Секунд
================================================================================
=*/
stock get_ending(num, output[32], const l[])
{
    new num100=num%100, num10=num%10;
    if(num100>=5&&num100<=20||num10==0||num10>=5&&num10<=9) format(output, 31, "секунд");
    else if(num10==1) format(output, 31, "секунд%s", l);
    else if(num10>=2&&num10<=4) format(output, 31, "секунды");
}

/**==============================================================================
==
    Цветной чат
================================================================================
===*/
stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    format(msg, sizeof(msg), "^1[^4Голосование^1] %s", msg)
    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}


Отредактировал: qTemplier, - 1.8.2013, 3:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя qTemplier
сообщение 1.8.2013, 3:56
Сообщение #2
Стаж: 13 лет

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

Все,нашел ответ.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nebo
сообщение 1.8.2013, 6:28
Сообщение #3


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

а почему вам всем музыка не нравится? там всего то на 500кб
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 1.8.2013, 7:28
Сообщение #4
Стаж: 13 лет

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

Цитата(Nebo @ 1.8.2013, 8:28) *
а почему вам всем музыка не нравится? там всего то на 500кб

школьный вариант. многим она не нравится (лишнее)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nebo
сообщение 1.8.2013, 7:54
Сообщение #5


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

Цитата(qTemplier @ 1.8.2013, 4:56) *
Все,нашел ответ.

Раз нашел, может поделишся?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 1.8.2013, 16:12
Сообщение #6
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

qTemplier,
Скрытый текст
Код
#include <amxmodx>
#include <dhudmessage>
#include <fakemeta>

new g_szMaps[5][64];
new g_Votes[5];
new g_iTimerVote[33];
new g_szWinMap[64];
new g_iNumRTV;
new g_iPlayerProcc;
new bool:g_LastRound;
new b_HasRTV[33];
new Float:g_iLastSec[33];
new bool:g_Vote;
new bool:b_HasAlreadyVoted[33];
new iAllVoted;

#define TimeVote 30 // Сколько будет длится голосование

public plugin_init()
{
    register_plugin("MapManager", "1.0", "BlackSmoke");
    
    register_clcmd("say /rtv", "RockTheVote")
    register_clcmd("say /rockthevote", "RockTheVote")
    register_clcmd("say rtv", "RockTheVote")
    register_clcmd("say rockthevote", "RockTheVote")
    
    register_clcmd("say nextmap", "Show_Nextmap")
    register_clcmd("say /nextmap", "Show_Nextmap")
    
    register_menucmd(register_menuid("VoteMenu"), 1023, "ActionVoteMenu");
    
    register_logevent("RoundEnd", 2, "1=Round_End")
    
    set_task(121.0, "ClCmdVote", _, _, _, "d")
    
    register_cvar("amx_nextmap", "[Не определена]");
    set_cvar_string("amx_nextmap", "[Не определена]");
    
    LoadMapsInVote();
}

public Show_Nextmap(id)
{
    new cmd[127];
    get_cvar_string("amx_nextmap", cmd, 126)
    ChatColor(0, "!teamСледующая карта: !g%s", cmd)
}

public RoundEnd()
    if(g_LastRound)
        set_task(1.0, "changelevel");

public RockTheVote(id)
{
    if(g_Vote)
    {
        ChatColor(id, "!teamГолосование уже начато. !g*RTV*")
        return PLUGIN_CONTINUE;
    }
    if(b_HasRTV[id])
    {
        ChatColor(id, "!teamВы уже голосовали. !g*RTV*")
        return PLUGIN_CONTINUE;
    }
    new iNum, szPlayers[32];
    get_players(szPlayers, iNum, "hc")
    g_iNumRTV++;
    b_HasRTV[id] = true;
    if(g_iNumRTV == iNum)
    {
        ChatColor(0, "!teamВсе игроки !g(%d) !teamзахотели досрочную смену карты. !g*RTV*", g_iNumRTV)
        set_task(5.0, "ClCmdVote");
    }
    else
        ChatColor(0, "!teamЧтобы начать досрочное голосование нужно !g%d !teamголосов. !g*RTV*", iNum-g_iNumRTV)
        
    return PLUGIN_HANDLED;
}

public LoadMapsInVote()
{
    new szFileName[64], Len, iNumRandomMap, q, iRepeat, szMapName[32], szDirMaps[127];
    get_mapname(szMapName, 31);
    format(szFileName, 63, "addons/amxmodx/configs/maps.ini")
    q = random_num(0, file_size(szFileName, 1)-1)
    
    while(read_file(szFileName, q ,g_szMaps[iNumRandomMap], 63, Len))
    {        
        q = random_num(0, file_size(szFileName, 1)-1)
        
        if(iRepeat == q)
            continue;
        
        iRepeat = q;
        
        if(g_szMaps[iNumRandomMap][0] == ';' || Len == 0)
            continue
    
        format(szDirMaps, 126, "maps/%s.bsp", g_szMaps[iNumRandomMap]);
        if(!equali(szMapName, g_szMaps[iNumRandomMap]) && file_exists(szDirMaps))
            iNumRandomMap++
    
        if(iNumRandomMap > 4)
            break;
    }
}

public ClCmdVote()
    set_task(1.0, "ValueVote", _, _, _, "a", 6);

public ValueVote()
{
    new szSec[32];
    set_dhudmessage( 255,255,0, -1.0, -0.80, 0, 6.0, 0.001, 0.1, 1.5 )
    static timer = 6
    timer--
    switch(timer)
    {
        case 0:
        {
            g_Vote = true;
            startvote()
            arrayset(g_Votes, 0, sizeof(g_Votes));
            arrayset(g_iTimerVote, TimeVote-10, 33);
            arrayset(b_HasAlreadyVoted, false, 33);
            set_task(float(TimeVote), "endvote");
            timer = 6;
            set_cvar_string("amx_nextmap", "[Идёт голосование]");
        }
        default:
        {
            get_ending(timer, szSec, "у")
            show_dhudmessage(0, "Голосование пройдёт через %d %s", timer, szSec)
        }
    }
}

public startvote()
{
    if(!g_Vote)
        return PLUGIN_CONTINUE;
        
    new szPlayers[32], iNum;
    get_players(szPlayers, iNum);
    iAllVoted = 0;
    
    for(new i; i < iNum; i++)
        ChooseMap(szPlayers[i])
    
    return PLUGIN_HANDLED;
}

public ChooseMap(id)
{
    if(!g_Vote)
        return PLUGIN_CONTINUE;
    
    new szMenu[512], iLen, iKey, szSec[32]
    get_ending(g_iTimerVote[id], szSec, "а");
    iLen = format(szMenu[iLen], charsmax(szMenu)-iLen, "\yПора выбирать следующую карту.^n\dУ вас \r%d \dсек, чтобы подумать^n", g_iTimerVote[id], szSec)
    for(new q; q < 5; q++)
    {
        if(!b_HasAlreadyVoted[id])
            iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n\r%d. \w%s \d[\y%d%%\d]",q+1, g_szMaps[q], g_Votes[q] * g_iPlayerProcc)
        else
            iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n\d%s [\y%d%%\d]", g_szMaps[q], g_Votes[q] * g_iPlayerProcc)
    }
    
    if(!b_HasAlreadyVoted[id])
    {
        iKey |= MENU_KEY_0;
        iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\r0. \wНичего")
    }
    
    iLen += format(szMenu[iLen], charsmax(szMenu)-iLen, "^n^n\yПроголосовало: \r%d \dчеловек", iAllVoted)
    
    iKey |= MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
    
    if(b_HasAlreadyVoted[id])
        iKey &= ~(MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5);
    
    show_menu(id, iKey, szMenu, -1, "VoteMenu");
    return PLUGIN_HANDLED;
}

public ActionVoteMenu(id, iKey)
{
    if(!g_Vote)
        return PLUGIN_CONTINUE;
        
    new szName[32]
    get_user_name(id, szName, 31)
    
    if(iKey == 9)
    {
        if(!b_HasAlreadyVoted[id])
            ChatColor(0, "!g%s !teamне принял участие в голосовании.", szName);
        b_HasAlreadyVoted[id] = true
        return PLUGIN_CONTINUE;
    }
    
    iAllVoted++;
    
    g_Votes[iKey]++, b_HasAlreadyVoted[id] = true;
    ChatColor(0, "!g%s !teamвыбрал !g%s", szName, g_szMaps[iKey]);
    
    return PLUGIN_HANDLED;
}

public endvote()
{
    g_Vote = false;
    new win = 0, szDirFile[127];
    for(new i; i < sizeof(g_Votes); i++)
    {        
        if(win < g_Votes[i])
        {
            win = i
            format(g_szWinMap, 63, g_szMaps[win])
        }
    }

    if(win < g_Votes[0])
    {
        win = 0;
        format(g_szWinMap, 63, g_szMaps[win]);
    }
    
    if(!g_szWinMap[0])
    {
        LoadMapsInVote();
        set_task(5.0, "ClCmdVote");
        ChatColor(0, "!teamГолосование отложено.")
        return PLUGIN_CONTINUE;
    }
    format(szDirFile, 126, "maps/%s.bsp", g_szWinMap);
    if(!file_exists(szDirFile))
    {
        LoadMapsInVote();
        set_task(5.0, "ClCmdVote");
        ChatColor(0, "!teamГолосование отложено из за отсутствующей карты.")
        return PLUGIN_CONTINUE;
    }
    set_dhudmessage( 149,68,0, -1.0, -0.70, 2, 4.0, 11.0, 0.01, 1.5 )
    show_dhudmessage(0, "Следующая карта: %s^nКарта сменится по окончанию раунда",g_szWinMap, win)
    ChatColor(0, "!teamСледующая карта: !g%s", g_szWinMap)
    set_cvar_string("amx_nextmap", g_szWinMap);
    set_cvar_float("mp_timelimit", 0.0)
    g_LastRound = true;
    
    return PLUGIN_HANDLED;
}

public changelevel()
{
    set_cvar_float("mp_timelimit", 0.0);
    set_dhudmessage( 0,255,0, -1.0, -0.40, 0, 11.0, 6.0, 0.1, 1.5 )
    show_dhudmessage(0, "Всем спасибо^nКарта меняется на %s", g_szWinMap)
    new iNum, szPlayers[32];
    get_players(szPlayers, iNum)
    for(new i; i < iNum; i++)
    {
        client_cmd(szPlayers[i], "drop;wait;wait;wait;wait;wait;drop;wait;wait;wait;wait;wait;drop");
        set_pev(szPlayers[i], pev_flags, pev(szPlayers[i], pev_flags) | FL_FROZEN)
    }
    set_task(4.0, "changelevel1")
}

public changelevel1()
{
    server_cmd("changelevel %s", g_szWinMap);
}

public client_PreThink(id)
{
    if(!g_Vote)
        return;
        
    if(g_iTimerVote[id] <= -1)
        return;
    
    if(iAllVoted)
        g_iPlayerProcc = 100 / iAllVoted;
    else
        g_iPlayerProcc = 0;
    
    if((get_gametime() - g_iLastSec[id]) >= 1.0)
        if(g_iTimerVote[id] != 0)
            g_iTimerVote[id]--, ChooseMap(id), g_iLastSec[id] = get_gametime();
        else
            show_menu(id, 0, "^n"), g_iTimerVote[id] = -1;
}

stock get_ending(num, output[32], const l[])
{
    new num100=num%100, num10=num%10;
    if(num100>=5&&num100<=20||num10==0||num10>=5&&num10<=9) format(output, 31, "секунд");
    else if(num10==1) format(output, 31, "секунд%s", l);
    else if(num10>=2&&num10<=4) format(output, 31, "секунды");
}

stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    format(msg, sizeof(msg), "^1[^4Голосование^1] %s", msg)
    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: