Краткое описание всех Node - atomrpg/modkit GitHub Wiki
Базовые ноды
Dialog Pharase - Фраза персонажа, с которым говорит Главный Герой.
Dialog Answer -ответ который произносит главный герой. Обычно варианты ответа всегда должны идти после Dialog Pharase.
Dialog Continue - нода автоматически создает вариант ответа с текстом "Далее".
Dummy - Пустышка, он же соединительный блок, позволяющий строить сложные логические схемы и ветвления.
Log - выводит текст в журнал игрока. Удобно использовать как в роли отладки, и как дополнительная информация для игрока.
Animation
Отвечает за анимацию на объектах, персонажах и т.д.
AnimSpeed - скорость с которой будет проигрываться анимация у объекта.
AnimatorSetDefaultAnimTree - сбрасывает дерево анимации на первоначальное.
AnimatorTrigger - запускает определенную анимацию из дерева анимации активируемую триггером.
PlayAnim - проиграть определенную анимацию.
SetAnimationOverride - заменяет дерево анимации
SetAnimationOverrideList -
TriggerAnim -
Barter
Отвечает за торговлю с персонажем.
BarterBegin - начать торговлю с персонажем. (Обычно вставляется в ноду Answer)
BarterDiscount - даёт определённый процент скидки у торговца на весь товар.
BarterPrepareCustom - нода вызывает окно бартера с указанным inventoryObject (Например, если указать $VEHICLE$, то появится окно бартера с машиной)
Behavior
Отвечает за поведение персонажей и существ в бою.
BehaviorState - скрипт поведения начинается с этой ноды.
Composite
Parallel - параллельный запуск
Selector - последовательный выбор
Sequence - последовательная нода
Decorator
CanAttack - Может Атаковать?
Failer - промах, ошибка.
HasPanic - в панике
Inverter - инвертер
IsRandomAttackPrimary - случайная атака первичным оружием?
IsTeammate - это напарник?
IsTurnBegin - ход начался?
PlayStateFromBehavior -
RandomDecorator -
Repeater - повторить
Succeed - действие успешно
Leaf
AddKey- добавить ключ.
Attack - атаковать
BehaviorHeal - лечение
CheсkHeal - проверка на требуется ли лечение
CheckHP - проверить уровень хп в % и действия после на выбор
DebugLog - нода служит для отслеживания работы бехава ИИ
FindAttackPosition - поиск удобной позиции для атаки по заданным параметрам в ноде
FindBestTarget - поиск лучшей цели для атаки по которой можно попасть.
FindRandomFreeNodeInRange-
HasAPForAttack -имеются ли очки действий для атаки
HasKey - проверка ключа.
MoveToTarget - двигаться к цели.
ProcessPanic - запуск паники на цель.
RemoveKey - удалить ключ
SetAnimTrigger - активировать триггер анимации
SpawnCharacterAtPoint - заспавнить существо в точке
SpawnPrefabBehavior - спавн префаба с текущим бехавом
TeleportTo - телепортировать объект к цели
TurnEnd - закончить ход
WaitTime - ожидание в секундах.
WaitTurn - ожидание хода.
Character
AreAllAroundDead - проверяет мертвы ли все в указанной фракции на карте.
CharacterAddEffect - добавляет эффект указанному персонажу.
CharacterAddExp - добавляет опыт указанному персонажу.
CharacterAddPerk - добавляет перк указанному персонажу.
CharacterAddResults - выдает результат игры в определенном направлении (из статистики по игре)
CharacterAddSpecPoints - добавляет очко таланта указанному персонажу
CharacterAttackNode - атаковать цель
CharacterCapsNode- переопределение роли существа (например добавление персонажа в отряд игрока)
CharacterClearEffectsNode - удаляет эффекты у цели.
CharacterDamage - наносит повреждение цели.
CharacterExists -
CharacterFollowTo - следовать за кем либо.
CharacterGoAway - персонаж покидает локацию.
CharacterHandHasWeapon - имеется ли какое оружие в руках персонажа?
CharacterHasEffect - есть ли эффекты?
CharacterHasEquipItem - Экипирован предмет?
CharacterHasEquipType - Экипирован предмет определенного типа?
CharacterHasHurt - персонаж ранен?
CharacterHasPerk - персонаж имеет такой-то перк.
CharacterHeal - вылечить персонажа.
CharacterInBattle - персонаж в бою?
CharacterInDialog - персонаж ведёт диалог?
CharacterInIdle - персонаж в ожидании?
CharacterInOut - Персонаж входит в локацию или уходит.
CharacterInvalidateAllSlots - проверить все слоты персонажа
CharacterIsDead - персонаж мертв?
CharacterIsEnemy - персонаж враг ?
CharacterIsFemale персонаж женского пола?
CharacterIsInState - проверяет не находится ли персонаж под указанным стейтом.
CharacterIsStayOnOneOfPoint -
CharacterIsStayOnPoint -
CharacterKillHim - персонаж убивает другого указанного персонажа
CharacterKill - убить указанного персонажа
CharacterMoveMultiplier - увеличение скорость передвижения персонажа
CharacterMoveTo -персонаж двигается к точке
CharacterMoveToRandom - персонаж случайно двигается по точкам (например как патруль на картах)
CharacterNeedUpdate - перезапускает бехав у персонажа
CharacterPatrol - патруль
CharacterRandomIdle - запускает случайное состояние ожидания
CharacterRegimentEquip - персонаж самостоятельно посмотрит экипировку что есть у него в инвентаре, и оденет подходящую
CharacterRemoveEffect - удалить эффект с персонажа
CharacterRemove - удалить персонажа
CharacterResetBackPosition - сбрасывает точку возврата персонажа
CharacterRotateTo - повернуть персонажа
CharacterSetAIBehavior - установить новый бехав для ИИ
CharacterSetAsDead - устанавливает что персонаж мёртв
CharacterSetCanFollow - установить персонаж может следовать
CharacterSetItem - выдать итем персонажу
CharacterSetState - установить состояние
CharacterShootlHim - сделать выстрел в персонажа
CharacterShootToPoint -сделать выстрел в точку
CharacterSleep - отправить в сон
CharacterState - состояние персонажа
CharacterStop - остановить персонажа
CharacterStun - устанавливает персонажа в состояния оглушения
CharacterSwing - персонаж двигается в радиусе 5 клеток
CharacterSwitchShotMode - переключает режим стрельбы у персонажа
CharacterSwitchWeapon - сменить оружие у персонажа
CharacterTake - персонаж подберет лут
CharacterTeleport - телепортировать персонажа
CharacterTeleportRandom - телепортировать персонажа на одну из случайно выбранных точек
CharacterWaitAnimation - персонаж ожидает указанную анимацию
CharacterWakeup - персонаж подымается от какого либо состояния
CharacterActive - активировать персонажа
CharacterKillAll - убить всех персонажей определенной фракции.
CharactersRemove - удаляет персонажей
HasEnemyAround - есть ли враги?
Reset Characeter - сброс персонажа на первоначальное состояние (в том числе уровень и хар-ки)
Reset Creature - сброс Кричера до первоначального состояния.
Cinematic
Отвечает за кат сцены в игре.
CameraMoveTo - камера плавно двигается к точке
CameraShake - тряска камеры.
CharacterHeadLook - зафиксировать на персонаже
CharacterHeadLookOverride -
CinematicBegin - начать кат сцену.
CinematicEnd - закончить кат сцену.
PostProcessBegin- запустить пост процесс (речь про эффекты для экрана)
PostProcessEnd - закончить пост процесс (речь про эффекты для экрана)
Communication
Отвечает за возможность открытия коммуникации между различными бехавами например персонажей, пример разговоров нпц в городе ,между друг другом скрипт пример ASim.Crowd_v21
HasCommunication - открыт ли канал коммуникации между бехавами персонажей
OnCharacterCommunicationCommandEvent - событие которое ждет коммуникации между бехавами
SendCommunicationCommand - послать команду
Dialog
Отвечает за диалоги с персонажами.
DialogBegin - нода позволяет начать диалог с персонажем. Чек бокс бартера позволяет включать и отключать доступ к бартеру с персонажем.
DialogEnd - закрывает диалог с персонажем. (Если была создана нода DialogBegin в скрипте, то для закрытия диалога должна существовать DialogEnd)
DialogPortarait - позволяет изменить портрет персонажа на любой другой - подключается к ноде Phrase, позволяет изменить имя персонажа конкретно для этой фразы. Измененный портрет будет работать только к подключенной фразе.
DialogShowAliasNameNode - покажет под портретом имя персонажа
DialogShowCustomNameNode - позволяет вывести любое введённое имя под портрет персонажа.
DialogShowNameNode - нода при подключении показывает имя персонажа под портретом.
DialogUpdateHealthBarNode - обновляет визуальный эффект здоровья персонажа на портрете.
PlayDialog - запустить другой диалог.
Event
Отвечает за ожидающие ноды. Они при загрузке не исполняются пока не будут выполнены условия ноды.
CharacterConsumableApply - персонаж использует потребляемый предмет
CharacterDistanceTrigger - срабатывает если персонаж подошел слишком близко или отошел далеко.
CharacterKillEvent - срабатывает при убийстве указанного персонажа
DestroyDestructible - уничтожить разрушаемый объект
GamepadEvent - ожидает нажатие определенной клавиши с геймпада
KeyboardEvent - ожидает нажатие определенной клавиши с клавиатуры
OnChangeDaytimeEvent - ожидает изменения времени суток
OnCharacterWantBattleEvent - ждет начала битвы
OnDialogEvent - ждет начала диалога
OnLockInteractEvent -
OnMinuteTimeEvent -
OnTakeItemEvent - событие при получении предмета
OnTryStealEvent - событие если предмет украдет
OnVehicleFuelFinishEvent - если топливо в машине закончилось
PlayerTakeItemEvent - игрок получает предмет
StunEvent - игрок в находится в стане
EXP
AddExp - добавить опыт ГГ. Имеется чекбокс на игнорирование интеллекта - что позволит дать опыт без бонуса за интеллект.
HUD
Данная категория отвечает за интерфейс персонажа.
CloseBackPack - закрыть интерфейс рюкзака.
HudCutScene - скрыть весь интерфейс. Есть чек бокс - скрыть интерфейс на время катсцены.
HudTargetInfo - вызывает плашку-инфо над объектом (HPBar, CharacterHP, ObjectHP)
Inputvibration - Вибрирует d-pad указанное время.
ShowPDAWorldMap- открыть глобальную карту.
Interactive
AnimTrigger - установить определенную анимацию через триггер
InteractiveBegin - начать интерактив
InteractiveInfo -
InteractiveNone - если интерактив не трогают
InteractiveRepair -
InteractiveScience -
InteractiveShowPocket -
InteractiveUse - интерактив запуститься если на него нажмет игрок в игре.
Tryrepair -
Keyword
Данные ключи существуют только внутри скрипта динамического объекта т.е. локально. Они не передаются глобально между другими динамическими объектами. Поэтому их имена могут повторятся в других скриптах (например Keyword MEET используемый в диалогах у разработчиков).
AddKeyword - создать ключ переменную.
HasKeyword - проверка есть ли такой ключ.
RemoveKeyword - удалить ключ
Math
математические функции для операции с ключами
CompareDigitValue - сравнивает цифровое значение
CompareKeyValue - сравнивает значение ключа
MathForEach - математический цикл
MathKeyValue - математическая операция с ключем (сложение вычитание и т.д.)
PointInsideCircle - точка внутри круга - например круговой спавн нпц.
Memo
Отвечает за работу записок.
MemoBegin- сообщает что это записка при активации бехава.
MemoImage- показывает указанную картинку.
MemoPage- страница с текстом из записки.
MemoWait- ожидания.
Misc
различные удобные ноды не вошедшие в другие категории.
AddExpGambling - опыт за азарные игры.
AddKeyItemCount - добавляет ключ определенным итема (можно дать пачке итемов).
AddKeyText - создает ключ с текстом.
AddKeyValue - создает ключ с значением.
AddPlayerPref - добавляет ключ игроку.
BattleWaitTime - время ожидания в битве.
BuildFormationsNode - построить определенную формацию (например расстрельный круг).
CameraSnap - перемещает камеру на игрока.
CreateRandomSeed - создает случайно сгенерированное значение.
Delay - задержка.
Dialog Avatar -
DialogBackground -
DistToTarget - дистанция до цели.
DoneAllQuestsNode - завершить все квесты.
EncounterAddChancePercentNode - увеличивает шанс случайной встречи на глобальной карте.
Explosion - сделать взрыв.
FlashSplash - затемнение экрана и после возвращение обратно в нормальное состояние.
FormatKeyValue -
GroundHasItem - есть ли на земле указанный предмет
HasBundle - проверка на присутствие какого либо бандла (архива игры) например длц.
HasKeyValue - содержит ли ключ такое значение.
HasPublicEvent - запущен ли какой либо публичный эвент (23 февраля, Хэллоуин и т.д.)
HasRandomDice - кидает кубик на да нет с указанным шансом.
IsActiveLanguageNode - какой перевод игры сейчас активен?
MannequinDress - переодевание creature, изменение линков точек крепления одежды на персонаже
ObjectRemove - удаляет объект.
OffenseRest -
OppKeyValue -
PlayBehavior - запустить и заменить на новый бехавиор (заменит оригинал на новый)
PlayState - запустить другой бехевиор но не заменять оригинальный.
QuestReset - сбрасывает квест.
Random - случайно выбирает одну ветку из множества подключенных к данной ноде веток.
ResetLevelDataNode - полностью возвращает всё состояние уровня, до его посещения игроком.
RestoreRandomSeed - сбрасывает сгенерированное значение
SetExplosiveTimer - устанавливает таймер для динамита.
ShowTutorialHint - система подсказок как в начальной локации.
SteamAchievement - активация ачивок стима.
StopBehavior - остановить скрипт.
TvShow -
TVSwitch -
Unique -
Wait - ожидание в секундах.
WaitLoadingState - ожидание загрузки состояния (например полезно при загрузке уровня).
WaitRandom - ожидает в секундах значение выбирается случайно в заданном диапозоне.
Whoop - текст который будет появляется над головой персонажа.
WhoopRedhanded -
Notebook
Данные ключи существуют вне скрипта динамического объекта т.е. глобально. Они передаются между другими динамическими объектами т.е. создав один такой ключ его наличие можно проверить в любом другом скрипте.
NotebookAddNote - создать уникальный глобальный ключ.
NotebookHasNote - проверить есть ли такой уникальный глобальный ключ.
NotebookRemoveNote - удалить уникальный глобальный ключ.
Object
Данная категория отвечает за действия с объектами на карте, как статические так и динамические.
ActiveObject - активировать или деактивировать объект на карте.
CleanCorpses - удалить трупы объектов - В ноде можно указать конкретно какой фракции удалить трупы или удалить трупы только если у них ничего в инвентаре нет.
MoveObject - перемещение объекта по осям XYZ.
ObjectCheck - проверяет существует ли объект с таким именем на карте.
ObjectHasSibling - проверяет, есть ли у объекта вложенные объекты. обычно это делается для путевых точек по которым патрулируют персонажи. Например проверяем, если это группа, то потом можно выбрать произвольную точку в группе и идти к ней.
Openabled
отвечает за открытие и закрытие объектов.
CloseDoor - закрыть указанную дверь.
CloseIfOpen - закрыть дверь если она открыта.
CloseOpenable - запереть открываемую дверь.
DoorIsOpen - дверь открыта?
GenPinLocker - сгенерировать ключ для двери.
LockChestLocker - запереть сундук.
LockDoorLocker - запереть дверь.
LockerIsOpen - сундук открыт?
OpenDoor - открыть дверь.
Openable - сделать дверь открываемой.
OpenableIsOpen - открыта ли открываемая дверь?
Player
Ноды для главного героя
Addskill - добавляет навык игроку (выбирается из списка), сколько добавить указывается в ноде.
BookSkill - добавляется скилл игроку через систему книг (например для того чтоб действовал бонус от таланта на книги.)
Dice - это нода броска костей - на неё напрямую влияет параметр Удачи ГГ. Шанс удачи указывает в ноде.
EncounterType - объявляет случайную встречу созданную в ассете случайных встреч глобальной карты (Encounter). (Например как в скрипте первой глобальной карты Z_1)
HasHurt - проверяет ранен ли игрок.
HasModifier - проверяет все параметры персонажа с учётом различных модификаторов от предметов и эффектов.
HasPlayerPerk - проверяет есть ли такой перк у игрока.
HasSkill - проверяет скилы игрока без учета каких либо модификаторов.
HasStat - проверяет хар-ки персонажа без учета каких либо модификаторов.
HasTeamMate - проверяет находится ли данный персонаж в отряде ГГ.
Heal - вылечить игрока (если делать в минус, то будет отнимать)
IsFemale - проверка является ли ГГ Женским персонажем.
PlayerAddPerk - добавить перк игроку.
PlayerAddRecipe - добавить рецепт игроку
PlayerAddStat - добавить характеристики игроку.
PlayerAlighTeamMate -
PlayerFixPositionIfInObstacle -
PlayerGameDifficult - проверяет на какой сложности запущена игра.
PlayerHasClothes - есть ли на игроке одежда.
PlayerHasCondition - висит ли что-то из списка в ноде на игроке (эффекты).
PlayerHasEnemy - есть ли враги на карте.
PlayerHasHallucinations - Проверяет есть ли у игрока Галлюцинации
PlayerHasRecipe - проверяет есть ли такой рецепт у ГГ.
PlayerHasWeaponPerk - имеется ли у игрока определенный перк от оружия.
PlayerHasZooMan - имеет ли навык разделки животных.
PlayerInDialog - проверяет запущен ли сейчас диалог.
PlayerIsVisible - проверяет видно ли игрока.
PlayerLevelOut - игрок уходит с локации.
PlayerOverlap -
PlayerRemovePerk - удалить перк у ГГ.
PlayerResetCondition - Сбросить состояния
PlayerResetHunger - сбросить голод.
PlayerResetNotifications - сбрасывает с игрока все состояния.
PlayerResetWorldTime - сбросить время.
PlayerRolling - кидает кубик и выдает через whoop сколько выпало.
PlayerSetName - установить имя для ГГ.
PlayerSetWorldPos - установить позицию игрока на глобальной карте.
PlayerSkipTurn - игрок пропускает ход.
PlayerToLocation - переместить игрока на локацию.
PlayerWait - ожидание игрока.
PlayerWaitStun - ожидание пока пройдет стан.
PlayerWhereMapLocation - проверка локации где находится игрок.
SetEncounterType - устанавливает тип случайной встречи который произойдет следующим.
SetWorldMapEncounterTime - время до срабатывания следующей случайной встречи
StopAnyAction - остановить все действия.
PlayerVehicle
Автомобиль игрока.
IsCarAvailable - проверяет доступна ли машина.
PlaceCar - разместить машину на точках.
Player Vehicle On Location -
VehicleAddFuel - добавить топливо в автомобиль.
VehicleDrive - игрок за рулем автомобиля на карте.
VehicleFuelFitInside- проверяет сколько топлива в баке автомобиля.
VehicleHasFuel - проверка есть ли топливо в машине.
VehicleSetup - присваивает машине новый прото префаб (Можно сменить модель автомобиля этой нодой).
Quest
Данная категория отвечает за квесты в игре.
QuestBegin - Создать квест. Указывается уникальный ключ. Описание квеста делается в файле локализации.
QuestDone - завершить квест. Указывает уникальный ключ квеста который требуется завершить.
QuestStatus - три проверки. Активен ли квест\Квест выполнен\Квест ещё не взят.
Relationship
Данная категория отвечает за отношения между нпц, фракциями и ГГ.
CharacterSetrelationShip - установить для персонажа отношения с фракцией
FractionIsEnemyRelationShip - фракция является ли врагом другой фракции?
FractionSetRelationShip - установить отношения между фракциями
SetRelationShipBetweenFractions -
Sound
Отвечает за звук.
EnableSound - включить звук.
HasPlayingSound - проверка, играет ли сейчас звук?
PlaySound - проиграть звук.
PlayUISound - проиграть звук интерфейса
StopSound - остановить звук.
Spawn
Отвечает за спавн объектов и НПЦ.
AddSpawnPoint - добавляет точку спавна на карту где: SpawnName - имя точки. Position - координаты на карте X,Y,Z. Rotation - поворот точки.
SpawnCharacter - спавнит существо из категории character. В поле Spawn нужно указать точку куда спавнить. ЧекБокс RandomName присваивает уникальное имя для существа (Имя точки + имя существа)
SpawnEntity - заспавнить объект с которым можно взаимодействовать например (предметы, ящики, интерактивы и т.д)
SpawnPrefab - заспавнить любой статический объект.
Time
Данная категория отвечает за время в игре.
CompareTimeDate - сравнивает
DayNight - проверяет день или ночь и идёт по ветке согласно текущему состоянию дня.
HasTimeDateCome -
IsDayNumber- проверяет какой сегодня день и если соответствует выбранному продолжает работу ноды, что идут после неё.
Scrolltime- мотает время в игре, можно выбрать тип промотки (Часы, дни, недели) и указать на сколько мотать.
SetMidNightTime- установить темное время суток.
TimeDatePeriod-
TimeDateTrigger-
Transform
Данная категория отвечает за ноды которые изменяют объекты (позиция, угол поворота и размер)
TransformSetPosition - изменяет позицию объекта.
TransformSetRotation - поворачивает объект.
TransformSetScale - изменяет размер объекта.
Video
Ноды отвечают за проигрывание видео в игре.
ShowVideo - проигрывает указанное видео и делает переход на указанную локацию.
ShowVideoScenario - используется VideoScenario компонент, тут и субтитры, и ветвления (сценарии задаются индексом). Пример концовка игры.
WorldMap
Данная категория нод отвечают за глобальную карту
AddLocationToMap - открывает на карте локацию, с возможностью её посещения. (Это делается для карт, которые нельзя посетить и найти обычным способом, гуляя по глобальной карте).
EncounterStart - запуск энкаунтера (Пример можно посмотреть в WMap.Events)
PlayerMapLocation- проверяет на какой карте находится ГГ.
PlayerWhere_worldMap - проверяет находится ли игрок на глоабльной карте, можно указать имя по ID
Set_WorldMap_Id - сменить глобальную карту у игрока - (При перемещении ГГ на другие глобальные карты)