[CS:S/CS:GO] Random Sound

Тема в разделе "Новые плагины", создана пользователем exeorb, 16 июл 2014.

  1. exeorb

    exeorb

    Сообщения:
    2
    Симпатии:
    4
    Round Sound Plugin

    Текущая версия 1.1

    Описание плагина


    • Сопровождение евентов случайной музыкой из заданной папки с указанным шаблоном имен файлов
    • Поддержка source, go
    • Сlient preference
    • Меню для включения и выключения звуков

    Планы на будующее



    • Добавить updater
    • Больше евентов
    • Поддержка dota, tf и т.д
    • Приоритет звуков (например убийство ножом для вас важнее чем firstblood)
    • Текстовое сопровождение
    • Translations


    Usage:
    "[event]"
    {
    "pattern" "[некоторое слово]"
    "folder" "[некоторая папка в директории sound]"
    "config"  "[0 или 1 или 2 или 3]"
    }
    Описание полей:

    [pattern]
    По данному шаблону, регулярным выражением вида [some pattern]\w*\.mp3$, плагин ищет совпадения в папке (поле folder).

    Замечание

    Пустой pattern означает что звук выключен

    [folder]
    Название папки из директории sound.

    Внимание

    Указанная папка обязательно должна быть, иначе будет вызвана SetFailState

    [config]
    Следующий enum описывает config

    enum SoundSetting
    {
    NOBODY = 0,
    CLIENT = 1,
    ATTACKER_VICTIM = 2,
    ALL = 3
    };

    Замечание

    Event'ы типа joingame не могут иметь значение типа 2
    Примеры
    "firstblood"
    {
    "pattern" "first"
    "folder" "testfolder/anotherfolder"
    "config" "3
    }

    Файлы

    first1.mp3, firstblablabacl.mp3, firstfirst.mp3, first1234.mp3, firstblood.mp3
    подходят шаблону, теперь при возникновении события "firstblood" прозвучит выбранный случайным образом один из этих файлов
    Установка
    Закинуть папки в sourcemod

    Исходники

    https://github.com/exeorb/Random-Sound

     

    Вложения:

    • rds.zip
      Размер файла:
      22,2 КБ
      Просмотров:
      89
    Последнее редактирование: 17 июл 2014
    Danyas, Серый™, puga4off и ещё 1-му нравится это.
  2. acik

    acik

    Сообщения:
    734
    Симпатии:
    628
    exeorb,
    PHP:
                if((GetEngineTime() - g_LastKillTime[attackerClient]) < GetConVarFloat(g_ComboDelay
                    || 
    g_LastKillTime[attackerClient] == UNDEFINED_TIME
                {
                    switch(++
    g_ComboScore[attackerClient])
                    {
                        case 
    2:
                            
    stype DOUBLEKILL;
                        case 
    3:
                            
    stype TRIPLEKILL;
                        case 
    4:
                            
    stype QUAD;
                        case 
    5:
                            
    stype MONSTERKILL;
                    }
                }
                else
                {
                    
    g_ComboScore[attackerClient] = 0;// сдесь должно быть 1
                
    }
    так как с overlay на одно меньше показывало (троих то дабл)
     
  3. exeorb

    exeorb

    Сообщения:
    2
    Симпатии:
    4
    Мы исходили из следующей логики
    Если человек не успел доделать комбо за определенное время, то счет комбо упал.
    Исходники выложены, и вы всегда вправе изменить код (ссылаясь на источник)
    Скоро выйдет дополнение :)



    Добавлено через 20 часов 42 минуты
    Внимание
    Введены следующие изменения

    • Плагин получил короткое название rds
    • Изменение всех конфигов на префик rds т.е. (../configs/rds_list.cfg, ../cfg/rds.cfg, ../data/rds_storage.txt)
    • Добавлены нужные convar​
    Так же исходный код по ссылке ниже
    Пожелания и исправления приветствуются
     
    Последнее редактирование: 17 июл 2014
  4. Даниил Пронин

    Даниил Пронин

    Сообщения:
    2
    Симпатии:
    0
    acik, ты чё несёшь вообще? троих убил = double kill? шта?
     
  5. acik

    acik

    Сообщения:
    734
    Симпатии:
    628
    Даниил Пронин, Оффтоп
    если не знаешь не задавай вопрос не показывай себя с "лучшей" стороны
     
  6. Мария Фомина

    Мария Фомина

    Сообщения:
    43
    Симпатии:
    14
    На v34 не работает(

    SourceMod v1.5.3

    L 11/09/2014 - 21:11:24: SourceMod error session started
    L 11/09/2014 - 21:11:24: Info (map "de_dust2") (file "errors_20141109.log")
    L 11/09/2014 - 21:11:24: [SM] Plugin encountered error 25: Call was aborted
    L 11/09/2014 - 21:11:24: [SM] Native "SetFailState" reported: Plugin enable only on css and csgo:(
    L 11/09/2014 - 21:11:24: [SM] Displaying call stack trace for plugin "randomsound.smx":
    L 11/09/2014 - 21:11:24: [SM] [0] Line 155, randomsound.sp::OnPluginStart()

    Может кто-то сделать fix под v34)?
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Мария Фомина, пробуй
     

    Вложения:

    • randomsound.smx
      Размер файла:
      13 КБ
      Просмотров:
      6
    • randomsound.sp
      Размер файла:
      16,2 КБ
      Просмотров:
      6
    Последнее редактирование: 9 ноя 2014
    Мария Фомина нравится это.
  8. Мария Фомина

    Мария Фомина

    Сообщения:
    43
    Симпатии:
    14
    R1KO, спасибо) Сервер запустился без ошибок. Можно исходничек)?

    Добавлено через 13 часов 28 минут
    R1KO, а не подскажите почему когда я компилирую плагин и кидаю его на сервер то мне в логи пишет ошибку:

    L 11/10/2014 - 11:28:18: SourceMod error session started
    L 11/10/2014 - 11:28:18: Info (map "de_dust2") (file "errors_20141110.log")
    L 11/10/2014 - 11:28:18: [SM] Unable to load plugin "randomsound.smx": Native "__FLOAT_LT__" was not found

    Даже если я ничего не меняю в исходнике. А если закину Ваш готовый плагин то все работает отлично) Я просто хочу сделать перевод и изменить команду !rds на !sounds
     
    Последнее редактирование: 10 ноя 2014
  9. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.570
    Симпатии:
    1.153
    Мария Фомина, думаю что просто изначально плагин писался для нового см.
     
  10. Мария Фомина

    Мария Фомина

    Сообщения:
    43
    Симпатии:
    14
    Серый™, нет, все на в34 нормально работает! Тат плагин что кинул R1KO работает, но когда я компилирую его исходник даже если ничего не меняю то мне выдает эту ошибку при запуске сервера... SM 1.6.2 При компиляции кстати тоже выдает какую-то ошибку, но ее и на оригинальном плагине выдает)
     
  11. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Мария Фомина, компилируй на см 1.5.3
     
    Мария Фомина нравится это.
  12. Мария Фомина

    Мария Фомина

    Сообщения:
    43
    Симпатии:
    14
    R1KO, спасибо большое! А Вы можете чуть подправить плагин)? Я хочу бы когда игрок вкл/выкл звуки ему писало Вы включили музыку в конце раунда. Вот кусок кода:

    public Action:Menu(client, args)
    {
    new Handle:hmenu = CreateMenu(AMenuHandler);
    SetMenuTitle(hmenu, "rds menu");

    AddMenuItemWithBuffer(hmenu, g_ClientSoundEnable[client], "все звуки");

    AddMenuItemWithBuffer(hmenu, g_ClientSoundSetPreference[client][ROUNDEND], "музыку в конце раунда");

    //enough to check only one quake event
    AddMenuItemWithBuffer(hmenu, g_ClientSoundSetPreference[client][FIRSTBLOOD], "quake звуки");

    AddMenuItemWithBuffer(hmenu, g_ClientSoundSetPreference[client][JOINGAME], "музыку при вход");

    DisplayMenu(hmenu, client, GetConVarInt(g_DisplayTime));

    return Plugin_Handled;
    }


    И что бы меню сразу не закрывалось само а то это так тупо)
     
  13. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Вот
     

    Вложения:

    • randomsound.sp
      Размер файла:
      16,3 КБ
      Просмотров:
      14
    Мария Фомина нравится это.