При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Картостроение > Туториалы > Туториалы по Counter-Strike 1.6
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.06.2014, 20:11  #1
Hypax
Hypax
Парам парам пам! ПАМ!
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 30
Сообщения: 564


Молоток Мульти-блок (Multiblock)

Всем доброго вечера, сразу оговорюсь по данному уроку что он будет интересен ,в большей степени, для мапперов делающих карты для режима 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 формате.
[ Вложения ]
Тип файла: rar multiblock_byhypax.rar (123.2 Кбайт, 159 просмотров)
Hypax вне форума Ответить с цитированием
Старый 14.06.2014, 21:07  #2
Gaia
Gaia
Чёрный вертолёт
Регистрация: 04.08.2008
Возраст: 34
Сообщения: 4,584
Замечания: 5


По умолчанию

Что будет с игроками у которых высокий пинг?
Gaia вне форума Ответить с цитированием
Старый 14.06.2014, 21:17  #3
pdemon33
pdemon33
Сержант
Регистрация: 30.05.2013
Адрес: Санкт-Петербург
Возраст: 36
Сообщения: 221


По умолчанию

сервер их кикнет
pdemon33 вне форума Ответить с цитированием
Старый 14.06.2014, 21:35  #4
Gaia
Gaia
Чёрный вертолёт
Регистрация: 04.08.2008
Возраст: 34
Сообщения: 4,584
Замечания: 5


По умолчанию

2 pdemon33:
И зачем? Это ж не ДМ. Вон, на юниксе предельный пинг 800, емнип. И нормально всё. тока там плагин стоит хитроумный, который заставляет блоки стоять на месте, а не опускаться. Игрока же просто сталкивает, если он задумался на каком либо из блоков.
Gaia вне форума Ответить с цитированием
Старый 14.06.2014, 22:51  #5
DrTressi
DrTressi
Хрустик
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 28
Сообщения: 6,383
Замечания: 16


По умолчанию

Молодец!
DrTressi вне форума Ответить с цитированием
Старый 23.06.2014, 07:48  #6
Endym
Endym
ёкай
Регистрация: 17.05.2011
Возраст: 27
Сообщения: 154
Замечания: 2


По умолчанию

Штука интересная, но часто не попользуешься, тут получается 5 блоков вместо 1 func_door как с обычным бхоп-блоком. На большой бхоп-карте каждая энтитя на счет Но в каких-то определенных условиях может быть полезен, да и просто интересная реализация
зы. Даешь еще туториалов про kz!
Endym вне форума Ответить с цитированием
Старый 23.06.2014, 08:24  #7
Kyo
Kyo
Старший сержант
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336


По умолчанию

С помощью скрипта на таком блоке можно будет стоять не прыгая. Более того, такой вариант реализации блока подходит только для тех, кто распрыгивается скриптами. Ирония, не правда ли?

Смотрите. Вы отводите всего одну десятую секунды на прыжок (включая время простоя на блоке) - что, разумеется, очень мало. Без скриптов такая частота прыжков крайне трудновыполнима. Игроки с нестабильным FPS и большим пингом вообще не смогут пользоваться таким блоком - даже могучий алиас special имеет свои ограничения.

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

Последний раз редактировалось Kyo, 23.06.2014 в 08:45.
Kyo вне форума Ответить с цитированием
Старый 23.06.2014, 18:02  #8
Hypax
Hypax
Парам парам пам! ПАМ!
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 30
Сообщения: 564


По умолчанию

[ Цитата ] Сообщение от Endym: Штука интересная, но часто не попользуешься, тут получается 5 блоков вместо 1 func_door как с обычным бхоп-блоком. На большой бхоп-карте каждая энтитя на счет Но в каких-то определенных условиях может быть полезен, да и просто интересная реализация
зы. Даешь еще туториалов про kz!

даже 6 энтитей.Если дорожка из нескольких таких блоков, количество энтитей можно оптимизировать:

