Win Messages & Sounds

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Потребителски аватар

Автор на темата
OciXCrom™ MKD
Администратор
Администратор
Мнения: 4220
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 29 пъти
Получена благодарност: 251 пъти
Години: 21
Контакти:

Win Messages & Sounds

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

Изображение

Win Messages & Sounds

Изображение

Изображение

Изображение

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

    Код: Избери всички

    <ID на съобщението> <Ново съобщение> <Вид> [За (D)HUD: цветове (<червено> <зелено> <синьо>)]
    Примери:

    Код: Избери всички

    #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" "R R R"
    #Auto_Team_Balance_Next_Round     "< Auto Team Balance Next Round >"                 "dhud" "R R R"
    #Game_will_restart_in             "< The Game Is Now Restarting >%n-= %s %s =- "     "dhud" "R R R"
    #Weapon_Cannot_Be_Dropped         "Dropping this weapon is not allowed."             "center"  
  • Можете да ползвате R ако искате дадената стойност на цвета да е произволна, в противен случай използвайте число от 0 до 255. За напълно произволен цвят, използвайте "R R R". Имайте предвид, че цветовете са активни само и единствено ако ползвате (D)HUD съобщения. При тези съобщения можете да ползвате и %n за нов ред.
  • Списък със съобщения
Заместване на звуци
  • За да замените даден звук, използвайте следния образец:

    Код: Избери всички

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

    Код: Избери всички

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

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

Потребителски аватар

Автор на темата
OciXCrom™ MKD
Администратор
Администратор
Мнения: 4220
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 29 пъти
Получена благодарност: 251 пъти
Години: 21
Контакти:

Re: Win Messages & Sounds

Мнение от OciXCrom™ MKD » 26 дек 2016, 16:53

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

Потребителски аватар

monk Тревоман
Потребител
Потребител
Мнения: 134
Регистриран: 22 окт 2016, 18:08
Местоположение: /root
Години: 21

Re: Win Messages & Sounds

Мнение от monk Тревоман » 04 яну 2017, 12:47

Здравей, ще може ли да се направи съобщенията на два реда със ^n понеже в момента не работи. SERVERNICK^nTerrorists Win.

Потребителски аватар

Автор на темата
OciXCrom™ MKD
Администратор
Администратор
Мнения: 4220
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 29 пъти
Получена благодарност: 251 пъти
Години: 21
Контакти:

Re: Win Messages & Sounds

Мнение от OciXCrom™ MKD » 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™ MKD
Администратор
Администратор
Мнения: 4220
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 29 пъти
Получена благодарност: 251 пъти
Години: 21
Контакти:

Re: Win Messages & Sounds

Мнение от OciXCrom™ MKD » 01 фев 2017, 14:54

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

Потребителски аватар

Автор на темата
OciXCrom™ MKD
Администратор
Администратор
Мнения: 4220
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 29 пъти
Получена благодарност: 251 пъти
Години: 21
Контакти:

Re: Win Messages & Sounds

Мнение от OciXCrom™ MKD » 02 фев 2017, 17:07

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

Потребителски аватар

<< SaNchez >> :D
Потребител
Потребител
Мнения: 131
Регистриран: 02 ное 2016, 22:00
Местоположение: по сфета и у нас
Години: 21
Контакти:

Re: Win Messages & Sounds

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

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


d3ath2435 DGPBG
Потребител
Потребител
Мнения: 237
Регистриран: 04 фев 2017, 19:59
Години: 23
Контакти:

Re: Win Messages & Sounds

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

Как да сваля съобщенията да са отдоло ?
DGP-BG | Dust2 Arena <--===-->185.148.145.235:27012
DGP-BG | FragArena <--===-->185.148.145.235:27025
DGP-BG | Respawn [ArmyRanks] <--===-->185.148.145.235:27026

Потребителски аватар

Автор на темата
OciXCrom™ MKD
Администратор
Администратор
Мнения: 4220
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 29 пъти
Получена благодарност: 251 пъти
Години: 21
Контакти:

Re: Win Messages & Sounds

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

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

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

Потребителски аватар

Buzdrev LSD
Потребител
Потребител
Мнения: 223
Регистриран: 12 окт 2016, 16:45
Се отблагодари: 1 път
Години: 20
Контакти:

Win Messages & Sounds

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

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

Отговори

Върни се в “Одобрени плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Mariela и 1 гост