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

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

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

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

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

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

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

Куда вписать?

cah9
сообщение 30.10.2012, 10:18
Сообщение #1
Стаж: 13 лет

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

Есть плагин:

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

new const PLUGIN[] = "Super Mapchooser"
new const VERSION[] = "2.0"
new const AUTHOR[] = "Prayer"

#define FLOAT_TIMELIMIT        "mp_timelimit"
#define STRING_NEXTMAP        "amx_nextmap"
#define NUM_MAXROUNDS        "mp_maxrounds"
#define NUM_WINLIMIT        "mp_winlimit"

#define NUM_SM_VOTEMAPS        "mapchooser_votemaps"
#define NUM_SM_LANG        "mapchooser_lang"
#define NUM_SM_TIME        "mapchooser_votetime"

#define NUM_SM_RED        "mapchooser_result_red"
#define NUM_SM_GREEN        "mapchooser_result_green"
#define NUM_SM_BLUE        "mapchooser_result_blue"

#define TASK_PLUGIN_ID        44747477 // +=:D
#define TASK_SCREEN_ID        979699 // +=:D:=+
#define TASK_RESULT_ID        12111 // :o

const HudLen = 512

new Array:g_mapName
new g_mapNums
new g_saveids[10]

new g_voteCount[10]
new g_nextName[10]
new g_lastMap[32]
new g_currentMap[32]
new g_mapVoteNum

new g_votemaps
new g_maxspeed = 320

new bool:hasBlocked = false
new bool:forceBlock = true
new bool:voteStarted = true
new bool:hasExtend = false
new timeleft

new bool:hasBlind[33] = { false, ... }
new g_msgScreenFade

new PlayersVoted = 0
new PlayersNum = 0

new
    g_result_red,
    g_result_green,
    g_result_blue

new MenuName[96]

enum ChatColor
{
    CHATCOLOR_NORMAL = 1,     // Normal
    CHATCOLOR_GREEN,     // Green Color
    CHATCOLOR_TEAM_COLOR,     // Red, grey, blue
    CHATCOLOR_GREY,     // grey
    CHATCOLOR_RED,         // Red
    CHATCOLOR_BLUE,     // Blue
}

new g_TeamName[][] =
{
    "",
    "TERRORIST",
    "CT",
    "SPECTATOR"
}

new g_msgSayText
new g_msgTeamInfo

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_cvar("amx_extendmap_max",    "90.0")//Максимальное количество минут. Когда несколько раз продлевается карта - это значение будет максимальным в timelimit'е
    register_cvar("amx_extendmap_step",    "15.0")//На сколько минут продлевать карту, если проголосовали за ее продление.
    
    register_cvar(NUM_SM_LANG,        "0")//0-Русский, 1-English
    register_cvar(NUM_SM_TIME,        "15")//Сколько времени в секундах должно идти голосование
    register_cvar(NUM_SM_VOTEMAPS,        "5")//Сколько карт выводить на голосование не считая карты, которую продливают в голосовании
    
    // Каким цветом показывать результаты голосования. Формат RGB
    register_cvar(NUM_SM_RED,        "255")//Красный
    register_cvar(NUM_SM_GREEN,        "255")//Зеленый
    register_cvar(NUM_SM_BLUE,        "255")//Синий
    
    register_event("ScreenFade",    "EVENT_ScreenFade",    "be")
    register_event("TextMsg",    "EVENT_RestartRound",    "a",    "2&#Game_C","2&#Game_w")
    
    g_msgSayText = get_user_msgid("SayText")
    g_msgTeamInfo = get_user_msgid("TeamInfo")
    g_msgScreenFade = get_user_msgid("ScreenFade")
}

public plugin_precache() {
    precache_sound("mc/goloc.mp3")
    return PLUGIN_CONTINUE
}

