Элементы для улучшенного интеллекта

Статья была изменена автором.

Все примеры в форматированном формате текста, так как в обычном формате текста нормальные кавычки из двух апострофов превращаются в >> либо в <<

Так, мы уже хотим сделать мод (потому что мы это сейчас можем)

и пришла проблема,

вы не знаете как сделать логику этому предмету, есть выхо… Так так, стой я это слово уже использовал надо другое. И по этому вы здесь, и встречайте Элементы для улучшенного интеллекта

И так мы знаем функции

  • a_jump
  • a_jumpif
  • a_jumpifinventory

Но этого может не хватать,

и тут я сделаю список функций которые мы изучим

  • A_ChangeFlag
  • A_AlertMonsters
  • PainChance (это проперти)
  • damagefactor (это проперти)
  • DropItem (это проперти, но есть функция a_ DropItem)
  • A_ClearTarget
  • A_CheckSight
  • A_FaceTarget
  • ThrustThing
  • ThrustThingZ
  • A_JumpIfCloser

И начнём с первой функции

A_ChangeFlag

Это изменение флага,

Пример:

A_ChangeFlag(“NoInFighing”(флаг), False(bool))

Флаг = ну это понятно, с каким флагом взаимодействовать.

Bool = либо True(1 правда) либо False(0 неправда)

A_AlertMonsters

Просто функция которая заставляет монстров настораживатся и найти вас, кстти есть экшн AlertMonsters для лини, и для того что бы сделать оружие которое при выстреле не пугает монстров нужен флаг +WEAPON.NOALERT либо просто +NOALERT

A_ClearTarget

Стирание цели, тобиж монстр вас или кого то теряет из виду, но монстр может вас опять найти и завиксировать как цель

A_CheckSight(«стэйт»)

Перескакивает на какой-то стэйт если монстр видит цель(но всё просчитывается не от крёв монстра и видимость цели не от краёв актора-цели, а от центров, и могут быть такие ситуации когда ты видишь монстра а эта функция нет, и когда ты не видишь монстра, он тебя да)

Пример:

 A_CheckSight("Missile")

ThrustThing

Толкает актор в какой-то угл с какой-то силой(сила это юниты в тик, сила уменьшается с каждым тиком)

Примеры:

Толчок влево с силой 11 юнитов в тик

ThrustThing(angle*256/360+192, 11, 0, 0)

Толчок вправо с силой 11 юнитов в тик

ThrustThing(angle*256/360+64, 11, 0, 0)

ThrustThingz(TID, сила, 0 — вверх 1 — вниз, 0 — режим задавания скорости 1 — режим добавления скорости к существуещей)

Толчок по оси z,

так можно делать прыжок у чего угодно

ThrustThingZ(0, 64, 0, 0)

A_JumpIfCloser

Если что то в радиусе то срабатывает стейт

Пример:

A_JumpIfCloser(256(радиус), "RunAndMelee"(стейт))

а теперь проперти

DropItem

Дроп предмета после смерти чего-то либо кого-то

Пример:

DropItem "clip"

damagefactor

Дамаг от определённого предмета. То есть пуля может дамажить 1 hp, а этот предмет или монстр ваншотится от этой пули

Пример

damagefactor "подзатыльник" 100.0

PainChance

Шанс произведения стэйта боли актором, это никак не влияет на дамаг

PainChance "подзатыльник" 256 - 100% воспроизведения стэйта боли от типа урона "подзатыльник"
PainChance 128 - 50% воспроизведения стэйта боли от других типов урона

Вот и всё

Вот и этот тутор пришёл к концу и всем

досвидос, дос нам в нос