- порталы на кнопке можно обьеденить (если блоки относятся к одной дорожке)
- соответственно инфо_телепорт нужен только один( на одну дорожку)
- кнопки также можно обьеденить
- ченж_таргеты и мульти_менеджер копировать не нужно


[ Цитата ] Сообщение от Kyo: С помощью скрипта на таком блоке можно будет стоять не прыгая. Более того, такой вариант реализации блока подходит только для тех, кто распрыгивается скриптами. Ирония, не правда ли?.

с "sv_gravity 0" можно вообще не прыгать а летать, я не брал в расчет тех кто прыгает на скриптах т.к сам ими никогда не пользовался и нехорошо это
[ Цитата ] Сообщение от Kyo: Смотрите. Вы отводите всего одну десятую секунды на прыжок (включая время простоя на блоке) - что, разумеется, очень мало. Без скриптов такая частота прыжков крайне трудновыполнима. Игроки с нестабильным FPS и большим пингом вообще не смогут пользоваться таким блоком - даже могучий алиас special имеет свои ограничения.

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

одной десятой в мульти_менеджере, вполне хватает чтобы оттолкнуться и комфортно прыгать (без всяких скриптов).Я не знаю ни одного игрока который бы останавливался на блоке чтобы подумать ,а потом прыгнуть.С большим пингом на большинстве карт вам нечего делать,любая маломальская задержка, сорвет продвижение по дорожке.

зы. данный блок тестировался и не раз, пока что никаких проблем небыло.
Hypax вне форума Ответить с цитированием
Старый 23.06.2014, 19:37  #9
Kyo
Kyo
Старший сержант
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336


По умолчанию

[ Цитата ] с "sv_gravity 0" можно вообще не прыгать а летать
Но sv_gravity - это серверный квар, который может изменить только администратор, тогда как упомянутый мною трюк выполняется на стороне клиента и доступен каждому.

Я не утверждаю, что эта конструкция - плохая и не годится для использования. Я всего лишь указываю на замеченные уязвимости. Я даже соберу их в удобный и понятный список. Подытожим:
1) Как маппер, решивший позаимствовать этот метод, я не могу увеличить время простоя на блоке. Я подробно расписал почему в сообщении выше.
2) Так как происходит проверка на взаимодействие, а не на наличие, я могу обманывать эту систему, регулярно касаясь блока - например, при помощи трюка, известного как DoubleDuck.
3) Если блок, например, находится в помещении с низким потолком, то можно успеть прыгнуть и коснуться блока до того, как он деактивируется. В итоге получится ложное срабатывание, и прыгающего игрока телепортирует.
4) Серьезная зависимость конструкции от пинга. Причем не обязательно в худшую сторону. Поскольку передвижения находятся на стороне клиента, то триггер может сработать с запозданием - пока сервер ждал пакета, игрок уже убежал. Хотя, я наблюдал и обратную ситуацию - когда триггеры как будто срабатывали заранее, и сервер дергал убежавшего игрока назад, делая поправку на действия ентити. Я не могу дать точного ответа, почему так происходит. Но неоднократные эксперименты очень красноречиво показали, что игра в интернете и короткие временные переменные - плохо сочетаемые вещи.

Надеюсь у меня получился емкий и содержательный багрепорт. Можно исправить все четыре проблемы разом, отвязав принцип работы от временных промежутков.

Последний раз редактировалось Kyo, 23.06.2014 в 19:59.
Kyo вне форума Ответить с цитированием
Старый 23.06.2014, 21:08  #10
Hypax
Hypax
Парам парам пам! ПАМ!
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 30
Сообщения: 564


По умолчанию

2 Kyo:
> 2) Так как происходит проверка на взаимодействие, а не на наличие, я могу обманывать эту систему, регулярно касаясь блока - например, при помощи трюка, известного как DoubleDuck.

это решается просто - портал на кнопке вытягивается чуть выше т.к DoubleDuck это грубо говоря "не высокий прыжок" то игрок исполняющий его портнется, т.к не взлетел на высоту прыжка.Хотя откровенно говоря, обманув и встав на блоке с помощью DoubleDuck игрок потеряет скорость,что не имеет смысла.

