Game Messages & Sounds Manager

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Game Messages & Sounds Manager

Мнение от OciXCrom » 07 Окт 2016, 16:29

Изображение

Game Messages & Sounds Manager

Изображение

Изображение

Изображение

Изображение
Описание
  • С този плъгин бързо и лесно можете да замените/премахнете стандартните съобщения в играта, като "Bomb Planted", "The target has been bombed", "Bomb Defused" и прочие. Също така, можете да замените и звуците при победа на определен отбор, залагане/обезвреждане на бомбата, радио командите и т.н.
Списък с cvar-ове
  • gmsm_hud_xpos <по подразбиране: "-1.0"> -- X позиция по подразбиране за (D)HUD съобщенията.
  • gmsm_hud_ypos <по подразбиране: "0.10"> -- Y позиция по подразбиране за (D)HUD съобщенията.
  • gmsm_hud_effects <по подразбиране: "0"> -- Ефекти за (D)HUD съобщенията.
    • "0" = Без ефекти.
      "1" = Трепкане.
      "2" = Пишеща машина.
  • gmsm_hud_fxtime <по подразбиране: "2.0"> -- Времетраене на ефекта за (D)HUD съобщенията.
  • gmsm_hud_holdtime <по подразбиране: "5.0"> -- Времетраене на (D)HUD съобщенията.
  • gmsm_hud_fadeintime <по подразбиране: "0.5"> -- Fade-in времетраене на (D)HUD съобщенията.
  • gmsm_hud_fadeouttime <по подразбиране: "1.0"> -- Fade-out времетраене на (D)HUD съобщенията.
Заместване на съобщения
  • Можете да замените съобщенията и звуците от файла configs/GameMessages.ini.
    За да замените дадено съобщение, използвайте следния образец:

    Код за потвърждение: Избери целия код

    <ID на съобщението> "<Ново съобщение>" "<Вид>" "[червено] [зелено] [синьо]" "[X позиция] [Y позиция]" 
    Примери:

    Код за потвърждение: Избери целия код

    Terrorists_Win                  "< Terrorists Win >"                            "dhud"       "255 0 0"
    CTs_Win                         "< Counter-Terrorists Win >"                    "dhud"       "0 0 255"
    Bomb_Planted                    "< The Bomb has been Planted >"                 "dhud"       "255 255 0"
    Bomb_Defused                    "< The Bomb has been Defused >"                 "dhud"       "0 255 0"
    Round_Draw                      "< Round Draw >"                                "dhud"       "255 255 255"
    Target_Bombed                   "< Target Successfully Bombed >"                "dhud"       "255 0 255"
    Target_Saved                    "< Target has been Saved >"                     "dhud"       "0 255 0"
    Game_Commencing                 "< Game Commencing >"                           "dhud"       "-1 -1 -1"
    Auto_Team_Balance_Next_Round    "< Auto Team Balance Next Round >"              "dhud"       "-1 -1 -1"
    Game_will_restart_in            "< The Game Is Now Restarting >%n-= %s %s =- "  "dhud"       "-1 -1 -1"
    Weapon_Cannot_Be_Dropped        "Dropping this weapon %nis not allowed."        "center"
  • Можете да ползвате -1 ако искате дадената стойност на цвета да е произволна, в противен случай използвайте число от 0 до 255. За напълно произволен цвят, използвайте "-1 -1 -1". Имайте предвид, че цветовете са активни само и единствено ако ползвате (D)HUD съобщения.
  • Можете да ползвате и %n за нов ред в всички съобщения освен chat.
  • Списък със съобщения
Заместване на звуци
  • За да замените даден звук, използвайте следния образец:

    Код за потвърждение: Избери целия код

    <ID на звука> [Нов звук]
  • Можете да оставите полето "[Нов звук]" празно, ако искате наплъно да премахнете звука.
  • Примери:

    Код за потвърждение: Избери целия код

    %!MRAD_terwin "misc/terrorists_win.wav" -- Това ще замени звука при победа на терористите.
    %!MRAD_ctwin "misc_ctswin.wav" -- Това ще замени звука при победа на контра-терористите.
    %!MRAD_FIREINHOLE -- Това ще блокира звука при мятане на граната.
  • Списък със звуци
