ZenGin Программы Модификации Ассеты Черновик Анимации PFX/VFX Регистрация Вход
AI_AimAt() ? G G
Функция исскуственного интеллекта.
Атакующий Npc целится из оружия дальнего радиуса поражения в целевого Npc.
AI_AlignToFP() ? G G
Функция исскуственного интеллекта.
Npc выравнивается на Freepoint по направлению стрелки заданной в Spacer.
AI_AlignToWP() ? G G
Функция исскуственного интеллекта.
Npc выравнивается на Waypoint по направлению стрелки заданной в Spacer.
AI_Ask() ? G G
Функция исскуственного интеллекта.
Определяет функцию вызываемую при утвердительном и отрицательном ответах.
AI_AskText() ? G G
Функция исскуственного интеллекта.
Определяет как Npc будет отвечать на сказанную фразу.
AI_Attack() ? GG
Функция исскуственного интеллекта.
Npc начинает сражаться.
AI_CanSeeNpc() ? G G
Функция исскуственного интеллекта.
Npc может увидеть другого Npc.
AI_CombatReactToDamage() ? G G
Функция исскуственного интеллекта.
Реакция Npc на повреждение во время боя.
AI_ContinueRoutine() ? GG
Функция исскуственного интеллекта.
Npc продолжает выполнение распорядка дня.
AI_Defend() ? GG
Функция исскуственного интеллекта.
Npc парирует удар противника.
AI_Dodge() ? GG
Функция исскуственного интеллекта.
Npc отклоняется назад.
AI_DrawWeapon() ? GG
Функция исскуственного интеллекта.
Npc обнажает экипированное оружие.
AI_DropItem() ? GG
Функция исскуственного интеллекта.
Npc выбрасывает из рюкзака указанный предмет.
AI_DropMOB() ? GG
Функция исскуственного интеллекта.
Npc выбрасывает имеющийся MOB.
AI_EquipArmor() ? GG
Функция исскуственного интеллекта.
Npc экипирует указанные доспехи из инвентаря.
AI_EquipBestArmor() ? GG
Функция исскуственного интеллекта.
Npc одевает лучшие доспехи из имеющихся в инвентаре.
AI_EquipBestMeleeWeapon() ? GG
Функция исскуственного интеллекта.
Npc экипирует лучшее оружие ближнего боя.
AI_EquipBestRangedWeapon() ? GG
Функция исскуственного интеллекта.
Npc экипирует лучшее оружие дальнего боя.
AI_FinishingMove() ? GG
Функция исскуственного интеллекта.
Npc убивает другого Npc.
AI_Flee() ? GG
Функция исскуственного интеллекта.
Npc убегает от противника.
AI_GotoFP() ? GG
Функция исскуственного интеллекта.
Npc перемещается в указанный Freepoint.
AI_GotoItem() ? GG
Функция исскуственного интеллекта.
Npc перемещается к предмету инвентаря.
AI_GotoNextFP() ? GG
Функция исскуственного интеллекта.
Npc перемещается в следующий указанный Freepoint.
AI_GotoNpc() ? GG
Функция исскуственного интеллекта.
Npc перемещается к другому Npc.
AI_GotoSound() ? GG
Функция исскуственного интеллекта.
Npc перемещается к источнику звука.
AI_GotoWP() ? GG
Функция исскуственного интеллекта.
Npc перемещается в указанный Waypoint.
AI_LookAt() ? GG
Функция исскуственного интеллекта.
Npc смотрит на объект или точку.
AI_LookForItem() ? GG
Функция исскуственного интеллекта.
Поиск предметов в инвентаре.
AI_LookAtNpc() ? GG
Функция исскуственного интеллекта.
Npc смотрит на другого Npc.
AI_Output() ? GG
Функция исскуственного интеллекта.
Функция диалога.
AI_OutputSVM() ? GG
Функция исскуственного интеллекта.
Функция SVM диалога.
AI_OutputSVM_Overlay() ? GG
Функция исскуственного интеллекта.
Функция перекрывающего SVM диалога.
AI_PlayAni() ? GG
Функция исскуственного интеллекта.
Npc проигрывает анимацию.
AI_PlayAniBS() ? GG
Функция исскуственного интеллекта.
Npc проигрывает анимацию для определения состояния тела.
AI_PlayCutscene() ? GG
Функция исскуственного интеллекта.
Проигрывание игрового ролика для Npc.
AI_PlayFX() ? G
Функция исскуственного интеллекта.
Проигрывание PFX эффектов.
AI_PointAt() ? GG
Функция исскуственного интеллекта.
Npc указывает на объект или точку.
AI_PointAtNpc() ? GG
Функция исскуственного интеллекта.
Npc указывает на другого Npc.
AI_PrintScreen() ? G
Функция исскуственного интеллекта.
Вывод на экран текстовой строки.
AI_ProcessInfos() ? GG
Функция исскуственного интеллекта.
Запуск диалога с вариантами ответов.
AI_QuickLook() ? GG
Функция исскуственного интеллекта.
Npc бросает быстрый взгляд на другого Npc.
AI_ReadyMeleeWeapon() ? GG
Функция исскуственного интеллекта.
Npc подготавливает оружие ближнего боя.
AI_ReadyRangedWeapon() ? GG
Функция исскуственного интеллекта.
Npc подготавливает оружие дальнего боя.
AI_ReadySpell() ? GG
Функция исскуственного интеллекта.
Npc подготавливает заклинание.
AI_RemoveWeapon() ? GG
Функция исскуственного интеллекта.
Npc прячет оружие.
AI_SetNpcsToState() ? GG
Функция исскуственного интеллекта.
Переводит всех окружающих Npc в указанное состояние.
AI_SetWalkmode() ? GG
Функция исскуственного интеллекта.
Установка режима перемещения Npc.
AI_ShootAt() ? GG
Функция исскуственного интеллекта.
Npc стреляет из оружия дальнего боя в другого Npc.
AI_Snd_Play() ? G
Функция исскуственного интеллекта.
Воспроизведение звукового файла для Npc.
AI_Snd_Play3D() ? G
Функция исскуственного интеллекта.
Воспроизведение звукового файла в 3D для Npc.
AI_StandUp() ? GG
Функция исскуственного интеллекта.
Перевод Npc в рабочую стойку с анимацией.
AI_StandUpQuick() ? GG
Функция исскуственного интеллекта.
Перевод Npc в рабочую стойку без анимации.
AI_StartState() ? GG
Функция исскуственного интеллекта.
Перевод Npc в новое состояние.
AI_StopAim() ? GG
Функция исскуственного интеллекта.
Npc прекращает целится из оружия дальнего боя.
AI_StopFX() ? G
Функция исскуственного интеллекта.
Остановка проигрывания PFX эффектов.
AI_StopLookAt() ? GG
Функция исскуственного интеллекта.
Npc прекращает смотреть на другого Npc или объект.
AI_StopPointAt() ? GG
Функция исскуственного интеллекта.
Npc прекращает указывать на другого Npc или объект.
AI_StopProcessInfos() ? GG
Функция исскуственного интеллекта.
Завершение режима диалога.
AI_TakeItem() ? GG
Функция исскуственного интеллекта.
Npc берет предмет инвентаря.
AI_TakeMOB() ? GG
Функция исскуственного интеллекта.
Npc берет MOB.
AI_Teleport() ? GG
Функция исскуственного интеллекта.
Npc переносится на указанное место в локации.
AI_TurnAway() ? GG
Функция исскуственного интеллекта.
Npc поворачивается к другому Npc спиной.
AI_TurnToNpc() ? GG
Функция исскуственного интеллекта.
Npc поворачивается к другому Npc лицом.
AI_TurnToSound() ? GG
Функция исскуственного интеллекта.
Npc поворачивается лицом к источнику звука.
AI_UnequipArmor() ? GG
Функция исскуственного интеллекта.
Npc убирает экипированные доспехи в инвентарь.
AI_UnequipWeapons() ? GG
Функция исскуственного интеллекта.
Npc убирает экипированное оружие инвентарь.
AI_UnreadySpell() ? GG
Функция исскуственного интеллекта.
Npc убирает активное заклинание в инвентарь.
AI_UseItem() ? GG
Функция исскуственного интеллекта.
Npc использует предмет инвентаря.
AI_UseItemToState() ? GG
Функция исскуственного интеллекта.
Npc использует предмет инвентаря до указанного состояния анимации.
AI_UseMOB() ? GG
Функция исскуственного интеллекта.
Npc использует MOB до указанного состояния анимации.
AI_Wait() ? GG
Функция исскуственного интеллекта.
Npc переводится в режим ожидания на несколько секунд.
AI_WaitForQuestion() ? GG
Функция исскуственного интеллекта.
Npc переводится в режим ожидания ответа.
AI_WaitMs() ? GG
Функция исскуственного интеллекта.
Npc переводится в режим ожидания на несколько милисекунд.
AI_WaitTillEnd() ? GG
Функция исскуственного интеллекта.
Npc ждет ответа на свою фразу.
AI_WhirlAround() ? GG
Функция исскуственного интеллекта.
Npc быстро поворачивается к другому Npc лицом.
AI_WhirlAroundToSource() ? GG
Функция исскуственного интеллекта.
Npc быстро поворачивается лицом к источнику.
Apply_Options_Audio() ? GG
Функция игрового меню.
Применить аудио настройки.
Apply_Options_Controls() ? GG
Функция игрового меню.
Применить настройки клавиатуры.
Apply_Options_Game() ? GG
Функция игрового меню.
Применить настройки параметров игры.
Apply_Options_Performance() ? GG
Функция игрового меню.
Применить настройки производительности.
Apply_Options_Video() ? GG
Функция игрового меню.
Применить настройки видео.
ConcatStrings() ? GG
Функция преобразования типов.
Объединение двух строк.
CreateInvItem() ? GG
Функция инвентаря.
Создать в инвентаре Npc указанный предмет.
CreateInvItems() ? GG
Функция инвентаря.
Создать в инвентаре Npc указанные предметы.
Doc_Create() ? GG
Функция документа.
Создать новый документ.
Doc_CreateMap() ? GG
Функция документа.
Создать новую карту локации.
Doc_Font() ? GG
Функция документа.
Задать шрифт для документа.
Doc_MapCoordinates() ? GG
Функция документа.
Определение координат для карты локации.
Doc_Open() ? GG
Функция документа.
Отобразить фоновый рисунок документа на экране.
Doc_Print() ? GG
Функция документа.
Отобразить текст документа на экране.
Doc_PrintLine() ? GG
Функция документа.
Вывести строку текста на странице документа.
Doc_PrintLines() ? GG
Функция документа.
Вывести многострочный текст на странице документа.
Doc_SetFont() ? GG
Функция документа.
Задать шрифт для страницы.
Doc_SetLevel() ? GG
Функция документа.
Задать игровую локацию для карты.
Doc_SetLevelCoords() ? G
Функция документа.
Задать границы области отображаемой на карте.
Doc_SetMargins() ? GG
Функция документа.
Установить отступ страницы.
Doc_SetPage() ? GG
Функция документа.
Настроить параметры страницы.
Doc_SetPages() ? GG
Функция документа.
Задает количество страниц для документа.
Doc_Show() ? GG
Функция документа.
Показать созданный документ на экране.
EquipItem() ? GG
Функция инвентаря.
Экипировать Npc предметом инвентаря.
ExitGame() ? GG
Общая игровая функция.
Закончить сеанс игры.
ExitSession() ? G
Общая игровая функция.
Закончить сеанс игры.
FloatToInt() ? GG
Функция преобразования типов.
Преобразование числа с плавающей точкой в целое.
FloatToString() ? GG
Функция преобразования типов.
Преобразование числа с плавающей точкой в строку.
Game_InitEngintl() ? G
Общая игровая функция.
Инициализация игры основанной на Акелловской локализации.
Game_InitEnglish() ? G
Общая игровая функция.
Инициализация англоязычной версии игры.
Game_InitGerman() ? G
Общая игровая функция.
Инициализация немецкой версии игры.
Hlp_CutscenePlayed() ? GG
Вспомогательная функция.
Информирует, проигрывался ли игровой ролик.
Hlp_GetInstanceID() ? GG
Вспомогательная функция.
Получить идентификатор инстанции Npc или объекта инвентаря.
Hlp_GetNpc() ? GG
Вспомогательная функция.
Получить ссылку на Npc.
Hlp_IsItem() ? GG
Вспомогательная функция.
Проверяет принадлежность предмета инвентаря к соответствующему типу.
Hlp_IsValidItem() ? GG
Вспомогательная функция.
Проверка предмета инвентаря на существование.
Hlp_IsValidNpc() ? GG
Вспомогательная функция.
Проверка Npc на существование.
Hlp_Random() ? GG
Вспомогательная функция.
Генерирование случайного числа.
Hlp_StrCmp() ? GG
Вспомогательная функция.
Сравнение двух строк.
InfoManager_HasFinished() ? GG
Функции диалогов.
Проверяет завершен ли диалог.
Info_AddChoice() ? GG
Функции диалогов.
Добавляет в меню диалога новую строку.
Info_ClearChoices() ? GG
Функции диалогов.
Удалить строки в диалоге.
IntToFloat() ? GG
Функции преобразования типов.
Преобразование целого числа в число с плавающей точкой.
IntToString() ? GG
Функции преобразования типов.
Преобразование целого числа в строку.
IntroduceChapter() ? GG
Общие игровые функции.
Вывести на экран окно новой главы.
Log_AddEntry() ? GG
Функция журнала квестов.
Сделать в теме новую запись.
Log_CreateTopic() ? GG
Функция журнала квестов.
Создать в разделе новую тему.
Log_SetTopicStatus() ? GG
Функция журнала квестов.
Установить статус темы.
Mdl_ApplyOverlayMDS() ? GG
Функция анимации модели.
Применить новую анимацию к Npc.
Mdl_ApplyOverlayMDSTimed() ? GG
Функция анимации модели.
Временно применить новую анимацию к Npc.
Mdl_ApplyRandomAni() ? GG
Функция анимации модели.
Запустить случайные анимации.
Mdl_ApplyRandomAniFreq() ? GG
Функция анимации модели.
Изменить частоту смены случайных анимаций.
Mdl_ApplyRandomFaceAni() ? GG
Функция анимации модели.
Запустить случайную лицевую анимацию.
Mdl_RemoveOverlayMDS() ? GG
Функция анимации модели.
Отключить указанную анимацию у Npc.
Mdl_SetModelFatness() ? GG
Функция анимации модели.
Настройка толщины модели Npc.
Mdl_SetModelScale() ? GG
Функция анимации модели.
Настройка масштаба модели Npc.
Mdl_SetVisual() ? GG
Функция анимации модели.
Настройка MDS модели Npc.
Mdl_SetVisualBody() ? GG
Функция анимации модели.
Настройка визуализации модели Npc.
Mdl_StartFaceAni() ? GG
Функция анимации модели.
Запуск лицевой анимации.
Mis_AddMissionEntry() ? GG
Функция миссии.
Создать новую миссию.
Mis_GetStatus() ? GG
Функция миссии.
Получить текущий статус миссии.
Mis_OnTime() ? GG
Функция миссии.
Проверка срока выполнения миссии.
Mis_RemoveMission() ? GG
Функция миссии.
Удалить миссию.
Mis_SetStatus() ? GG
Функция миссии.
Установить статус миссии.
MOB_CreateItems() ? GG
Функция инвентаря.
Создать в контейнере предметы инвентаря.
MOB_HasItems() ? GG
Функция инвентаря.
Получить количество предметов инвентаря в контейнере.
Npc_AreWeStronger() ? GG
Функция Npc.
Определение более сильного Npc.
Npc_CanSeeItem() ? GG
Функция Npc.
Определяет может ли Npc видеть предмет инвентаря.
Npc_CanSeeNpc() ? GG
Функция Npc.
Определяет может ли Npc видеть другого Npc.
Npc_CanSeeNpcFreeLOS() ? GG
Функция Npc.
Определяет может ли Npc видеть другого Npc по прямой.
Npc_CanSeeSource() ? GG
Функция Npc.
Определяет может ли Npc видеть источник звука.
Npc_ChangeAttribute() ? GG
Функция Npc.
Изменение значения атрибута Npc.
Npc_CheckAvailableMission() ? GG
Функция Npc.
Проверка доступных миссии у Npc.
Npc_CheckInfo() ? GG
Функция Npc.
Определяет, есть ли у Npc важная для игрока информация.
Npc_CheckOfferMission() ? GG
Функция Npc.
Проверка миссии в которой Npc может что-либо предложить.
Npc_CheckRunningMission() ? GG
Функция Npc.
Проверка активных миссий.
Npc_ClearAIQueue() ? GG
Функция Npc.
Удаление всех AI команд из очереди.
Npc_ClearInventory() ? G
Функция Npc.
Очищает весь инвентарь Npc.
Npc_CreateSpell() ? GG
Функция Npc.
Npc активирует заклинание.
Npc_DeleteNews() ? GG
Функция Npc.
Удаляет новость для Npc.
Npc_ExchangeRoutine() ? GG
Функция Npc.
Смена распорядка дня Npc.
Npc_GetActiveSpell() ? GG
Функция Npc.
Возврат номера активного заклинания.
Npc_GetActiveSpellCat() ? GG
Функция Npc.
Возврат номера категории активного заклинания.
Npc_GetActiveSpellIsScroll() ? G
Функция Npc.
Проверяется, является ли активное заклинание свитком.
Npc_GetActiveSpellLevel() ? GG
Функция Npc.
Возвращает уровень активного заклинания Npc.
Npc_GetAttitude() ? GG
Функция Npc.
Получить текущее отношении Npc к другому Npc.
Npc_GetBodyState() ? GG
Функция Npc.
Возврат состояния в котором находится Npc.
Npc_GetComrades() ? GG
Функция Npc.
Проверка, есть ли у Npc друзья.
Npc_GetDetectedMob() ? GG
Функция Npc.
Возврат имени активного MOB объекта.
Npc_GetDistToItem() ? GG
Функция Npc.
Получить расстояние между Npc и предметом инвентаря.
Npc_GetDistToNpc() ? GG
Функция Npc.
Получить расстояние между двумя Npc.
Npc_GetDistToPlayer() ? GG
Функция Npc.
Получить расстояние между Npc и главным героем.
Npc_GetDistToWP() ? GG
Функция Npc.
Получить расстояние между Npc и Waypoint.
Npc_GetEquippedArmor() ? GG
Функция Npc.
Получить ссылку на экипированные доспехи Npc.
Npc_GetEquippedMeleeWeapon() ? GG
Функция Npc.
Получить ссылку на экипированное оружие ближнего боя у Npc.
Npc_GetEquippedRangedWeapon() ? GG
Функция Npc.
Получить ссылку на экипированное оружие дальнего боя у Npc.
Npc_GetGuildAttitude() ? GG
Функция Npc.
Получить отношение гильдий двух Npc.
Npc_GetHeightToItem() ? G
Функция Npc.
Получить высоту между Npc и предметом инвентаря.
Npc_GetHeightToNpc() ? G
Функция Npc.
Получить высоту между двумя Npc.
Npc_GetInvItem() ? GG
Функция Npc.
Получить ссылку на предмет инвентаря Npc.
Npc_GetInvItemBySlot() ? G
Функция Npc.
Получить количество указанных предметов в инвентаре Npc.
Npc_GetLastHitSpellCat() ? G
Функция Npc.
Получить категорию последнего примененного заклинания Npc.
Npc_GetLastHitSpellID() ? G
Функция Npc.
Получить номер последнего примененного заклинания Npc.
Npc_GetLookAtTarget() ? G
Функция Npc.
Получить ссылку на Npc на которого смотрит другой Npc.
Npc_GetNearestWP() ? GG
Функция Npc.
Получить название Waypoint в котором находится Npc.
Npc_GetNewsOffender() ? GG
Функция Npc.
Получить ссылку на приступника события.
Npc_GetNewsVictim() ? GG
Функция Npc.
Получить ссылку на жертву события.
Npc_GetNewsWitness() ? GG
Функция Npc.
Получить ссылку на свидетеля события.
Npc_GetNextTarget() ? GG
Функция Npc.
Выполнить активный поиск цели.
Npc_GetNextWP() ? GG
Функция Npc.
Получить имя соседнего Waypoint по отношению к Npc.
Npc_GetPermAttitude() ? GG
Функция Npc.
Получить постоянное отношение одного Npc к другому.
Npc_GetPortalGuild() ? G
Функция Npc.
Получить номер гильдии владельца помещения.
Npc_GetPortalOwner() ? G
Функция Npc.
Получить ссылку на Npc владельца помещения.
Npc_GetReadiedWeapon() ? GG
Функция Npc.
Получить ссылку на оружие, которое Npc держит в руке.
Npc_GetStateTime() ? GG
Функция Npc.
Получить сколько секунд Npc находится в текущем состоянии анимации.
Npc_GetTalentSkill() ? GG
Функция Npc.
Получить уровень навыка.
Npc_GetTalentValue() ? GG
Функция Npc.
Получить количество единиц навыка.
Npc_GetTarget() ? GG
Функция Npc.
Проверка существования у Npc цели для атаки.
Npc_GetTrueGuild() ? GG
Функция Npc.
Получить номер гильдии Npc.
Npc_GiveInfo() ? GG
Функция Npc.
Проверяет, есть ли у Npc информация для Npc.
Npc_GiveItem() ? GG
Функция Npc.
Npc получает предмет инвентаря от другого Npc.
Npc_HasBodyFlag() ? GG
Функция Npc.
Проверить, установлен ли у Npc указанный флаг состояния.
Npc_HasDetectedNpc() ? GG
Функция Npc.
Проверить поддержку чувств у Npc.
Npc_HasEquippedArmor() ? GG
Функция Npc.
Проверить наличие у Npc экипированных доспехов.
Npc_HasEquippedMeleeWeapon() ? GG
Функция Npc.
Проверить наличие у Npc экипированного оружия ближнего боя.
Npc_HasEquippedRangedWeapon() ? GG
Функция Npc.
Проверить наличие у Npc экипированного оружия дальнего боя.
Npc_HasEquippedWeapon() ? GG
Функция Npc.
Проверить наличие у Npc экипированного оружия.
Npc_HasItems() ? GG
Функция Npc.
Возвращает количество указанных предметов в инвентаре у Npc.
Npc_HasNews() ? GG
Функция Npc.
Проверить знает ли Npc указанную новость.
Npc_HasOffered() ? GG
Функция Npc.
Проверяет есть ли у одного Npc предмет для передачи другому.
Npc_HasRangedWeaponWithAmmo() ? GG
Функция Npc.
Проверяет есть ли у Npc в руках или в инвентаре оружие дальнего боя с боеприпасами.
Npc_HasReadiedMeleeWeapon() ? GG
Функция Npc.
Проверяет держит ли Npc в руках оружие ближнего боя.
Npc_HasReadiedRangedWeapon() ? GG
Функция Npc.
Проверяет держит ли Npc в руках оружие дальнего боя.
Npc_HasReadiedWeapon() ? GG
Функция Npc.
Проверяет держит ли Npc в руках оружие.
Npc_HasSpell() ? GG
Функция Npc.
Проверяет может ли Npc использовать заклинание.
Npc_HasTalent() ? GG
Функция Npc.
Проверяет владеет ли Npc указанным талантом.
Npc_IsAiming() ? GG
Функция Npc.
Проверяет целится ли Npc в другого Npc оружием дальнего боя или магией.
Npc_IsDead() ? GG
Функция Npc.
Проверяет мертв ли Npc.
Npc_IsDetectedMOBOwnerByGuild() ? GG
Функция Npc.
Проверяет какой гильдии принадлежит MOB, который использует Npc.
Npc_IsDetectedMobOwnerByNpc() ? GG
Функция Npc.
Проверяет какому владельцу принадлежит MOB, который использует Npc.
Npc_IsDrawingSpell() ? G
Функция Npc.
Возвращает номер заклинания, которое использует Npc.
Npc_IsDrawingWeapon() ? GG
Функция Npc.
Возвращает номер оружия, которое Npc держит в руках.
Npc_IsInCutscene() ? GG
Функция Npc.
Определяет, находится ли Npc в игровом ролике во время его проигрывания.
Npc_IsInFightMode() ? GG
Функция Npc.
Определяет, находится ли Npc в боевом режиме.
Npc_IsInPlayersRoom() ? G
Функция Npc.
Определяет, находится ли Npc в помещении, которое принадлежит главному герою.
Npc_IsInRoutine() ? GG
Функция Npc.
Проверяет выполняет ли Npc указанный распорядок дня.
Npc_IsInState() ? GG
Функция Npc.
Запрос на текущее состояние анимации фигуры Npc.
Npc_IsNear() ? GG
Функция Npc.
Определяет, что Npc находится на расстоянии не далее 3 метров.
Npc_IsNewsGossip() ? GG
Функция Npc.
Проверяет, является ли новость для Npc сплетней.
Npc_IsNextTargetAvailable() ? GG
Функция Npc.
Выполнить активный поиск цели для Npc без инициализации переменных.
Npc_IsOnFP() ? GG
Функция Npc.
Проверяет, находится ли Npc в Freepoint точке с указанным именем.
Npc_IsPlayer() ? GG
Функция Npc.
Проверяет, находится ли Npc главным героем.
Npc_IsPlayerInMyRoom() ? GG
Функция Npc.
Проверяет, находится ли главный герой в помещении другого Npc, или гильдии этого Npc.
Npc_IsVoiceActive() ? GG
Функция Npc.
Определяет, разговаривает ли Npc в данный момент.
Npc_IsWayBlocked() ? GG
Функция Npc.
Проверяет наличие припятствий на пути Npc.
Npc_KnowsInfo() ? GG
Функция Npc.
Проверяет знает ли Npc указанную информацию или нет.
Npc_KnowsPlayer() ? GG
Функция Npc.
Проверяет знаком ли Npc с главным героем.
Npc_LearnSpell() ? GG
Функция Npc.
Npc выучил заклинание и может его использовать.
Npc_MemoryEntry() ? GG
Функция Npc.
Функция записывания новостей для Npc.
Npc_MemoryEntryGuild() ? GG
Функция Npc.
Функция записывания новостей для всей гильдии.
Npc_OwnedByGuild() ? GG
Функция Npc.
Проверка на принадлежность предмета инвентаря указанной гильдии.
Npc_OwnedByNpc() ? GG
Функция Npc.
Проверка на принадлежность предмета инвентаря указанному Npc.
Npc_PercDisable() ? GG
Функция Npc.
Функция отключения восприятия у Npc.
Npc_PercEnable() ? GG
Функция Npc.
Функция включения восприятия у Npc.
Npc_PerceiveAll() ? GG
Функция Npc.
Функция разрешает Npc воспринимать все объекты в зоне действия восприятия.
Npc_PlayAni() ? GG
Функция Npc.
Воспроизвести анимацию для Npc.
Npc_RefuseTalk() ? GG
Функция Npc.
Функция проверяет истек ли у Npc счетчик отказа от диалога.
Npc_RemoveInvItem() ? GG
Функция Npc.
Удаление предмета из инвентаря Npc и из игры.
Npc_RemoveInvItems() ? GG
Функция Npc.
Удаление указанного количества предметов из инвентаря Npc и из игры.
Npc_SendPassivePerc() ? GG
Функция Npc.
Функция посылки пассивного восприятия от Npc.
Npc_SendSinglePerc() ? GG
Функция Npc.
Функция посылки восприятия от Npc.
Npc_SetActiveSpellInfo() ? GG
Функция Npc.
Задает любое значение для активного заклинания.
Npc_SetAttitude() ? GG
Функция Npc.
Установить постоянное отношение одного Npc ко всем остальным.
Npc_SetKnowsPlayer() ? GG
Функция Npc.
Установить, что Npc знаком с главным героем.
Npc_SetPercTime() ? GG
Функция Npc.
Установка времени реакции Npc для активного восприятия.
Npc_SetRefuseTalk() ? GG
Функция Npc.
Установка счетчика отказа от диалога для Npc.
Npc_SetStateTime() ? GG
Функция Npc.
Функция установки времени нахождения Npc в указанном состоянии.
Npc_SetTalentSkill() ? GG
Функция Npc.
Установить уровень навыка.
Npc_SetTalentValue() ? GG
Функция Npc.
Установить количество единиц владения навыком.
Npc_SetTarget() ? GG
Функция Npc.
Установить Npc внутреннюю цель для поражения.
Npc_SetTeleportPos() ? G
Функция Npc.
Запомнить последнее положение Npc при телепортации.
Npc_SetTempAttitude() ? GG
Функция Npc.
Установить временное отношение Npc к другим Npc.
Npc_SetToFightMode() ? GG
Функция Npc.
Перевод Npc в режим боя с выбранным оружием.
Npc_SetToFistMode() ? GG
Функция Npc.
Перевод Npc в боевой режим.
Npc_SetTrueGuild() ? GG
Функция Npc.
Установить принадлежность Npc к гильдии.
Npc_StartItemReactModules() ? GG
Функция Npc.
Проверка модулей ItemReact для реакции на предметы инвентаря.
Npc_StopAni() ? G
Функция Npc.
Остановить проигрывание анимации Npc.
Npc_WasInState() ? GG
Функция Npc.
Запрос на предыдущее состояние фигуры Npc.
Npc_WasPlayerInMyRoom() ? GG
Функция Npc.
Проверка главного героя на нахождение в помещении Npc или гильдии.
Perc_SetRange() ? GG
Общие игровые функции.
Установка дальности пассивного восприятия.
PlayVideo() ? GG
Функция видео.
Показать видео файл.
PlayVideoEx() ? G
Функция видео.
Показать видео файл с выходом из сессии игры.
Print() ? GG
Функция вывода текста.
Вывод на экран строки текста.
PrintDebug() ? GG
Функция вывода текста.
Вывод строки текста через zSpy.
PrintDebugCh() ? GG
Функция вывода текста.
Вывод строки текста через zSpy для канала.
PrintDebugInst() ? GG
Функция вывода текста.
Вывод строки текста через zSpy для инстанции.
PrintDebugInstCh() ? GG
Функция вывода текста.
Вывод строки текста через zSpy для инстанции и канала.
PrintDialog() ? GG
Функция вывода текста.
Вывод строки текста в окно диалога.
PrintMulti() ? GG
Функция вывода текста.
В случайном порядке выводит одну из пяти строк указанных в качестве аргументов.
PrintScreen() ? GG
Функция вывода текста.
Вывод на экран строки текста с настройкой шрифта, размера и др.
Rtn_Exchange() ? GG
Функция распорядка дня.
Функция смены распорядка дня.
SetPercentDone() ? GG
Общая игровая функция.
Установить процент отображения полосы в окне загрузки игры.
Snd_GetDistToSource() ? GG
Функция звука.
Получить расстояние до источника звука.
Snd_IsSourceItem() ? GG
Функция звука.
Проверить, является ли предмет у Npc источником звука.
Snd_IsSourceNpc() ? GG
Функция звука.
Проверить, является ли Npc источником звука.
Snd_Play() ? GG
Функция звука.
Воспроизвести звуковой эффект.
Snd_Play3D() ? GG
Функция звука.
Воспроизвести звуковой эффект для Npc.
TA() ? GG
Функция распорядка дня.
Задать функцию распорядка дня.
TA_BeginOverlay() ? GG
Функция распорядка дня.
Начать выполнять описанный распорядок дня.
TA_CS() ? GG
Функция распорядка дня.
Функция, выполняемая последней в списке функций распорядка дня.
TA_EndOverlay() ? GG
Функция распорядка дня.
Закончить выполнять описанный распорядок дня.
TA_Min() ? GG
Функция распорядка дня.
Задать функцию распорядка дня по времени.
TA_RemoveOverlay() ? GG
Функция распорядка дня.
Удалить заявленный распорядок дня.
Tal_Configure() ? GG
Общая игровая функция.
Переопредилить значение таланта.
Update_ChoiceBox() ? GG
Функция игрового меню.
Сохранить новые значения аудио или видео параметров.
Wld_AssignRoomToGuild() ? GG
Функция игрового мира.
Установить гильдию владельцем пространства.
Wld_AssignRoomToNpc() ? GG
Функция игрового мира.
Установить Npc владельцем пространства.
Wld_DetectItem() ? GG
Функция игрового мира.
Функция инициализирует глобальную переменную Item.
Wld_DetectNpc() ? GG
Функция игрового мира.
Функция инициализирует глобальную переменную Npc.
Wld_DetectNpcEx() ? GG
Функция игрового мира.
Функция инициализирует глобальную переменную Npc с исключением главного героя из поиска.
Wld_DetectNpcExAtt() ? G
Функция игрового мира.
Функция инициализирует глобальную переменную Npc с исключением главного героя из поиска и учетом отношения Npc к гильдии.
Wld_DetectPlayer() ? GG
Функция игрового мира.
Проверка существования главного героя.
Wld_ExchangeGuildAttitudes() ? GG
Функция игрового мира.
Установить взаимоотношения между гильдиями.
Wld_GetDay() ? GG
Функция игрового мира.
Получить текущий день.
Wld_GetFormerPlayerPortalGuild() ? GG
Функция игрового мира.
Получить номер гильдии которой принадлежит покинутое помещение.
Wld_GetFormerPlayerPortalOwner() ? GG
Функция игрового мира.
Получить ссылку на Npc которому принадлежит покинутое помещение.
Wld_GetGuildAttitude() ? GG
Функция игрового мира.
Получить отношение между гильдиями.
Wld_GetMOBState() ? GG
Функция игрового мира.
Получить состояние MOB.
Wld_GetPlayerPortalGuild() ? GG
Функция игрового мира.
Получить номер гильдии которой принадлежит помещение.
Wld_GetPlayerPortalOwner() ? GG
Функция игрового мира.
Получить сылку на Npc которому принадлежит помещение.
Wld_InsertItem() ? GG
Функция игрового мира.
Разместить в игровом мире предмет инвентаря.
Wld_InsertNpc() ? GG
Функция игрового мира.
Разместить в игровом мире Npc.
Wld_InsertNpcAndRespawn() ? GG
Функция игрового мира.
Разместить в игровом мире Npc с респауном.
Wld_InsertObject() ? GG
Функция игрового мира.
Разместить в игровом мире виртуальный объект.
Wld_IsFPAvailable() ? GG
Функция игрового мира.
Поиск Freepoint по имени в радиусе 20 метров.
Wld_IsMOBAvailable() ? GG
Функция игрового мира.
Поиск MOB по имени в радиусе 10 метров.
Wld_IsNextFPAvailable() ? GG
Функция игрового мира.
Поиск следующего Freepoint по имени в радиусе 20 метров.
Wld_IsRaining() ? G
Функция игрового мира.
Проверить идет ли дождь.
Wld_IsTime() ? GG
Функция игрового мира.
Функция определяет, входит ли текущее время в указанный диапазон.
Wld_PlayEffect() ? GG
Функция игрового мира.
Проиграть визуальный эффект.
Wld_RemoveItem() ? GG
Функция игрового мира.
Удалить из мира предмет инвентаря по ссылке.
Wld_RemoveNpc() ? GG
Функция игрового мира.
Удалить из мира Npc по ссылке.
Wld_SendTrigger() ? GG
Функция игрового мира.
Послать триггер объекту игрового мира.
Wld_SendUntrigger() ? GG
Функция игрового мира.
Послать антриггер объекту игрового мира.
Wld_SetGuildAttitude() ? GG
Функция игрового мира.
Установить отношение между гильдиями.
Wld_SetMOBRoutine() ? GG
Функция игрового мира.
Перевести MOB в определенное состояние анимации.
Wld_SetObjectRoutine() ? GG
Функция игрового мира.
Перевести объект в определенное состояние анимации.
Wld_SetTime() ? GG
Функция игрового мира.
Установить текущее время игрового мира.
Wld_SpawnNpcRange() ? GG
Функция игрового мира.
Создать группу Npc вокруг другого Npc.
Wld_StopEffect() ? G
Функция игрового мира.
Остановить проигрывание визуального эффекта.