Мблок может не совсем соответствовать требованиям игры в интернете из-за особенности портировать всех и вся в момент активации, следовательно преодолевать данную дорожку может один игрок(остальные в очередь) это тоже надо учитывать.

С остальным в принципе согласен, хотя отвязать принцип работы от временных промежутков наврятли удастся, ведь даже таже дверь перемещается за определенный промежуток времени.Другое дело подстраивать и модернизировать мблок под условия прохождения дорожки.
Hypax вне форума Ответить с цитированием
Старый 24.06.2014, 06:16  #11
Kyo
Kyo
Старший сержант
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336


По умолчанию

[ Цитата ] это решается просто - портал на кнопке вытягивается чуть выше
Это сломает конструкцию. Высота подъема с DD - 32 юнита. Преодолеть эту высоту за десятую секунды обычным прыжком нельзя. И, как мы уже выяснили, увеличить доступное на прыжок время тоже нельзя. Почему мне приходится объяснять очевидные, казалось бы, вещи?
[ Цитата ] С остальным в принципе согласен, хотя отвязать принцип работы от временных промежутков наврятли удастся
Это возможно. Нужно подумать в другом направлении. Задача аналогична игре в горячую картошку - нельзя задерживаться на блоке слишком долго. То есть, образно говоря, блок должен становится "холодным" , каждый раз как его никто не касается, но начинать нагреваться сразу же, как его вновь начнут касаться. Опасная телепортирующая область не должна появляться, если лимит времени не превышен. Такой подход решит все четыре упомянутые проблемы.
Kyo вне форума Ответить с цитированием
Старый 24.06.2014, 13:54  #12
Hypax
Hypax
Парам парам пам! ПАМ!
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 30
Сообщения: 564


По умолчанию

[ Цитата ] Сообщение от Kyo: Это сломает конструкцию. Высота подъема с DD - 32 юнита. Преодолеть эту высоту за десятую секунды обычным прыжком нельзя. И, как мы уже выяснили, увеличить доступное на прыжок время тоже нельзя. Почему мне приходится объяснять очевидные, казалось бы, вещи?

Потому что вы хотите сделать анти-dd, при этом непонятно зачем.Нужно рассматривать реальную ситуацию на реальной дорожке, а говорить об этом не имея реального обьекта для которого решается задача, можно долго.
[ Цитата ] нельзя задерживаться на блоке слишком долго. То есть, образно говоря, блок должен становится "холодным" , каждый раз как его никто не касается, но начинать нагреваться сразу же, как его вновь начнут касаться. Опасная телепортирующая область не должна появляться, если лимит времени не превышен.

на таком принципе, также будет ограничение по времени пребывания,что также нехорошо скажется в игре на серверах, и также можно будет использовать dd(при низком потолке,временной промежуток между прыжками сокращается,что также похоже на dd) и это казалось бы тоже, очевидные вещи.

зы.еще раз повторюсь, что если хочется ограничить игрока в использовании прыжков, нужно рассматривать на реально существующей дорожке.
Hypax вне форума Ответить с цитированием
Старый 24.06.2014, 15:54  #13
Kyo
Kyo
Старший сержант
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336


По умолчанию

[ Цитата ] вы хотите сделать анти-dd, при этом непонятно зачем.
Вам действительно непонятно? Я написал настолько размыто и недоходчиво, что смысл остался неясен? В таком случае, простите, моих способностей в риторике недостаточно, чтобы исправить положение. Я сделал все что мог.
[ Цитата ] Нужно рассматривать реальную ситуацию на реальной дорожке
Вы сами подталкиваете меня к мысли о том, нужен ли вообще этот блок на "реальной дорожке", когда существуют другие эффективные и менее ресурсоемкие по количеству ентитей методы. Однако, не будем об этом. Сейчас мне интересен конкретный блок, о котором эта тема.
[ Цитата ] на таком принципе, также будет ограничение по времени пребывания,что также нехорошо скажется в игре на серверах, и также можно будет использовать dd
Вижу, принцип действия, предложенный мною, остался непонятым. Я виноват, изложил суть очень сжато и без пояснений, понадеявшись на догадливость прочитавшего. Пардон, месье.
[ Цитата ] зы.еще раз повторюсь, что если хочется ограничить игрока в использовании прыжков, нужно рассматривать на реально существующей дорожке.
Ох пони его через копыто, не хотите - не исправляйте. Я уже писал об этом, напишу еще раз, более настойчиво, чтобы пресечь эту нелепую дискуссию. Смотрите же. Я составил багрепорт. Все четыре проблемы имеют место. Их можно решить, не создав при этом новых проблем. Но это не значит, что я призываю Вас все бросить, и немедленно идти исправлять. Вы же мне ничего не обязаны, правда? Поэтому не нужно оправдываться.

