• Уважаемые пользователи!
    За решением проблем с работой плагинов, компиляцией, падением сервера и прочими обращайтесь в раздел Помощи!
    Данная тема предназначена для обсуждения плагина, его функционала, принципа работы и предложений.
GameCMS GagManager

Плагин АМХХ GameCMS GagManager 2.2.7

Нет прав для скачивания
IXY, krenko3, если Вы не умеете или не хотите вчитываться в то, что написано, то никто другой не обязан Вам все это разжевывать и класть в "клюв"...

Написано вроде бы русскими буквами, а Вы продолжаете задавать один и тот же вопрос...

steelzzz указал следующее:
версия с псевдо поддержкой ревойса (просто выключает vtc)

Попробуем объяснить Вам, 1 раз (Один раз) :
Выключив поддержку VTC, GameCMS GagManager перестанет требовать его наличие на сервере. А значит МОЖНО будет Отключить/Удалить VTC с сервера и установить REVOICE.
 
Последнее редактирование:
D1m0n41k, Вы открывали хоть исходник? Знаете какие нативы там юзаются?
 
IXY, Вы спросили - Вам ответили.
Я не пользуюсь Revoice, мне и не смотреть.
Но как мне кажется, steelzzz, написал, о том что это "версия с псевдо поддержкой ревойса"

Возьмите, проверьте. Вместо того что бы просто проверить самостоятельно, вы пишете на форум и ждете ответа.
 
А на главный вопрос не ответили, нужно ли отключать VTC в метаплагинах или нет.
можете отключить, можете оставить, ничего не поменяется. НАСТРОЙКА #DEFINE REVOICE ВКЛ/ВЫКЛ ПОДДЕРЖКУ VTC
Добавлено:

Так же можно избавиться от RG_CSGameRules_CanPlayerHearPlayer и заюзать нативы rg_set/get/reset_can_hear_player и т.п.
 
D1m0n41k, Не пользуетесь ревойсом до поры до времени, ведь многие сервера уже покрашили и они перешли на ревойс. Вы ведь не думаете, что все сейчас просто так захотели на ревойс перейти)
 
D1m0n41k, Не пользуетесь ревойсом до поры до времени, ведь многие сервера уже покрашили и они перешли на ревойс. Вы ведь не думаете, что все сейчас просто так захотели на ревойс перейти)
я был на ревойсе до массовых крашей. Так что не надо нагонять тут..
 
steelzzz, причем тут это? Сейчас переходят все с втк на ревойс, чтобы их не крашили.
 
IXY, для дискуссий есть отдельные темы, не засоряйте тему плагина. Задали вопрос - получили ответ --> Остановитесь.
 
steelzzz, причем тут это? Сейчас переходят все с втк на ревойс, чтобы их не крашили.
эту уязвимость на ревойсе пофиксили давно. Без разницы что использовать ревойс или втк. Кстати, втк тоже пофиксили
 
zhorzh78, Доброго времени суток. У меня небольшое предложение.
Добавить в плагин поддержку ограничения микрофона по рангу (Да, понимаю что велосипед, но все же) - система рангов конечно же CMSStats Ranks.
Данная вещь будет очень полезной, в особенности от спамеров, которые заходят на сервер и включают музыку.
Да-да, я помню про квар cms_gag_block_spam_timer, но данный квар распространяется на всех игроков на сервере, и выставлять его слишком маленьким ну прям совсем не вариант.
Можно сделать как отдельный плагин, который будет ограничивать микрофон до определенного раунда, а можно добавить и в сам Gag Manager, ну это уже конечно же Вам решать. Но думаю данное дополнение будет полезным.
 
Не нужно ставить свои лайки под каждым сообщением!
zhorzh78, Доброго времени суток. У меня небольшое предложение.
Добавить в плагин поддержку ограничения микрофона по рангу (Да, понимаю что велосипед, но все же) - система рангов конечно же CMSStats Ranks.
Данная вещь будет очень полезной, в особенности от спамеров, которые заходят на сервер и включают музыку.
Да-да, я помню про квар cms_gag_block_spam_timer, но данный квар распространяется на всех игроков на сервере, и выставлять его слишком маленьким ну прям совсем не вариант.
Можно сделать как отдельный плагин, который будет ограничивать микрофон до определенного раунда, а можно добавить и в сам Gag Manager, ну это уже конечно же Вам решать. Но думаю данное дополнение будет полезным.
Было бы не плохо конечно же.
 
