Добро пожаловать

Для полноценного пользования форумом и общения с его участниками, пройдите регистрацию ниже
Регистрация

Решено нужна помощь со стандартными плагинами

Тема в разделе "Свалка", создана пользователем Sekret^, 6 авг 2017.

Статус темы:
Закрыта.
  1. Sekret^

    Sekret^ Проверенный

    115
    22
    100
    Здравствуйте, не можете мне помочь, проблема не большая но решить что то не получаеться, надо в стандартном плагине( прикреплю ниже) сделать чтоб когда админ карту меняет не сразу менялось а доиграв раунд( да я пытался сам там вписать ластраунд не получается, скину версию как я пробовал вписать
    --- Сообщение склеено, 6 авг 2017 ---
    если надо оплатить вы скажите, я не против, просто правда не получается почему то..
    --- Сообщение склеено, 7 авг 2017 ---
    для удобности( если не охото качать плагин вставлю кусок кода сюда(целиком не влезает, форум запрещает не больше 10000 символов, надеюсь что кто то откликнется
    Код:
    #include <amxmodx>
    #include <amxmisc>
    #include <colorchat>
    
    new Array:g_mapName;
    new g_mapNums
    new g_menuPosition[33]
    
    new g_voteCount[5]
    
    new g_voteSelected[33][4]
    new g_voteSelectedNum[33]
    
    new g_coloredMenus
    
    new g_choosed
    
    new g_lastRound
    
    public plugin_init()
    {
        register_plugin("Maps Menu", AMXX_VERSION_STR, "AMXX Dev Team")
        register_dictionary("mapsmenu.txt")
        register_dictionary("common.txt")
        register_clcmd("amx_mapmenu", "cmdMapsMenu", ADMIN_MAP, "- displays changelevel menu")
        register_clcmd("amx_votemapmenu", "cmdVoteMapMenu", ADMIN_VOTE, "- displays votemap menu")
    
        register_menucmd(register_menuid("Changelevel Menu"), 1023, "actionMapsMenu")
        register_menucmd(register_menuid("Which map do you want?"), 527, "voteCount")
        register_menucmd(register_menuid("Change map to"), 527, "voteCount")
        register_menucmd(register_menuid("Votemap Menu"), 1023, "actionVoteMapMenu")
        register_menucmd(register_menuid("The winner: "), 3, "actionResult")
        register_logevent("EventStartRound", 2, "1=Round_Start");
       
        g_mapName=ArrayCreate(32);
       
        new maps_ini_file[64];
        get_configsdir(maps_ini_file, 63);
        format(maps_ini_file, 63, "%s/maps.ini", maps_ini_file);
    
        if (!file_exists(maps_ini_file))
            get_cvar_string("mapcyclefile", maps_ini_file, sizeof(maps_ini_file) - 1);
           
        if (!file_exists(maps_ini_file))
            format(maps_ini_file, 63, "mapcycle.txt")
       
        load_settings(maps_ini_file)
    
        g_coloredMenus = colored_menus()
    }
    
    public autoRefuse()
    {
        log_amx("Vote: %L", "en", "RESULT_REF")
        ColorChat(0, NORMAL, "^x03[^x04Менеджер карт-90х^x03]^x04 Результат не принят.")
    }
    
    public EventStartRound()
    
    {
    
            if(g_lastRound)
    
            {
    
                    new _modName[10]
    
                    get_modname(_modName, 9)
    
                                 
    
                    if (!equal(_modName, "zp"))
    
                    {
    
                            message_begin(MSG_ALL, SVC_INTERMISSION)
    
                            message_end()
    
                    }
    
           
    
                    new tempMap[32];
    
                    ArrayGetString(g_mapName, g_choosed, tempMap, charsmax(tempMap));
    
                                 
    
                    set_task(2.0, "delayedChange", 0, tempMap, strlen(tempMap) + 1)
    
            }
    
    }
    
    public actionResult(id, key)
    {
        remove_task(4545454)
       
        switch (key)
        {
            case 0:
            {
                new _modName[10]
                get_modname(_modName, 9)
               
                if (!equal(_modName, "zp"))
                {
                    message_begin(MSG_ALL, SVC_INTERMISSION)
                    message_end()
                }
    
                new tempMap[32];
                ArrayGetString(g_mapName, g_choosed, tempMap, charsmax(tempMap));
               
                set_task(2.0, "delayedChange", 0, tempMap, strlen(tempMap) + 1)
                log_amx("Vote: %L", "en", "RESULT_ACC")
                client_print(0, print_chat, "%L", LANG_PLAYER, "RESULT_ACC")
                g_lastRound = true;
               
                ColorChat(id, NORMAL, "^x03[^x04Менеджер карт-90х^x03]^x04 Результат принят")
            }
            case 1: autoRefuse()
        }
       
        return PLUGIN_HANDLED
    }
    
    public checkVotes(id)
    {
        id -= 34567
        new num, ppl[32], a = 0
       
        get_players(ppl, num, "c")
        if (num == 0) num = 1
        g_choosed = -1
       
        for (new i = 0; i < g_voteSelectedNum[id]; ++i)
            if (g_voteCount[a] < g_voteCount[i])
                a = i
    
        new votesNum = g_voteCount[0] + g_voteCount[1] + g_voteCount[2] + g_voteCount[3] + g_voteCount[4]
        new iRatio = votesNum ? floatround(get_cvar_float("amx_votemap_ratio") * float(votesNum), floatround_ceil) : 1
        new iResult = g_voteCount[a]
    
        if (iResult >= iRatio)
        {
            g_choosed = g_voteSelected[id][a]
            new tempMap[32];
            ArrayGetString(g_mapName, g_choosed, tempMap, charsmax(tempMap));
            ColorChat(0, NORMAL, "^x03[^x04Менеджер карт-90х^x03]^x04 Голосование завершено. Следующая карта: ^x03%s", tempMap);
            log_amx("Vote: %L %s", "en", "VOTE_SUCCESS", tempMap);
        }
       
        if (g_choosed != -1)
        {
            if (is_user_connected(id))
            {
                new menuBody[512]
                new tempMap[32];
                ArrayGetString(g_mapName, g_choosed, tempMap, charsmax(tempMap));
                new len = format(menuBody, 511, g_coloredMenus ? "\r%L: \w%s^n^n" : "%L: %s^n^n", id, "THE_WINNER", tempMap)
               
                len += format(menuBody[len], 511 - len, g_coloredMenus ? "\r%L^n\w" : "%L^n", id, "WANT_CONT")
                format(menuBody[len], 511-len, "^n1. %L^n2. %L", id, "YES", id, "NO")
    
                show_menu(id, 0x03, menuBody, 10, "The winner: ")
                set_task(10.0, "autoRefuse", 4545454)
            } else {
                new _modName[10]
                get_modname(_modName, 9)
               
                if (!equal(_modName, "zp"))
                {
                    message_begin(MSG_ALL, SVC_INTERMISSION)
                    message_end()
                }
                new tempMap[32];
                ArrayGetString(g_mapName, g_choosed, tempMap, charsmax(tempMap));
                set_task(2.0, "delayedChange", 0, tempMap, strlen(tempMap) + 1)
            }
        } else {
            ColorChat(0, RED, "^x03[^x04Менеджер карт-90х^x03]^x04 ^x03Голосование ^x03не состоялось")
            log_amx("Vote: %L", "en", "VOTE_FAILED")
        }
       
        remove_task(34567 + id)
    }
    
    public voteCount(id, key)
    {
        if (key > 3)
        {
            ColorChat(0, NORMAL, "^x03[^x04Менеджер карт-90х^x03]^x04 Голосование отменено!")
            remove_task(34567 + id)
            set_cvar_float("amx_last_voting", get_gametime())
            log_amx("Vote: Cancel vote session")
           
            return PLUGIN_HANDLED
        }
       
        if (get_cvar_float("amx_vote_answers"))
        {
            new name[32]
           
            get_user_name(id, name, 31)
        }
       
        ++g_voteCount[key]
       
        return PLUGIN_HANDLED
    }
    
    isMapSelected(id, pos)
    {
        for (new a = 0; a < g_voteSelectedNum[id]; ++a)
            if (g_voteSelected[id][a] == pos)
                return 1
        return 0
    }
    
    displayVoteMapsMenu(id, pos)
    {
        if (pos < 0)
            return
    
        new menuBody[512], b = 0, start = pos * 7
    
        if (start >= g_mapNums)
            start = pos = g_menuPosition[id] = 0
    
        new len = format(menuBody, 511, g_coloredMenus ? "\rМеню создания голосования за карту-90х^n\w^n" : "Меню создания голосования  за карту^n^n", pos + 1, (g_mapNums / 7 + ((g_mapNums % 7) ? 1 : 0)))
        new end = start + 7, keys = MENU_KEY_0
    
        if (end > g_mapNums)
            end = g_mapNums
    
        new tempMap[32];
        for (new a = start; a < end; ++a)
        {
            ArrayGetString(g_mapName, a, tempMap, charsmax(tempMap));
            if (g_voteSelectedNum[id] == 4 || isMapSelected(id, pos * 7 + b))
            {
                ++b
                if (g_coloredMenus)
                    len += format(menuBody[len], 511-len, "\r%d. %s^n\w", b, tempMap)
                else
                    len += format(menuBody[len], 511-len, "#. %s^n", tempMap)
            } else {
                keys |= (1<<b)
                len += format(menuBody[len], 511-len, "%d. %s^n", ++b, tempMap)
            }
        }
    
        if (g_voteSelectedNum[id])
        {
            keys |= MENU_KEY_8
            len += format(menuBody[len], 511-len, "^n8. %L^n", id, "START_VOT")
        }
        else
            len += format(menuBody[len], 511-len, g_coloredMenus ? "^n\r8. %L^n\w" : "^n#. %L^n", id, "START_VOT")
    
        if (end != g_mapNums)
        {
            len += format(menuBody[len], 511-len, "^n9. %L...^n0. %L^n", id, "MORE", id, pos ? "BACK" : "EXIT")
            keys |= MENU_KEY_9
        }
        else
            len += format(menuBody[len], 511-len, "^n0. %L^n", id, pos ? "BACK" : "EXIT")
    
        if (g_voteSelectedNum[id])
            len += format(menuBody[len], 511-len, g_coloredMenus ? "^n\r%L:^n\w" : "^n%L:^n", id, "SEL_MAPS")
        else
            len += format(menuBody[len], 511-len, "^n^n")
    
        for (new c = 0; c < 4; c++)
        {
            if (c < g_voteSelectedNum[id])
            {
                ArrayGetString(g_mapName, g_voteSelected[id][c], tempMap, charsmax(tempMap));
                len += format(menuBody[len], 511-len, "%s^n", tempMap)
            }
            else
                len += format(menuBody[len], 511-len, "^n")
        }
    
        new menuName[64]
        format(menuName, 63, "%L", "en", "VOTEMAP_MENU")
    
        show_menu(id, keys, menuBody, -1, menuName)
    }
    
    public cmdVoteMapMenu(id, level, cid)
    {
        if (!cmd_access(id, level, cid, 1))
            return PLUGIN_HANDLED
    
        if (get_cvar_float("amx_last_voting") > get_gametime())
        {
            ColorChat(id, NORMAL, "^x03[^x04Менеджер карт-90х^x03]^x04 Голосование уже начато!")
            return PLUGIN_HANDLED
        }
    
        g_voteSelectedNum[id] = 0
    
        if (g_mapNums)
        {
            displayVoteMapsMenu(id, g_menuPosition[id] = 0)
        } else {
            ColorChat(id, NORMAL, "В меню нет карт")
            ColorChat(id, NORMAL, "В меню нет карт")
        }
    
        return PLUGIN_HANDLED
    }
     

    Вложения:

    • mapsmenu.sma
      Размер файла:
      17,9 КБ
      Просмотров:
      200
  2. Izzatillo

    Izzatillo Проверенный

    480
    199
    170
    Sekret^, посмотрите код mapsmenu от неугомона. там как раз есть то функция который вам нужен, если не хотите менять стандартный на него.
    [1.4.1] Maps Menu
     
  3. Sekret^

    Sekret^ Проверенный

    115
    22
    100
    Проблема с ним, я отписал на неугомоне, там карту меняешь и когда раунд кончается начинает типо менять и все падает сервер, а в этом стандартном который я скинул не получается , пробовал, поэтому и написал сюда за помощью
     
  4. F1RST

    F1RST Администратор

    1.428
    630
    465
    Ответ
    От Мистирика попробуй. Там тоже такая функция есть.
     
  5. Sekret^

    Sekret^ Проверенный

    115
    22
    100
    Спасибо но я мапчусер от неугомона поставил а этот мапс мне бы вписать кто помог)
    --- Сообщение склеено, 7 авг 2017 ---
    форум умирает что ли.. или люди злые стали) либо заняты слишком) помочь некому...:drag:
    --- Сообщение склеено, 7 авг 2017 ---
    удалите тему пожалуйста) сам сделал)
     
Похожие темы
  1. ananac07
    Ответов:
    2
    Просмотров:
    538
  2. wantip22
    Ответов:
    10
    Просмотров:
    1.737
  3. 7upp
    Ответов:
    2
    Просмотров:
    1.090
  4. Cyxaruk
    Ответов:
    4
    Просмотров:
    785
  5. Cyxaruk
    Ответов:
    8
    Просмотров:
    944
Загрузка...
Статус темы:
Закрыта.