1. kupidon Пользователь

    Регистрация:
    17.11.15
    Сообщения:
    312
    Симпатии:
    27
    Пол:
    Мужской
    Вот плагин разминки на ножах, 60 секунд разминка, потом рестарт и идет пистолетка.
    Мне нужно чтобы после рестарта проигрывалась музыка
    PHP:
    #include <amxmodx>
    #include <amxmisc>
    #include <dhudmessage>
    #include <hamsandwich>
    #include <cstrike>
    #include <fun>
    #include <fakemeta>


    new TimerSecondsCvar
    new bool:g_knife true


    public plugin_init()
    {
        
    register_plugin"Knife WarnUP" "1.0""ill" )
     
        
    register_event("DeathMsg""on_death""a")
        
    register_event"CurWeapon""EventCurWeapon""be""2!29" )
     
        
    SecondsCvar register_cvar("auto_rr_time","60.0")

        
    Timer get_pcvar_num(SecondsCvar)
        
    set_task(1.0"start_rr_timer"___"a"Timer)
    }


    public 
    on_death()
    {
        new 
    victim
        victim 
    read_data(2)
     
        if(
    g_knife)
            
    set_task(1.0"fnRevivePlayer"victim)
    }

    public 
    fnRevivePlayer(id)
    {
        if(!
    is_user_alive(id))
            
    ExecuteHamB(Ham_CS_RoundRespawnid)
    }

    public 
    EventCurWeapon(id)
    {
        if(
    g_knife)
            
    engclient_cmd(id"weapon_knife")
    }

    public 
    start_rr_timer()
    {
        
    Timer--
     
        
    set_dhudmessage(25500, -1.00.2500.00.01)
        
    show_dhudmessage(0"НАЧАЛО ИГРЫ ЧЕРЕЗ %d СЕКУНД"Timer)

        if(
    Timer 1)
        {
            
    server_cmd("sv_restartround 1")
            
    set_task(3.0"rr_end")
            
    g_knife false
        
    }

    }

    public 
    rr_end()
    {

        
    set_dhudmessagerandom_num(0255), random_num(0255), random_num(0255), -1.00.2526.03.00.11.5false )
        
    show_dhudmessage(0"МАТЧ НАЧАЛСЯ | ПРИЯТНОЙ ИГРЫ!")
    }
     
    Последнее редактирование модератором: 09.01.16
    Pretsula нравится это.
  2. lexa88896 Пользователь

    Регистрация:
    27.12.15
    Сообщения:
    18
    Симпатии:
    1
    Пол:
    Мужской
    VKcom:
    thisisprogrammist
    Skype:
    lexa88896
    Тут проще чем ты думал)
    Суёшь в прекеш свою музыку

    Код:
    public plugin_precache()
    {
        precache_generic("sound/training/end_theme.mp3");
    }
    Дальше в паблике rr_end() составляешь функцию, которая будет всем(0) клиентам отправлять команду, которая должна проигрывать mp3-файл:
    Код:
    public rr_end()
    {
        client_cmd(0, "mp3 play sound/training/end_theme");
        set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5, false )
        show_dhudmessage(0, "МАТЧ НАЧАЛСЯ | ПРИЯТНОЙ ИГРЫ!")
    }
    
     

    Вложения:

    Последнее редактирование: 10.01.16
  3. kupidon Пользователь

    Регистрация:
    17.11.15
    Сообщения:
    312
    Симпатии:
    27
    Пол:
    Мужской

    Большое спасибо, можно пожалуйста еще сделать, чтобы в моем плагине, когда остается 10 секунд до рестарта - велся отсчет голосом мужским (ten, nine, eight...) Это дефолтные звуки отсчета без презагрузки, там как-то через таймер это делается. Вот как в этом плагине auto_restart_vl
    /* Plugin generated by AMXX-Studio */


    #include <amxmodx>

    #define PLUGIN "Auto Restart vl"
    #define VERSION "1.4"
    #define AUTHOR "vato loco [GE-S]"

    #define TIMER_TASK 123456
    #define RESTART_TASK 789123

    new g_counter

    new g_autorestart
    new g_autoenabled
    new g_autocds
    new g_autocount_color
    new g_autostart_color
    new g_auto_xypos

    new g_SyncGameStart
    new g_SyncRestartTimer

    new bool:g_bRoundStart

    public plugin_init()
    {
    register_plugin(PLUGIN, VERSION, AUTHOR)

    register_logevent("RoundStart", 2, "1=Round_Start")
    register_event("TextMsg","RestartTask","a","2&#Game_C")

    register_dictionary("auto_restart_vl.txt")

    g_autoenabled = register_cvar("amx_autorr_enable","1")
    g_autocds = register_cvar("amx_autorr_cds","1")
    g_autorestart = register_cvar("amx_autorr_time","60")
    g_autocount_color = register_cvar("amx_autorr_count_color","0 255 0")
    g_autostart_color = register_cvar("amx_autorr_start_color","0 255 255")
    g_auto_xypos = register_cvar("amx_autorr_xypos","-1.0 0.25")

    g_SyncGameStart = CreateHudSyncObj()
    g_SyncRestartTimer = CreateHudSyncObj()
    }

    public RoundStart()
    {
    if(!get_pcvar_num(g_autoenabled))
    return PLUGIN_HANDLED

    if(g_bRoundStart)
    {
    static r, g, b, Float:x, Float:y
    HudMsgPos(x,y)
    HudMsgColor(g_autostart_color, r, g, b)

    set_hudmessage( r, g, b, x, y, 1, 5.0, 8.0, 0.0, 0.0, -1)
    ShowSyncHudMsg( 0, g_SyncGameStart, "%L",LANG_PLAYER, "GAME_STARTED")
    }
    g_bRoundStart = false

    return PLUGIN_CONTINUE
    }

    public RestartTask()
    {
    if(!get_pcvar_num(g_autoenabled))
    return PLUGIN_HANDLED

    set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart))
    set_task(get_pcvar_float(g_autorestart),"RestartRound",RESTART_TASK)

    return PLUGIN_CONTINUE
    }

    public TimeCounter()
    {
    g_counter++

    new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter
    new Float:fSec
    fSec = iRestartTime

    static r, g, b, Float:x, Float:y
    HudMsgPos(x,y)
    HudMsgColor(g_autocount_color, r, g, b)

    set_hudmessage( r, g, b, x, y, 0, 0.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg( 0, g_SyncRestartTimer, "%L",LANG_PLAYER, "AUTO_RESTART", floatround(fSec))

    if(get_pcvar_num(g_autocds) && get_pcvar_num(g_autorestart) - g_counter < 11 && get_pcvar_num(g_autorestart) - g_counter !=0)
    {
    static szNum[32]
    num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31)
    client_cmd(0,"speak ^"vox/%s^"", szNum)
    }
    if(g_counter == get_pcvar_num(g_autorestart))
    {
    g_bRoundStart = true
    g_counter = 0
    }
    }

    public RestartRound()
    {
    server_cmd("sv_restartround 1")
    }

    public HudMsgColor(cvar, &r, &g, &b)
    {
    static color[16], piece[5]
    get_pcvar_string(cvar, color, 15)

    strbreak( color, piece, 4, color, 15)
    r = str_to_num(piece)

    strbreak( color, piece, 4, color, 15)
    g = str_to_num(piece)
    b = str_to_num(color)
    }

    public HudMsgPos(&Float:x, &Float:y)
    {
    static coords[16], piece[10]
    get_pcvar_string(g_auto_xypos , coords, 15)

    strbreak(coords, piece, 9, coords, 15)
    x = str_to_float(piece)
    y = str_to_float(coords)
    }
     
  4. lexa88896 Пользователь

    Регистрация:
    27.12.15
    Сообщения:
    18
    Симпатии:
    1
    Пол:
    Мужской
    VKcom:
    thisisprogrammist
    Skype:
    lexa88896
    Держи
     

    Вложения:

  5. kupidon Пользователь

    Регистрация:
    17.11.15
    Сообщения:
    312
    Симпатии:
    27
    Пол:
    Мужской
    Спасибо за помощь, но твою первую версию поставил и после того как проигрывается музыка - кикает всех игроков с сервера.
    Наверное забивается канал или что-то в этом роде, но сообщений "channel overfl... бла бла бла" - таких нет.
     
  6. pUzzlik Пользователь

    Регистрация:
    06.05.15
    Сообщения:
    848
    Симпатии:
    286
    Пол:
    Мужской
    Смотри логи больше инфы. А так то я бы не исп. этот плагин :)
     
  7. kupidon Пользователь

    Регистрация:
    17.11.15
    Сообщения:
    312
    Симпатии:
    27
    Пол:
    Мужской
    error логов нет, в консоли ошибок вроде нет - есть только сообщения что игроков выкинуло по причине time out
     
  8. lexa88896 Пользователь

    Регистрация:
    27.12.15
    Сообщения:
    18
    Симпатии:
    1
    Пол:
    Мужской
    VKcom:
    thisisprogrammist
    Skype:
    lexa88896
    Видать сервер крашится
    --- добавлено 10.01.16 ---
    Даже и не знаю чё б тут сделать..
    попробуй так: замени
    client_cmd(0,"speak ^"vox/%s^"", szNum_rmm)
    client_cmd(0,"stopsound; speak ^"vox/%s^"", szNum_rmm)
     
  9. kupidon Пользователь

    Регистрация:
    17.11.15
    Сообщения:
    312
    Симпатии:
    27
    Пол:
    Мужской
    Сервер не крашится, да и не всех выкидывает, а из 30 игроков - 25 выкидывает.
    --- добавлено 10.01.16 ---
    --- добавлено 10.01.16 ---
    почему не использовать?
     
  10. lexa88896 Пользователь

    Регистрация:
    27.12.15
    Сообщения:
    18
    Симпатии:
    1
    Пол:
    Мужской
    VKcom:
    thisisprogrammist
    Skype:
    lexa88896
    Возможно у игроков нет этих звуков.. Попробуй сделать прекеш от 1 до 10(звуки эти)