Иконка ресурса

Timeleft Round End 2.0.0

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #1
Timeleft Round End

Описание:
Универсальный вариант плагина (в плане эффективности кода) для завершения раунда в любой игре, где этого не происходит по обычным причинам, т.е. нет конкретных задач, какой-либо миссии (например, спасти заложников, заложить бомбу).
Автоматический поиск сигнатуры окончания раунда: не нужно никаких файлов, как в Advanced End Round - это будет взято прямо из игры, самое свежее (как бы "автообновление" - зависит только от обновлений SourceMod'а), а значит, работать должно самым надёжным образом (Windows, Linux, Mac).
Зависимость от кваров сервера mp_timelimit и mp_chattime/mp_win_panel_display_time - плагин полностью следует им (переключает карту по окончании первого с задержкой второго).
Карты, где время оканчивается само по себе - просто пропускаются плагином (он отключается).
Если всё же возникнет какой-либо сбой сигнатуры (сигнатурный режим) - окончание раунда произойдёт в форсированном режиме.
Форсированный режим включает в себя 2 уровня (в случае фатальных сбоев - все 3 уровня), которые будут задействованы по цепочке, один за другим, в случае неэффективности/сбоя предыдущего уровня.
Показ статистики текущей игры в любом режиме (в некоторых играх), кроме последнего уровня форсирования (просто смена карты на следующую).
P.S. Данная версия НЕ просчитывает победу карты (причина при обычной работе едина - "Игра начинается.").

Требования:

Поддерживаются игры:
  • Любая игра
    Полная поддержка: CS:GO, CS:S и частично TF2 (на данный момент, такой сигнатуры там нет).
    Скорей всего, пойдут и другие игры (в форсированном режиме).

Установка:
  • Переместите или скопируйте файл "TimeleftRoundEnd.sp" в директорию addons\sourcemod\scripting сервера.
  • Скомпилируйте плагин. Переместите или скопируйте полученный файл "TimeleftRoundEnd.smx" в директорию addons\sourcemod\plugins сервера.

Настройки (CVAR's):
  • mp_timelimit - Время игры для текущей карты (в минутах).
  • mp_win_panel_display_time (или mp_chattime) - Время отображения панели победителя матча (в секундах).
  • mp_forced_nextlevel_delay - Задержка для принудительной смены карты (в секундах).
    CS:S
    Автоматическая подстройка.
    • На данный момент, для всех версий игры, не нуждается в изменении (по умолчанию 1,5).

    CS:GO
    Полуавтоматическая подстройка.
    • Необходимо вписать своё значение, которое складывается из суммы кваров:
      mp_endmatch_votenextleveltime + mp_round_restart_delay + 1,5 (квар mp_win_panel_display_time учитывается автоматически).

Описание:
Максимально упрощённый вариант плагина (в плане основного кода) для завершения раунда в среде cstrike там, где этого не происходит по обычным причинам, т.е. нет конкретных задач, какой-либо миссии (например, спасти заложников, заложить бомбу). Завершение раунда происходит по mp_timelimit сервера, не зависимо от оставшегося времени для раунда (игнорирование mp_roundtime).
В отличии от некоторых подобных уже существующих плагинов, например, Death Match Timer или стандартно встроенного модуля в CSS DM (cssdm_force_mapchanges "1"), данный код не только завершает раунд, но и показывает привычную статистику фрагов за раунд в конце каждой карты, что предыдущие примеры делать не в состоянии.
Как только время, отпущенное для карты (mp_timelimit) истечёт, начнётся полноценное выполнение скрипта. Любое последующее убийство приведёт к завершению раунда с показом её статистики и, через определённое время - к смене карты (выбранной игроками или указанной в списке переключаемых по порядку карт сервера).
В случае, если на сервере никто не играет (даже хотя бы боты) - карта меняться не будет!

Требования:
 
Последнее редактирование модератором:

EPacker2

3D-моделист
Сообщения
1,040
Реакции
759
9 причина: Round Draw!
А причина CT Win - 7, правильно?

И если не сложно, объясни:
PHP:
    if (timeleft + 15 <= 0) //почему он прибавляет 15?
    {
        CS_TerminateRound(6.0, CSRoundEndReason:9); //почему именно 6.0? Это типо вместо mp_chattime?
    }
Тогда уж лучше сделать проверку mp_chattime :yes:
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #3
причина CT Win - 7, правильно?
Да. :)
C-подобный:
 0 - Бомба взорвана; 
 1 - VIP спасен;
 2 - VIP убит;
 3 - Террористы ускользнули;
 4 - CT не дали уйти большинству террористов;  
 5 - Все террористы были нейтрализованы;
 6 - Бомба обезврежена; 
 7 - Контр-террористы победили!  
 8 - Террористы победили!  
 9 - Ничья;
 10 - Все заложники спасены;
 11 - Цель карты сохранена;
 12 - Заложников не спасли;
 13 - Террористы не спаслись;
 14 - VIP не убежал;
 15 - Новая игра.
 

EPacker2

3D-моделист
Сообщения
1,040
Реакции
759
Оффтоп
 

Red4911

Участник
Сообщения
133
Реакции
34
А как этот плагин заставить работать в cs go ? У меня время раунда стоит 35 мин. Но плагин не хочет работать. Время заканчивается и карта все равно продолжается.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #6
заставить работать в cs go ?
Думаю, в CS:GO просто-напросто нет такой функции, которую использует плагин (от cstrike include). Поэтому, никак.
Самый эффективный способ в таких случаях - убить всех игроков разом.
 

Red4911

Участник
Сообщения
133
Реакции
34
А нет ли какого нибудь другого плагина наподобие, чтоб карта менялась когда время заканчивается. У меня так же включено голосование за 3 минуты до конца раунда. Люди голосуют, но карта как то не меняется. Хочется что плагин все делал. А то если убивать всех разом то это надо постоянно на сервере сидеть и следить за временем ))
У меня так же стоят такие настройки: mp_roundtime 35, mp_timelimit 35
 

