Статья была изменена автором.
Все примеры в форматированном формате текста, так как в обычном формате текста нормальные кавычки из двух апострофов превращаются в >> либо в <<
Так, мы уже хотим сделать мод (потому что мы это сейчас можем)
и пришла проблема,
вы не знаете как сделать логику этому предмету, есть выхо… Так так, стой я это слово уже использовал надо другое. И по этому вы здесь, и встречайте Элементы для улучшенного интеллекта
И так мы знаем функции
- 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% воспроизведения стэйта боли от других типов урона
Вот и всё
Вот и этот тутор пришёл к концу и всем
досвидос, дос нам в нос