Короче, понять не могу, в чем проблема. Когда админ выдал мут игроку, то другой админ не сможет перейти в меню с информацией по этому муту, поскольку вылазит следующая ошибка в консоль:
Код:
L 03/24/2020 - 03:20:48: Invalid map handle provided (178)
L 03/24/2020 - 03:20:48: [AMXX] Displaying debug trace (plugin "gamecms_api_5.3.5.amxx", version "5.3.5")
L 03/24/2020 - 03:20:48: [AMXX] Run time error 10: native error (native "TrieSetArray")
L 03/24/2020 - 03:20:48: [AMXX]    [0] gamecms_stocks.inl::get_id_key (line 7)
L 03/24/2020 - 03:20:48: [AMXX]    [1] gamecms_natives.inl::native_cmsapi_get_admin_info (line 507)
L 03/24/2020 - 03:20:48: Unhandled dynamic native error
L 03/24/2020 - 03:20:48: [AMXX] Displaying debug trace (plugin "gamecms_gagmanager_2.2.3.amxx", version "2.2.3")
L 03/24/2020 - 03:20:48: [AMXX] Run time error 10: native error (native "cmsapi_get_admin_info")
L 03/24/2020 - 03:20:48: [AMXX]    [0] gamecms_gagmanager_2.2.3.sma::AdminPlayersMenuHandler (line 673)

Собственно, сама функция:

Код:
public AdminPlayersMenuHandler(id, menu, item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new szPlayerId[MENU_DATA_LENGTH];
    menu_item_getinfo(menu, item, g_iMenuAccessNull, szPlayerId, charsmax(szPlayerId));
    plBlockInfo[id][GTargetID] = str_to_num(szPlayerId);
   
    menu_destroy(menu);
   
    get_user_name(plBlockInfo[id][GTargetID], plBlockInfo[id][GName], charsmax(plBlockInfo[]));
    get_user_authid(plBlockInfo[id][GTargetID], plBlockInfo[id][GAuthId], charsmax(plBlockInfo[]));

    new iBlockOwner;

    if(g_bitApiAllow & UseGameCmsAdmins) {
        iBlockOwner = cmsapi_get_admin_ident(id);
    }

    if(!TrieGetArray(g_trhBlockedUsers, plBlockInfo[id][GAuthId], plBlockInfo[id], charsmax(plBlockInfo[]))) {
        plBlockInfo[id][GAdminId] = iBlockOwner;

        menu_display(id, g_iReasonMenuId, 0);
        return PLUGIN_HANDLED;
    }

    //если игрок заблокирован, найдем админа
    if(g_bitApiAllow & UseGameCmsAdmins) {
        new iAdminId = plBlockInfo[id][GAdminId];

        if(iAdminId != iBlockOwner) {
            new Trie:trhAdminInfo = cmsapi_get_admin_info(iAdminId); //673 строка

            if(trhAdminInfo) {
                new adminData[AdminInfo];
                TrieGetArray(trhAdminInfo, fmt("%d", iAdminId), adminData, sizeof adminData);

                plBlockInfo[id][GModifiedBlocked] =
                    func_AboveImmunity(get_user_flags(id), read_flags(adminData[AdminServiceFlags]), true) ? false : true;

                TrieDestroy(trhAdminInfo);
            }
        }
    }

    GagInfoMenu(id);

    return PLUGIN_HANDLED;
}

Честно, жорж, у меня уже кончились варианты, почему это происходит... Может ты в курсе?
 
sex888, Где-то писал, но не нашел..
Строка 43 в вашем участке
C++:
TrieDestroy(trhAdminInfo);
не нужна
 
Назад
Сверху