Допълнителна информация и линк за теглене

Изображение
Изображение
Изображение

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Win Messages & Sounds

Мнение от OciXCrom » 26 Дек 2016, 16:53

Update 2.0 @ 26.12.2016
  • Оправено е съобщенията, които трябва да се показват само при определени играчи, да се показват при всички.
  • Променени са кваровете, които използваха същи имена.
  • Добавена е опция да може да се промени вида на всяко съобщение, вместо на всички наведнъж.

Аватар
monk
Извън линия
Потребител
Потребител
Мнения: 156
Регистриран на: 22 Окт 2016, 18:08
Местоположение: /gym
Се отблагодари: 2 пъти
Получена благодарност: 9 пъти

Re: Win Messages & Sounds

Мнение от monk » 04 Яну 2017, 12:47

Здравей, ще може ли да се направи съобщенията на два реда със ^n понеже в момента не работи. SERVERNICK^nTerrorists Win.
My body is like breakfast, lunch, and dinner. I don't think about it, I just have it.
- Arnold Schwarzenegger
--
45.144.155.105:27029 -Ex0t1C-pLay # > Dust 2 Only <
--

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Win Messages & Sounds

Мнение от OciXCrom » 04 Яну 2017, 15:18

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define PLUGIN_VERSION "2.1"
#define SYM_NEWLINE "%n%"

enum _:Cvars
{
    CVAR_XPOS,
    CVAR_YPOS,
    CVAR_EFFECTS,
    CVAR_FXTIME,
    CVAR_HOLDTIME,
    CVAR_FADEINTIME,
    CVAR_FADEOUTTIME
}

enum
{
    TYPE_CHAT,
    TYPE_CENTER,
    TYPE_HUD,
    TYPE_DHUD
}

#define TRIE_MESSAGES 0 
#define TRIE_TYPE 1
#define TRIE_COLORS 2
#define TRIE_AUDIO 3

new g_msgSayText
new g_eCvars[Cvars]
new Trie:g_eTries[4]