public plugin_cfg()
{
    g_votemaps = get_cvar_num(NUM_SM_VOTEMAPS)
    
    if(g_votemaps > 8)
        set_cvar_num(NUM_SM_VOTEMAPS, 8)
    else if(g_votemaps < 1)
        set_cvar_num(NUM_SM_VOTEMAPS, 1)
    
    g_votemaps = get_cvar_num(NUM_SM_VOTEMAPS)
    
    register_menucmd(register_menuid("superMapChooserMenu"), (-1^(-1<<(g_votemaps + 1))), "countVote")
    
    g_mapName = ArrayCreate(32)
    
    get_localinfo("lastMap", g_lastMap, sizeof g_lastMap -1)
    set_localinfo("lastMap", "")
    
    new maps_ini_file[64]
    get_localinfo("amxx_configsdir", maps_ini_file, sizeof maps_ini_file -1)
    
    format(maps_ini_file, sizeof maps_ini_file -1, "%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(loadSettings(maps_ini_file))
        cmdReloadTimer()
    
    g_maxspeed = get_cvar_num("sv_maxspeed")
    
    // bugfix: need for timeleft (cs time == amxx time): !(!(remaining == left)) || !(remaining != left) :o
    server_cmd("sv_restart 1")
    
    get_mapname(g_currentMap, sizeof g_currentMap -1)
}

public client_disconnect(id)
{
    remove_task(id+TASK_SCREEN_ID)
    remove_task(id+TASK_RESULT_ID)
    
    hasBlind[id] = false
}

public EVENT_RestartRound()
    cmdReloadTimer()

public cmdReloadTimer()
{
    if(voteStarted)
    {
        PlayersVoted = 0
        PlayersNum = 0
        
        forceBlock = true
        hasBlocked = false
        voteStarted = false
        
        new players[32], num, pid
        get_players(players, num)
        for(new i=0;i<num;i++)
        {
            pid = players[i]
            
            hasBlind[pid] = false
            
            remove_task(pid+TASK_SCREEN_ID)
            remove_task(pid+TASK_RESULT_ID)
            
            message_begin(MSG_ONE, g_msgScreenFade, _, pid)
            write_short(1<<0)
            write_short(1<<0)
            write_short(1<<0)
            write_byte(0)
            write_byte(0)
            write_byte(0)
            write_byte(0)
            message_end()
        }
        
        if(!hasExtend)
        {
            switch(get_cvar_num(NUM_SM_LANG))
            {
                //Голосование прервано !
                case 0: colorChat(0, CHATCOLOR_RED, "Голосование прервано !")
                case 1: colorChat(0, CHATCOLOR_RED, "Voting is interrupted!")
            }
        }
        
        set_cvar_num("sv_maxspeed", g_maxspeed)
        
        remove_task(TASK_PLUGIN_ID)
        
        set_task(8.0, "taskListening", TASK_PLUGIN_ID, "", 0, "b")
        taskListening()
    }
}

public taskListening()
{
    timeleft = get_timeleft()
    
    if(!hasBlocked && (timeleft <= (get_cvar_num(NUM_SM_TIME) + 14)))
    {
        change_task(TASK_PLUGIN_ID, 1.0)
        
        hasBlocked = true
    }
    else if(timeleft <= (5 + get_cvar_num(NUM_SM_TIME)))//5 sekynd - skoka ostaetsia do smeni karti posle okon4ania golosovania
    {
        remove_task(TASK_PLUGIN_ID)
        
        forceBlock = false
        hasBlocked = false
        hasExtend = false
        
        g_result_red = get_cvar_num(NUM_SM_RED)
        g_result_green = get_cvar_num(NUM_SM_GREEN)
        g_result_blue = get_cvar_num(NUM_SM_BLUE)
        
        set_cvar_num("sv_maxspeed", 0)
        
        switch(get_cvar_num(NUM_SM_LANG))
        {
            //Проголосуйте за следующую карту
            case 0:    format(MenuName, sizeof MenuName -1, "Проголосуйте Р·Р° следующую карту")
            case 1: format(MenuName, sizeof MenuName -1, "Vote for the next map")
        }
        
        cmdVoteNextmap()
    }
}

public cmdVoteNextmap()
{
    new
        winlimit,
        maxrounds
    
    winlimit = get_cvar_num(NUM_WINLIMIT)
    maxrounds = get_cvar_num(NUM_MAXROUNDS)
    
    new
        mkeys = ((1<<g_votemaps) + 1),
        menu[HudLen],
        a
    
    new pos = format(menu, HudLen -1, "     \r%s:^n^n", MenuName)
    new dmax = (g_mapNums > g_votemaps) ? g_votemaps : g_mapNums
    
    new unki = 0
    
    for(g_mapVoteNum = 0; g_mapVoteNum < dmax; g_mapVoteNum++)
    {
        a = random_num(0, g_mapNums -1)
        
        while(isInMenu(a))
        {
            if(++a >= g_mapNums)
            {
                a = 0
            }
        }
        
        g_nextName[g_mapVoteNum] = a
        
        pos += format(menu[pos], HudLen -1, "     \y%d.\w %a^n", g_mapVoteNum + 1, ArrayGetStringHandle(g_mapName, a))
        
        g_saveids[unki] = a
        unki++
        
        mkeys |= (1<<g_mapVoteNum)
        
        g_voteCount[g_mapVoteNum] = 0
    }
    
    g_voteCount[g_votemaps] = 0
    g_voteCount[g_votemaps + 1] = 0
    
    new language = get_cvar_num(NUM_SM_LANG)
    
    if(((winlimit + maxrounds) == 0) && (get_cvar_float(FLOAT_TIMELIMIT) < get_cvar_float("amx_extendmap_max")))
    {
        switch(language)
        {
            //продлить
            case 0: pos += format(menu[pos], HudLen -1, "     \y%d.\w %s \y[продлить]", g_votemaps + 1, g_currentMap)
            case 1: pos += format(menu[pos], HudLen -1, "     \y%d.\w %s \y[prolong]", g_votemaps + 1, g_currentMap)
        }
        
        mkeys |= (1<<g_votemaps)
    }
    
    set_task(get_cvar_float(NUM_SM_TIME), "checkVotes", TASK_PLUGIN_ID)
    
    new players[32], pid
    get_players(players, PlayersNum)
    for(new i=0;i<PlayersNum;i++)
    {
        pid = players[i]
        
        hasBlind[pid] = true
        
        show_menu(pid, mkeys, menu, get_cvar_num(NUM_SM_TIME), "superMapChooserMenu")
        
        switch(language)
        {
            //Голосование начато !
            case 0: colorChat(pid, CHATCOLOR_GREEN, "Голосование начато !")
            case 1: colorChat(pid, CHATCOLOR_GREEN, "Voting started")
        }
        
        client_cmd(pid, "spk gman/gman_choose1")
        
        message_begin(MSG_ONE, g_msgScreenFade, _, pid)
        write_short(1<<12)    // Duration
        write_short(1<<9)    // Hold time
        write_short(1<<0)    // Fade type
        write_byte(0)        // Red
        write_byte(0)        // Green
        write_byte(0)        // Blue
        write_byte(255)        // Alpha
        message_end()
        
        set_task(1.0, "cmdFadeScreen", pid+TASK_SCREEN_ID, "", 0, "b")
    }
    
    voteStarted = true
    
    log_amx("Super Vote: Voting for the nextmap started")
}

public checkVotes()
{
    new bolt = 0
    
    for(new a = 0; a < g_mapVoteNum; a++)
    {
        if(g_voteCount[bolt] < g_voteCount[a])
        {
            bolt = a
        }
    }
    
    //clear removed channel #2 :/
    set_hudmessage(_,_,_,_,_,_,_,_,_,_,2)
    show_hudmessage(0, " ")
    
    new players[32], num, pid
    get_players(players, num)
    
    if((g_voteCount[g_votemaps] > g_voteCount[bolt]) && (g_voteCount[g_votemaps] > g_voteCount[g_votemaps + 1]))
    {    
        new Float:steptime = get_cvar_float("amx_extendmap_step")
        
        set_cvar_float(FLOAT_TIMELIMIT, get_cvar_float(FLOAT_TIMELIMIT) + steptime)
        
        set_hudmessage(255, 127, 0, -1.0, 0.25, 2, 0.1, 10.0, 0.05, 1.0, 1)
        
        for(new i=0;i<num;i++)
        {
            pid = players[i]
            
            switch(get_cvar_num(NUM_SM_LANG))
            {
                case 0:
                {
                    //Голосование завершено. Эта карта продлена на %.0f мин
                    colorChat(pid, CHATCOLOR_GREEN, "Голосование заверС?ено.^x01 Эта карта продлена РЅР° %.0f РјРёРЅ", steptime)
                    
                    //Эта карта продлена на %.0f мин
                    show_hudmessage(pid, "Эта карта продлена РЅР° %.0f РјРёРЅ", steptime)
                }
                case 1:
                {
                    colorChat(pid, CHATCOLOR_GREEN, "Voting is finished. This map is prolonged on %.0f minutes", steptime)
                    show_hudmessage(pid, "This map is prolonged on %.0f minutes", steptime)
                }
            }
        }
        
        log_amx("Super Vote: Voting for the nextmap finished. Map %s will be extended to next %.0f minutes", g_currentMap, steptime)
        
        hasExtend = true
        
        cmdReloadTimer()
        
        return
    }
    
    new smap[32]
    
    if(g_voteCount[bolt] && (g_voteCount[g_votemaps + 1] <= g_voteCount[bolt]))
    {
        ArrayGetString(g_mapName, g_nextName[bolt], smap, sizeof smap -1)
        set_cvar_string(STRING_NEXTMAP, smap)
    }
    
    get_cvar_string(STRING_NEXTMAP, smap, sizeof smap -1)
    
    set_hudmessage(255, 127, 0, -1.0, 0.42, 2, 0.1, 10.0, 0.05, 1.0, 1)
    
    for(new i=0;i<num;i++)
    {
        pid = players[i]
        
        remove_task(pid+TASK_RESULT_ID)
        
        switch(get_cvar_num(NUM_SM_LANG))
        {
            case 0:
            {
                //Голосование завершено.^x01 Следующая карта:^x04 %s
                colorChat(pid, CHATCOLOR_GREEN, "Голосование заверС?ено.^x01 Следующая карта:^x04 %s", smap)
                
                //Следующая карта %s
                show_hudmessage(pid, "Следующая карта %s", smap)
            }
            case 1:
            {
                colorChat(pid, CHATCOLOR_GREEN, "Voting is finished.^x01 Nextmap:^x04 %s", smap)
                show_hudmessage(pid, "Nextmap will be %s", smap)
            }
        }
    }
    
    log_amx("Super Vote: Voting for the nextmap finished. The nextmap will be %s", smap)
}

public countVote(id, key)
{
    if(!voteStarted && forceBlock)
        return PLUGIN_HANDLED
    
    if(get_cvar_float("amx_vote_answers"))
    {
        new name[32]
        get_user_name(id, name, sizeof name -1)
        
        if(key == g_votemaps)
        {
            switch(get_cvar_num(NUM_SM_LANG))
            {
                //%s^x01 проголосовал за^x04 продление карты
                case 0: colorChat(0, CHATCOLOR_GREEN, "%s^x01 проголосовал Р·Р°^x04 продление карты", name)
                case 1: colorChat(0, CHATCOLOR_GREEN, "%s^x01 chose^x04 map extending", name)
            }
        }
        else if(key < g_votemaps)
        {
            new map[32]
            ArrayGetString(g_mapName, g_nextName[key], map, sizeof map -1)
            
            switch(get_cvar_num(NUM_SM_LANG))
            {
                //%s проголосовал за %s
                case 0: colorChat(0, CHATCOLOR_GREEN, "%s^x01 проголосовал Р·Р°^x04 %s", name, map)
                case 1: colorChat(0, CHATCOLOR_GREEN, "%s^x01 chose^x04 %s", name, map)
            }
        }
        
        cmdShowResults(id+TASK_RESULT_ID)
        set_task(0.8, "cmdShowResults", id+TASK_RESULT_ID, "", 0, "b")
    }
    
    client_cmd(id, "spk UI/buttonclickrelease")
    
    g_voteCount[key]++
    PlayersVoted++
    
    return PLUGIN_HANDLED
}

public cmdShowResults(pid)
{
    static id
    id = pid-TASK_RESULT_ID
    
    if(is_user_connected(id))
    {
        static i, len, language, message[HudLen]
        
        language = get_cvar_num(NUM_SM_LANG)
        
        switch(language)
        {
            //Результаты голосования
            case 0: len = format(message, sizeof message -1, "Результаты голосования^n^n")
            case 1: len = format(message, sizeof message -1, "Results of voting^n^n")
        }
        
        for(i=0;i<g_votemaps;i++)
        {
            len += format(message[len], HudLen -1, "[%d] | %a^n", g_voteCount[i], ArrayGetStringHandle(g_mapName, g_saveids[i]))
        }
        
        switch(language)
        {
            case 0:
            {
                //продливаемая
                len += format(message[len], HudLen -1, "[%d] | %s [продливаемая]^n^n", g_voteCount[i], g_currentMap)
                //Всего проголосовало: %d из %d
                len += format(message[len], HudLen -1, "Всего проголосовало: %d РёР· %d", PlayersVoted, PlayersNum)
            }
            case 1:
            {
                len += format(message[len], HudLen -1, "[%d] | %s [prolonged]^n^n", g_voteCount[i], g_currentMap)
                len += format(message[len], HudLen -1, "In total has voted: %d from %d", PlayersVoted, PlayersNum)
            }
        }
        
        set_hudmessage(g_result_red, g_result_green, g_result_blue, 0.36, 0.3, 0, 1.0, 4.0, 0.1, 0.2, 2)
        show_hudmessage(id, "%s", message)
    }
}

public EVENT_ScreenFade(id)
{
    if(hasBlind[id])
    {
        set_task(0.6, "cmdFadeScreen", id+TASK_SCREEN_ID)
    }
}

public cmdFadeScreen(pid)
{
    new id = pid-TASK_SCREEN_ID
    
    if(is_user_connected(id))
    {
        message_begin(MSG_ONE, g_msgScreenFade, _, id)
        write_short(1<<0)    // Duration
        write_short(1<<0)    // Hold time
        write_short(1<<2)    // Fade type
        write_byte(0)        // Red
        write_byte(0)        // Green
        write_byte(0)        // Blue
        write_byte(255)        // Alpha
        message_end()
    }
}

public plugin_end()
{
    new current_map[32]
    
    set_cvar_num("sv_maxspeed", g_maxspeed)
    
    get_mapname(current_map, sizeof current_map -1)
    set_localinfo("lastMap", current_map)
}

stock bool:ValidMap(mapname[])
{
    if(is_map_valid(mapname))
    {
        return true
    }
    
    new len = strlen(mapname) -4
    
    if(len < 0)
    {
        return false
    }
    
    if(equali(mapname[len], ".bsp"))
    {
        mapname[len] = '^0'
        
        if(is_map_valid(mapname))
        {
            return true
        }
    }
    
    return false
}

loadSettings(filename[])
{
    if(!file_exists(filename))
        return 0

    new
        currentMap[32],
        szText[32],
        buff[256]
    
    get_mapname(currentMap, sizeof currentMap -1)

    new fp = fopen(filename, "r")
    
    while(!feof(fp))
    {
        buff[0] = '^0'
        
        fgets(fp, buff, sizeof buff -1)
        
        parse(buff, szText, sizeof szText -1)
        
        if((szText[0] != ';') && ValidMap(szText) && !equali(szText, g_lastMap) && !equali(szText, currentMap))
        {
            ArrayPushString(g_mapName, szText)
            
            g_mapNums++
        }
    }
    
    fclose(fp)

    return g_mapNums
}

bool:isInMenu(id)
{
    for(new a = 0; a < g_mapVoteNum; a++)
    {
        if(id == g_nextName[a])
        {
            return true
        }
    }
    
    return false
}

colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...)
{
    new team, index, MSG_Type
    new bool:teamChanged = false
    static message[192]
    
    switch(color)
    {
        case CHATCOLOR_NORMAL: // Normal
        {
            message[0] = 0x01;
        }
        case CHATCOLOR_GREEN: // Green
        {
            message[0] = 0x04;
        }
        default: // Grey, Red, Blue
        {
            message[0] = 0x03;
        }
    }
    
    vformat(message[1], 190, msg, 4);
    
    if(id == 0)
    {
        index = findAnyPlayer();
        MSG_Type = MSG_ALL;
    }
    else
    {
        index = id;
        MSG_Type = MSG_ONE;
    }
    if(index != 0)
    {
        team = get_user_team(index);    
        if(color == CHATCOLOR_RED && team != 1)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[1])
            teamChanged = true
        }
        else
        if(color == CHATCOLOR_BLUE && team != 2)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[2])
            teamChanged = true
        }
        else
        if(color == CHATCOLOR_GREY && team != 0)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[0])
            teamChanged = true
        }
        messageSayText(index, MSG_Type, message);
        if(teamChanged)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[team])
        }
    }
}