Miranda Dialog Creator - ускорение скриптинга для G1 и G2a

Содержание +

Miranda Dialog Creator - программа от создателей мода Das Mirandadorf для создания скриптов под Готику и Готику 2 Ночь Ворона. В этой статье есть ссылки на закачку и подробное описание работы с программой.

Для работы программы необходима установленная J2SE (Java Runtime Environment), версия не ниже 1.5. Внимание - размер инсталлятора J2SE для Windows около 16 Мб. Но эти мегабайты стократно окупятся радикальным уменьшением затрат времени на чисто техническую работу по скриптингу.

Основная цель этой программы - исключить неблагодарную техническую работу по написанию скриптов диалогов, всяческие copy/paste и т.п. Сама программа весит крайне мало - всего 20 кб.

Предварительные замечания -

Здесь я хочу предложить уважаемым готам и модостроителям небольшой FAQ по использованию этой замечательной программы. FAQ по большей части - перевод на русский язык оригинального readme, но я постарался добавить немного примеров и картинок, для людей, у которых мало времени заморачиваться на техническом аспекте дела - для непосредственно творческих людей. :)

Последняя версия программы на момент написания этого FAQ - 1.2.

Простой пример +

Здесь и дальше я исхожу из того, что программа находится в том же каталоге, что и создаваемые примеры скриптов. Создайте сразу в этом каталоге подпапку sripts, для дальнейшей работы.