Red4911

Участник
Сообщения
133
Реакции
34
Я видел пару серверов бхоп где люди даже не стрелялись, а просто прыгали и когда время заканчивалось, одна из сторон объявлялась победителем и даже выдавались дропы. Сервер был америкаским назывался "хаус климб" помойму, да он и сейчас есть. У меня же сейчас стоит плагин "timer limit enforcer" но он немного глючный и только просто переключает карту. Ка я ни пытался сделать смену карты по окончанию времени раунда, без доп. плагина так и не получилось. Хотелось бы найти нормальный плагин.
 
Последнее редактирование:

Red4911

Участник
Сообщения
133
Реакции
34
Нет там такого или я просто не видел, карты никак не меняются. У меня есть сервер awp и bhop и я для этих серверов вот и ищу плагин. Вот написал сюда может кто подскажет.
 

Red4911

Участник
Сообщения
133
Реакции
34
кстати заходил на сервер awp dm смена карты была путем выигрыша стороной T, т.е когда заканчивалось время террорам давалась +1 победа и карта менялась. Заметил там такой плаг "Advanced End Round" (1.3) by FrozDark (HLModders LLC), тут я видел только версию 1.2 может пропустил где обновлённую версию ?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #12
Посмотрел. Там тот же принцип окончания раунда/карты, только в виде сигнатуры. Эту сигнатуру можно найти отдельно в любой игре, если она вообще есть и через неё окончить бесконечный раунд, что вызовет ту же последующую работу этого плагина.
Пилить надо. :-D
(1.3) by FrozDark (HLModders LLC), тут я видел только версию 1.2
Может это? Без вариантов, может сами вписали, просто что-то убрав.
 

Red4911

Участник
Сообщения
133
Реакции
34
Посмотрел. Там тот же принцип окончания раунда/карты, только в виде сигнатуры. Эту сигнатуру можно найти отдельно в любой игре, если она вообще есть и через ней окончить бесконечный раунд, что вызовет ту же последующую работу этого плагина.
Пилить надо. :-D

Может это? Без вариантов, может сами вписали, просто что-то убрав.

Я думаю это ближе к действительности. Попробовал. Может у меня настройки не те, но победа добавляется как время заканчивается и ничего )) Играем дальше )
 

Red4911

Участник
Сообщения
133
Реакции
34
Если бы я знал как ) То мог бы попробовать ) Если от этого будет толк и карта будет меняться )
 

rodgerland

Участник
Сообщения
485
Реакции
115
Наверно для полноценного плагина нужно добавить причину смены карты - респаун
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #16
добавить причину смены карты - респаун
Свои причины добавлять нельзя, по сути. Можно разве что перебить причину игры (только текст по центру). Да и зачем писать такой примитив?
Либо победа одной из команд, либо ничья - вот, что хорошо увидеть. Такое я давно сделал для раунда, однако, получается CS:GO всё так же не поддерживается.
Надо делать сигнатурами и резервный вариант. :-D
 

rodgerland

Участник
Сообщения
485
Реакции
115
Свои причины добавлять нельзя, по сути. Можно разве что перебить причину игры (только текст по центру). Да и зачем писать такой примитив?
Либо победа одной из команд, либо ничья - вот, что хорошо увидеть. Такое я давно сделал для раунда, однако, получается CS:GO всё так же не поддерживается.
Надо делать сигнатурами и резервный вариант. :-D

Я не про то, например есть mg карты в которых люди не умирают, а просто респаунятся и получается не подходит ни к одной причине. Вроде так.
 

rodgerland

Участник
Сообщения
485
Реакции
115
Новая игра - подходит. Только это лишний геморрой, определять, где ты играешь: на DM карте или MG.

Сейчас попробую, поэкспериментирую.
Да и разницы с DM нет, пусть выводит окно как в dm, все полноценно. Даже заканчивается так же.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #19
все полноценно. Даже заканчивается так же
В общем-то, может даже лучше, если определять тип игры: для MG не надо считать очки, кто выиграл - просто "Новая игра" по истечении времени и показ статистики.
Для DM желательно просчитать победу.
Оффтоп
 

Red4911

Участник
Сообщения
133
Реакции
34
Пробовал убить сразу всех на карте по истечению 35 минут раунда. Все равно карта не меняется.
 
Сверху Снизу