среда, 21 ноября 2012 г.

Cовет по спейсеру (Spacer 2)

Вот вам совет по спейсеру.

Если, вам вдруг где либо необходимо поставить много обьектов(на пример там кроватей, и прочих вобов)

А вписывать для отдельного воба свои параметры вам не охота ( ужасно долго, нудно, да и вообще меня это занятие бесит (коллизия, онстейт функции если это таже кровать, имя высвечивоемое когда объект в фокусе и т.д.) .
Не беда.
К счастью, в спейсере(и для г1 и для г2) есть функция "Пакетной обработки обьектов" которая позволяет, массово конвертировать вобы, прописывать им параметры нужные и тд и тп.

Вот собсно пример, как именно пользоватся этой функицей.


Для начала включаем "Locial VobEdit PropertyPage"
как показано на рисунке ниже.



Дальше идем во вкладку "Object Pages" и видим там следующее:



Немного предыстории:

У меня есть воб типа zCVob с визуализацией BEDHIGH_PSI.ASC (кровать)
Естественно на этой кровати нельзя спать, изза того что для кроватей и прочих "интерактивных" объектов, необходимо что-бы класс объекта был дочерним от класса "oCMobBed". Так как же нам поменять класс с zCVob на oCMobInter, не удаляя уже существующий объект?
Для этого нам и понадобится Locial VobEdit PropertyPage (описанный выше).
И так рассмотрим работу с Locial VobEdit PropertyPage:
С самого начала, нам необходим выпадающий список напротив кнопки "old"
Кликаем по нему и выбираем тип изменяемого объекта, в нашем случае это zCVob (самая первая строчка в списке).
Далее идем ниже, как показано на рисунке:


Дважды кликаем (обязательно!) по полю "Visual" и вписываем в поле название визуализации изменяемых объектов(будут изменены ВСЕ объекты у которых параметры совпадут с параметрами, которые указанны в Locial VobEdit PropertyPage)
Чтобы получилось как на рисунке ниже:


На этом с настройками изменяемых объектов.

Далее в томже окне наживаем на кнопку "old" и на ее месте появится кнопка с надписью "new"
Ниже станет доступным второй выпадающий список, как на рисунке ниже:


И выбираем в этом списке тип объекта "oCMobBed"
И далее нажимаем кнопку "Start"
Программа начнет поиск вобов с Visual:BEDHIGH_PSI.ASC
И если таковы будут найдены, то изменит их класс с zCVob на "oCMobBed"
По сути все, если же у вас много кроватей(допустим город в котором много домов)
То можно проделать еще и такую операцию:
Жмем кнопку "old" выбираем тип объекта oCMobBed
Далее дважды кликаем по Vob-Visual и удаляем слово BEDHIGH_PSI.ASC (это для того чтобы изменения коснулись ВСЕХ объектов типа oCMobBed)
Дальше раскрываем вкладку MOB и в ней, дважды кликаем по параметру "focus name"
и вписываем туда MOBNAME_BED (при появлении объекта в фокусе выведется слово "Кровать")
И чуть ниже в строке onStateFunc пишем SLEEPABIT (Не забываем перед тем как писать ДВАЖДЫ кликнуть по нужной строке!!!!!)



ВНИМАНИЕ!

При двойном клике "Изменяемого объекта" (то есть кнопка слева вверху называется "old" слева от редактируемого параметра появится значек *, если-же при редактировании объекта который мы хотим получить из исходного (кнопка слева вверху нажа и называется "new") То в редактируемой строке появится значек -> Это можно увидить на картинках.

Вроде бы все, ах да чуть не забыл, этимже способом можно выставлять такие параметры как cdDyn и тд просто после нажатия кнопки "new" в свойствах -vob меняем эти параметры как вам угодно.

P.S.
Если в строке "convert to new vobs" выбрать "Replace with Zenfile" и выбрать нужный вам Vobtree (как например фонари в хоринисе) то вместе заменяемых объектов будут появлятся нужные вам "Vobtree"

P.S.S.
Вот еще один немало важный момент.
Если у вас большая карта и на ней много вобов(не только тех которые вы меняете)
То во время процесса поиска и замены, спейсер может подвиснуть - это не страшно, все станет вновь норм когда процесс завершится. И советую во время процесса на компе ничего не делать=)

Автор: Saturas

0 коммент.:

Отправить комментарий

Open Panel

Blogroll

Вверх

Вниз