[CS:S/CS:GO] Бег на выживание

Тема в разделе "Source", создана пользователем selax, 19 янв 2016.

Статус темы:
Закрыта.
  1. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Бег на выживание

    Описание режима игры
    Спецназ должен преодолеть все ловушки и выбрать испытание, на котором он будет сражаться с террористами.
    Террористы должны не дать спецназу пройти карту, для этого у них имеется возможность активировать ловушки.
    В случае провала, террористы должны попытаться убить спецназ на испытании.


    От автора
    Это далеко не финальная версия, даже не бета версия. Но по недоработкам сопоставима с версией 1.7.1. Года 3 назад обещал выложить - выкладываю.
    Данный плагин тестировался около полугода на сервере, который днём (а иногда и ночью) был забит 24/24. Ошибки практически все известны, что в будущем добавить в принципе тоже.
    Новая тема, так как плагин переписывается с нуля, скорее всего комментарии по тому плагину будут не совместимы с этим.
    По причине того, что плагин находится в разработке, многие пункты этого сообщения отправляют на GitHub.


    Примеры карт

    Требования

    Ссылки

    Возможности плагина
    • Управление командами. Каждый раунд плагин выбирает избранного игрока. Избранным игроком могут как террористы, так и спецназ.
      Так же плагин запрещает избранному игроку менять команду, а также обычным игрокам заходить за избранного. Частично запрещен суицид для избранного игрока.
    • Воскрешение в начале раунда. Автоматическое воскрешение первые Х секунд после начала раунда.
      Во всплывающей подсказке показано количество секунд, через которое воскрешение будет отключено.
    • Бан за выход с сервера. Избранный игрок, вышедший с сервера будет автоматически забанен на Х минут.

    Переменные
    По ссылке: https://github.com/selax/deathrun/blob/master/cfg/deathrun/main.cfg


    Список изменений
    По ссылке: https://github.com/selax/deathrun/blob/master/CHANGELOG.md


    Скачать
    По ссылке: https://github.com/selax/deathrun/releases
     
    Последнее редактирование: 1 фев 2016
    Tokko нравится это.
  2. kleuser

    kleuser

    Сообщения:
    561
    Симпатии:
    76
    Re: [CS:GO] Бег на выживание

    selax, наконец то, спасибо большое, что хоть кто-то начал заниматься этим модом. Убежал тестировать.
     
  3. artushonok

    artushonok

    Сообщения:
    961
    Симпатии:
    108
    Re: [CS:GO] Бег на выживание

    L 01/19/2016 - 07:45:05: [SM] Plugin encountered error 15: Array index is out of bounds
    L 01/19/2016 - 07:45:05: [SM] Displaying call stack trace for plugin "deathrun.smx":
    L 01/19/2016 - 07:45:05: [SM] [0] Line 481, C:\Users\selax\Documents\SourceMod\Бег на выживание\addons\sourcemod\scripting\deathrun.sp::ChoosePlayers()

    Добавлено через 3 минуты
    selax, сделай чтобы когда кт умирали, т засчитывало как убийство
     
    Последнее редактирование: 19 янв 2016
  4. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Re: [CS:GO] Бег на выживание

    Ну по хорошему то, я уже давно должен был им заняться... :)

    Исправил, если правильно понял проблему. На сервере ведь было 1 или 0 игроков?


    Это будет, но в феврале скорее всего, после выполнения плана работ из первого сообщения. Я планирую реализовать почти всё то, что было у меня в старой версии.
     
  5. kleuser

    kleuser

    Сообщения:
    561
    Симпатии:
    76
    Re: [CS:GO] Бег на выживание

    Главное оптимизацию нормальную делай, что бы все было збс :)

    Добавлено через 5 минут
    ошибка не исчезла. игроков 1
    PHP:
    L 01/19/2016 12:57:37SourceMod error session started
    L 01
    /19/2016 12:57:37Info (map "deathrun_iceworld_v2fix_csgo") (file "errors_20160119.log")
    L 01/19/2016 12:57:37: [SMPlugin encountered error 15: Array index is out of bounds
    L 01
    /19/2016 12:57:37: [SMDisplaying call stack trace for plugin "deathrun.smx":
    L 01/19/2016 12:57:37: [SM]   [0]  Line 481C:\Users\selax\Documents\SourceMod\Бег на выживание\addons\sourcemod\scripting\deathrun.sp::ChoosePlayers()
     
    Последнее редактирование: 19 янв 2016
  6. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Re: [CS:GO] Бег на выживание

    И действительно... Проблема оказалась там, где меньше всего её ждал. Забыл исправленную версию выложить. Упс. :-D
    Вот: https://github.com/selax/deathrun/releases (2.0.dev2)

    Добавлено через 36 минут
    Добавил поддержку нескольких избранных, ссылка та же. В первое сообщение тоже загрузил. (2.0.dev3)
    Проверил только на ботах, вроде всё работает.
     
    Последнее редактирование: 20 янв 2016
  7. kleuser

    kleuser

    Сообщения:
    561
    Симпатии:
    76
    Re: [CS:GO] Бег на выживание

    если террорист выходит или его какнуть просто, раунд не заканчивается. Поправь :)
     
  8. ₮αй₮оβый

    ₮αй₮оβый

    Сообщения:
    280
    Симпатии:
    10
    Re: [CS:GO] Бег на выживание

    да кстати насчет выхода игрока из т, может создать бота, чтобы он занимал место т и тогда и фраги не будут обнуляться
     
  9. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Re: [CS:GO] Бег на выживание

    Не обнуляются же... Но в любом случае - бота добавлять не буду, слишком костыльное решение.

    Да.. Знаю этот баг. Он же ещё на 1.7.1 был? Просто на столько к нему привык, что не замечаю его уже. :-D
    Сейчас займусь короче.
     
  10. SaInT.P

    SaInT.P

    Сообщения:
    1.270
    Симпатии:
    237
    Re: [CS:GO] Бег на выживание

    Плюсую, наконецто занялись модом, присоеденюсь к тестам завтра
     
  11. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Re: [CS:GO] Бег на выживание

    Вроде исправил, версия 2.0.dev4.
    Тут https://github.com/selax/deathrun/releases тыкайте "Source code (zip)", скомпилированная версия там есть.
    Отныне выкладывать до релиза буду только там, так как каждый раз сюда загружать долго.

    Сделал по принципу:
    1. Террорист выходит с сервера
    2. Плагин смотрит, если игроков за команду избранных 1 или 0, то добавляет к ним ещё одного случайного игрока на замену и телепортирует его в начало базы избранных. Новый раунд не начинается.

    Позже сделаю переменную, с помощью которой можно сделать так, чтобы на замену шли только мертвые игроки.

    P.S. Правки вносил много где - могло что-то сломаться.

    Добавлено через 1 час 56 минут
    2.0.dev5
    Добавил переменную dr_autorespawn_hint. Если выставить значение на 0 возрождение работает, но секундомер в чате не показывает. Необходимо для совместимости с некоторыми плагинами, например таймером.
    Мелкий фикс cfg файла.

    Добавлено через 3 часа 36 минут
    2.0.dev6
    Добавил поддержку CS:S. В принципе там оказалось ничего делать то и не надо, только шрифты поправить. Кучу тавтологии в коде поправлю, но позже, так как на игру она влияния не оказывает.
    На данный момент смысла использовать её на рабочем сервере CS:S нету, так как во всём уступает 1.7.1. Но если кто хочет протестировать на CS:S - буду рад.

    Добавлено через 5 часов 3 минуты
    Изменил версию 2.0.dev6
    Исправил ошибку свзянанную тем, что в CS:GO не отображалась подсказка о воскрешении.
    Одна из самых сложных проблем была на данный момент. Вместо == написал =. :(

    Добавлено через 7 часов 1 минуту
    2.0.dev7
    Добавлен режим перемешивания команд. То есть установив значение переменной dr_random в 1 половина игроков на сервере будет за CT, а половина за T. Нужно, так как есть несколько карт где ловушки проходят обе команды и эти карты мне нравятся. :)


    P.S. Лол, всё что я запланировал сделать за учебный отпуск в 20 дней сделал меньше чем за день... Такими темпами думаю полностью всё что нужно успею...

    Добавлено через 8 часов 38 минут
    Сделал. Но корректно работает только с одним террористом. Если нужно, то 2.0.dev7 плюс deathrun.smx качай.

    Если больше одного террориста, то убийство засчитывается обоим, но справа в углу показывает что убил только тот террорист, у кого id самый маленький. Пока это единственное адекватное решение проблемы, которое я нашёл.
     
    Последнее редактирование: 20 янв 2016
  12. kleuser

    kleuser

    Сообщения:
    561
    Симпатии:
    76
    Re: [CS:S/CS:GO] Бег на выживание

    selax,
     
  13. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Re: [CS:S/CS:GO] Бег на выживание

    И действительно.Пару проверок пропустил.
    Сейчас dev8 допилю и туда добавлю.

    P.S. Приведу код в порядок пока, а то я уже начал терять смысл написанного... xD

    Добавлено через 5 часов 52 минуты
    2.0.dev8
    - Если обычный игрок умер не от другого игрока теперь показывает что убил его избранный. Если избранных больше одного - показан будет только один.
    - Если обычный игрок умер не от другого игрока каждому избранному начисляется убийство.
    - Добавлена переменная функция, с переменной dr_pointforwin (0-6), которая добавляет +1 очко (CS:GO) или +1 убийство (CS:S) за победу в раунде.
    - Исправлены 2 недоработки, найденные kleuser.
    - Добавлена переменная отключающая антисуицид для террориста (dr_antisuicide).
    - Изменил структуру кода, теперь я хоть понимаю где нахожусь. :)
    - Чуть более приблизил к синтаксису 1.7, что в принципе тоже добавило читабельности.
    - Очки за победу теперь не зависимы от переменной dr_scores. Но пока её всё равно отключать нельзя.
     
    Последнее редактирование: 21 янв 2016
  14. SaInT.P

    SaInT.P

    Сообщения:
    1.270
    Симпатии:
    237
    Re: [CS:S/CS:GO] Бег на выживание

    L 01/21/2016 - 14:28:06: SourceMod error session started
    L 01/21/2016 - 14:28:06: Info (map "deathrun_helix") (file "errors_20160121.log")
    L 01/21/2016 - 14:28:06: [SM] Native "KillTimer" reported: Invalid timer handle 31201e6 (error 1)
    L 01/21/2016 - 14:28:06: [SM] Displaying call stack trace for plugin "DeathRun.smx":
    L 01/21/2016 - 14:28:06: [SM] [0] Line 45, deathrun/autorespawn.sp::RoundEnd_AutoRespawn()
    L 01/21/2016 - 14:28:06: [SM] [1] Line 65, deathrun/events.sp::event_RoundEnd()
    L 01/21/2016 - 14:28:59: [SM] Native "KillTimer" reported: Invalid timer handle 4c301e0 (error 1)
    L 01/21/2016 - 14:28:59: [SM] Displaying call stack trace for plugin "DeathRun.smx":
    L 01/21/2016 - 14:28:59: [SM] [0] Line 45, deathrun/autorespawn.sp::RoundEnd_AutoRespawn()
    L 01/21/2016 - 14:28:59: [SM] [1] Line 65, deathrun/events.sp::event_RoundEnd()

    L 01/21/2016 - 14:29:25: [SM] Native "IsClientInGame" reported: Client index 0 is invalid
    L 01/21/2016 - 14:29:25: [SM] Displaying call stack trace for plugin "DeathRun.smx":
    L 01/21/2016 - 14:29:25: [SM] [0] Line 11, deathrun/bans.sp::PlayerDisconnect_Bans()
    L 01/21/2016 - 14:29:25: [SM] [1] Line 50, deathrun/events.sp::event_PlayerDisconnect()
    L 01/21/2016 - 14:29:26: Error log file session closed.
     
  15. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Re: [CS:S/CS:GO] Бег на выживание

    SaInT.P, добавил фикс в последнем коммите.

    Но... Каким образом у вас получилось это:
    У ботов client != 0... У игроков подавно... Я проверку конечно добавил... Но как вы это сделали? Что у вас за существо с серера вышло?
     
    White Wolf нравится это.
  16. AlmazON

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

    Сообщения:
    4.506
    Симпатии:
    1.961
    Re: [CS:S/CS:GO] Бег на выживание

    Это событие может возвращать нулевой индекс.
     
  17. SaInT.P

    SaInT.P

    Сообщения:
    1.270
    Симпатии:
    237
    Re: [CS:S/CS:GO] Бег на выживание

    selax, я качал последнюю версию, это ошибки с dev8
    Игрок
     
  18. kleuser

    kleuser

    Сообщения:
    561
    Симпатии:
    76
    Re: [CS:S/CS:GO] Бег на выживание

    dev8
     
  19. Саша Шеин

    Саша Шеин

    Сообщения:
    1.258
    Симпатии:
    191
    Re: [CS:S/CS:GO] Бег на выживание

    На CSGO вызывало ошибки и краш из-за чата, как выяснилось из-за цветов.

    А в остальном Всё замечательно!
     
  20. SaInT.P

    SaInT.P

    Сообщения:
    1.270
    Симпатии:
    237
    Re: [CS:S/CS:GO] Бег на выживание

    Саша Шеин, у меня все нормально с выводом в чат и с цветами
     
Статус темы:
Закрыта.