У меня это выглядит так, к примеру:

Давайте начнем сразу с небольшого примера.

Создаем в любимом текстовом редакторе файл с названием, к примеру, example1.dia. Сохраним его тут же, в рабочем каталоге. Вот его содержимое:


person: NONE_101_Gustaf, 16
info: SimpleDialog
 
> Доброе утро, Густав!
< И тебе того же, коли не шутишь...

Запускаем командную строку, или любимый файловый менеджер, неважно какой - лишь бы в нем была возможность ввести и выполнить следующую команду:

MirandaDialogCreator.jar example1.dia scripts

Первый пункт - это имя самой программы. Второй - имя файла, который она будет «разбирать». Третий (scripts) - имя папки, в которую будут складываться готовые скрипты, сформированные программой.

Если все прошло нормально, появится окно лога программы. Например:

Видим, что все прошло нормально.

Идем в папку scripts. Что мы видим здесь? А видим, что сформирован файлик, названный по стандартам готических скриптов.

Имя NONE_101_Gustaf взято из нашего DIA-файла. За это отвечает строка

person: NONE_101_Gustaf, 16

Что же внутри готового файла скрипта?

Клево. Сфомирован полностью готовый и рабочий пункт диалога. Без механической работы по написанию и copy/paste. Всего четырьмя строками исходного файла. Это воодушевляет.