messageSayText(id, type, message[])
{
    message_begin(type, g_msgSayText, _, id)
    write_byte(id)        
    write_string(message)
    message_end()
}
    
messageTeamInfo(id, type, team[])
{
    message_begin(type, g_msgTeamInfo, _, id)
    write_byte(id)
    write_string(team)
    message_end()
}
    
findAnyPlayer()
{
    static players[32], inum, pid
    
    get_players(players, inum, "ch")
    
    for (new a = 0; a < inum; a++)
    {
        pid = players[a]
        if(is_user_connected(pid))
            return pid
    }
    
    return 0
}

/*
    Плагин сделан на сайте http://www.darktower.su/ по заказу: Курица
    
    Плагины на заказ только у нас!
    http://www.darktower.su/fouroom/showthread.php?t=203
    
    А так же - помощь по серверам, различные статьи, видео уроки и много другого!
    
    Описание:
    Super MapChooser - альтернатива стандарнтому плагину mapchooser.amxx
    До окончания карты экран затухает, игроки останавливаются и предлагается выбрать карту.
    После выбора карты появляются результаты голосования - сколько игроков проголосовали, за какую карту и кол-во проголосовавших.
    По истечению времени голосования написано какая карта будет следующей.

    Переменные (уже прописаны в amxx.cfg):
    На сколько минут продлевать карту, если проголосовали за ее продление.
    amx_extendmap_step "15.0"

    Максимальное количество минут. Когда несколько раз продлевается карта - это значение будет максимальным в timelimit'е.
    amx_extendmap_max "90.0"

    Переменные (можно прописать в amxx.cfg):
    Язык отображения сообщений. (можно изменять в игре)
    mapchooser_lang "0"
    0 - Русский
    1 - English

    Сколько времени в секундах должно идти голосование. (можно изменять в игре до голосования)
    mapchooser_votetime "15"

    Сколько карт выводить на голосование не считая карты, которую продливают в голосовании. (можно изменять в игре - активируется в след. карте)
    mapchooser_votemaps "5"
    Минимальное значение 1, максимальное 8

    Каким цветом показывать результаты голосования. (можно изменять в игре до голосования)
    mapchooser_result_red "255"
    mapchooser_result_green "255"
    mapchooser_result_blue "255"

    Установка плагина:
    1) Плагин super_mapchooser.amxx кладем в папку с плагинами - addons/amxmodx/plugins
    2) Открываем файл addons/amxmodx/configs/plugins.ini
    3) Находим там строчку:
    mapchooser.amxx    ; allows to vote for next map
    4) Вместо нее вставляем строчку:
    super_mapchooser.amxx
    5) Сохраняем изменения
    6) Рестартим сервер...

    Бонусы:
    1) Цветные сообщения.
*/


Нужно добавить воспроизведение звука в начале голосования,

Код
public plugin_precache() {
    precache_sound("mc/goloc.mp3")
    return PLUGIN_CONTINUE
}

- Добавил.

А вот куда вставить:

Код
client_cmd(id,"mp3 play sound/mc/golos.mp3")


Не знаю.



Подскажите.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mazdan
сообщение 30.10.2012, 10:46
Сообщение #2


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

перед
show_menu(pid, mkeys, menu, get_cvar_num(NUM_SM_TIME), "superMapChooserMenu")
только не id, а pid соотвественно.
p.s. Я не вчитывался.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: