Код:
//открываем квест в судовом журнале
SetQuestHeader(string idQuest)
//делаем запись в судовом журнале....
AddQuestRecord(string idQuest,string idText)
//закрываем квест в суд. журнале
CloseQuestHeader(string idQuest)
//проверить флаг состояние квеста...
CheckQuestAttribute(string attributeName, string attributeValue)
//удалить флаг состояния квеста
DeleteQuestAttribute(string attributeName)
//установить персонажа в ближайший локатор группы goto (но не ближе минимальной дистанции)
SetCharacterToNearLocatorFromMe(string characterID, float minDistance)
//получить ссылку на персонаж через его ID-шник
CharacterFromID(string characterID)
//пропустить некоторое время с фэйдом экрана
WaitDate(string postName,int year, int month, int day, int hour, int minute)
//установить камеру на просмотр корабля персонажа и вызвать квест через заданное число секунд
SetCameraToShipView(string characterName, string questCheckName, float viewTimeInSec)
//Закрыть все выходы на море в районе расположения своего корабля
QuestCloseSeaExit()
//Открыть все выходы на море в районе расположения своего корабля
QuestOpenSeaExit()
//найти локатор в локации по имени
FindLocator(string locationName, string locatorName, ref locatorRef, bool fromRealLoadedLocators)
//проверить попадает ли координата в заданный локатор в текущей локации
CheckCurLocator(string group,string locator,float x,float y,float z)
//заменить один локатор на новый адрес перегрузкии
ChangeReloadData(string locationName,string locatorName, string toLocationName,string toLocatorName)
//вернуть локатору старый адрес перегрузки
ChangeBackReloadData(string locationName,string locatorName)
//вызвать проверку квеста через заданное число секунд
DoQuestCheckDelay(string questCheckName, float delayInSecond)
//хм... выход наверное
DoQuestDelayExit()
//Временно сохранить все данные о нашем корабле в памяти
ShipTempRemove(ref _refCharacter)
//Восстановить данные о нашем старом корабле из памяти
RestoreTempRemovedShip(ref _refCharacter)
//Обменять двух персонажей кораблями
ExchangeCharacterShip(ref oneCharacter, ref twoCharacter)
//Задать квест, выполняемый после выхода из диалога
AddDialogExitQuest(string questName)
//Перегрузить главного персонажа в другую локацию и по завершению вызвать квест
DoQuestReloadToLocation(string idLocation, string idGroup, string idLocator, string questName)
//Перегрузить главного персонажа в другую локацию
DoReloadCharacterToLocation(string idLocation, string idGroup, string idLocator)
//Перегрузить главного персонажа в другую локацию из карты мира
DoReloadFromWorldMapToLocation(string idLocation, string idGroup, string idLocator)
//назад наверное перезагрузка....
ReloadFromWMtoL_complete()
//Перегрузить главного персонажа в другую локацию из моря
DoReloadFromSeaToLocation(string idLocation, string idGroup, string idLocator)
//назад в море
EndReloadToLocation()
//Удалить квест из списка проверяемых квестов
DeleteQuestCheck(string sQuestName)
//Получить полное имя персонажа
GetCharacterFullName(string idCharacter)
//Сохранить состояние о пассажирах во временной переменной и временно удалить их всех
StorePassengers(string idCharacter)
//Восстановить запомненных ранее пассажиров и по возможности офицеров
RestorePassengers(string idCharacter)
//Смотрим на какого нибудь персонажа
StartLookAftepchararacter(string idCharacter)
//Прекратили смотреть на персонаж
EndLookAftepchararacter()
//восстановить персонаж (на случай, если он был до этого убит)
ReanimateCharacter(string characterID)
//установить случайное имя для персонажа
SetCharacterRandomName(string characterID)
//обработка события об уничтожении форта
QuestFortDestroyed()
//обработка события об захвате форта
QuestFortCaptured()
//о захвате корабля....
QuestShipCaptured()
//хм... о смерти группы видимо
QuestGroupDeath()
//подготовиться к выгрузке в море по квесту
QuestToSeaLogin_PrepareLoc(string islandID, string locGroup, string locName, bool sailUP)
//подготовить персонажа для выгрузки в море по квесту
QuestToSeaLogin_Add(string groupName)
//запустить квестовую выгрузку в море
QuestToSeaLogin_Launch()
//убрать из локации всех персов указанного типа
RemoveCharactersFromLocation(string idLocation, string modelName, string type)
//------------------------------------------------------------------------------------------
//Character types
//------------------------------------------------------------------------------------------
//Установить персонажу тип игрока
void LAi_SetPlayerType(aref chr);
//Установить персонажу тип офицера
void LAi_SetOfficerType(aref chr);
//Установить персонажу тип горожанина
void LAi_SetCitizenType(aref chr);
//Установить персонажу тип горожанина, без перемещения в группу
void LAi_SetCitizenTypeNoGroup(aref chr);
//Установить персонажу тип стражника
void LAi_SetGuardianType(aref chr);
//Установить персонажу тип стражника, без перемещения в группу
void LAi_SetGuardianTypeNoGroup(aref chr)
//Установить персонажу тип патруля
void LAi_SetPatrolType(aref chr);
//Установить персонажу тип патруля, без перемещения в группу
void LAi_SetPatrolTypeNoGroup(aref chr);
//Установить персонажу тип война
void LAi_SetWarriorType(aref chr);
//Установить персонажу тип война, без перемещения в группу
void LAi_SetWarriorTypeNoGroup(aref chr);
//Установить войну командира
void LAi_warrior_SetCommander(aref chr, aref commander);
//Разрешить или запретить диалоги для война
void LAi_warrior_DialogEnable(aref chr, bool isEnable);
//Сказать войну стоять при отсутствие целей
void LAi_warrior_SetStay(aref chr, bool isStay);
//Установить персонажу тип уличного торговца
void LAi_SetMerchantType(aref chr);
//Установить персонажу тип торговца, без перемещения в группу
void LAi_SetMerchantTypeNoGroup(aref chr);
//Установить персонажу тип стоячего
void LAi_SetStayType(aref chr);
//Установить персонажу тип стоячего, без перемещения в группу
void LAi_SetStayTypeNoGroup(aref chr);
//Установить персонажу тип сидячего
void LAi_SetSitType(aref chr);
//Установить персонажу тип сидячего, без перемещения в группу
void LAi_SetSitTypeNoGroup(aref chr);
//Установить персонажу тип бармена (only man)
void LAi_SetBarmanType(aref chr);
//Установить персонажу тип официантки, без перемещения в группу (only man)
void LAi_SetBarmanTypeNoGroup(aref chr);
//Установить персонажу тип официантки (only woman)
void LAi_SetWaitressType(aref chr);
//Установить персонажу тип официантки, без перемещения в группу (only woman)
void LAi_SetWaitressTypeNoGroup(aref chr);
//Установить персонажу тип бедника
void LAi_SetPoorType(aref chr);
//Установить персонажу тип бедника, без перемещения в группу
void LAi_SetPoorTypeNoGroup(aref chr);
//Установить персонажу тип губернатора
void LAi_SetHuberType(aref chr);
//Установить персонажу тип губернатора, без перемещения в группу
void LAi_SetHuberTypeNoGroup(aref chr);
//Установить персонажу тип губернатора, ходячего по комнате
void LAi_SetHuberStayType(aref chr);
//Установить персонажу тип губернатора, ходячего по комнате, без перемещения в группу
void LAi_SetHuberStayTypeNoGroup(aref chr);
//Указать губернатору точку возле карты
void LAi_SetStayHuberPointMap(aref chr, string group, string locator);
//Указать губернатору точку возле окна
void LAi_SetStayHuberPointWindow(aref chr, string group, string locator);
//Установить персонажу тип священика
void LAi_SetPriestType(aref chr);
//Установить персонажу тип священика, без перемещения в группу
void LAi_SetPriestTypeNoGroup(aref chr);
//Установить персонажу тип актёра
void LAi_SetActorType(aref chr);
//Установить персонажу тип актёра, без перемещения в группу
void LAi_SetActorTypeNoGroup(aref chr);
//------------------------------------------------------------------------------------------
//Actor
//------------------------------------------------------------------------------------------
//
// параметр quest:
// если "" то никакой реакции по окончанию действия не будет
// если "questName" то по окончанию действия сработает указанный квест
// параметр timeout:
// если -1 то задание будет выполняться, пока не выполниться
// если >= 0 то по истечении заданного времени просимулируется выполнение задания в секундах
//
//
// команды актёру можно отдавать только когда он загружен в локацию
//
//
//------------------------------------------------------------------------------------------
//Указать актёру стоять, нелочиться
void LAi_ActorStay(aref chr);
//Указать актёру идти в заданный локатор, лочиться
void LAi_ActorGoToLocator(aref chr, string group, string locator, string quest, float timeout);
//Указать актёру бежать в заданный локатор, лочиться
void LAi_ActorRunToLocator(aref chr, string group, string locator, string quest, float timeout);
//Указать актёру идти в заданную локацию, лочиться
void LAi_ActorGoToLocation(aref chr, string groupExit, string locatorExit, string locID, string groupEnter, string locatorEnter, string quest, float timeout);
//Указать актёру бежать в заданную локацию, лочиться
void LAi_ActorRunToLocation(aref chr, string groupExit, string locatorExit, string locID, string groupEnter, string locatorEnter, string quest, float timeout);
//Указать актёру cледовать за персонажем в пределах локации, лочиться до подхода
//При первом подходе или истечении времени сработает квест
void LAi_ActorFollow(aref chr, aref follow, string quest, float timeout);
//Указать актёру cледовать за персонажем по всем локациям, нелочиться
//При первом подходе или истечении времени сработает квест
void LAi_ActorFollowEverywhere(aref chr, string quest, float timeout);
//Указать актёру на кого напасть, лочиться
void LAi_ActorAttack(aref chr, aref enemy, string quest);
//Указать актёру бояться другого персонажа, нелочиться
void LAi_ActorAfraid(aref chr, aref by, bool canMove);
//Активировать диалог между актёром и другим персонажем с подходом друг к другу, лочиться
void LAi_ActorDialog(aref chr, aref to, string quest, float timeout, float dlgTime);
//Активировать диалог между актёром и другим персонажем немедленно, лочиться
void LAi_ActorDialogNow(aref chr, aref to, string quest, float dlgTime);
//Активировать диалог с самим собой, лочиться
void LAi_ActorSelfDialog(aref chr, string quest);
//Указать актёру стоять и ждать диалог, лочиться
void LAi_ActorWaitDialog(aref chr, aref by);
//Проиграть анимацию для актёра, по окончанию вызвать квест, лочиться
//Если анимация зацикленна, то квест вызовется по истечению времени
void LAi_ActorAnimation(aref chr, string animation, string quest, float timeout);
//Ориентировать актёра на персонажа (одноразово), нелочиться
void LAi_ActorTurnToCharacter(aref chr, aref to);
//Ориентировать актёра по локатору, нелочиться
void LAi_ActorTurnByLocator(aref chr, string group, string locator);
//Ориентировать актёра на локатор, нелочиться
void LAi_ActorTurnToLocator(aref chr, string group, string locator);
//Установить анимацию стоячего персонажа, модификатор idle-анимации
void LAi_ActorSetStayMode(aref chr);
//Установить анимацию сидячего персонажа, модификатор idle-анимации
void LAi_ActorSetSitMode(aref chr);
//Установить анимацию лежачего персонажа
void LAi_ActorSetLayMode(aref chr);
//Перейти в состояние ожидания новой команды, пользоваться этой функцией не рекомендуется
void LAi_type_actor_Reset(aref chr)
//------------------------------------------------------------------------------------------
//Characters control
//------------------------------------------------------------------------------------------
//Установить время загрузки персонажа
void LAi_SetLoginTime(aref chr, float start, float end);
//Удалить время загрузки персонажа
void LAi_RemoveLoginTime(aref chr);
//Данный персонаж является верующим, и в определённое время находиться в церкви
void LAi_SetFanatic(aref chr, string churchID, strung group, string locator, float start, float end);
//Сделать обычным персонаж
void LAi_RemoveFanatic(aref chr);
//Запретить перерождение персонажа после убийства
void LAi_NoRebirthEnable(aref chr);
//Разрешить перерождение персонажа после убийства
void LAi_NoRebirthDisable(aref chr);
//Разрешить/запретить персонажу загружаться в захваченную локацию
void LAi_LoginInCaptureTown(aref chr, bool isEnable);
//Установить хитпойнты
void LAi_SetHP(aref chr, float cur, float max);
//Установить текущии хитпойнты
void LAi_SetCurHP(aref chr, float cur);
//Установить текущии хитпойнты максимальными
void LAi_SetCurHPMax(aref chr);
//Скорость изменения хп в секунду
void LAi_SetDltHealth(aref chr, float healthPerSec);
//Использовать бутылочку
void LAi_UseHealthBottle(aref chr, float healthInBottle);
//Сделать персонажа бессмертным
void LAi_SetImmortal(aref chr, bool isImmortal);
//Получить хп персонажа
float LAi_GetCharacterHP(aref chr);
//Получить максимальные хп персонажа
float LAi_GetCharacterMaxHP(aref chr);
//Получить относительные хп персонажа 0..1
float LAi_GetCharacterRelHP(aref chr);
//Получить относительную энергию персонажа 0..1
float LAi_GetCharacterRelEneggy(aref chr);
//Установить проверяльщик хп, если их становиться меньше чем, вызвать квест
void LAi_SetCheckMinHP(aref chr, float min, bool immortal, string quest);
//Удалить проверяльщик хп
void LAi_RemoveCheckMinHP(aref chr);
//Убить персонажа
void LAi_KillCharacter(aref chr);
//Убит ли персонаж
bool LAi_IsDead(aref chr);
//Получить относительный заряд пистолета
float LAi_GetCharacterRelCharge(aref chr);
//Запретить диалог с персонажем
void LAi_CharacterDisableDialog(aref chr);
//Разрешить диалог с персонажем
void LAi_CharacterEnableDialog(aref chr);
//Разрешить при смерти порождить фантома
void LAi_CharacterReincarnation(aref chr, bool isEnable, bool isUseCurModel);
//Скил fencing для персонажа при логине выставляется относительно игрока
void LAi_SetAdjustFencingSkill(aref chr, float min, float max);
//Удалить выставлялку скила
void LAi_DelAdjustFencingSkill(aref chr);
//Проиграть звук
void LAi_CharacterPlaySound(aref chr, string soundname);
//Переключиться в режим боя и обратно
void LAi_SetFightMode(aref chr, bool isFightMode);
//Заблокировать текущий режим (!!! сбрасывается при смене шаблона !!!)
void LAi_LockFightMode(aref chr, bool isLockFightMode);