Разбор конкретных операторов +

Оператор person

person: NONE_101_Gustaf, 16

Оператор person определяет скриптовое имя персонажа, для которого пишется диалог. В данном случае это NPC, который участвует в скриптах под именем NONE_101_Gustaf.

Первый параметр - скриптовое имя, используется так:

  • Формирует имя D-файла (у нас это будет DIA_NONE_101_Gustaf.D)
  • Участвует в именах instance «своих» пунктов диалога, например: instance NONE_101_Gustaf_SimpleDialog ( C_INFO )
  • Участвует в формировании имен Condition и Info функций данного пункта диалога, например:

Второй параметр (число 16) - это номер голоса, которым будет говорить наш персонаж. Конкретное использование этого числа - в функции AI_Output, к примеру, в нашем диалоге:

AI_Output ( Other, Self, "NONE_101_Gustaf_SimpleDialog_Info_15_01" ); // Доброе утро, Густав!

Нужно сразу отметить, что по по умолчанию программы ГГ говорит голосом № 15. Но это можно изменить, просто поставив в начале файла оператор

person: PC_Hero, 4

Это укажет программе использовать для функции AI_Output число 4 (_04_XX). Этот оператор не влияет больше ни на что, кроме номера голоса.

Также сразу скажу, что в одном DIA-файле можно использовать несколько операторов person - в этом случае программа просто «распределит» скрипты разных персонажей по разным D-файлам. Но если диалоги большие, лучше бы, конечно, делать отдельный DIA-файл для каждого NPC. На любителя, в общем.


