Death Beam 13.10.2k16

Создает луч после убийства, который меняется в зависимости от команды убившего вас игрока.

  1. Danyas

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

    Сообщения:
    1.718
    Симпатии:
    455
    Пользователь Danyas разместил новый ресурс:

    Death Beam - Создает луч после убийства, который меняется в зависимости от команды убившего вас игрока.

    Узнать больше об этом ресурсе...
     
  2. m22b

    m22b Read Only

    Сообщения:
    1.022
    Симпатии:
    209
    Пара вопросов :
    materials/sprites/laser.vmt заменить на laserbeam.wmt (по идеи должно будет работать и на csgo)
    Возможно ли "убивать" луч не по времени а по евентам ? (Начало раунда или конец раунда)
    Так как есть проблема то что луч может оставаться в следующем раунде :). (Например убили вы последнего врага а время жизни луча стоит 20сек, в следующем раунде если добежать до этого места то луч будет висеть) :)

    Ну по крайней мере это было с
    sm_deathbeam *clientprefs - AlliedModders
     
  3. Danyas

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

    Сообщения:
    1.718
    Симпатии:
    455
    1) Можно, для CSGO нужно :D
    2) Можно, постоянно пересоздавая его
     
  4. Grey83

    Grey83

    Сообщения:
    322
    Симпатии:
    94
    я для себя вообще скопировал код из плагина маяков из дефолтных файлов SourceMod
    и у меня лучи будут отображаться везде, где отображаются маяки.
    PHP:
    public void OnMapStart()
    {
        
    char buffer[PLATFORM_MAX_PATH];
        if(
    GameConfGetKeyValue(LoadGameConfigFile("funcommands.games"), "SpriteBeam"buffersizeof(buffer)) && buffer[0]) hBeam PrecacheModel(buffer);
    }
    Работает и пока не жалуюсь
    Правда в разных играх луч может выглядеть по-разному (в L4D2, например, лучи будут в виде стержня, а не в виде лазерного луча, как в КСГО)
     
  5. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Код:
    if(type != -1)
    Лучше анхукай событие смерти, чем каждый раз обрабатывать квар и его значение.
    Код:
    new target[2];
    Даёшь decl! :biggrin:
    Код:
    if (target[VICTIM] == target[ATTACKER] && !GetConVarBool(hCvar_team)) return;
          
            new killer_team = GetClientTeam(target[ATTACKER]);
            if (GetClientTeam(target[VICTIM]) == killer_team) return;
    Квар не на той строчке, тебе не кажется?) Кстати, его обычно ставят в начале, хоть он постоянно и извлекается, Оффтоп зазря получать команду - тоже не айс, такие проверки должны стоять на первом месте. Оффтоп
    Код:
    new Float:Start[3], Float:End[3];
    decl, либо новый синтаксис тогда уж.
     
  6. Danyas

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

    Сообщения:
    1.718
    Симпатии:
    455
    Разве decl дает так много толку для небольших массивов?

    С кваром - локальную версию у себя фиксил, но не залил в архив)

    На счет перевода в глобальные переменные - в планах, мб скоро займусь
     
  7. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Нет. Но это же не меняет код, а только улучшает его. С другой стороны, можешь забыть и начать привыкать к новому синтаксису - там никакой специальной замены для decl вовсе нет.
     
  8. Иванчо Бальбовски

    Иванчо Бальбовски Интернет в Норильск...Ну пожалуйста... Read Only

    Сообщения:
    487
    Симпатии:
    80
    CS:GO Уже поддерживается? Просто нет времени проверить:(
     
  9. Grey83

    Grey83

    Сообщения:
    322
    Симпатии:
    94
    @Иванчо Бальбовски, просто в блоке OnMapStart(){...}
    поменяй содержимое на это:
    PHP:
    public OnMapStart()
    {
        
    decl String:buffer[PLATFORM_MAX_PATH];
        if(
    GameConfGetKeyValue(LoadGameConfigFile("funcommands.games"), "SpriteBeam"buffersizeof(buffer)) && buffer[0]) g_Laser PrecacheModel(buffer);
    }
    И будет у тебя луч такой везде (не только в CSGO), где работает маяк соурсмода.
    --- Добавлено позже ---
    @Danyas, может переписать плагин под новый синтаксис?
    Хотя, что там переписывать-то?
     

    Вложения:

    • death_beam.sp
      Размер файла:
      3,1 КБ
      Просмотров:
      13
    • death_beam.smx
      Размер файла:
      6,2 КБ
      Просмотров:
      8
    Последнее редактирование: 4 окт 2016
  10. Иванчо Бальбовски

    Иванчо Бальбовски Интернет в Норильск...Ну пожалуйста... Read Only

    Сообщения:
    487
    Симпатии:
    80
    @Grey83, Так?:)
    Оффтоп
    --- Добавлено позже ---
    Скомпилил, сейчас потестим:)))
     
  11. Grey83

    Grey83

    Сообщения:
    322
    Симпатии:
    94
    @Иванчо Бальбовски, да, так.
    Я в том комменте прикрепил переписанный под новый синтаксис, заодно и скомпиленый прикрепил.
     
  12. Иванчо Бальбовски

    Иванчо Бальбовски Интернет в Норильск...Ну пожалуйста... Read Only

    Сообщения:
    487
    Симпатии:
    80
    Бывают случаи, когда луч не отображается.
    CS:GO
     
  13. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    @Grey83, #pragma newdecls required должен быть после всех include's! Обратное просто приведёт к тому, что у части пользователей, использующих версии 1.7.x, плагин откажется компилироваться - не все файлы включений были переведены на новый синтаксис, в тот момент, самим же SM.
    А зачем это было совать в OnMapStart? Файл что, меняется за это время, кто-то его станет править? Результат просто храни глобально.
    В событии смерти всё выведено в static - не вижу в этом никакого смысла: это недостаточно частое событие и, к тому же, лучше бы тогда квары туда "обналичил" глобально, чтобы не делать это каждый раз. Оффтоп
    Ошибка с:
    Так и не исправлена...
    Оффтоп
     
  14. Grey83

    Grey83

    Сообщения:
    322
    Симпатии:
    94
    вот как раз авторов я не трогал, сам оригинал глянь
    в принципе это копипаста из стоковых плагинов соурсмода. Практически без изменений. Просто название переменной изменено и всё, емнип.
     
  15. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Оффтоп
    У них там годами ничего не меняется и их же стандартные плагины написаны не столь уж хорошо. "Смотри, да сам думай!" - так это называется.
     
  16. Grey83

    Grey83

    Сообщения:
    322
    Симпатии:
    94
    @Иванчо Бальбовски, а в консоль какую-нибудь ошибку пишет?
    поэтому я и приложил скомпилированный плагин
    Вообще, если кто-то юзает SM1.7 и редактирует исходники под себя, то ему вполне по силам вообще удалить эту строку.
    Но к.м.к. Лучше просто перейти на 1.8.х и не заморачиваться с тем, что часть функций работает только со старым синтаксисом, а часть может работать с обоими. Я какое-то время психовал от того, что они начали вводить новый синтаксис, но у себя оставили кучу файлов, написанных полностью на старом.
     
  17. Terminator-ws

    Terminator-ws

    Сообщения:
    55
    Симпатии:
    20
    Оффтоп
     
    Серый™ и R1KO нравится это.
  18. Grey83

    Grey83

    Сообщения:
    322
    Симпатии:
    94
    @AlmazON, ага, я тут сегодня дампы хендлов смотрел.
    у них столько мусора от стоковых плагинов остаётся.
    Было бы нормальное руководство по оптимизации плагинов, а то в их вики буквально пара слов всего.
    И получай информацию как хочешь из отдельных комментариев в сети.
     
  19. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Для массивов - это и в WiKi написано, а то, что тебе там померещилось - твои проблемы. Я говорил, что вне массивов толку от него практически нет. Оффтоп К тому же, с наступающим новым синтаксисом вообще не понимаю, почему лишь сейчас захотелось "влезть в обоз"?
    Оффтоп
     
  20. Иванчо Бальбовски

    Иванчо Бальбовски Интернет в Норильск...Ну пожалуйста... Read Only

    Сообщения:
    487
    Симпатии:
    80
    @Grey83, гляну, как домой приду)