Меняем гравитацию
Допустим, занесло Фримена на Марс. Соответственно, гравитация уменьшается в три раза. Моделируем ситуацию.
Сначала сделаем заготовку. Чтобы не было тесно, пусть это будет комната
512х512х512. Раскрасьте ее внутри так, как вам понравится.
Осветите комнату изнутри с помощью светящихся текстур, или с помощью light.
Теперь на высоте 128 юнитов вдоль одной стены создайте выступ
512х16х64. Еще на 128 юнитов выше этого уступа расположите еще один,
перпендикулярно первому. А еще через 128 юнитов еще один, последний,
перпендикулярно предыдущему. В обычных условиях игрок не может
запрыгнуть на выступ более 48 юнитов без дополнительных приспособлений.
В условиях пониженной гравитации прыгнуть на высоту 128 юнитов вполне
возможно.
Теперь изменим внутри этой комнаты гравитацию. Из текстуры AAATRIGGER
создайте блок, занимающий всю внутреннюю часть комнаты. Отправьте его
toEntity, Class - trigger_gravity.
Свойства этого триггера практически не отличаются от любого другого,
например, trigger_once. Единственный значимый параметр trigger_gravity
- поле Gravity.
Поле Gravity выражает соотношение нормальной гравитации и той, которая
должна присутствовать в поле деятельности trigger_gravity. Если вам
надо установить гравитацию в одну треть от нормальной, то значение поля
Gravity должно составлять 0.3 (разделитель - только точка, если вы
используете запись 0,3, то гравитация останется нормальной). Несмотря
на то, что в меню есть ограничение значения между 0 и 1, в реальности
гравитация может быть как меньше нуля, так и больше 1. В первом случае
игрок просто взлетит - антигравитация, как-никак, а во втором он почти
не сможет прыгать. Теперь поместите на карту info_player_start, и
запускайте компиляцию.
Счастливых полетов! Кстати, повредить здоровью, даже сверзившись с верхнего уступа, практически невозможно! Проверьте!
Олег Бутрин ака проф. Выбегалло.