Оператор info

info: SimpleDialog

Оператор info - основной оператор формирования диалогов. Именно он отвечает за «появление» в готовых скриптах конструкции типа

instance NONE_101_Gustaf_SimpleDialog ( C_INFO )

У него один параметр - имя диалога. В нашем случае это SimpleDialog.

Для описания простого диалога достаточно одного такого оператора, что мы и видим в примере.


Операторы < и >

> Доброе утро, Густав!
< И тебе того же, коли не шутишь...

А получилось:

Оператор > (больше) - это обращение ГГ к персонажу, с которым ведется диалог. А оператор < (меньше) - наоборот, обращение персонажа к ГГ, все очень просто.


Оператор flags

Этот оператор «ставит» флаги в instance диалога, такие как important или permanent.

Флаг important - отвечает за то, чтобы персонаж сам обращался к ГГ, не дожидаясь, пока игрок начнет разговор.

person: NONE_101_Gustaf, 16
info: ImportantDialog
flags: important 
 
> Эй, погоди-ка, парень!
< Ну что тебе надо опять?

А вот что получилось:

Здесь Густав сам обратится к проходящему мимо него ГГ.

Флаг permanent - отвечает за то, чтобы этот пункт диалога не исчезал после разговора, а оставался в меню выбора постоянно.

