Архив
Новости
Текущие
Архив
Общение
Форум
Мы в Telegram
Мы в VK
Библиотека
Статьи
Стихотворения
Fan-Works
Рисунки
Зарубежные рисунки
Аудио
Видео
Флэш
Игры
Fan-Миссии
Установка FM
Thief 1 FMs
Thief 2 FMs
Thief 3 FMs
TDM FMs
Переводы
Прохождения
Обзоры
Demo
В Разработке
Отмененные
Редакторы
DromEd
T3Ed
DarkRadiant
Сайт
Ссылки
Авторы
О сайте
Просмотр каталога:
Простой | Подробный

На главную » Файловый Архив » Редакторы » DromEd » Tutorials » Stimulus » sources_and_receptrons_1.pl

Источники и Приемники 1 (Sources and Receptrons 1)


Автор: Totality


Цель Обучалки

Вас научат базовым основам источникив и приемников, и покажут каким изящным инструментом они являются на самом деле. Для показа базовых возможностей вам покажут, как сделать телепортацию Гаррета с одного места в другое без использования скриптов TrigRoom.

Нужные Знания

Поскольку эта обучалка расчитана на новичков в источниках и приемниках, считается, что они прочитали базовые обучалки и имеют элементарные навыки работы с DromEd: знают как подгружать скрипты, создавать стартовую точку, а также умеют работать с интерфейсом DromEd. Как и для всех других обучалок, вам нужно скачать себе DromEd для начала!

Краткий Обзор Источников и Приемщиков

Я считаю, что Источники и Приемники великолепны, поскольку они позволяют формировать сложные скрипты. Большинство головоломок, с которыми я сталкивался, решались при помощи Источников и Приемников.

Если вы не работали с источниками и приемниками до этого, я объясню как использывать их. (Если вы уже знаете, то можете пропустить это).

Система источников и приемников фактически превращает объекты в своеобразные 'ключи'. Один объект - источник (source). К нему можно назначить некоторый стимул (stimulus), например HolyStim (Стимул священной воды), FireStim (стимул огня), PokeStim (стимул удара мечом/стрелой), LightBright (стимул вспышкой), WaterStim (стимул воды) и др. Другой объект - приемник (receptron), он настроен на то, чтобы искать определенный тип стимулов, и после нахождения каким-то определенным способом отвечает на стимул.
Хорошим примером является Священная Вода, поражающая зомби. Священная вода (источник) имеет стимул священной воды (HolyStim), а зомби - приемник, ищущий стимул священной воды. Когда в зомби попадает стрела, окропленная святой водой, то срабатывает триггер приемника и ранит зомби. И действительно, если вы назначите любому предмету стимул святой воды, то этот предмет будет ранить зомби подобно святой воде.

Действительная ситуация немного более сложна, сем описано, так как есть множество различных типов настроек. Каждый источник имееет определенныую силу(мощь), и каждый приемник ищет не сам стимул, а определенный диапазон силы. И есть различные типы 'связей', которые вы можете установить.

Давайте рассмотрим окно редактора источника (source). Чтобы открыть его в DromEd, зайдите в свойства объекта, далее Add -> Act/React -> Sources и затем нажмите Add. Выберите стимул (stimulus), который вы желаете назначить, и за тем выберите распространитель (propagator). Это определяет тип триггера для связи. Я использую 'Контакт (contact)' или 'Радиус (radius)'. Я не уверен что делает 'Поток (flow)', а 'Скрипт (script)' вероятно служит для чего-то экстра-сложного и бесполезен для наших целей.

Радиус используется в тех случаях, когда кто-то входит в область объекта. Контакт происходит, когда объект сталкивается с чем-то. Если вы выберете Радиус (radius), то активируются пункты Edit Shape и Edit Lifecycle. В Edit Shape вам нужно выбрать радиус источника, а Edit Lifecycle отвечает за то, как часто и как долго источник 'стреляет' когда любой приемни находится в заданом радиусе.
Если вы выбрали контакт, то доступно только Edit Shape. Вы можете выбрать тип контактов (Contact Types). По умолчанию выбрана коллизия (столкновение) (Collision), но вы можете выбрать любой другой тип/комбинацию типов (например - движений оружием (Weapon...) или попыткой игрока активизировать предмет в игре (Frob)).

И последнее окошко - интенсивность (intensity), отвечающая за силу источника.

Вы должны запомнить одну очень важную вещь, касающуюся окон источника и приемника. Дело в том, что если вы открыли это окно в первый раз, то вы ДОЛЖНЫ добавить любой источник или приемник, в противном случае наступит крах программы и если вы не сохранили миссию, то... Сделайте следующее: Stimulus: WeaponStim; Propagator: Contact; Intensity: 1; Object: номер объекта. Нажмите ОК. Теперь вы должны увидеть, что появился новый стимул. Дважды нажмите ОК. Теперь, когда вы вышли в окно свойств объекта, зайдите назад в Act/React -> Sources и удалите этот стимул.

