За тем чтобы испоьзовать свою глобальную переменную в квесте. Можешь изменить мои скрипты.
Вот тебе на заметку:
Добавлено (17.10.2011, 16:12) --------------------------------------------- DimonVoin, И не я задавал вопрос, пиши не мне а Паха007, меня другие варианты не интересуют, у меня почти в любом большом квесте, глобальные переменные используются раз 20, вожможно и у него будут использоваться. Разговор окончен.
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Straight, Galko, Artem13, Если отметить, то это будит постоянная Ref ссылка которая будит ссылатся на объект. В осномном делается для квестов и аи пакетов.
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Float YAchsePosition Float YAchse Short State Short DoOnce
Begin GameMode
if ( State == 0 ) Set YAchsePosition to GetPos Y Set YAchse to YachsePosition -10 SetPos Y Yachse endif endif
End
Можешь попробывать.
Добавлено (18.10.2011, 10:45) --------------------------------------------- Ipatow, Если тяжело попробывать можешь почитать:
про движение проще, двигаем объект с референсид myObject сначала надо понять куда и насколько надо двигать. Ты хочешь двигать в верх, значит по оси Z. Теперь определим на какое расстояние: а) открываем параметры объекта и смотрим в 3д дата начальное положение (для упрощения возьмем за начало 100) б) Зажав кнопку z двигаем объект к нужной точке, куда он уедит и смотрим новый 3д дата (для упрощения 150) в)от конечной точки отнимаем начальную - получаем нужное расстояние (в данном примере 50) если знак расстояния отрицательный - движение будет в низ.
(напоминает школьную задачку, из пункта а в пункт б выехал поезд, определите кого он разрежет на рельсах )
г)создаем скрипт: ;сначала как всегда имя скрипта scn TESTMOVESCRID ;теперь переменные ;точка начала движения и определитель ;текущей позиции float zApos ;точка конца движения float zBpos ;Скорость движения float zVspeed
;теперь условие выполнения: begin OnActivate ;чтобы движение небыло вечным создаем ;ограничивающие условия set zApos to myObject.getPos z Set zVspeed to 2 if ( zApos < zBpos) set zApos to (zApos + zVspeed) myObject.setPos z zApos endif end
Этот скрипт при каждом нажатии на активатор поднимает предмет на zVspeed до тех пор пока не достигнет позиции zBpos. если надо чтоб оюъект сам поднимался, то делаем чуть по другому:
;сначала как всегда имя скрипта scn TESTMOVESCRID ;теперь переменные ;точка начала движения и определитель ;текущей позиции float zApos ;точка конца движения float zBpos ;Скорость движения float zVspeed ;маркер старта float MoveStartmark ;условие запуска begin onactivate set MoveStartmark to 5 end ;теперь условие выполнения: begin GameMode ;чтобы движение небыло вечным создаем ;ограничивающие условия if ( zApos < zBpos) && (MoveStartmark == 5) set zApos to myObject.getPos z Set zVspeed to 2 set zApos to (zApos + zVspeed) myObject.setPos z zApos else set MoveStartmark to 15 endif end
Объект движения должен быть отмечен галочкой референс, Сам я именно этот скрипт не проверял, по этому в скрипте возможны орфографические ошибки (в командах), у меня в струнных баянах по подобному принципу освещение вращается. Set zVspeed to 2 меняет скорость перемещения, она не обязательно целочисленная. Скорость лучше подбирай методом процентов (расстояние между точкой а и точкой б дели на 100 - это один процент) или методом тыка, попробовал и смотри как красивее.
Инфа от MogIlA, и ещё скажи что через GetPos нельзя двигать объект.
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Изменение репутации для пользователя Graf
GrafOffline
Сообщение №583
| Тема: ВОПРОСЫ по моддингу
написано: 18 октября 2011, 07:53
| Отредактировано: Graf - 18 октября 2011, 07:53