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Дата: Пятница, 29.04.2011, 07:19 | Сообщение # 1
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Мини-уроки по скриптам и в картинках (для начинающих)

Тема создана для помощи новичкам делающим первые шаги в освоении редактора G.E.C.K.
Поэтому просьба не засорять её оценками и комментариями. Только вопросы по конкретному мини-уроку.
Договорились - тогда вперёд!

Так скажем - Первый мини урок "Повелитель времени"

Вы спросили:
- А как сделать так что бы предмет (Дверь например) появился в игре через 5 секунд после того как
Главный герой достиг определённого места?
Вам ответили:
Написать скрипт таймера. Вот такой например.

Code
scn TimerSCRIPT
short sFlag
float fTimer

Begin OnTriggerEnter Player
if (sFlag == 0)
Set sFlag to 1
Set fTimer to 5
endif
End

Begin GameMode
if (fTimer > 0) && (sFlag == 1)
Set fTimer to (fTimer - GetSecondsPassed)
elseif (sFlag == 1)
AAAKanBarracksDoor01Ref.Enable
Set sFlag to 2
endif
End

И "повестить" его на триггер.
И тут вы понимаете, что ничего не понимаете! Давайте разбираться.
Для начала нам нужно выполнить все условия прописанные в скрипте. Их тут не много!
Во первых нужна дверь, а во вторых нужен сам триггер.
Начнём с двери.
В окне Редактора Object Window в ветке древовидной структуры папок открываем ветку Wopld Objects и далее ветку Door.

При этом в левой части окна Object Window появиться список всех дверей из игры.
Второй путь - поиск через фильтр, для этого в окне Object Window в маленьком окошке Filter сразу под названием окна напишите door (дверь),
а в самом низу списка всех объектов игры выберите *All.
Выбираем там нужную нам дверь - например эту

И вытаскиваем её в Рабочее окно. Наводим указатель мышки на BarracksDoor и, нажав и удерживая ЛКМ - перетаскиваем дверь из окна Object Window в окно Render Window и отпускаем кнопку мышки.
Нажимаем клавишу F на клавиатуре и дверь падает вниз до ближайшей поверхности.
Удерживая ЛКМ - передвигаем дверь вперёд-назад, влево-вправо.
Нажимает, и Удерживаем клавишу Z затем нажимаем и Удерживаем ЛКМ двигаем мышкой вперёд-назад опускаем или поднимает дверь.
Удерживая ПКМ и двигая мышкой - вращаем дверь вокруг своей оси.
При необходимости Удерживайте Shift и вращайте камеру меня вид со стороны на удобный для Вас.
Итак в итоге дверь у нас на месте. Но это дверь из игры и менять в её настройках какие либо параметры мы не можем.
Следовательно на основе игровой двери нам надо создать новую дверь. Для этого для начала сделаем двойной клик на выделенной двери. Откроется окно Reference

Сразу же нажимаем на кнопку Edit Base и открываем окно Door, в котором меняем ID игровой двери на свой уникальный ID, например AAAKanBarracksDoor01.
И в поле Name пишем название двери по русски.
Закрываем окно Door нажав кнопку Ok. И тут же выскакивает окно с вопросом:
«Старый ID такой то. Новый ID такой то. Вы изменили данные ID. Создать Новую форму?»
Нажимаем кнопку Да. И создаём новый объект, и несмотря на то, что он выглядит, точно так же, как старый, мы теперь имеем возможность изменять его, не затронув другие такие же двери из игры.
А в открытом окне Reference в поле ввода Reference Editor ID вписываем ID нашей двери с окончанием Ref -AAAKanBarracksDoor01Ref
Ставим галочку Initially Disabled тем самым убирая дверь из игры (отключив). Закрываем окно.
Новая дверь готова.
Переходим к созданию триггера.
Для этого на панели инструментов нажав на кнопку с рисунком квадрата с буквой Т (создать триггер). Четвёртая кнопка с лева.

Удерживая ЛКМ растягиваем триггер на поверхности, а затем отпустив - вытягиваем по высоте и снова нажимаем ЛКМ.
После этого появляется окно Activator в нём отмечаем галочку New, вписываем уникальный ID - в моём случае AAAKainTrigger. Жмём ОК и закрываем окно.

Вот и триггер готов.
Осталось дело за малым - закрепить на нём предложенный нам ранее скрипт.
Для этого делаем двойной клик ЛКМ на триггере и открываем окно Reference- затем нажав на Edit Base окно Activator, а в нём рядом с полосой прокрутки Script

Жмём на квадратную кнопку с точками ... Откроется окно Script Edit. Жмём в нём Script, затем New и вписываем (копируем и вставляем) Ctrl C - Ctrl V ранее предложенный нам скрипт

Сохраняем скрипт и закрываем окно Script Edit, а следом и окно Activator. Затем снова открываем окно Activator и в полосе прокрутки Script находим наш скрипт TimerSCRIPT. Жмём ОК и закрываем все окна.
В рабочем окне Редактора после всех наших манипуляций должна быть такая картина.

Есть ОБЪЕКТ который, должен появиться через пять секунд после того как ГГ зайдёт в область триггера и есть сам ТРИГГЕР.
Сохраняем плагин и запускаем игру и там видим вначале это (степь да степь кругом...!)

А через пять секунд вот это

Все довольны! Все смеются, а урок закончен.
Послесловие.
Как вы понимаете это только пример - вместо двери у Вас может быть какой угодно объект, любая команда - на установку стадии квеста например, добавление в инвентарь предметов и денег, то же самое и в обратном порядке!
Set fTimer to 5 в этой строке скрипта устанавливается время, в секундах, до начала события - можете менять на нужное Вам.
Пробуйте, делайте и всё у Вас получиться.
Пока.
 
Форум » ИНФОРМАЦИОННЫЙ СЕКТОР » СТАТЬИ, УРОКИ, ИНСТРУКЦИИ И ТП. » "ПОВЕЛИТЕЛЬ ВРЕМЕНИ" (Уроки по скриптам в GECK)
  • Страница 1 из 1
  • 1
Поиск:


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