ZSCRIPT. Переводим код из DECORATE в ZSCRIPT.

Введение

Zscript — это язык нового уровня, он совмещает в себе SBARINFO, DECORATE, ACS и при этом, добавляет собственный функционал. Данный язык своим функционалом напоминает C++, а по структуре, почти полная копия DECORATE. Этот язык покрыт завесой тайн для многих моддеров(в том числе и для меня), а также, о нем не так много информации, но это и делает его столь желанным, поэтому мы здесь и собрались.

Превращаем DECORATE в ZSCRIPT.

В качестве актора DECORATE, я буду использовать декорацию bunny взятую из урока DECORATE. Cоздание декораций(1).

Так выглядит декорация bunny

Исходный код у него следующий:

actor bunny 10000
{
  radius 10
  height 64
  +SOLID
  states
  {
  Spawn:
    BUNN A -1
    stop
  }
}

Скопируйте код актора bunny к себе в ZSCRIPT.

И поставьте «;» в нужных местах.

actor bunny 10000
{
  radius 10;
  height 64;
  +SOLID;
  states
  {
  Spawn:
    BUNN A -1;
    stop;
  }
}

Символ «;» ставится после:

  • свойств(properties)
 radius 10;
 height 64;
  • флагов(необязательно, но ради красоты кода — желательно)
+SOLID;
  • анимаций
BUNN A -1;
  • и комманд
stop;

В общем, ставится во всех местах, кроме блоков и стейтов.

Далее заменим первую строку.

actor bunny 10000

На следующую:

class bunny:Actor 

В ZSCRIPT чтобы создать актор, нужно создать класс который наследуется от класса Actor. Наследование от актора имеет следующий синтаксис:

class название_класса:Actor 

После всех манипуляций, код должен выглядеть так:

class bunny:Actor 
{
  radius 10;
  height 64;
  +SOLID;
  states
  {
  Spawn:
    BUNN A -1;
    stop;
  }
}

Последнее что осталось, это добавить все свойства и флаги, в блок default.

class bunny:Actor 
{
  default
  {
	radius 10;
	height 64;
	+SOLID;
  }
  states
  {
  Spawn:
    BUNN A -1;
    stop;
  }
}

Готово. Теперь, вы можете заспавнить декорацию bunny, коммандой «summon bunny«.

На данном этапе вы не сможете поставить декорацию на карту, потому что не указано число_актора_в_редакторе.

Добавляем актор в редактор.

В ZSCRIPT число_актора_в_редакторе добавляется через MAPINFO, в отличии от DECORATE.

Чтобы добавить наш актор bunny в редактор нужно открыть MAPINFO. И добавить в него следующие строки.

DoomEdNums
{
    10000 = "bunny"
}

Синтаксис у DoomEdNums следующий:

DoomEdNums
{
    число_актора_в_редакторе1 = "название_актора1"
    число_актора_в_редакторе2 = "название_актора2"
    число_актора_в_редакторе3 = "название_актора3"
    .....................и так далее ...............
}

В нашем случае:

  • число_актора_в_редакторе — 10000
  • название_актора — bunny

Теперь вы сможете добавить актор bunny через редактор.

Для этого:

  • Перейдите в Things Mode
  • Cоздайте предмет(ПКМ)
  • И в графе Type укажите 10000 (число_актора_в_редакторе) .

Нажмите ОК. Готово, теперь можете запускать.

Вывод.

В итоге, в отличии от DECORATE, в ZSCRIPT:

  • Символ «;» ставится везде, за исключением блоков и стейтов.
  • В ZSCRIPT нет акторов, вместо них классы которые наследуются от класса Actor.
  • В ZSCRIPT невозможно указать число_актора_в_редакторе, это число указывается в MAPINFO, в блоке DoomEdNums.

Итоговый результат.

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!