Jbextreme , делаем возможность давать голос зэку

Архів · 2012 hamlo Статті 5 900

Архівний матеріал ya-cs.ru (2012). Російською. Плагіни й збірки можуть не працювати з ReHLDS та AMXX 1.10.

Jbextreme , делаем возможность давать голос зэку

Если у вас что то не получается пишите в скайп : onekoshak

Автор: SeMax
Источник: сs-massacre.in.ua

Открываем исходник Jbextreme.sma и ищем строчку:

public plugin_init()
{

Ниже добовляем :

register_clcmd("say /golos", "cmd_golos")

Далее спускаемся еще ниже и после такой строчки

public player_status(id)
{
    static type, player, CsTeams:team, name[32], health
    type = read_data(1)
    player = read_data(2)
    switch(type)
    {
        case(1):
        {
            ClearSyncHud(id, g_HudSync[1][_hudsync])
        }
        case(2):
        {
            team = cs_get_user_team(player)
            if((team != CS_TEAM_T) && (team != CS_TEAM_CT))
                return PLUGIN_HANDLED

            health = get_user_health(player)
            get_user_name(player, name, charsmax(name))
            player_hudmessage(id, 4, 2.0, {0, 255, 0}, "%L", LANG_SERVER,
                (team == CS_TEAM_T) ? "JBE_PRISONER_STATUS" : "JBE_GUARD_STATUS", name, health)
        }
    }
    
    return PLUGIN_HANDLED
}

Делаем еще 3 функции

public cmd_golos(id)
{
    if (g_Simon == id || is_user_admin(id)) 
    {
        menu_players(id, CS_TEAM_T, 0, 1, "voice_enable_select", "Дать голос зекам")
    }
}

public voice_enable_select(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    static dst[32], data[5], player, access, callback

    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    player = str_to_num(data)
    enable_player_voice(id, player)    
    return PLUGIN_HANDLED
}

public enable_player_voice(id, player)
{
    static src[32], dst[32]
    get_user_name(player, dst, charsmax(dst))

    if (!get_bit(g_PlayerVoice, player)) 
    {
        set_bit(g_PlayerVoice, player)
        if(0 < id <= g_MaxClients)
        {
            get_user_name(id, src, charsmax(src))
            player_hudmessage(0, 6, 3.0, {0, 255, 0}, "Вам дали голос!", src, dst)
        }
    }
    else
    {
        clear_bit(g_PlayerVoice, player)
        if(0 < id <= g_MaxClients)
        {
            get_user_name(id, src, charsmax(src))
            player_hudmessage(0, 6, 3.0, {0, 255, 0}, "Вам дали голос!", src, dst)
        }            
    }
}

Мітки:

Коментарі 37

  1. Kompot

    dron_cs-mp
    Да какой он скриптер?! Авторство в готовых исходниках только умеет менять.

    Відповісти

  2. IIIrUpAvErT337

    А самому в писать не судьба
    Берешь mod UJBM мод
    И забираешь от туда код и вписываешь в Jbextreme

    Відповісти

  3. SeMax

    Затем ищем функцию

     public voice_listening(receiver, sender, bool:listen) 

    в ней меняем case (2) c

    &#123;
    			if((sender != g_Simon) &amp;&amp; (!get_bit(g_SimonVoice, sender) &amp;&amp; gc_VoiceBlock))
    			&#123;
    				engfunc(EngFunc_SetClientListening, receiver, sender, false)
    				return FMRES_SUPERCEDE
    			}
    		}

    Відповісти

  4. SeMax

    На

    		&#123;
    			if((sender != g_Simon) &amp;&amp; (!get_bit(g_SimonVoice, sender) &amp;&amp; gc_VoiceBlock))
    			&#123;
    				engfunc(EngFunc_SetClientListening, receiver, sender, false)
    				return FMRES_SUPERCEDE
    			}
    		}

    Відповісти

  5. gyler

    Открою вам секрет. Семакс полный мудак и проєкт у него гамно кто не знает проєкт у него кс бит ру:a8:

    Відповісти

  6. Po6uH

    За новость + , а за статью :_: проще изменить 1 цифру с самом моде jbextreme , gp_VoiceBlock = register_cvar("jbe_blockvoice", "2") на 0 и прописать в say /voice после чего вылазит меню с игроками кому дать , а кому поддать .

    Відповісти

  7. DeViLMiKKi

    Тут 110% не рабочие 🙂 потомучто не хватает одной вещи

    И в таких статьях! также указывайте, что надо писать перед
    public plugin_init() следующее new g_PlayerVoice и тд потомучто те, кто не знает, что это надо у них и выдает ошибки…

    И можно сделать все намного проще и короче 😀

    Відповісти

  8. Николай

    У вас ошибка потому что не объявлена переменная
    тобишь на языке тупых
    нехватает этого new g_PlayerVoice
    это нужно вставить где написано много new отступить строчку и вставить это new g_PlayerVoice
    После этого всё огонь будет 😀
    Я сам не скриптер хотя ток в pawno-samp,но и то могу мод написать да скрипты…)))

    Відповісти

  9. Sn1pper

    Пацаны у кого выдает ошибку – пропишите среди строчек:
    new g_MsgStatusIcon
    new g_MsgVGUIMenu
    new g_MsgShowMenu
    new g_MsgClCorpse
    new g_MsgMOTD
    Дописать –
    new g_PlayerVoice

    Відповісти

  10. Fantama

    Вы можете готовый файл .sma залить???
    Что бы не мучались люди. Сколько уже не делал, не работает и все…:b1::a5:

    Відповісти

Ваш коментар

Коментар з’явиться після перевірки. E-mail не публікується.