Пираньи приняли такую систему обозначений:
В_ - функции, возвращающие void (ничего), т.е. что-то делают, но не выдают результат. Например, B_GiveTradeInv - заполнить инвентарь торговца.
С_ - функции, возвращающие int или еще что-нибудь, т.е. они что-то делают (проверяют, вычисляют) и сообщают результат проверки/вычисления. Например, C_NpcIsGateGuard - сообщает, является ли персонаж охранником.
ZS_ - состояние, в котором может находиться NPC (атакует, стоит, спит, заморожен, играет на лютне, следует за ГГ...). Состоит из 3-х частей ZS_Имя (что сделать сначала), ZS_Имя_Loop (что делать в процессе и когда заканчивать) и ZS_Имя_End (что делать в конце).
TA_ - распорядки дня на основе ZS_. Не все ZS_ становятся распорядками, например ZS_Attack - атаковать, не может быть распорядком дня, а только временным состоянием, а TA_Saw (пилить бревно) соответствует ZS_Saw (само соответствие прописывается в TA.d).
G_ - встроенные функции, нельзя удалять и переименовывать. Например, G_CanNotUse - что делать, если ГГ не может использовать mob-объект.
В принципе, свои функции можно называть как угодно, но так проще ориентироваться. + Если не использовать ZS_ для состояний, то не будет работать цикл.