person: NONE_101_Gustaf, 16
info: ImportantDialog
flags: permanent 
 
> Мое почтение!
> !t_GreetNov
< Ну-ну, подлиза. Говори уже - чего надо?
< !t_GetLost

А вот что получится:

Этот диалог будет доступен всегда.

Флаг permanent обычно используется в паре с флагом trade - формируя постоянно доступный пункт диалога торговли.

person: NONE_101_Gustaf, 16
info: LetsTrade
flags: permanent, trade 
num: 998
 
> Поторгуем?

А вот что получится:


Оператор cond_

Операторы этого типа формируют условия, которые определяют, будет показан конкретный пункт диалога или нет.


Оператор conddia

Проверка на то, говорил ли ГГ уже с данным NPC по какой-либо теме (был ли выбран и отображен конкретный пункт диалога); технически - формирование функции Npc_KnowsInfo().

person: NONE_101_Gustaf, 16
info: SimpleCond
conddia: SimpleDialog
conddia: NONE_102_Peter, IAwaitedYou
 
> Привет. Я от Петера, только что с ним поговорил.
< Хорошо. Давай к делу теперь.

А вот что получится (приведу здесь только функцию _Condition):

Как видно из примера, можно формировать как простые, так и составные условия. Также видно, что у оператора conddia есть параметры.

Если указать только один параметр - имя instance диалога, на которое нужно провести сравнение, то в Npc_KnowsInfo() подставляется имя текущего NPC - для которого пишется данный диалог.

А если указать перед именем instance диалога, на которое нужно провести сравнение, еще и имя другого NPC, то в Npc_KnowsInfo() подставится это имя.

Что касается логики - два отдельных оператора cond* будут связаны логическим оператором «И».


Оператор conddia

Проверка на наличие определенных предметов.

person: NONE_101_Gustaf, 16
info: SimpleCond2
conditem: ItFoMuttonRaw, 4
 
> Я принес тебе то, что ты хотел.
>> ItFoMuttonRaw, 4
 
< Оо, йа-йа, зер гут, Вольдемар Иванович!
< Вот тебе твоя награда. 
 
<< ItFoBooze
<< ItFoLoaf, 2

А вот что получится:

Как видим, использование этого оператора - проще некуда.

Одно неприятно - два отдельных оператора conditem всегда будут связаны логикой «И». А вот как сделать их связку логикой «ИЛИ», я пока не нашел.

Кстати, «всплыли» еще два оператора - >> - ГГ отдает персонажу определенный/е предмет/ы, и << - NPC отдает ГГ определенный/е предмет/ы.


Другие операторы

Сразу приведу пример

person: NONE_101_Gustaf, 16
info: SimpleCond3
conddia: SimpleDialog; Pers_203_Hark, IAwaitedYou
conddia: !SimpleCond2
conditem: !ItFo_Potion_GruenerTrank;
conditem: ItFoMuttonRaw, 4
condcode: Npc_GetDistToWP(self, "abbc") < 500
 
> Я, к сожалению, не смог найти все.
< Тогда ищи дальше!

Как видим, можно использовать оператор !, чтобы ставить условие «НЕ» на операторы cond*.

Также, оператор conddia в явном виде поддерживает условие «ИЛИ» - просто нужно поставить ; между параметрами.

А еще появился новый оператор - condcode. Его смысл - просто подстановка «чистого» кода скриптов готик в формируемое условие. Из примера все видно очень хорошо.

Пока не совсем понял назначение оператора condfunc, поэтому сейчас пропущу его описание. Может, кто подскажет, потом.

Еще один пример

person: NONE_101_Gustaf, 16
info: DescDialog
desc: Официальное приветствие
$IF Npc_GetTrueGuild(hero) == GIL_NONE
> !t_GreetNov
$ELSE
> !t_GreetGrd
ENDIF

> Hello!
 