Для приемника вы должны определить какой источник будет действовать на объект (Stimulus), какой диапазон силы должен быть (Min/Max Intensity), и, наконец, реакция на стимул (Effect).

А реакций - достаточно. Вы можете заставить телепортировать объекты, копировать их, активировать их, добавлять/удалять мета-свойства, убивать монстров, стимулировать другие объекты и т.д. Вы видите, что диапазон реакций очень и очень широк. Нас интерисует телепортация: выберите в списке 'Teleport Object'. Великолепно то, что вы не привязываетесь к объектам. Вы определяетесь между двумя пунктами - Me (меня) или Source (источник). 'Me' означает, что вы хотите телепортировать объект, который в текущий момент редактируете, а 'Source' означает, что телепортируемый объект - источник. Исследуйте всевозможные эффекты.

Телепортирование Гаррета


Пример использования приемников для телепортации Гаррета.

Путь, который я собираюсь описывать, вынуждает вас создать пользовательский gamesys, так как прийдется изменять настройки архитектуры. В Gamesys Thief записывает все аттрибуты объектов и так как их не нужно изменять для нормальной игры, то они находятся в одном файле: dark.gam. Всякий раз, когда вы изменяете архитектуру через Объектную Иерархию или случайно редактируете ее, вы изменяете gamesys. Если при этом вы не сохраняете его, то все изменения будут потеряны.

Для начала создайте две комнаты, не соединенные одна с другой. Раскрасте их текстурами, создайте обычную стартовую точку, загрузите convict и проделайте другие необходимые шаги. Далее добавьте BigFloorLever в обе комнаты (Physical->Gizmos->Switches->BigFloorLever). И назовите первый в стартовой комнате Teleport1, а второй - Teleport2. Теперь создайте два новых маркера (fnord->Marker). В стартовой комнате - StartMark и второй - TargetMark.
Идея состоит в следующем: вы нажимаете первый рычаг Teleport1 и вас телепортирует к TargetMark. А когда вы там нажмете на Teleport2, то попадете в StartMark.

Как вы догадываетесь, мы не можем просто так добавить источник Гаррету, так как его нет (пока). Вместо него мы должны дать источник Avatar (physical->Avatar), который является шаблоном для Гаррета. Этот шаблон и вызывается связью PlayerFactory, когда вы запускаете уровень. По шаблону создается объект 'коробка' игрока. Мы не можем получить доступ к этому объекту, так как он не существует до тех пор, пока игра не запустится. Поэтому нам нужно изменить архитектуру. До того, как мы сделаем это, давайте лучше создадим свой gamesys.

Откроем Объектную Иерархию, и идем в секцию Act/React (вверху в 'Show Tree' (Показать дерево) выбираем 'Act/React Stimuli'). Нажмите кнопку 'Add' (Добавить) и введите имя вашего стимула. Давайте введем 'TotalityStim'. Теперь у нас есть наш собственный стимул, но он не сохранится в месте с уровнем. Нам нужно сохранить gamesys. Выберите File->Save Gamesys и введите имя и сохраните его в корневую папку Thief. Я использовал имя 'actreact'. Теперь мы должны указать нашему уровню, чтобы он использывал наш новый Gamesys. В командном окне введите 'set_gamesys actreact' (если вы использовали другое имя для gamesys, то подставьте его). Если вы все сделали правильно, то внизу вместо DARK.GAM высветится ACTREACT.GAM (или которое вы использовали). Теперь сохраните свою миссию как обычно, но не забудьте подставить имя ее, т.к. по умолчанию имя миссии будет 'actreact.gam' и вы перезапишите свой gamesys файл. Если вы будете распространять свой уровень, то вам придется также включить туда и gamesys файл.

Теперь у нас есть свой стимул, и мы должны его добавить источник к Avatar->Garret.

Jerk: Сейчас я, к сожалению, вынужден очень сильно урезать статью.
Дело в том, что автор пишет о каких-то страшных ошибках, причем не понятно, что они из себя представляют, делает какие-то странные вещи, пытаясь обойти сие вокруг. Поскольку у меня и так все получилось - даю свой вариант.
И автор почти не давал коментарии. Пришлось самому догонять и экспериментировать... Коментарии - by Jerk :)

Идем в объектную иерархию по адресу Physical->Avatar->Garret, нажимаем 'Edit' (Редактировать). Попадаем в окно свойств. Далее: Add->Act/Reast->Reseptrons. Нажимаем кнопку 'Add'

Object: Garrett (-2099)
Stimulus: TotalityStim
Min Intensity: 10
В 'no max' должна стоять галочка, в 'no min' - нет
Effect: Stimulate Object
Target Object: Source (обращаемся к объекту - рычагу Teleport 1)
Agent Object: Me (результат - на меня (меня потом телепортируют). Если хотите, чтобы телепортировало другой объект - укажите его номер вместо 'me' -Jerk)

