|
---|
![]() |
#1 | |
Hypax
Парам парам пам! ПАМ!
![]() ![]() ![]() ![]() ![]()
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 34
Сообщения: 564
|
![]() Всем доброго вечера, сразу оговорюсь по данному уроку что он будет интересен ,в большей степени, для мапперов делающих карты для режима Bunny Hop и похожих.В целом все довольно просто, по этому не буду размусоливать
![]() Мульти-блок, это бхоп-блок, на котором нужно постоянно прыгать чтобы оставаться на нем.В отличии от обычного бхоп-блока, он не опускается и абсолютно статичен. Используемые энтити: func_button multi_manager trigger_changetarget trigger_teleport info_teleport_destination Сам блок, это статичная кнопка (Delay before reset 0 и флажки Don`t move , Touch Activates) покрытая тонким слоем(в 1юнит) портала(trigger_teleport).Эта кнопка при прикосновении, активирует multi_manager, а тот в свою очередь по очередно два trigger_changetarget с интервалом 0.1 сек. Первый trigger_changetarget вставляет "правильный target" в trigger_teleport,тем самым активируя его. Второй trigger_changetarget, возвращает "неправильный target" который не связывает, trigger_teleport с его info_teleport_destination, тем самым деактивируя trigger_teleport. ps. изначально в trigger_teleport вписан "не правильный target" ,по этому телепорт не активен.В качестве "не правильного target" я подразумеваю некорректный, т.е не связывающий. Стоя на кнопке(блоке), игрок активирует быстрый цикл активации и деактивации портала, соответственно переносится (телепортируется) в точку info_teleport_destination.Если же игрок прыгает,его не портует т.к в момент прыжка он не соприкасается с поверхностью портала. В прикрепленном архиве тестовая карта в rmf и bsp формате. |
|
![]() |
![]() |
![]() |
#2 | |
Gaia
Чёрный вертолёт
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 04.08.2008
Возраст: 37
Сообщения: 4,584
Замечания: 5
|
![]() Что будет с игроками у которых высокий пинг?
|
|
![]() |
![]() |
![]() |
#3 | |
pdemon33
Сержант
![]() ![]()
Регистрация: 30.05.2013
Адрес: Санкт-Петербург
Возраст: 39
Сообщения: 221
|
![]() сервер их кикнет
|
|
![]() |
![]() |
![]() |
#4 | |
Gaia
Чёрный вертолёт
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 04.08.2008
Возраст: 37
Сообщения: 4,584
Замечания: 5
|
![]() 2 pdemon33:
И зачем? Это ж не ДМ. Вон, на юниксе предельный пинг 800, емнип. И нормально всё. тока там плагин стоит хитроумный, который заставляет блоки стоять на месте, а не опускаться. Игрока же просто сталкивает, если он задумался на каком либо из блоков. |
|
![]() |
![]() |
![]() |
#5 | |
DrTressi
Хрустик
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 31
Сообщения: 6,383
Замечания: 16
![]() |
![]() Молодец!
|
|
![]() |
![]() |
![]() |
#6 | |
Endym
ёкай
![]()
Регистрация: 17.05.2011
Возраст: 31
Сообщения: 154
Замечания: 2
|
![]() Штука интересная, но часто не попользуешься, тут получается 5 блоков вместо 1 func_door как с обычным бхоп-блоком. На большой бхоп-карте каждая энтитя на счет
![]() ![]() зы. Даешь еще туториалов про kz! |
|
![]() |
![]() |
![]() |
#7 | |
Kyo
Старший сержант
![]() ![]() ![]()
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336
|
![]() С помощью
скрипта
на таком блоке можно будет стоять не прыгая. Более того, такой вариант реализации блока подходит только для тех, кто распрыгивается скриптами. Ирония, не правда ли?
Смотрите. Вы отводите всего одну десятую секунды на прыжок (включая время простоя на блоке) - что, разумеется, очень мало. Без скриптов такая частота прыжков крайне трудновыполнима. Игроки с нестабильным FPS и большим пингом вообще не смогут пользоваться таким блоком - даже могучий алиас special имеет свои ограничения. А если не меняя алгоритм начать увеличивать время простоя, то пострадает синхронизация. Если Вы расширите временный диапазон, скажем, до половины секунды, то игрок, который за это время сможет не только оттолкнуться, но и приземлиться, будет телепортирован. |
|
Последний раз редактировалось Kyo, 23.06.2014 в 07:45. |
||
![]() |
![]() |
![]() |
#8 | |
Hypax
Парам парам пам! ПАМ!
![]() ![]() ![]() ![]() ![]()
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 34
Сообщения: 564
|
![]() даже 6 энтитей ![]() - порталы на кнопке можно обьеденить (если блоки относятся к одной дорожке) - соответственно инфо_телепорт нужен только один( на одну дорожку) - кнопки также можно обьеденить - ченж_таргеты и мульти_менеджер копировать не нужно ![]() с "sv_gravity 0" можно вообще не прыгать а летать, я не брал в расчет тех кто прыгает на скриптах т.к сам ими никогда не пользовался и нехорошо это ![]() А если не меняя алгоритм начать увеличивать время простоя, то пострадает синхронизация. Если Вы расширите временный диапазон, скажем, до половины секунды, то игрок, который за это время сможет не только оттолкнуться, но и приземлиться, будет телепортирован. одной десятой в мульти_менеджере, вполне хватает чтобы оттолкнуться и комфортно прыгать (без всяких скриптов).Я не знаю ни одного игрока который бы останавливался на блоке чтобы подумать ,а потом прыгнуть.С большим пингом на большинстве карт вам нечего делать,любая маломальская задержка, сорвет продвижение по дорожке. зы. данный блок тестировался и не раз, пока что никаких проблем небыло. ![]() |
|
![]() |
![]() |
![]() |
#9 | |
Kyo
Старший сержант
![]() ![]() ![]()
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336
|
![]() Я не утверждаю, что эта конструкция - плохая и не годится для использования. Я всего лишь указываю на замеченные уязвимости. Я даже соберу их в удобный и понятный список. Подытожим: 1) Как маппер, решивший позаимствовать этот метод, я не могу увеличить время простоя на блоке. Я подробно расписал почему в сообщении выше. 2) Так как происходит проверка на взаимодействие, а не на наличие, я могу обманывать эту систему, регулярно касаясь блока - например, при помощи трюка, известного как DoubleDuck. 3) Если блок, например, находится в помещении с низким потолком, то можно успеть прыгнуть и коснуться блока до того, как он деактивируется. В итоге получится ложное срабатывание, и прыгающего игрока телепортирует. 4) Серьезная зависимость конструкции от пинга. Причем не обязательно в худшую сторону. Поскольку передвижения находятся на стороне клиента, то триггер может сработать с запозданием - пока сервер ждал пакета, игрок уже убежал. Хотя, я наблюдал и обратную ситуацию - когда триггеры как будто срабатывали заранее, и сервер дергал убежавшего игрока назад, делая поправку на действия ентити. Я не могу дать точного ответа, почему так происходит. Но неоднократные эксперименты очень красноречиво показали, что игра в интернете и короткие временные переменные - плохо сочетаемые вещи. Надеюсь у меня получился емкий и содержательный багрепорт. Можно исправить все четыре проблемы разом, отвязав принцип работы от временных промежутков. |
|
Последний раз редактировалось Kyo, 23.06.2014 в 18:59. |
||
![]() |
![]() |
![]() |
#10 | |
Hypax
Парам парам пам! ПАМ!
![]() ![]() ![]() ![]() ![]()
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 34
Сообщения: 564
|
![]() 2 Kyo:
> 2) Так как происходит проверка на взаимодействие, а не на наличие, я могу обманывать эту систему, регулярно касаясь блока - например, при помощи трюка, известного как DoubleDuck. это решается просто - портал на кнопке вытягивается чуть выше т.к DoubleDuck это грубо говоря "не высокий прыжок" то игрок исполняющий его портнется, т.к не взлетел на высоту прыжка.Хотя откровенно говоря, обманув и встав на блоке с помощью DoubleDuck игрок потеряет скорость,что не имеет смысла. Мблок может не совсем соответствовать требованиям игры в интернете из-за особенности портировать всех и вся в момент активации, следовательно преодолевать данную дорожку может один игрок(остальные в очередь) это тоже надо учитывать. С остальным в принципе согласен, хотя отвязать принцип работы от временных промежутков наврятли удастся, ведь даже таже дверь перемещается за определенный промежуток времени.Другое дело подстраивать и модернизировать мблок под условия прохождения дорожки. |
|
![]() |
![]() |
![]() |
#11 | |
Kyo
Старший сержант
![]() ![]() ![]()
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336
|
![]() |
|
![]() |
![]() |
![]() |
#12 | |
Hypax
Парам парам пам! ПАМ!
![]() ![]() ![]() ![]() ![]()
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 34
Сообщения: 564
|
![]() Потому что вы хотите сделать анти-dd, при этом непонятно зачем.Нужно рассматривать реальную ситуацию на реальной дорожке, а говорить об этом не имея реального обьекта для которого решается задача, можно долго. на таком принципе, также будет ограничение по времени пребывания,что также нехорошо скажется в игре на серверах, и также можно будет использовать dd(при низком потолке,временной промежуток между прыжками сокращается,что также похоже на dd) и это казалось бы тоже, очевидные вещи. зы.еще раз повторюсь, что если хочется ограничить игрока в использовании прыжков, нужно рассматривать на реально существующей дорожке. ![]() |
|
![]() |
![]() |
![]() |
#13 | |
Kyo
Старший сержант
![]() ![]() ![]()
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336
|
![]() Устраивает такой вариант, какой есть - оставляйте. Я, вероятно, забыл сказать спасибо за проделанную работу, решив, что хорошего багрепорта будет достаточно. Простите мне мои плохие манеры. Cordialement. |
|
![]() |
![]() |
![]() |
#14 | |
Hypax
Парам парам пам! ПАМ!
![]() ![]() ![]() ![]() ![]()
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 34
Сообщения: 564
|
![]() 2 Kyo:
Ну зачем же истерить?)В решении любой задачи, нужно прийти к консенсусу ![]() Относительно слова багрепорт, подразумевается подробное описание ошибки, с приложенными скриншотами.Вы же сами утверждали,что внесение изменений в данную конструкцию "сломает ее", из чего следует что вам нужна другая система, принцип которой вы описали используя пример с картошкой ![]() К сожалению я ошибочно понял, что вы создаете проект в котором хотите использовать данный блок(соответственно проблему с использованием double_duck можно решить к конкретной дорожке т.к в другом месте данное ограничение может наоборот мешать), теперь же я понимаю что вы просто накручиваете количество сообщений на форуме ![]() Я принимаю Ваши извинения) ps.данную систему мблока изменять не буду, она выполняет свои функции.Но никто не запрещает скачать рмф файл и экспериментировать сколько душе угодно.И возможно вы сделаете систему еще лучше.Если вы решите продолжить свои высказывания, пишите мне в лс , не стоит засорять тему. ![]() |
|
Последний раз редактировалось Hypax, 25.06.2014 в 16:30. |
||
![]() |
![]() |
![]() |
#15 | |||
Kyo
Старший сержант
![]() ![]() ![]()
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336
|
![]() ставит под сомнения ваше высказывание что вы маппер. напоминает фразу юного игродела вы просто накручиваете количество сообщений Что же, мне не сложно. Прикрепляю рабочий пример к сообщению.
|
|||
![]() |
![]() |
![]() |
#16 | |
Hypax
Парам парам пам! ПАМ!
![]() ![]() ![]() ![]() ![]()
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 34
Сообщения: 564
|
![]() 2 Kyo:
![]() Оффтоп |
|
![]() |
![]() |