SED3.5 - Учимся делать спауны врагов


Всем привет!

В этой статье я обьясню, как делать и настраивать спауны монстров.
В SED3 спаун делался почти так же как и в SED1, благо там были и тачфилды, и триггеры. В SED3.5 роль тачфилдов выполняет обьект Detector Area, а триггеры вообще вырезали, оставив обьект Script. Ну, мне, честно, скрипты кажутся куда более удобными, чем триггеры. 

Собственно, сами спауны делаются так:
1. Вытаскиваем на карту обьект Legged Character (лежит в папке Characters).
Я для примера взял безголового ракетчика.
(Puppet params - Rocketman.ep, character behavior - Rocketman.cb)

2. Ищем строку Spawner, щелкаем по стрелочке, выбираем New > CSpawnerProperties.
Мы создали спаунер ракетчиков, осталось лишь его настроить.

3. Настраиваем спаунер - параметры Total number, Number in group и прочее, они вам должны быть знакомы по SED1. Также, в SED3 можно настроить зону, где будут спауниться враги. Для этого щелкаем по Spawn formation, выбираем, к примеру, Rect formation (Прямоугольник), настраиваем зону. 

В результате получаем нечто вроде этого


4. Наш спаун готов! Теперь, чтобы его активировать, нам понадобится Script. Ставим его на карту из списка обьектов (Entity list), скрипт лежит в папке Logic. 


5. Щелкните по этому оранжевому кубику дважды, слева откроется пустое окно, где пишется сам скрипт. 
Скрипты пишутся на языке Lua.

6. Спаун осуществляется так: вводится переменная, которой присваивается обьект CSpawnerEntity, и ей посылается метод SpawnSimple() (Кроме SpawnSimple(), есть другие варианты). Чтобы присвоить нашей переменной обьект CSpawnerEntity, выделите его в редакторе и, удерживая ctrl+alt+shift, перетащите на переменную. Она должна подсветиться зеленым. Теперь, поставив после нее оператор ":", выпадет список доступных методов 

Методы спауна:
 SpawnSimple() - простой спаунер, будет спаунить врагов пока не иссякнет их  количество. 
 SpawnSimpleNow() - то же, что и SpawnSimple(), но игнорирует ожидание перед  первым спауном (Initial delay) 
 SpawnGroup() - спаунит врагов группами.
 SpawnMaintainGroup() - спаунит до заполнения группы.
 SpawnOne() - спаунит только одного врага
В итоге у вас должно получиться, к примеру,
 enemy:SpawnSimple()
Запустите уровень (клавиша T), и полюбуйтесь на результат.

Теперь усложним спаун, добавив какое-либо условие, и добавив еще парочку спаунеров (каких угодно, я поставил еще гнааров впереди и клиров по краям)

Нарпимер, поставим на карту DetectorArea. Вытаскиваем его из папки Tools, настраиваем. 
Получаем примерно вот что:

Теперь, в нашем скрипте допишем ожидание активации этого поля (под активацией подразумевается проход игрока через него). Обьявим новые переменные, для новых спаунеров (gnaar и kleer) и DetectorArea(detector). 
Дописываем в скрипте:
 Wait(Event(detector.Activated)) 
  gnaar:SpawnMaintainGroup() 
  Wait(Delay(1)) 
  kleer:SpawnGroup()

Функция Wait приостанавливает выполнение скрипта до выполнения
каких-либо условий. В первом случае это ожидание события (функция Event()) активации детектора (detector.Activated). Оператор "." служит в скриптах для проверки событий. Во втором случае условие - функция Delay(1), т.е. ожидание.

Итак, теперь при проходе через наш DetectorArea активируется спаунер гнааров, и, спустя секунду, спаунер клиров.
В качестве условия можно выбрать также и подбор предмета.
К примеру, поставим на карту Devastator (поставив и настроив Generic Item),
обьявим в скрипте переменную devastator, присвоив ей эту пушку. 
Допишем в скрипт
 Wait(Event(devastator.Picked))
И после этого активируем еще какой-нибудь спаунер, к примеру, как на этом скрине:


Примечание: если взять предмет до того как выполнится функция Wait(Delay(1)), функция Wait(Event(devastator.Picked)) выполняться не будет 

Существует аналог функции Wait() - функция On(), которая не приостанавливает выполнение скрипта, а выполняет блок кода после On() только когда выполнится условие

Т.е. в нашем случае, с помощью функции On() переписать эту часть скрипта надо так:

 On(Event(devastator.Picked)),
   function()
   scorp:SpawnMaintainGroup() 
   end,

На этом все. Удачи!



Комментарии   

[Материал]  |  № 21  |  20.06.2022  |  0  
А есть команда например как if а то мне нужно сделать так чтобы если ты уничтожил один отряд появлялся другой.
Ответ Цитата

[Материал]  |  № 19  |  13.01.2018  |  0  
Тут вроде как еще SpawnTriggered есть. Или это только во фьюжон?
Ответ Цитата

[Материал]  |  № 18  |  16.12.2012  |  0  
у меня нету SpawnSimple()...
Ответ Цитата

