Меняем гравитацию
Допустим,
занесло Фримена на Марс. Соответственно, гравитация уменьшается в три раза.
Моделируем ситуацию.
Сначала сделаем заготовку. Чтобы не было тесно, пусть это будет комната
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, и запускайте компиляцию.
Счастливых полетов! Кстати, повредить здоровью, даже сверзившись с верхнего
уступа, практически невозможно! Проверьте!
Олег Бутрин ака проф. Выбегалло.