public plugin_init()
{
    register_plugin("Win Messages & Sounds", PLUGIN_VERSION, "OciXCrom")
    register_cvar("WinMessages", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    register_message(get_user_msgid("TextMsg"), "msgTextMsg")
    register_message(get_user_msgid("SendAudio"), "msgSendAudio")
    g_msgSayText = get_user_msgid("SayText")
    
    g_eCvars[CVAR_XPOS] = register_cvar("winmsg_hud_xpos", "-1.0")
    g_eCvars[CVAR_YPOS] = register_cvar("winmsg_hud_ypos", "0.10")
    g_eCvars[CVAR_EFFECTS] = register_cvar("winmsg_hud_effects", "0")
    g_eCvars[CVAR_FXTIME] = register_cvar("winmsg_hud_fxtime", "2.0")
    g_eCvars[CVAR_HOLDTIME] = register_cvar("winmsg_hud_holdtime", "5.0")
    g_eCvars[CVAR_FADEINTIME] = register_cvar("winmsg_hud_fadeintime", "0.5")
    g_eCvars[CVAR_FADEOUTTIME] = register_cvar("winmsg_hud_fadeouttime", "1.0")
}

public plugin_precache()
{
    for(new i; i < sizeof(g_eTries); i++)
        g_eTries[i] = TrieCreate()
        
    fileRead()
}

public plugin_end()
{
    for(new i; i < sizeof(g_eTries); i++)
        TrieDestroy(g_eTries[i])
}

fileRead()
{
    new szConfigsName[256], szFilename[256]
    get_configsdir(szConfigsName, charsmax(szConfigsName))
    formatex(szFilename, charsmax(szFilename), "%s/WinMessages.ini", szConfigsName)
    new iFilePointer = fopen(szFilename, "rt")
    
    if(iFilePointer)
    {
        new szData[256], szMessage[64], szNewMessage[128], szType[4], szColors[12], iType
        
        while(!feof(iFilePointer))
        {
            fgets(iFilePointer, szData, charsmax(szData))
            trim(szData)
            
            switch(szData[0])
            {
                case EOS, ';': continue
                case '#':
                {
                    parse(szData, szMessage, charsmax(szMessage), szNewMessage, charsmax(szNewMessage), szType, charsmax(szType), szColors, charsmax(szColors))
                    
                    switch(szType[2])
                    {
                        case 'A', 'a': iType = TYPE_CHAT
                        case 'N', 'n': iType = TYPE_CENTER
                        case 'D', 'd': iType = TYPE_HUD
                        case 'U', 'u': iType = TYPE_DHUD
                    }
                    
                    TrieSetCell(g_eTries[TRIE_TYPE], szMessage, iType)
                    
                    if(iType == TYPE_HUD || iType == TYPE_DHUD)
                    {
                        replace_all(szNewMessage, charsmax(szNewMessage), SYM_NEWLINE, "^n")
                        TrieSetString(g_eTries[TRIE_COLORS], szMessage, szColors)
                    }
                        
                    TrieSetString(g_eTries[TRIE_MESSAGES], szMessage, szNewMessage)
                    szNewMessage[0] = EOS
                }
                case '%':
                {
                    parse(szData, szMessage, charsmax(szMessage), szNewMessage, charsmax(szNewMessage))
                    TrieSetString(g_eTries[TRIE_AUDIO], szMessage, szNewMessage)
                    
                    if(!is_blank(szNewMessage))
                        precache_sound(szNewMessage)
                        
                    szNewMessage[0] = EOS
                }
            }
        }
        
        fclose(iFilePointer)
    }
}

public msgTextMsg(iMessage, iDest, id)
{ 
    static szMessage[32]
    get_msg_arg_string(2, szMessage, charsmax(szMessage))
    
    if(TrieKeyExists(g_eTries[TRIE_MESSAGES], szMessage))
    {
        new szNewMessage[128], iType
        TrieGetString(g_eTries[TRIE_MESSAGES], szMessage, szNewMessage, charsmax(szNewMessage))
        TrieGetCell(g_eTries[TRIE_TYPE], szMessage, iType)
        
        switch(iType)
        {
            case TYPE_CHAT: ColorChat(id, szNewMessage)
            case TYPE_CENTER: client_print(id, print_center, szNewMessage)
            case TYPE_HUD, TYPE_DHUD:
            {
                new szColors[12], szRed[4], szGreen[4], szBlue[4], iRed, iGreen, iBlue
                TrieGetString(g_eTries[TRIE_COLORS], szMessage, szColors, charsmax(szColors))
                parse(szColors, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue))
                iRed = is_random(szRed) ? random(256) : str_to_num(szRed)
                iGreen = is_random(szGreen) ? random(256) : str_to_num(szGreen)
                iBlue = is_random(szBlue) ? random(256) : str_to_num(szBlue)
                
                switch(iType)
                {
                    case TYPE_HUD:
                    {
                        set_hudmessage(iRed, iGreen, iBlue, get_pcvar_float(g_eCvars[CVAR_XPOS]), get_pcvar_float(g_eCvars[CVAR_YPOS]), get_pcvar_num(g_eCvars[CVAR_EFFECTS]), 
                        get_pcvar_float(g_eCvars[CVAR_FXTIME]), get_pcvar_float(g_eCvars[CVAR_HOLDTIME]), get_pcvar_float(g_eCvars[CVAR_FADEINTIME]), get_pcvar_float(g_eCvars[CVAR_FADEOUTTIME]), -1)
                        show_hudmessage(id, szNewMessage)
                    }
                    case TYPE_DHUD:
                    {
                        set_dhudmessage(iRed, iGreen, iBlue, get_pcvar_float(g_eCvars[CVAR_XPOS]), get_pcvar_float(g_eCvars[CVAR_YPOS]), get_pcvar_num(g_eCvars[CVAR_EFFECTS]), 
                        get_pcvar_float(g_eCvars[CVAR_FXTIME]), get_pcvar_float(g_eCvars[CVAR_HOLDTIME]), get_pcvar_float(g_eCvars[CVAR_FADEINTIME]), get_pcvar_float(g_eCvars[CVAR_FADEOUTTIME]))
                        show_dhudmessage(id, szNewMessage)
                    }
                }
            }
        }
        
        return PLUGIN_HANDLED
    }
    
    return PLUGIN_CONTINUE
}