[Материал]  |  № 13  |  21.12.2011  |  0  
У меня только один вопрос где, его скачать?
Ответ Цитата

[Материал]  |  № 14  |  22.12.2011  |  0  
В библиотеке жми на "Все игры", в меню выбери "Инструменты", редактор где то там
Ответ Цитата

[Материал]  |  № 15  |  22.12.2011  |  -1  
У меня No-Steam пиратка
Ответ Цитата

[Материал]  |  № 16  |  22.12.2011  |  -1  
И в Cracked Steam не удается скачать (Сервера заняты)
Ответ Цитата

[Материал]  |  № 17  |  22.12.2011  |  +2  
Ну так и на что ты надеялся с пираткой?..
SED3, насколько я знаю, как-то можно стянуть на пиратку через Стим... поплясав с бубном...
Ответ Цитата

[Материал]  |  № 20  |  20.06.2022  |  0  
Капец непонимаю почему люди не могут купить лицензионку я вот ее купил на скидках а они часто 59 грн стоило или 150 руб (в то время сейчас уже цена в два раза дороже)
Ответ Цитата

[Материал]  |  № 12  |  19.12.2011  |  +2  
+5 Статья класс! :D Разобрался, все получилось!! СПАСИБО! :D
Ответ Цитата

[Материал]  |  № 11  |  17.12.2011  |  0  
Небольшая неточность, обнаружил только сейчас. Функция On() должна запускаться внутри конструкции RunHandled(), т.е., например
Code

RunHandled(
      On(Event(object.event)),
      --что-нибудь
      end,
)

Но в этом случае надо дополнительно усложнить скрипт. Для простых спаунов, не свзяывайтесь с RunHandled().
Ответ Цитата

[Материал]  |  № 10  |  15.12.2011  |  0  
Спасибо тебе !
Ответ Цитата

[Материал]  |  № 9  |  12.12.2011  |  0  
Поучусь делать врагов в SED3.0
Ответ Цитата

[Материал]  |  № 8  |  12.12.2011  |  0  
однако тяжело!
МОЛОДЕЦ!!
Ответ Цитата

[Материал]  |  № 7  |  11.12.2011  |  0  
Отлично! Cool
Ответ Цитата

[Материал]  |  № 6  |  11.12.2011  |  0  
спасибо, Artifica1 очень помогаешь с serious sam 3 editor :)
Ответ Цитата

[Материал]  |  № 5  |  10.12.2011  |  0  
Ничего говорить не стану - просто + :)
Ответ Цитата

[Материал]  |  № 4  |  10.12.2011  |  0  
порадовало :) , +5
Ответ Цитата

[Материал]  |  № 3  |  10.12.2011  |  0  
Спасибо за эту статью, очень понадобилась ^_^
Ответ Цитата

[Материал]  |  № 1  |  10.12.2011  |  0  
Замечательная статья, постарался 5+
Ответ Цитата

[Материал]  |  № 2  |  10.12.2011  |  0  
Спасибо :)
Ответ Цитата

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

Мини-профиль

Гость

Вы в группе: Гости
Ваш IP: 216.73.216.150

Сейчас обсуждают

ataletktdi1532
Sunny1
Sunny60
Sunny18
Sunny121
Sunny29
Sunny18
Pipa_Maroder86
Hiking_Hero6
Hiking_Hero7

МЕМЫ

НОВЫЙ
Losspick 1 3

Файлы

semakirill
239 47 4

DarkWolf
6979 1705 46

mvxlnm
9128 3035 18

$оучаснеG
7061 1616 53

Mechanixx
3229 1002 12

Категории раздела

Croteam [4]
Материалы по студии разработчика игр CroTeam.
Интервью с разработчиками [9]
Интервью с разработчиками, а также их издателями.
Serious Sam 1 [9]
Статьи о Serious Sam 1
Serious Sam 2 [6]
Статьи о Serious Sam 2
Serious Sam HD [4]
Статьи о HD-серии, ремейков классических версий Сэма.
Serious Sam 3: BFE [10]
Статьи о Serious Sam 3: BFE
Уроки по Serious Editor 1 [60]
Уроки по Serious Editor 2 [5]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [41]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [26]
Всё что не подошло не под одну из вышеупомянутых категорий.
Serious Sam: Revolution [1]
Материалы по SS: Revolution, серьёзном обновлении классических Крутых Сэмов.
Serious Sam 1.05/1.07 SDK [10]
SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07.

Видео

SERIOUS SAM: COLTS AND MUSCLES — Anime Opening | Bling-Bang-Bang-Born (Cover)
20 0.0

МОЖНО ЛИ ПРОЙТИ Serious Sam HD ТОЛЬКО КОЛЬТАМИ?
24 5.0

Я ВЫЖАЛ ВСЁ ИЗ СТАРОГО Serious Sam
66 5.0

МОЖНО ЛИ ПРОЙТИ Serious Sam HD ТОЛЬКО КОЛЬТАМИ?
79 5.0

МОЖНО ЛИ ПРОЙТИ Serious Sam HD ТОЛЬКО КОЛЬТАМИ?
171 4.2

Статистика



На сайте: 6
Гостей: 6
Пользователей: 0

Кто сегодня был