ФЭНДОМ


Видео-туториалы Править

1. Маус-турель

Коды экспрешнов в описании ролика.



Текстовые туториалы: Править

Работа с векторами в expression 2 на примере ракеты: Править

О векторных трастерах.

@name VectorFly

@inputs X Y Z Go Const

@outputs Out:vector Mul

Mul = Go*Const

Out = entity():pos() - vec(X,Y,Z)


Разбор кода Править
  • @name - название
  • @inputs - входы. XYZ - координаты цели, Go - движение, Const - скорость.
  • @outputs - выходы, Out:vector - выход с названием "Out" и типом данных "VECTOR".
  • Mul = Go*Const - альтернатива Mul = (Go?Const:0), если Go = 1 то Mul = Const
Tutor e2vector

Расположение пропов

Tutor e2vector 2

Расположение чипов

  • entity() - возвращает entity самого чипа (об entity читайте ниже)
  • entity():pos() - возвращает позицию entity, в данном случае чипа.
  • vec(X,Y,Z) - создает новый вектор с заданными значениями

И затем вычитает векторы для получения направления до цели, которое выводится к трастеру(векторному).

Постройка ракеты Править

Расположить и свелдить 2 пропа и кресло как на картинке,

расположить компоненты как на картинке,

(controller - expression2, Wire core - константа, штука со стрелкой - vector thruster) и под контроллер на спинке кресла.

Настройки вектор трастера: Multipler 20000, Mode xyz world. Все остальное по желанию.

Затем приваирить все так Править

Vector Thruster Mul и Vector к Expression2 Mul и Vector.

Expression2 X Y Z к адв под контроллеру (у него тоже есть выходы X Y Z)

Expression2 Go к кнопку пода, Const к константе на сколько-нибудь.

Изменить вес трастера на 3, вес ракеты на 200.

Кликнуть по белой пластине keep upright'ом.


Вроде можно лететь. Ракету можно доработать, например добавить стабилизацию поворота.

Туториал по entity в expression 2: Править

@name EntityInfo

@inputs E:entity

@outputs Type Dist Pos:vector Alive Health

interval(1000)

Pos = E:pos()

Dist = (entity():pos() - Pos):length()

if(E:isPlayer()) {Type = 1} elseif(E:type() == "prop_physics") {Type = 2}

Alive = E:isAlive()

Health = E:health()


Разбор кода Править
  • @inputs - входы, E:entity - вход с названием "E" и типом данных "ENTITY" (подключать к target finder)
  • @outputs - выходы. Смотреть debugger'ом или подключать к экранам.
  • interval(1000) - каждую секунду обновлять данные об объекте.
  • E:pos() - координаты объекта в виде вектора.
  • Dist = (entity():pos() - Pos):length() - вычисление длинны вектора от чипа до объекта.
  • Строка с if - определение типа объекта.
  • E:isPlayer() - возвращает 1 если объект - игрок.
  • E:type() - возвращает тип объекта в виде строки.
  • E:isAlive() - возвращает 1 если объект живой (игрок или НПС)
  • E:health() - возвращает здоровье объекта (например у деревянной пластинки 1х1 из PHX 50 здоровья)

Вот пример:

Tutor e2entity

Пример использования entity в Expression 2









Больше функций для работы с объектами можно найти в документации.