public msgSendAudio(MsgId, MsgDest, MsgEntity)
{
    static szMessage[32]
    get_msg_arg_string(2, szMessage, charsmax(szMessage))
    
    if(TrieKeyExists(g_eTries[TRIE_AUDIO], szMessage))
    {
        new szNewMessage[128]
        TrieGetString(g_eTries[TRIE_AUDIO], szMessage, szNewMessage, charsmax(szNewMessage))
        
        if(!is_blank(szNewMessage))
            client_cmd(0, "spk %s", szNewMessage)
            
        return PLUGIN_HANDLED
    }
    
    return PLUGIN_CONTINUE
}

bool:is_blank(szString[])
    return szString[0] == EOS ? true : false
    
bool:is_random(szString[])
    return szString[0] == 'R' ? true : false
    
ColorChat(const id, const szInput[], any:...)
{
    new iPlayers[32], iCount = 1
    static szMessage[191]
    vformat(szMessage, charsmax(szMessage), szInput, 3)
    
    replace_all(szMessage, charsmax(szMessage), "!g", "^4")
    replace_all(szMessage, charsmax(szMessage), "!n", "^1")
    replace_all(szMessage, charsmax(szMessage), "!t", "^3")
    
    if(id)
        iPlayers[0] = id
    else
        get_players(iPlayers, iCount, "ch")
    
    for(new i; i < iCount; i++)
    {
        if(is_user_connected(iPlayers[i]))
        {
            message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayers[i])
            write_byte(iPlayers[i])
            write_string(szMessage)
            message_end()
        }
    }
} 
Ползвай %n%.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Win Messages & Sounds

Мнение от OciXCrom » 01 Фев 2017, 14:54

Reupload v2.0 @ 01.02.2017
  • Следният проблем е оправен: сървърът изхвърля играчите при ползване на sv_restartround поради грешка в .ini файла.
  • Можете да оправите проблема без да теглите отново файловете, като премахнете %s символите в .ini файла.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Win Messages & Sounds

Мнение от OciXCrom » 02 Фев 2017, 17:07

Update v2.1 @ 02.02.2017
  • Вече можете да ползвате %n за да прехвърлите съобщението на нов ред ако е от вида (D)HUD.
  • Вече е възможно да замествате съобщения, които съдържат повече параметри, като "The game will restart in %s %s".

Аватар
<< SaNchez >>
Извън линия
Потребител
Потребител
Мнения: 131
Регистриран на: 02 Ное 2016, 22:00
Местоположение: по сфета и у нас
Обратна връзка:

Re: Win Messages & Sounds

Мнение от << SaNchez >> » 04 Фев 2017, 16:42

МНЕНИЕТО Е СКРИТО ОТ СТРАНА НА МОДЕРАТОР! ЦЪКНИ ВЪРХУ ЛЕНТАТА ЗА ДА ГО ПРЕГЛЕДАШ.
Последно промяна от Petrowch0 на 05 Фев 2017, 04:49, променено общо 1 път.
Причина: Неаргументиран коментар/СПАМ
Данък обществено мнение не плащам :coolface:

Аватар
d3ath2435
Извън линия
Рекламатор
Рекламатор
Мнения: 542
Регистриран на: 04 Фев 2017, 19:59
Се отблагодари: 64 пъти
Получена благодарност: 127 пъти
Обратна връзка:

Re: Win Messages & Sounds

Мнение от d3ath2435 » 13 Мар 2017, 01:22

Как да сваля съобщенията да са отдоло ?

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Win Messages & Sounds

Мнение от OciXCrom » 13 Мар 2017, 02:19

winmsg_hud_ypos <по подразбиране: "0.10"> -- Y позиция за (D)HUD съобщенията.

1.0 = най-долу
0.9 = по-горе
0.8 = по-горе
...
0.01 = най-горе

Аватар
Buzdrev
Извън линия
Потребител
Потребител
Мнения: 247
Регистриран на: 12 Окт 2016, 16:45
Се отблагодари: 5 пъти
Получена благодарност: 1 път
Обратна връзка:

Win Messages & Sounds

Мнение от Buzdrev » 07 Дек 2017, 01:32

Не работи, на JailBreak мод (JailBreak Extreme), защо? П.С, няма никакви грепки в конзолата.

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Одобрени плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 10 госта