Устраивает такой вариант, какой есть - оставляйте. Я, вероятно, забыл сказать спасибо за проделанную работу, решив, что хорошего багрепорта будет достаточно. Простите мне мои плохие манеры. Cordialement.
Kyo вне форума Ответить с цитированием
Старый 25.06.2014, 17:30  #14
Hypax
Hypax
Парам парам пам! ПАМ!
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 30
Сообщения: 564


По умолчанию

2 Kyo:

Ну зачем же истерить?)В решении любой задачи, нужно прийти к консенсусу иначе, одна из сторон останется не довольной, что подвергает сомнению такое решение.

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

К сожалению я ошибочно понял, что вы создаете проект в котором хотите использовать данный блок(соответственно проблему с использованием double_duck можно решить к конкретной дорожке т.к в другом месте данное ограничение может наоборот мешать), теперь же я понимаю что вы просто накручиваете количество сообщений на форуме

Я принимаю Ваши извинения)

ps.данную систему мблока изменять не буду, она выполняет свои функции.Но никто не запрещает скачать рмф файл и экспериментировать сколько душе угодно.И возможно вы сделаете систему еще лучше.Если вы решите продолжить свои высказывания, пишите мне в лс , не стоит засорять тему.

Последний раз редактировалось Hypax, 25.06.2014 в 17:30.
Hypax вне форума Ответить с цитированием
Старый 25.06.2014, 23:39  #15
Kyo
Kyo
Старший сержант
Регистрация: 09.06.2014
Адрес: Россия, Новосибирск, ул. Котовского
Сообщения: 336


По умолчанию

[ Цитата ] Ну зачем же истерить?)
ставит под сомнения ваше высказывание что вы маппер.
напоминает фразу юного игродела
вы просто накручиваете количество сообщений
Какого сена ты меня оскорбляешь? Слушай, сахарок, я не твой дружок из контерстрайка. Будь добр придержать коней и не хамить.
[ Цитата ] скачать рмф файл и экспериментировать сколько душе угодно.И возможно вы сделаете систему еще лучше.
Я то сделаю, не сомневайся. Может мне и тутор за тебя дописать?

Что же, мне не сложно. Прикрепляю рабочий пример к сообщению.
[ Вложения ]
Тип файла: rar gs_test_0626.rar (21.8 Кбайт, 83 просмотров)
Kyo вне форума Ответить с цитированием
Старый 28.06.2014, 00:32  #16
Hypax
Hypax
Парам парам пам! ПАМ!
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 30
Сообщения: 564


По умолчанию

2 Kyo:
[ Цитата ] Я то сделаю, не сомневайся
Да ктож сомневается, я же понятно написал и никто тебя не оскорблял не канюч и не принимай близко к сердцу.
[ Цитата ] Что же, мне не сложно. Прикрепляю рабочий пример к сообщению.
И че это за гс_тест, трудно описать что сделал, что добавил чего убавил.Энтити напиши какие юзал, знаешь че такое надеюсь.Вообщем схему опиши или картинку схемы, а то кто знает что там у тебя в архиве.

Оффтоп
[ Миниатюры ]
картошка1.jpg Просмотров: 487 Размер:  88.0 Кбайт  
Hypax вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 13:17.


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2021 by CS-Mapping.com.ua Community