Нажмите 'Edit Effect'.

Stimulus: TotalityStim
Then Add: 10

Итак, Гаррет стимулируется стимулом :) TotalityStim, и он стимулировать 8) объект, имеющий TotalityStim, с интенсивностью 10. Наши изменения объектной иерархии закончились и теперь нам нужно СОХРАНИТЬ gamesys (ПЕРЕПИСАТЬ ЕГО!).

Теперь давайте разберемся с рычагом в стартовой комнате. Зайдите к нему в свойства и добавьте источник TotalityStim - Act/React -> sources.

Object: Teleport1
Stimulus: TotalityStim
Propagantor: Contact
Intensity: 1 (величина не имеет значения - главное чтобы не ноль.)

Нажмите на кнопку 'Edit Shape'.

Кликните по строке 'Contact Types'. Снимите галочку с 'Collision' (столкновение, коллизия) и установите 'Frob in World' (активирование игроком в игре).
Нажимаейте OK, пока не окажитесь в окне свойств.

Смысл этого источника в том, что приемник Teleport 1 сработает только тогда, когда Гаррет в игре активизиует ОБЪЕКТ Teleport 1, т.е. - рычаг.

Теперь разберемся с приемником, отвечающим за саму телепортацию. Добавьте Act/React -> reseptors.

Object: Teleport1
Stimulus: TotalityStim
Min Intensity: 9 (минимальная интенсивость, необходимая для активизации. У Гаррета - 10, как вы помните)
В 'no max' должна стоять галочка, в 'no min' - нет
Effect: Teleport Object
Target Object: Source (телепортируемый объект, в нашем случае - Гаррет)
Agent Object: TargetMark (сюда мы его телепортируем)

В принципе, есть еще кнопка 'Edit Effect'. Нажав ее, вы попадете в окно, в котором можно изменить позицию объекта в пространстве после телепортирования, но в большинстве случаев - это не нужно.

Теперь сохраните миссию, как обычно и запустите игру. Дерните за рычаг и вы телепортируетсь в другую комнату. Обратите внимание, что вы не можете затсавить Гаррета быть источником, поэтому пришлось нам применить следующую схему: рычаг стимулирует вас, вы - обратно рычаг, который телепортирует вас. Теперь сделайте тоже самое для другого рычага: добавьте ему источник и приемник (но на этот раз используйте TargStart). You should now be able to jump between the two at will. See the possibilities., you don't even need to use markers, you could use dropable objects, and switches to do this on the fly. For instance, in the level that comes with this bit, go to the table and pickup the scepter and the switch. Go around a bit and drop the scepter somewhere (usually by pressing y), and then teleport to the other room and then press the switch in your inventory. Guess what happens?. Your own teleport button! You should be able to figure out how this system works by yourself, if not, decode the level. Download the TelepFun (218k) NOW!!!!!! While stocks Last! Tips and hints Always remember the bug when editting with sources and receptrons - you must have a source or a receptron added to an object after you edit it for the first time. You can delete it afterwards. Receptrons will always trigger in the order that they are in the receptron table, from top to bottom, so if you have a one shot trigger, which deletes itself, check that there are no further receptron instructions after the delete one. If you can't work out what a source/receptron is doing, add a link from the receptron to frob a lever so that you can see it move. The source/receptron relay system that is set up on Garrett is very important, it is the most efficent way that the player can interface with a receptron object. Remember that stimuli do other tasks in the game environment as well. Only use the inbuilt ones when you are sure that they will not interfere with the normal running of the game, and when using your custom ones, be careful not to overlap intensities. For a collision source to work, the objects actually have to do just that - collide. They have to have a physical dimension, and one of them must stop. If you need help, write me, totality@ridge7.demon.co.uk or go to the Forum, http://www.thief-thecircle.com/teg/guides/twg/www.ttlg.com. And if you don't want to be labeled as a newbie, use the Forum's search function first!






Скриншоты
Зарисовки
Обои
Видео
Аудио
Описание
Прохождение
FAQ - игровой
FAQ - технический
Скриншоты
Зарисовки
Обои
Патчи
Переводы
Описание
Прохождение
FAQ - игровой
FAQ - технический
Скриншоты
Зарисовки
Обои
Патчи
Переводы
Описание
Прохождение
FAQ - игровой
FAQ - технический
Скриншоты
Зарисовки
Обои
Патчи
Переводы
New Dark
The Dark Mod
Thief 2 Gold
Прочие

Night Blade
Thievery
Страница сгенерирована за 0.171 секунд.
© 2001-2024 - Thief: the Dark Fate
Использование материалов сайта разрешается только при согласии их авторов и администрации Dark Fate,
при этом ссылка на Dark Fate обязательна.