[Любая игра] Freelance Friendly Fire

Тема в разделе "Утверждённые плагины", создана пользователем AlmazON, 31 май 2014.

  1. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Freelance Friendly Fire
    Текущая версия: 1.2.0

    Описание:
    • Организует более реалистичную, но безвредную стрельбу по "своим".
    Известно, что при обычной игре, стрелять во врага можно даже сквозь своего напарника (исключение: в голову - "хедшот") - пули пролетают через тела живых товарищей, как будто их там нет и достигают противника, ничуть не потеряв убийственной силы удара.
    С данным плагином ваши пули будут всегда попадать в союзника (по команде), полностью повторяя обычные вражеские попадания, с той лишь разницей, что это не наносит ему никакого вреда. Иначе говоря, "простреляться" через людей уже не удастся.
    [​IMG]

    Требования:

    Поддерживаются игры:
    • Любая игра
      Квар freelance_ff_chat не поддерживается для CS:GO.

    Установка:
    • Переместите или скопируйте файл "FreelanceFriendlyFire.sp" в директорию addons\sourcemod\scripting сервера (не обязательно).
    • Переместите или скопируйте файл "FreelanceFriendlyFire.smx" в директорию addons\sourcemod\plugins сервера.

    Настройки (CVAR's):
    • freelance_friendlyfire - Выключение плагина "0", частичный режим "1", полный режим "2".
    • freelance_ff_chat - Убирать из чата сообщения "attacked a teammate".

    Примечания:
    • Плагин использует mp_friendlyfire 1! Он не требует прописывать его для себя, но сам изменяет его в состояние "1", поэтому любые изменения, связанные с данной консольной переменной будут "блокироваться". Это может создать конфликт для любых других плагинов, у которых в собственной работе применяется mp_friendlyfire 0 или её смена.

    PHP:
    v1.0.0 (31.05.2014) - первая версия плагина;
    v1.0.1 (01.06.2014) - исправлена ошибка логов'Native "GetClientTeam" reported: Client index 0 is invalid';
    v1.1.0 (02.06.2014) - добавлены квары "freelance_friendlyfire" и "freelance_ff_chat";
    v1.2.0 (05.06.2014) - добавлены новые действия для квара "freelance_friendlyfire"как переключателя режимов.
     

    Вложения:

    Последнее редактирование модератором: 11 май 2015
    Allower, ALЬTAIR, Vetaldx dx и 4 другим нравится это.
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Freelance Friendly Fire v1.0.1

    Обновлено до версии 1.0.1.
    Изменения:
    убрана ошибка SM плагина из логов ошибок: 'Native "GetClientTeam" reported: Client index 0 is invalid'.
     
    Последнее редактирование: 4 июн 2014
  3. ALЬTAIR

    ALЬTAIR

    Сообщения:
    245
    Симпатии:
    102
    Как это можно убрать при стрельбе по своим?
    2014-06-02_00002.jpg
     
  4. Tallanvor

    Tallanvor Красноглазый

    Сообщения:
    1.075
    Симпатии:
    302
    ALЬTAIR, показ нанесённого урона по центру экрана - это плагин showdamage.

    /cfg/sourcemod/plugin.showdamage.cfg

    // Show friendly fire damage, 0 = off/1 = on
    // -
    // Default: "0"
    // Minimum: "0.000000"
    // Maximum: "1.000000"
    sm_show_damage_ff "1" <- у тебя 1 прописано, меняешь на 0

    Добавлено через 1 минуту
    Касательно сообщений в чате, то лично мне неизвестен способ скрыть их, не затрагивая других системных сообщений.
    Думаю, стоит обратиться к автору плагина за этой возможностью :)
     
    Последнее редактирование: 2 июн 2014
  5. ALЬTAIR

    ALЬTAIR

    Сообщения:
    245
    Симпатии:
    102
    У меня упрощённая версия стоит там нет никаких кваров,ну с этим понятно,вот ещё бы как-нибудь с чата убрать.
     
  6. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Да, это твой плагин. Но с этим можно бороться, сделав новую проверку вида: "команда атакующего != команде раненного". Точно дать код - надо в сам плагин показа урона заглянуть и использовать всё, что уже есть и дополнить.
    Об этом думал, недавно был разговор с R1KO про нечто подобное, но к отдельному решению это не привело. Позже может появятся идеи.
     
  7. ALЬTAIR

    ALЬTAIR

    Сообщения:
    245
    Симпатии:
    102
    Нашёл код от Franc1sco
    public OnPluginStart()
    {
    HookUserMessage(GetUserMessageId("TextMsg"), Hook_TextMsg, true);
    }

    public Action:Hook_TextMsg(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init)
    {


    /* Block team-attack messages from being shown to players. */
    decl String:message[256];
    BfReadString(bf, message, sizeof(message));

    if (StrContains(message, "teammate_attack") != -1) // this for css
    return Plugin_Handled;

    return Plugin_Continue;
    }
    Проверил - работает,сообщения в чате блокирует,может вшить в плагин и сделать квар на вкл/выкл показ сообщений.
     
    AlmazON и Vetaldx dx нравится это.
  8. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Freelance Friendly Fire v1.1.0

    Обновлено до версии 1.1.0.
    Изменения:
    возможность отключения плагина через квар freelance_friendlyfire;
    отключение сообщений чата: атака "союзник-союзника" - через квар freelance_ff_chat;
    запоминание вашего обычного значения mp_friendlyfire до запуска/включения плагина.
     
    Последнее редактирование: 4 июн 2014
  9. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.973
    Симпатии:
    2.980
    AlmazON, не лучше было бы через
    PHP:
    public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype
    {
        if (
    attacker client && attacker != client && GetClientTeam(attacker) == GetClientTeam(client))
        {
            
    damage 0.0;
            return 
    Plugin_Changed;
        }

        return 
    Plugin_Continue;
    }
    Чем работать с хп?
     
  10. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Это задействуется SDKHooks? Может и лучше... а может и хуже. Я не уверен, какой получится эффект от такой доработки, насколько полноценно. Например, плагин показа урона может вообще сразу перестать его показывать для "своих"? Показ самой игры, откуда стреляют, тоже? Но, по идеи, так конечно безопаснее, просто запретив урон для условий.
    Оффтоп
     
  11. SpinG

    SpinG

    Сообщения:
    10
    Симпатии:
    1
    допиши проверку в плагине повреждений на команду игрока, так проще будет)
     
  12. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.973
    Симпатии:
    2.980
    Что мешает проверить?

    P.S.
    Мне это не нужно :)
     
  13. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    + можно включить сюда привязку по квару включения "FFF", чтобы показ исчезал лишь при наличии включённого плагина.
    Не использую у себя показ урона, например. Остальное можно и проверить.
    Оффтоп
     
  14. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Freelance Friendly Fire v1.2.0

    Обновлено до версии 1.2.0.
    Изменения:
    Добавлено 2 режимы работы к квару freelance_friendlyfire, кроме выключения:
    "1" - частичный режим: нет визуального отображения направления стрельбы союзника-"противника", меньше крови и т.д.
    "2" - полноценный режим: абсолютно идентичен попаданиям от противника (кроме вреда).
    Блокирование сообщений об изменении переменной mp_friendlyfire на значение "1".
    Доработано запоминание вашего обычного значения переменной mp_friendlyfire до запуска/включения плагина.
    Все квары действенны "онлайн" - как и прежде, их можно изменять через консоль во время работы сервера.
     
  15. blade91

    blade91

    Сообщения:
    5
    Симпатии:
    0
    как отключить противостояние кт и т просто сделал zm
     
  16. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Тогда тебе в тему скаченного тобою мода ZM.
     
  17. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
  18. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.718
    Симпатии:
    453
  19. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.964
    Danyas, событие надо чуть исправить. Да и вообще, хорошо бы переписать уже плагин.
     
  20. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.718
    Симпатии:
    453
    Моё дело указать баги)
    Оффтоп