< !Npc_ExchangeRoutine(self, "StandEntry");

$END

Результат (только функция _info):

Как видно из примера, можно использовать конструкцию $IF .. $ELSE .. $ENDIF.

Причем, как я понял, в параметре $IF нужно ставить скрипт готики, а не операторы MDC (Miranda Dialog Creator). В блоке же можно применять как операторы MDC, так и скриптовые конструкции готики. В этом случае в начале строки нужно просто поставить оператор !. Это дает возможность писать скриптами готики прямо в DIA-файле - все, что оформлено таким образом, попадет в файл-результат без изменений.

И еще один пример

person: NONE_101_Gustaf, 16
info: Exit

Результат:

Краткость изначальной конструкции и результат - просто поражают. В общем, чтобы сделать стандартный пункт диалога «Закончить разговор», нужно просто написать вышеприведенный оператор с параметром Exit. И все.

Ветвление диалога +

Реализация ветвления диалогов через конструкцию Info_AddChoice - довольно удобный инструмент, но уж больно много кода приходится иногда писать. MDC спасает нас и здесь.

Простой пример

person: NONE_102_Peter, 11
info: IAwaitedYou
flags: important

< Давай-ка, поиграем в угадайку.
< Вот скажи, кто сильней - кит или слон?
%

opt: optKit
> Кит?
< Нет, не угадал.

opt: optSlon
desc: Слон, наверное?
> Эээ... Слон, наверное, так?
< Конечно!
%%

opt: Back

Результат:

В общем, если говорить кратко:

Иногда бывает нужно «сослаться» на уже созданные ранее функции-реакции на пункты выбора. В этом случае делаем так (добавляем следующий код):

person: NONE_102_Peter, 11
info: EinAndererDialog

> Я что вспомнил-то. Про кита и слона.
< А, про угадайку. Ну и кто сильней, на этот раз?
%IAwaitedYou, optKit
%IAwaitedYou, optSlon

Результат:

То есть используем оператор % с параметрами ИмяПунктаДиалога и наименованиями уже описанных ранее/выше функций реакции.

Обработка квеста +

«Начать» квест совсем-совсем нетрудно. Простой пример:

person: NONE_103_Anna, 8
info: StartMis

> Что тебе нужно?
< Принеси мне Цветочек Аленький, молодец удаленький.

$STARTMIS RedFlower

$LOGMISS RedFlower, Аленький Цветочек для Анны

Результат:

Ну, тут все понятно и без обьяснений.

За добавление записей в журнал B_LogEntry отвечает оператор $LOGMISS.

Результат работы конструкции

$MISFAIL TestQuest

выглядит так:

MIS_TestQuest = LOG_FAILED; Log_SetTopicStatus ( TOPIC_TestQuest, LOG_FAILED );

а конструкции

$MISSUCC TestQuest
 
$EXP XP_TestQuest
 
$EXP 10

так:

MIS_TestQuest = LOG_SUCCESS; Log_SetTopicStatus ( TOPIC_TestQuest, LOG_SUCCESS ); B_GivePlayerXP ( XP_TestQuest ); B_GivePlayerXP ( 100 );

Примечания в журнале формируем так:

$LOGNOTE CityTraderz, Торговцы в основном обретаются на Торговой площади.

Результат:

Log_CreateTopic ( TOPIC_CityTraderz, LOG_NOTE ); B_LogEntry ( TOPIC_CityTraderz, "Торговцы в основном обретаются на Торговой площади." );

Дополнения +

Еще одна интересная фишка - «автоформирование» диалога кражи. Я думаю, тут все понятно без лишних слов. Для мужского персонажа букву W в параметрах оператора info нужно убрать. Вот пример:

person NONE_103_Anna, 8
Info Pickpocket w 20 45

Результат:

instance NONE_101_Gustaf_SimpleDialog ( C_INFO ) { Npc = NONE_101_Gustaf; Condition = NONE_101_Gustaf_SimpleDialog_Condition; Information = NONE_101_Gustaf_SimpleDialog_Info; Important = False; Permanent = False; Description = "Доброе утро, Густав!"; }; func int NONE_101_Gustaf_SimpleDialog_Condition() { return True; }; func void NONE_101_Gustaf_SimpleDialog_Info() { AI_Output ( Other, Self, "NONE_101_Gustaf_SimpleDialog_Info_15_01" ); // Доброе утро, Густав! AI_Output ( Self, Other, "NONE_101_Gustaf_SimpleDialog_Info_16_02" ); // И тебе того же, коли не шутишь... }; instance NONE_101_Gustaf_ImportantDialog ( C_INFO ) { Npc = NONE_101_Gustaf; Condition = NONE_101_Gustaf_ImportantDialog_Condition; Information = NONE_101_Gustaf_ImportantDialog_Info; Important = True; Permanent = False; }; func int NONE_101_Gustaf_ImportantDialog_Condition () { return True; }; func void NONE_101_Gustaf_ImportantDialog_Info () { AI_Output ( Self, Other, "NONE_101_Gustaf_ImportantDialog_Info_16_01" ); // Эй, погоди-ка, парень! AI_Output ( Other, Self, "NONE_101_Gustaf_ImportantDialog_Info_15_02" ); // Ну что тебе надо опять? }; instance NONE_101_Gustaf_PermanentDialog ( C_INFO ) { Npc = NONE_101_Gustaf; Condition = NONE_101_Gustaf_PermanentDialog_Condition; Information = NONE_101_Gustaf_PermanentDialog_Info; Important = False; Permanent = True; Description = "Мое почтение!"; }; func int NONE_101_Gustaf_PermanentDialog_Condition () { return True; }; func void NONE_101_Gustaf_PermanentDialog_Info () { AI_Output ( Other, Self, "NONE_101_Gustaf_PermanentDialog_Info_15_01" ); // Мое почтение! AI_PlayAni ( Other, "T_GREETNOV" ); AI_Output ( Self, Other, "NONE_101_Gustaf_PermanentDialog_Info_16_02" ); // Ну-ну, подлиза. Говори уже - чего надо? AI_PlayAni ( Self, "T_GETLOST" ); }; instance NONE_101_Gustaf_LetsTrade ( C_INFO ) { Npc = NONE_101_Gustaf; Condition = NONE_101_Gustaf_LetsTrade_Condition; Information = NONE_101_Gustaf_LetsTrade_Info; Important = False; Permanent = True; Nr = 998; Description = "Поторгуем?"; Trade = True; }; func int NONE_101_Gustaf_LetsTrade_Condition () { return True; }; func void NONE_101_Gustaf_LetsTrade_Info () { AI_Output ( Other, Self, "NONE_101_Gustaf_LetsTrade_Info_15_01" ); // Поторгуем? }; func int NONE_101_Gustaf_SimpleCond_Condition () { if ( ( Npc_KnowsInfo ( Hero, NONE_101_Gustaf_SimpleDialog ) ) && ( Npc_KnowsInfo ( Hero, NONE_102_Peter_IAwaitedYou ) ) ) { return True; }; }; instance NONE_101_Gustaf_SimpleCond2 ( C_INFO ) { Npc = NONE_101_Gustaf; Condition = NONE_101_Gustaf_SimpleCond2_Condition; Information = NONE_101_Gustaf_SimpleCond2_Info; Important = False; Permanent = False; Description = "Я принес тебе то, что ты хотел."; }; func int NONE_101_Gustaf_SimpleCond2_Condition () { if ( Npc_HasItems ( Other, ItFoMuttonRaw ) >= 4 ) { return True; }; }; func void NONE_101_Gustaf_SimpleCond2_Info () { AI_Output ( Other, Self, "NONE_101_Gustaf_SimpleCond2_Info_15_01" ); // Я принес тебе то, что ты хотел. B_GiveInvItems ( Other, Self, ItFoMuttonRaw, 4); AI_Output ( Self, Other, "NONE_101_Gustaf_SimpleCond2_Info_16_02" ); // Оо, йа-йа, зер гут, Вольдемар Иванович! AI_Output ( Self, Other, "NONE_101_Gustaf_SimpleCond2_Info_16_03" ); // Вот тебе твоя награда. CreateInvItems ( Self, ItFoBooze, 1); B_GiveInvItems ( Self, Other, ItFoBooze, 1 ); CreateInvItems ( Self, ItFoLoaf, 2); B_GiveInvItems ( Self, Other, ItFoLoaf, 2 ); }; func int NONE_101_Gustaf_SimpleCond3_Condition () { if ( ( Npc_KnowsInfo ( Hero, NONE_101_Gustaf_SimpleDialog ) || Npc_KnowsInfo ( Hero, Pers_203_Hark_IAwaitedYou ) ) && ( !Npc_KnowsInfo ( Hero, NONE_101_Gustaf_SimpleCond2 ) ) && ( Npc_HasItems ( Other, ItFo_Potion_GruenerTrank; ) < 1 ) && ( Npc_HasItems ( Other, ItFoMuttonRaw ) >= 4 ) && ( Npc_GetDistToWP ( Self, "abbc" ) < 500 ) ) { return True; }; }; func void NONE_101_Gustaf_DescDialog_Info () { if ( Npc_GetTrueGuild ( Hero ) == GIL_NONE ) { AI_PlayAni ( Other, "T_GREETNOV" ); } else { AI_PlayAni ( Other, "T_GREETGRD" ); }; AI_Output ( Other, Self, "NONE_101_Gustaf_DescDialog_Info_15_01" ); // Hello! Npc_ExchangeRoutine ( Self, "StandEntry" ); AI_StopProcessInfos ( Self ); }; instance NONE_101_Gustaf_Exit ( C_INFO ) { Npc = NONE_101_Gustaf; Condition = NONE_101_Gustaf_Exit_Condition; Information = NONE_101_Gustaf_Exit_Info; Important = False; Permanent = True; Nr = 999; Description = DIALOG_ENDE; }; func int NONE_101_Gustaf_Exit_Condition () { return True; }; func void NONE_101_Gustaf_Exit_Info () { AI_StopProcessInfos ( Self ); }; instance NONE_102_Peter_IAwaitedYou ( C_INFO ) { Npc = NONE_102_Peter; Condition = NONE_102_Peter_IAwaitedYou_Condition; Information = NONE_102_Peter_IAwaitedYou_Info; Important = True; Permanent = False; }; func int NONE_102_Peter_IAwaitedYou_Condition () { return True; }; func void NONE_102_Peter_IAwaitedYou_Info () { AI_Output ( Self, Other, "NONE_102_Peter_IAwaitedYou_Info_11_01" ); // Уф, дядя, я уже тебя заждался совсем! Где тебя носит?! AI_Output ( Self, Other, "NONE_102_Peter_IAwaitedYou_Info_11_02" ); // Давай-ка, поиграем в угадайку. AI_Output ( Self, Other, "NONE_102_Peter_IAwaitedYou_Info_11_03" ); // Вот скажи, кто сильней - кит или слон? Info_ClearChoices ( NONE_102_Peter_IAwaitedYou ); Info_AddChoice ( NONE_102_Peter_IAwaitedYou, "Кит?", NONE_102_Peter_IAwaitedYou_optKit ); Info_AddChoice ( NONE_102_Peter_IAwaitedYou, "Слон, наверное?", NONE_102_Peter_IAwaitedYou_optSlon ); Info_AddChoice ( NONE_102_Peter_IAwaitedYou, DIALOG_BACK, NONE_102_Peter_IAwaitedYou_Back ); }; func void NONE_102_Peter_IAwaitedYou_optKit () { AI_Output ( Other, Self, "NONE_102_Peter_IAwaitedYou_optKit_15_01" ); // Кит? AI_Output ( Self, Other, "NONE_102_Peter_IAwaitedYou_optKit_11_02" ); // Нет, не угадал. }; func void NONE_102_Peter_IAwaitedYou_optSlon () { AI_Output ( Other, Self, "NONE_102_Peter_IAwaitedYou_optSlon_15_01" ); // Эээ... Слон, наверное, так? AI_Output ( Self, Other, "NONE_102_Peter_IAwaitedYou_optSlon_11_02" ); // Конечно, глупый ты дяденька! Info_ClearChoices ( NONE_102_Peter_IAwaitedYou ); }; func void NONE_102_Peter_IAwaitedYou_Back () { Info_ClearChoices ( NONE_102_Peter_IAwaitedYou ); }; func void NONE_102_Peter_EinAndererDialog_Info () { AI_Output ( Other, Self, "NONE_102_Peter_EinAndererDialog_Info_15_01" ); // Я что вспомнил-то. Про кита и слона. AI_Output ( Self, Other, "NONE_102_Peter_EinAndererDialog_Info_11_02" ); // А, про угадайку. Ну и кто сильней, на этот раз? Info_ClearChoices ( NONE_102_Peter_EinAndererDialog ); Info_AddChoice ( NONE_102_Peter_EinAndererDialog, "Кит?", NONE_102_Peter_IAwaitedYou_optKit ); Info_AddChoice ( NONE_102_Peter_EinAndererDialog, "Слон, наверное?", NONE_102_Peter_IAwaitedYou_optSlon ); }; func void NONE_103_Anna_StartMis_Info () { AI_Output ( Other, Self, "NONE_103_Anna_StartMis_Info_15_01" ); // Что тебе нужно? AI_Output ( Self, Other, "NONE_103_Anna_StartMis_Info_08_02" ); // Принеси мне Цветочек Аленький, молодец удаленький. MIS_RedFlower = LOG_RUNNING; Log_CreateTopic ( TOPIC_RedFlower, LOG_MISSION ); Log_SetTopicStatus ( TOPIC_RedFlower, LOG_RUNNING ); B_LogEntry ( TOPIC_RedFlower, "Аленький Цветочек для Анны" ); }; instance NONE_103_Anna_PICKPOCKET ( C_INFO ) { Npc = NONE_103_Anna; Condition = NONE_103_Anna_PICKPOCKET_Condition; Information = NONE_103_Anna_PICKPOCKET_Info; Important = False; Permanent = True; Nr = 900; Description = Pickpocket_20_Female; }; func int NONE_103_Anna_PICKPOCKET_Condition () { if ( C_Beklauen ( 20, 45 ) ) { return True; }; }; func void NONE_103_Anna_PICKPOCKET_Info () { Info_ClearChoices ( NONE_103_Anna_PICKPOCKET ); Info_AddChoice ( NONE_103_Anna_PICKPOCKET, DIALOG_BACK, NONE_103_Anna_PICKPOCKET_BACK ); Info_AddChoice ( NONE_103_Anna_PICKPOCKET, DIALOG_PICKPOCKET, NONE_103_Anna_PICKPOCKET_DoIt ); }; func void NONE_103_Anna_PICKPOCKET_BACK () { Info_ClearChoices ( NONE_103_Anna_PICKPOCKET ); }; func void NONE_103_Anna_PICKPOCKET_DoIt () { B_Beklauen (); Info_ClearChoices ( NONE_103_Anna_PICKPOCKET ); };


Теги: Miranda Dialog Creator, Daedalus, программирование, диалоги

Добавил: Neromont (05.04.2020)

Просмотров: 79

Источник: https://worldofplayers.ru/threads/36616/

Автор: Маразмус

Рейтинг: 0.0/0

Всего комментариев: 0
avatar
Информационное окноx