Условия

maksat

Пользователь
Регистрация
8 Июн 2020
Сообщения
4
Симпатии
-2
Приветствую всех приходится работать с многим chat hud и dhud на всхоле на спавне при вкл и выкл плагина
как сделать условие наподобие
толком правильно не получается помогите
Код:
// 0 выкл
// только чат
// только hud
// чат и hud
info_type "0"

// 0 - выкл ghud
// 1 - вкл dhud
info_dhud "1"

if(get_pcvar_num(type) == 1)
{
        colorchat(id)
}
if(get_pcvar_num(type) == 2)
{
    set_hudmessage();
    show_hudmessage(id)
}
if(get_pcvar_num(type) == 3
{
    set_hudmessage();
    show_hudmessage(id)
    colorchat(id)
}
 

b0t.

Пользователь
Регистрация
3 Янв 2018
Сообщения
28
Симпатии
10
Пол
Мужской
maksat,
Код:
switch(get_pcvar_num(type)) {
case 1:
case 2:
case 3:
}
 

maksat

Пользователь
Регистрация
8 Июн 2020
Сообщения
4
Симпатии
-2
вот мои код
Код:
#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>
#include <hamsandwich>
new g_MsgType, g_pDhud, g_bDhud
public plugin_init()
{
    register_plugin("xxxx", "0.1.1", "ded")
    register_clcmd( "say /fn1", "fn_SendMsg" )
    RegisterHam(Ham_Spawn, "player", "NewRounds", 1);
    g_MsgType = register_cvar("fb_ss_msgtype", "3")
    g_pDhud = register_cvar("pl_dhud", "1")
    g_bDhud = get_pcvar_num(g_pDhud) ? true : false
    // 1 - только chat, 2 - только hud, 3 - показывать chat/hud
    register_dictionary("fb_forwards.txt")    // регистр тхт
}
public NewRounds(id)
{
    if(!is_user_connected(id))
        return PLUGIN_HANDLED
        
    fn_SendMsg(id)
}
public fn_SendMsg(id)
{
    if(!is_user_connected(id))
        return PLUGIN_HANDLED
    
    switch(get_pcvar_num(g_MsgType))    // Lang подключен
    {
        case 1:{
            ChatColor(id,"%L", id, "FB_MSG1")
        }
        case 2:{
            if(g_bDhud){
                set_dhudmessage(100, 100, 100, -1.0, 0.01, 0, 7.0, 7.0)
                show_dhudmessage(id, "%L", id, "FB_DHUD")
            }else{   
                set_hudmessage(100, 100, 100, -1.0, 0.1, 0, 7.0, 7.0, 0.0, 0.0, -1)
                show_hudmessage(id, "%L", id, "FB_HUD")
            }
        }
        case 3:{
            ChatColor(id,"%L", id, "FB_MSG1")
            if(g_bDhud){
                set_dhudmessage(100, 100, 100, -1.0, 0.01, 0, 7.0, 7.0)
                show_dhudmessage(id, "%L", id, "FB_DHUD")
            }else{   
                set_hudmessage(100, 100, 100, -1.0, 0.1, 0, 7.0, 7.0, 0.0, 0.0, -1)
                show_hudmessage(id, "%L", id, "FB_HUD")
            }
        }
    }
    return PLUGIN_HANDLED
}
stock ChatColor(const id, const input[], any:...)
{
        new count = 1, players[32]
        static msg[191]
        vformat(msg, 190, input, 3)
      
        replace_all(msg, 190, "!g", "^4") // Green Color
        replace_all(msg, 190, "!y", "^1") // Default Color
        replace_all(msg, 190, "!team", "^3") // Team Color
        replace_all(msg, 190, "!team2", "^0") // Team2 Color
      
        if (id) players[0] = id; else get_players(players, count, "ch")
        {
                for (new i = 0; i < count; i++)
                {
                        if (is_user_connected(players[i]))
                        {
                                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                                write_byte(players[i]);
                                write_string(msg);
                                message_end();
                        }
                }
        }
}
еще такой вопрос можно ли реазливовать повторением в case
Код:
        }
        case 3:
        {
            return 1 & 2
        }
 

b0t.

Пользователь
Регистрация
3 Янв 2018
Сообщения
28
Симпатии
10
Пол
Мужской
maksat, не шипко понимаю зачем отдельная "паблик функция".
Нет, повторение сделать нельзя. Почитайте про спец. слово "return", потому что вы не сильно понимаете для чего оно предназначено.
 
Сверху Снизу