Ок, начну с того, что это моя первая статья. Если точнее, пересказ статьи с англоязычного сайта. Думаю, может быть полезно кому-нибудь.
Начнем с "рандомизатора". Создаем Moving Brush, оставляем его пустым, задаем ему скорость 0, поставьте галочку на Auto Start. Расставьте маркеры для него (MovingBrush Marker), так же, скорость 0. Свяжите их, чтобы получилась замкнутая траектория - последний маркер нацельте на первый. Нацеливаем Moving Brush на первый маркер.
Теперь создаем собственно телепорт. Поставьте его где хотите, и в параметре Target укажите наш Moving Brush. Все, теперь, заходя в телепорт, игрока случайным образом кинет к одному из маркеров.
Комментарии
Например, при одинаковых условиях (Сэм бежит напрямик до телепорта), ты всегда будешь попадать в один и тот-же телепорт.
И триггерами нельзя, как и дедом морозом, эруптором, шутером создать рандом в любом виде не получится, все подчинено алгоритму, при одинаковой ситуации - один и тот-же результат. Я как-то пытался просто реализовать подобную вещь.
Есть правда одна штука которая мне не дает покоя, разброс пуль от дробаша, он случаен, или нет?
В любом случае, без SDK уже не разобраться.
Ну а в SDK можно без всяких усилий сделать рандомные телепорты как модификацию стандартных - добавить несколько параметров-целей и с помощью генераторов случайных чисел IRnd() или FRnd() уже выбирать из них - подобное я уже делал с Enemy Spawner.
И нет, разброс пуль у дробовика не рандомен(по крайней мере в HD - я не смотрел в классическом, но думаю, там так же)
Не случаен, при автостарте эруптора он генерирует одинаковую последовательность после каждого рестарта карты.
Он может быть случайным, если его активировать в разное время игры, тогда да, он случаен. Но если запускаешь его с какого-нибудь триггера с автостартом... то...
Так что для рандома по-любому придется делать несколько факторов, ну, условий активации, которые тоже могут быть "псевдослучайны", полагаясь на невозможность одних и тех же действий со стороны игрока. Ну это и так понятно, вообщем)
Всегда лучше делать триггерами. И это можно сделать.
Могу потом написать как.