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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Extendmap

Статус пользователя Sacred_IJ
сообщение 22.8.2008, 11:09
Сообщение #1


Стаж: 18 лет

Сообщений: 27
Благодарностей: 4
Полезность: 114

Плагин позволяющий выбрать: Продлить ли карту или закончить. После того как большенство продлевает, карта продолжается еще на некоторое время а потом голосование за выбор карты. А если большенство не продливают карту, то через 15 сек должно идти голосование за карту. Этот вопрос поднимался но там не было определенного ответа и тему закрыли.
В той теме указан вот этот плагин, но при совмесном использовании его и Мапменеджера, выбор карты и вопрос о продлении выводиться одновременно и выбор карты имеет приоритет над голосованием за продление. Дайте ссылку на готовый плагин или поправьте код этого:

Код
#include <amxmodx>
#include <amxmisc>

#define TASKID1 164843
#define MENU_KEYS   ((1<<0)|(1<<1))

new bool:g_bShowVote = true
new g_iVotes
new bool:g_bCstrike
new g_szMapName[32]
new g_pcvarRatio, g_pcvarMax, g_pcvarStep, g_pcvarAnswers, mp_timelimit

public plugin_init(){
    register_plugin("Map Extend Vote", "1.0b", "Rzeznik")
    
    g_pcvarRatio = register_cvar("amx_extendmap_ratio", "0.6")
    g_pcvarMax = register_cvar("amx_extendmap_max", "30")
    g_pcvarStep = register_cvar("amx_extendmap_step", "3")
    g_pcvarAnswers = register_cvar("amx_vote_answers", "0")
    register_menucmd(register_menuid("Extend map"), MENU_KEYS, "vote_count")

}

public plugin_cfg()
{
    set_task(15.0, "Vote_Extend", TASKID1, _, _, "b")
    get_mapname(g_szMapName, 31)
    mp_timelimit = get_cvar_pointer("mp_timelimit")
    g_bCstrike = bool:cstrike_running()
}

public check_votes(){
    new iPlayers[32], iNum
    get_players(iPlayers, iNum, "ch")

    new Float:fStepTime = get_pcvar_float(g_pcvarStep)
    new Float:fTimeLimit = get_pcvar_float(mp_timelimit)
    new Float:fVoteRatio = get_pcvar_float(g_pcvarRatio)
    new Float:fResult = iNum ? (float(g_iVotes) / float(iNum)) : 0.0

    if (fResult >= fVoteRatio)
    {
        client_print(0, print_chat, "* Voting successful. Map will be extended to next %.0f minutes", fStepTime)
        new Float:fNewTime = fTimeLimit + fStepTime
        set_pcvar_float(mp_timelimit, fNewTime)
        if(fNewTime + fStepTime < get_pcvar_float(g_pcvarMax))
            g_bShowVote = true
        else
            remove_task(TASKID1)
    }

    else {
        remove_task(TASKID1)
        client_print(0, print_chat, "* Voting failed. Map won't be extended")
    }
}

public vote_count(id, key)
{
    if (get_pcvar_float(g_pcvarAnswers))
    {
        new szName[32]
        get_user_name(id, szName, 31)
        client_print(0, print_chat, "* %s voted for %s", szName, key ? "no-extend" : "extend")
    }

    if(!key)
    {
        ++g_iVotes
    }
}

public Vote_Extend(){
    new iTimeleft = get_timeleft()

    if(!g_bShowVote)
        return

    if (iTimeleft > 0 && iTimeleft < 120)
    {
        g_bShowVote = false
        g_iVotes = 0

        new szMenu[256]
        if (g_bCstrike)            formatex(szMenu, 255, "\yExtend map %s?\w^n^n1.  Yes^n2.  No", g_szMapName)

        else            formatex(szMenu, 255, "Extend map %s?^n^n1.  Yes^n2.  No", g_szMapName)


        show_menu(0, MENU_KEYS, szMenu, 15)
        set_task(15.0, "check_votes")
        client_cmd(0, "spk Gman/Gman_Choose2")
        client_print(0, print_chat, "* Voting for the map extending started...")
    }

    else if(iTimeleft <= 135 && iTimeleft > 120)
    {
        client_print(0, print_chat, "* Votemap will start in 15 seconds")
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Deag1y
сообщение 22.8.2008, 11:30
Сообщение #2


Стаж: 18 лет

Сообщений: 1733
Благодарностей: 771
Полезность: 851

Тогда пытались изменить,не помню,помоему получилось даже)
Код
else if(iTimeleft <= 135 && iTimeleft > 120)

попробуй заменить на
Код
else if(iTimeleft <= 200 && iTimeleft > 140)

если не поможет,то используй вот этот плагин
http://forums.alliedmods.net/showthread.php?t=22627

Отредактировал: Deag1y, - 22.8.2008, 11:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: