scn GrupGECKScript
Begin WorkModMode
    if E==ASA
     G.E.C.K. Enable
    endif
end
перевод со "скриптового"
Начало блока
Если E равно ASA
группа GECK активна
конец проверки
конец блока

CASPER


Живу на даче.
Солнце, речка,
 лес,цветы,
клубника и вишня.
И никакого Интернета
Красота!
Galko

         G                         E                         C                        K                                                                                                                  

Главная | Мой профиль | Выход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Graf  
Форум » ИНФОРМАЦИОННЫЙ СЕКТОР » СТАТЬИ, УРОКИ, ИНСТРУКЦИИ И ТП. » "ПОВЕЛИТЕЛЬ СВЕТА" (Уроки по скриптам в GECK)
"ПОВЕЛИТЕЛЬ СВЕТА"
KAINДата: Среда, 11.05.2011, 10:42 | Сообщение # 1
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Так скажем – Второй мини урок «Повелитель Света»

Вы спросили:
- А как сделать включаемый и выключаемый свет?
Вам ответили:
-Написать скрип выключателя. Вот такой, например:

Code

scn    AAAKainLightSwitchScript

Short    bLightState

Begin OnActivate

    If bLightState != 1
       AAAKainLight01Ref.Enable
       AAAKainLightSwitchRef.Activate AAAKainLightSwitchRef
       Set bLightState to 1
    Else
       AAAKainLight01Ref.Disable
       AAAKainLightSwitchRef.Activate AAAKainLightSwitchRef
       Set bLightState to 0
    Endif
End

И добавляют:
Скрипт вешается на любой объект, который можно активировать.
Активатор следует связать с лампочкой "LinkedRef" связью.
В настройках копии лампочки нужно выбрать параметр "Initially Disabled".

И тут вы понимаете, что ничего не понимаете!
Ничего страшного, это явление обычное для всех новичков в любом деле!
Давайте разбираться.
Для начала нам нужно выполнить все условия прописанные в скрипте. Их тут опять не много!
Нам нужны:
- Активатор AAAKainLightSwitchRef
- Лампочка AAAKainLight01Ref
Начнём с лампочки.
В Редакторе в окне Object Window в ветке древовидной структуры папок Wopld Objects и далее ветку Light.
Второй путь - поиск через фильтр, для этого в окне Object Window в маленьком окошке Filter сразу под названием окна напишите light (свет), а в самом низу списка всех объектов игры выберите *All.

А в правой части окна Object Window возьмите любую лампочку, я выбрал LightViolet

И как описано в первом мини уроке - переносим её в рабочее окно редактора, и устанавливает в нужном месте. Примерно так.

Как вы понимаете это только «лампочка – источник света». А сам светильник Вы можете найти по поиску через фильтр, вписав в поле поиска Light отсортировав объекты по типу – нажав кнопку Form Type – вот здесь

И прокрутив список до объектов с символом синего домика (наверное это домик!)
Начинаете просмотр с первого – кликнув на нём ПКМ и открыв окно Preview. Если мешает Ground plane – снимите галочку под этой надписью (поверхность исчезнет). Навигация в этом окне простая – зажав ЛКМ – вращаем камеру, прокрутив Колёсико мышки приближаем и отдаляем.
Окно Preview при открывании всегда становится активным. Поэтому для прокрутки списка объектов при помощи стрелок на клавиатуре– кликните ЛКМ на окне Object Window - тем самым сделав активным.
Найдите подходящий Вам светильник

и установите в рабочем окне Редактора.
Возвращаемся к лампочке.
Так как возможно Вы захотите изменить её яркость и цвет освещения, давайте, как и в случае с дверью из первого мини урока, создадим новый объект.
Последовательность Ваших действий точно такая же – окна вы знаете, поэтому обойдёмся без картинок.
Двойной клик ЛКМ по лампочке - Reference – Edit Base – поле ввода ID – вписываем собственный ID, например АААKAINLight01. Закрываем окно, подтверждаем создание нового объекта и в поле Reference Editor ID вписываем АААKAINLight01Ref. (Имя Ref может быть любым, я просто скопировал имя ID и добавил окончание Ref, что не выдумывать)

И сразу же ставим галочку в поле Persistent Reference – тем самым разрешая объекту участвовать в связях с другими объектами. И в поле Initially Disabled (отключив отображение в игре)

Небольшое пояснение, зачем мы вписали в поле ввода Reference Editor ID вписали АААKAINLight01Ref.
АААKAINLight01 – это новый созданный нами объект и он имеет уникальный (неповторимый) ID (идентификатор). Он может быть только один, это понятно по определению – уникальный.
А АААKAINLight01Ref – это копия нашего уникального обьекта – их может быть сколько угодно много. Например следующий можно назвать АААKAINLight02Ref.
Для чего это нужно и как можно использовать?
Во первых для скриптов.
А во вторых для чистоты мода и стабильности игры.
Вроде всё понятно!
Ну раз понятно – пара сделать следующий шаг и создать активатор (включатель).
Для этого в окне Object Window переходим к ветке Wopld Objects далее Activator далее открываем ветку Clutter и в левой части окна в списке объектов находим – ElectricalSwitch.
Альтернативный путь поиска – в Filter написать Switch.
Затем перетаскиваем выключатель в рабочее окно и устанавливаем где и как надо.
У меня вот так.

Лампочка, светильник и выключатель.
На этом этапе мы должны изменить ID выключателя на свой и связать наш активатор и лампочку LinkedRef связью.
Для этого делаем двойной клик ЛКМ по выключателю и в Edit Base меняем ID на свой.
Я вписал так AAAKainLightSwitch. Закрываем окно и соглашаемся с созданием нового объекта . А в открытом окне Reference при помощи двух < > стрелок перелистываем вкладки

до Linked Ref и открыв её видим вот такое содержимое. Поля Cell и Reference пока пустые – в них написано None –наш активатор (выключатель) ни с чем связан.
Затем свдинут окрытые окна таким образом что бы было видно лампочку в рабочем окне редактора, нажимаем на длинную кнопку с надписью Select Reference in Render Windows
При этом Рабочее окно редактора станет активным, а указатель мышки измениться на "прицел" красного цвета.
Перемещаем прицел на лампочку, он меняет цвет на белый - это сигнал того, что с этим объектом связь может быть установлена. Делаем двойной клик ЛКМ – при этом становится активным окно
Reference, в котором мы видим, что поля Cell и Reference теперь заполнены.

В первом мы видим место, а во втором нашу лампочку.
А в Рабочем окне Редактора мы видим жёлтую стрелочку, которая протянута от активатора (выключателя) к источнику света (лампочке).
Связь мы установили, все условия необходимые для работы скрипта выполнили.
Пришло время добавить скрипт.
Последовательность Ваших действий по добавлению скрипта – точно такая же как в мини уроке Повелитель времени.
Опишу коротко -двойной клик ЛКМ на активаторе – Reference – Edit Base – Script –New – вписываете или копируете и вставляете текст скрипта – cохраняете скрипт и закрываете окно Script Edit.
Затем закрываете окно Activator. Далее вновь нажимаете на EditBase и открываете окно Activator. В поле прокрутки Script находим наш AAAKainLightSwitchScript. Жмём OK – закрываем окно Activator и следом закрываем окно Reference.
Пояснение: Может показаться, что последние два действия закрыть окно, открыть окно – полная бессмыслица. Не всё так просто!
Пока окно Activator не будет закрыто созданный скрипт не появиться в поле прокрутки Script. Поэтому только так – закрыть и открыть.
Альтернативный путь поиска, просмотра и создания скриптов - через пункт Cameplay

главного меню редактора рассмотрим в следующем уроке.
Ну что пришло время проверить в игре, что у нас получилось.
Запускаем игру и видим сначала вот это – тьма.

Затем «нажимаем на кнопочку…» и видим – свет.

Здорово!
Или почти здорово – свет есть, а эффекта свечения нет.
Непорядок. Давайте исправим это!
Но как?
И вот тут в «игру» вступает мой, да и не только мой, играющий тренер, член команды «МодТес» с сайта http://mod-tec.ru (да Вы не ошиблись отсюда) Sergey_Ros - вот с таким советом:
1. Поставьте флажок в Ref-копии лампочки (луковицы, излучателя) напротив пункта "Persistance Reference".
2. Затем выберите необходимый эффект свечения, откройте его Ref-копию, пройдите во вкладку "Enbale Parent" и с помощью кнопки "Select Reference in Render Window" выберите Ref-копию лампочки.
3. Результатом этого станет наследование эффекта свечения состояния родительского объекта (лампочки). Т.е., если лампочка "Enable", то и эффект будет "Enable". И наоборот.

Давайте попробуем реализовать этот совет в «жизни»!
Для начала найдём сам эффект. Открываем ветки в дереве папок окна Object Window по такому пути Wopld Objects - Static – Effects- Ambient и в левой части окна находим и выбираем FXGlowSimpFillRnd. Перетаскиваем его в Рабочее окно редактора и устанавливаем на место. Примерно так.

1 пункт у нас уже выполнен.
Приступаем к выполнению второго - двойной клик по FXGlowSimpFillRnd дальше Edit Base – меняем ID на свой например так AAAKainFXGlow. Соглашаемся на создание нового объекта. И вписываем в поле Reference Editor ID – AAAKainFXGlowRef.
Затем выполняем те же самые действия, что и при создании связи между активатором и лампочкой. Только в этот случае делаем это во вкладке Enbale Parent. Если бокс эффекта будет вам мешать установить связь с лампочкой – сдвиньте его в сторону, а после выбора прицелом лампочки и установления связи, верните на место.
Связь установлена – поля Cell и Reference заполнены.
Закрываем окно Reference.
Сохраняем плагин и идём смотреть в игре.
Дело сделано! И снова все рады и смеются.
А мы поздравляем Вас с очередным званием - Повелитель Света.
Послесловие.
Как вы понимаете и это только пример. Вы можете настроить яркость, радиус, цвет по собственному желанию.
В моём случае настройки такие

А если вы добавите в скрипт после строки
AAAKainLight01Ref.Enable
строку
PlaySound UIPipBoyLightOn.
А после строки
AAAKainLight01Ref.Disable
строку
PlaySound UIPipBoyLightOff
Тогда при активации (включении и выключении) активатора будет проигрываться звук – в этом примере звук включения и выключения подсветки Пипбоя.
Пробуйте, делайте и всё у Вас получиться!
Пока.

 
Форум » ИНФОРМАЦИОННЫЙ СЕКТОР » СТАТЬИ, УРОКИ, ИНСТРУКЦИИ И ТП. » "ПОВЕЛИТЕЛЬ СВЕТА" (Уроки по скриптам в GECK)
  • Страница 1 из 1
  • 1
Поиск:


Copyright MyCorp © 2024
Бесплатный хостинг uCoz