Допустим, занесло Фримена на Марс. Соответственно, гравитация уменьшается в три раза. Моделируем ситуацию. Сначала сделаем заготовку. Чтобы не было тесно, пусть это будет комната 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, и запускайте компиляцию. Счастливых полетов! Кстати, повредить здоровью, даже сверзившись с верхнего уступа, практически невозможно! Проверьте!
Источник: http://alien.cs-mapping.com.ua/stat_4.php |