1. Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, сыграть в увлекательные ФРПГ, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
    Скрыть объявление
  2. Форум аддона "Возвращение" 2.0:
    — Обсудить игру, почитать о прохождениях и/или разрешить свои вопросы по игре вы можете в одной из тем одноименного форума. Посетить...
    — Прочитать историю изменения и/или скачать последнюю версию аддона "Возвращение", вы можете на страницах наших ресурсов. Скачать...
    Скрыть объявление

Важно Руководство по программе GothicSourcer

Тема в разделе "Скриптинг", создана пользователем MEG@VOLT, 18 сен 2013.

Статус темы:
Закрыта.
  1. MEG@VOLT

    MEG@VOLT ★★★★★★★
    Модератор

    Регистрация:
    24 мар 2006
    Сообщения:
    1.644
    Благодарности:
    717
    Баллы:
    290
    Руководство для программы Gothic Sourcer основано на версии 3.11.
    Эта версия программы поддерживает три языка – русский, немецкий и английский.
    Работа с решением и проектами

    Решение – набор проектов для одного мода. Имя решения это имя создаваемого мода.
    Проект – набор скриптов для создания *.dat файла. Имя проекта создается программой и соответствует имени *.src файла. Вы можете создать любой проект из следующих: Gothic, Fight, Camera, Menu, Music, ParticleFX, SFX и VisualFX. В одном решении могут быть только эти 8 проектов.
    Создание нового решения или проекта. File → New Solution.
    При выборе этой команды выводится окно диалога New project. В строке ввода Solution name задается имя нового решения или уже существующего. С существующим решением есть ещё один метод работы, он удобнее и будет рассмотрен ниже. В строке Location выбирается существующая папка для размещения решения, по умолчанию это Gothic Projects, но можно выбрать и любую другую папку. В списке Platforms выбирается версия игры (Gothic или Gothic 2), для которой предназначено это решение. Далее в окне нового проекта присутствуют три опции: Empty project – при выборе этой опции создается пустой проект с именем выбранным из предлагаемого списка, всё остальное в проекте вы должны сделать сами в окне Solution Explorer.
    First compile action – при выборе этой опции будет создан полный проект, готовый для компиляции. В строке Choice src file выбирается нужный *.src файл скриптов. Все файлы скриптов, зарегистрированные в этом файле будут скопированы в рабочую папку, там же будет создан новый *.src файл, который не рекомендуется редактировать руками, всю работу с ним будет выполнять сама программа.
    First decompile action – при выборе этой опции будет создан полный проект, готовый для декомпиляции. В строке Choice dat file выбирается нужный *.dat файл. Он будет скопирован в рабочую папку. Если вами выбран файл gothic.dat, то программа сама попробует найти любой соответствующий ему Output Units файл (ou.bin или ou.csl, при отсутствии бинарного файла) и скопировать его в рабочую директорию. Если программе не удастся найти этот файл, то вам будет предложено указать его месторасположение самостоятельно.
    Если все выборы в окне вами сделаны правильно, то будет доступна кнопка OK. При нажатии на неё начнется процесс создания нового проекта. Если в указанном решении заданный вами проект уже существует, то будет выведено на экран предупреждение. В этом случае необходимо сделать одно из следующего:
    • Удалить вручную проект из решения (удалить содержимое папки проекта), если предварительно вы удалили этот проект в окне Solution Explorer.
    • Выбрать другое имя решения или другую рабочую папку.
    После создания нового проекта в окне Solution Explorer будет построено дерево содержимого проекта. В окне Class View будет построено дерево всех данных присутствующих в проекте.
    Открытие существующего решения. File → Open Solution.
    При выборе этой команды вам будет предложено выбрать ранее созданное решение.
    Закрытие существующего решения. File → Close Solution.
    При выборе этой команды, при условии, что проект загружен в окно Solution Explorer, решение и активный проект будут закрыты. При необходимости будут записаны все изменения, сделанные в нем, или вам будет выдан запрос на запись изменений, если они существенны для решения или проекта.
    Обзор других команд меню для работы с решением (проектом).
    Быструю загрузку решения можно выполнить, выбрав решение командой File → Recent Solutions из списка ранее созданных решений.
    Команда File → Save All выполняет запись всех измененных данных решения (проекта), включая содержимое измененных файлов скриптов.
    Команда Edit → Find and Replace → Find in Files выполняет поиск выбранного фрагмента текста во всех файлах скриптов, зарегистрированных в проекте. В окне Find and Files вам будет предложено заполнить поле Find what. По умолчанию это поле будет заполнено одним из следующих значений в порядке приоритета:
    • выделенным фрагментом текста, взятым из активного окна редактора скриптов.
    • введённым или ранее искавшимся фрагментом из списка, расположенного на панели инструментов рядом с кнопкой Find in Files.
    Все найденные включения искомого фрагмента в файлы будут выведены в окно Message Window. По поиску фрагментов и выводу сообщений в окно работает отдельный процесс, во время его работы можно выполнять любую другую работу со скриптами. Прервать процесс поиска можно нажав клавишу Esc. В окне Message Window перейти на любой найденный фрагмент текста можно двойным щелчком мыши, указатель в окне редактора скриптов покажет на строку с искомым фрагментом. Этот метод так же используется для перехода к ошибкам из процессов компиляции, декомпиляции скриптов или моделей.
    Команда Edit → Find and Replace → Replace in Files выполняет поиск выбранного фрагмента текста во всех файлах скриптов, зарегистрированных в проекте и заменяет его другим фрагментом. Остальные условия аналогичны предыдущей команде.
    Команда Build → Compile или Build → Decompile выполняет соответственно компиляцию или декомпиляцию скриптов проекта. При этом создаются все нужные файлы, в том числе и файл ou.bin при компиляции проекта gothic. После успешной компиляции при включенной опции Automatic safe insert of the compiled files in game созданный *.dat файл и ou.bin (если проект gothic) будет скопирован в папку с игрой. При декомпиляции *.dat файла вам будет выдано предупреждение, что вся папка проекта будет очищена, в ней будут созданы новые файлы скриптов из *.dat файла. Поэтому, если у вас находятся в этой папке нужные файлы, их нужно скопировать куда-нибудь вручную.
    Команда Build → Stop Build останавливает процессы компиляции или декомпиляции.
    Команда Build → Options задает параметры процессов компиляции и (или) декомпиляции. В окне Build options вы можете задать уровень вывода сообщений на экран – Level of messages (рекомендуется уровень 0). Поле Insert spaces разрешает вставку дополнительных пробелов при декомпиляции скриптов между оператором if и условием оператора, а так же между именем функции и её аргументами. В поле Disable warning message вы можете запретить вывод на экран вниманий из процессов компиляции или декомпиляции. Function should return value и Argument should be uppercase – блокируют вывод соответствующих вниманий. При включенной опции Autocorrect uppercase argument производится автоматический перевод нужных аргументов функций в верхний регистр. Все эти и другие опции программы сохраняются в реестре или конфигурационных файлах.
    Окно Solution Explorer и работа с ним

    Все операции по изменению проекта или решения рекомендуется выполнять в этом окне. Доступны следующие команды локального меню:
    Add new Project to Solution – добавление нового проекта в существующее решение. При выборе этой команды выводится уже знакомое окно New project c заполненными по умолчанию полями: Solution name и Location. Работа с этим окном описана выше. Данная команда доступна только на элементе – Solution.
    Compile, Decompile – уже знакомые команды компиляции или декомпиляции проекта. Они доступны только на элементе Project активного проекта.
    Set at Active Project – команда выбора активного проекта, т.е. того проекта, работа с которым осуществляется в данное время. Данная команда дублирована командой меню Project → Set Active Project. При смене проекта выполняется запись всех изменений сделанных в нём в конфигурационный файл проекта автоматически или через запрос. Данная команда доступна только на элементе Project неактивного проекта.
    Delete Project – команда удаления проекта из решения. Проект будет удалён только из решения, папка проекта со всеми файлами останется на диске, если этот проект вам больше не нужен, вы можете удалить эту папку вручную. Данная команда доступна только на элементе Project неактивного проекта.
    New Folder – команда создания папки в нужном месте. Данная команда доступна только на элементах активного проекта.
    Delete Folder – команда удаления пустой папки. Данная команда доступна только на элементе Folder активного проекта.
    New Script File – команда создания нового файла скриптов в проекте. При выполнении этой команды будет выведено на экран окно диалога SRC Manager. В этом окне вам необходимо указать позицию нового файла скриптов внутри *.src файла. Работа с ним проста – необходимо курсором выбрать позицию в списке файлов, на которую будет вставлен новый файл. Причем, если включена опция Insert before cursor, новый файл будет вставлен перед курсором, в противном случае файл вставляется после курсора. В этом окне есть только одна кнопка OK, поэтому если вы неправильно выбрали место для файла, его необходимо удалить из проекта и затем вставить на нужное место в проекте командой Add Script File to Project. Данная команда доступна только на элементах активного проекта.
    Add Script File to Project – команда вставки в проект уже существующего файла скриптов. При выполнении этой команды вы выбираете нужный файл скриптов, затем он будет скопирован в выбранную папку проекта. Затем на экран будет выведено окно диалога SRC Manager. Работа с ним описана в предыдущей команде. Данная команда доступна только на элементах активного проекта.
    Open – команда открытия файла. При выполнении этой команды выбранный файл открывается в активном окне редактора скриптов. Другой способ вызова этой команды – двойной щелчок левой кнопкой мыши на элементе File. Данная команда всегда доступна только на элементе File.
    Delete – команда удаления файла из проекта. При выполнении этой команды файл удаляется из проекта и стирается его регистрация в *.src файле. Опционально файл может удаляться и с диска. Данная команда доступна только на элементе File активного проекта.
    Rename – команда переименования файла из проекта. При выполнении этой команды изменяется только имя файла, место его регистрации в *.src файле остается прежним. Данная команда доступна только на элементе File активного проекта.
    Окно Solution Explorer поддерживает ещё одну функцию по отслеживанию изменений на активном проекте, сделанных не из этой программы. Если файл скриптов был изменен или удален снаружи, то появляется окно предлагающее принять или отвергнуть эти изменения.
    Окно Class View и работа с ним

    В этом окне можно увидеть список всех данных, присутствующих в активном проекте. Выводится имя данных и тип. Данные отсортированы по следующим разделам:
    • Classes – дерево классов со списком членов.
    • Internal functions – список всех встроенных функций с аргументами.
    • Prototypes – список прототипов классов.
    • Instances – список инстанций (производных от класса или прототипа).
    • External functions – список всех функций скриптов с аргументами.
    • Global data – список всех глобальных констант и переменных проекта.
    В этом окне доступна только одна команда локального меню – Go to Declaration. При выполнении этой команды выполняется переход на декларацию выбранной переменной, т.е. в активном окне редактора скриптов открывается нужный файл с указанием места декларации переменной. Другой способ вызова этой команды – двойной щелчок левой кнопкой мыши на переменной.
    Содержимое данного окна участвует в автоматизации некоторых функций в редакторе скриптов. Оно создается только при загрузке проекта, при работе с проектом (добавление новых переменных, добавление файлов, удаление файлов или переменных и т.д.) содержимое этого окна не меняется. Поэтому, если вы хотите в этом окне видеть все изменения, сделанные в проекте, вам необходимо записать проект, затем его закрыть и снова открыть.
    Окно Message Window и работа с ним

    Это окно состоит из двух независимых окон – Build и Find in Files. В окно Build выводятся сообщения процессами компиляции и декомпиляции скриптов, а так же процессами обработки файлов моделей. В окно Find in Files выводятся сообщения процессом поиска фрагментов текста в файлах проекта.
    Функции, реализованные при работе с этими окнами идентичны. Рассмотрим их:
    Переход на файл скриптов выполняется двойным щелчком левой клавиши мыши на сообщении, если это сообщение ссылается на файл. В противном случае никакого действия не выполняется, и сообщение носит чисто информативный характер.
    Возможность просмотра и исправления ошибок в скриптах до окончания работы процесса. Во время процесса в этих окнах выводится всегда свежая информация, позволяющая наблюдать за ходом его выполнения. Если вам это не нужно, то можно щелкнуть мышью на элементе окна и прекратить вывод на экран информации. В этом случае вы получаете полный доступ к функциям этого окна, а процесс пишет сообщения в это окно в фоновом режиме. Вы их можете увидеть только после того, как прокрутите сообщения в окне вручную.
    Окно Message Window –> Build имеет локальное меню, через которое происходит навигация по ошибкам и вниманиям. Если локальное меню вызвать на последней строке окна, сообщающей количество ошибок и вниманий, и если они присутствуют, то появятся два пункта меню – Find Error и (или) Find Warning. При выборе этих пунктов выполняется переход на первую ошибку или внимание. Если локальное меню вызвать на ошибке или внимании, то появятся соответствующие пункты меню Goto next Error или Goto next Warning. При их выборе выполняется переход на следующую ошибку или внимание. Дополнительно изменяется цвет выбранной ошибки или внимания. Цветовая палитра такова: ошибка – красный цвет, внимание – синий цвет, текущая ошибка или внимание – зеленый цвет.
    Редактор скриптов и работа с ним

    Редактор скриптов состоит из двух элементов – Tab панели выбора файлов и собственно редактора файла.
    Tab панель выбора файлов предназначена для быстрого перемещения по нужным файлам как проекта, так и любым другим файлам. Панель имеет локальное меню со следующими командами:
    • Close – команда закрытия файла. При выполнении этой команды закрывается файл в редакторе. Другой способ вызова этой команды – щелчок средней кнопкой мыши на нужном элементе Tab панели.
    • Selection Color – выбор цвета Tab панели файла. Вы можете выбрать любой цвет из предлагаемого списка для файла проекта. Для «чужого» файла (не включенного в проект) выбирается только один цвет.
    • Options – команда задания цветов для панелей файлов. При выполнении этой команды на экран выводится окно Set Tab colors. В нем можно из предлагаемой палитры выбрать цвет «чужого» для проекта файла (Color of foreign file) или выбрать цвет по умолчанию для файла проекта (Color file by default). Если включить опцию Cyclic color of files, то цвет панели файлов проекта будет изменяться циклически по всей палитре при октрытии каждого нового файла. Цвет «чужого» файла из этого списка исключается.
    Редактор скриптов поддерживает все функции профессионального текстового редактора. Это следующие команды:
    • В меню File: New, Open, Close, Save, Save As и Recent Files.
    • В меню Edit: бесконечные очереди Undo и Redo, Cut, Copy, Paste, Delete, Select All, Find и Replace.
    В дополнение к этим командам реализовано выделение слова в тексте двойным щелчком левой кнопкой мыши и выделение всей строки текста одиночным щелчком левой кнопкой мыши на левой панели окна редактора. Любая строка представлена в окне статуса номером строки и номером столбца, на которых находится курсор.
    Все эти функции общеизвестны, поэтому в этом описании я их рассматривать не буду.
    Специальные функции редактора файлов скриптов рассмотрим подробно:
    1. Подсветка синтаксиса файлов скриптов

    Весь синтаксис скриптов Daedalus разделён на девять тем. Для каждой темы можно выбрать свой стиль, который включает размер и параметры шрифта, цвет шрифта и фона, а так же регистр вывода символов, т.к. скрипты являются регистронезависимыми. Параметры тем по умолчанию и заданные пользователем сохраняются в реестре и всегда доступны. Имя темы выводится на экран в окне статуса в поле Style, когда курсор располагается на элементе этой темы. Рассмотрим эти темы более подробно:
    • Common – это любой непечатаемый или невидимый на экране символ, включая пустые строки.
    • Comment – это любой комментарий в тексте скриптов.
    • Number – это любое число в тексте скриптов.
    • KeyWord – это ключевое слово синтаксиса Daedalus, т.е. class, const, else, float, func, if, instance, int, prototype, return, string, var и void.
    • String – это строка текста заключённая в кавычки.
    • Operator – это любой оператор скриптов, т.е. +, -, *, /, & и т.д.
    • Identifier – это имя любой переменной или функции, если оно не попадает в другую тему.
    • Global – это имя глобальной инстанции в скриптах, т.е. hero, item, other, self, victim.
    • Class – это имя класса скриптов, т.е. C_NPC, C_Info, C_SVM и т.д.
    Управление параметрами стиля конкретной темы производится из локального меню редактора. Первоначально выбирается нужная тема, т.е. курсор ставится на слово (символ) относящееся к теме (в строке статуса выводится имя темы). Далее в локальном меню редактора выбирается команда Set Style. На экран выводится окно Set Style – имя темы, в котором выбираются необходимые параметры стиля, это:
    • Select Font – выбор шрифта текста и параметров шрифта, здесь можно выбрать имя шрифта, размер шрифта, жирность, наклон и подчеркивание шрифта.
    • Text Color – выбор цвета текста.
    • Back Color – выбор цвета фона.
    • Case Mode – выбор отображаемого режима вывода текста на экран, в файл текст записывается так, как и вводится с клавиатуры. Возможны три режима – Mixed (регистрозависимый вывод), Upper (вывод в верхнем регистре) и Lower (вывод в нижнем регистре).
    • Default Style – выбор стиля по умолчанию для этой темы.
    В окне Sample Style в процессе выбора параметров можно видеть как будет выглядеть эта тема в редакторе.
    2. Панели окна редактора

    Реализовано три дополнительные панели в окне редактора, это:
    • панель выбора строки текста или указателя на строку, когда в файл осуществлен переход из другого окна программы. Указатель в этой панели показывает на искомую строку.
    • folder панель, отображающая уровень блочности текста скриптов. Подробно рассматривать не буду, т.к. после нескольких щелчков по ней всё становится понятно. Можно только отметить, что в окне статуса выводится номер уровня блочности – Folding Level. В меню Tools → Script Edit Options можно запретить показ этой панели, сняв опцию Folding.
    • панель номеров строк текста. В меню Tools → Script Edit Options можно разрешить показ этой панели, установив опцию Line Numbers.
    3. Функция автозавершения текста

    Эта функция работает в двух режимах - List Members (Ctrl + Space) и Auto Complete.
    Первый режим доступен из локального меню на любом слове скриптов. При её вызове на экран выводится отсортированный список всех переменных проекта, с выделенным в нем наиболее близким словом, если такое существует. Поиск в списке осуществляется по количеству введенных символов. В списке можно выбрать нужное слово, нажать Enter и слово будет вставлено в текст скрипта.
    Второй режим работает автоматически и предназначен для автозавершения ввода имени переменной класса. Этот режим активируется при вводе точки в редакторе после имени класса или имени его производной. На экран выводится отсортированный список имен переменных класса, где можно выбрать нужное имя. В меню Tools → Script Edit Options можно запретить этот режим, сняв опцию Auto Complete.
    4. Показ параметров функций скриптов

    Эта функция работает в двух режимах – Parameter Info (Ctrl + Shift + Space) и Auto Parameter Info.
    Первый режим доступен из локального меню при нахождении курсора на имени функции. При её вызове на экран выводится окно с полной декларацией функции. Перемещаясь курсором по функции можно видеть в окне соответствующий элемент функции.
    Второй режим работает автоматически и предназначен для помощи при вводе аргумента функции. Этот режим активируется при вводе открывающей скобки в редакторе после имени функции. На экран выводится подсказка, какого типа должен быть аргумент. Допускается вложенность имен функций, когда в качестве аргумента используется другая функция. В меню Tools → Script Edit Options можно запретить этот режим, сняв опцию Parameter Info.
    5. Показ информации о переменной скриптов

    Эта функция работает в двух режимах – Type Info (Ctrl + T) и Auto Type Info.
    Первый режим доступен из локального меню при нахождении курсора на имени переменной, класса и его производных или функции. При её вызове на экран выводится окно с полной декларацией типа.
    Второй режим работает автоматически и предназначен для быстрой помощи. Этот режим активируется при нахождении курсора мыши на нужном имени более Dwell Time миллисекунд. На экран выводится подсказка, какого типа эта переменная. В меню Tools → Script Edit Options можно запретить этот режим, сняв опцию Type Info, там же можно изменить время реакции Dwell Time.
    6. Автоотступ

    Эта функция работает автоматически. При вводе открывающей скобки блока { и последующего Enter выполняется отступ вправо на величину Indent Size. При вводе закрывающей скобки блока } и последующего Enter выполняется отступ влево на величину Indent Size. В меню Tools → Script Edit Options можно запретить этот режим, сняв опцию Auto Indent, там же можно изменить размер отступа в пробелах Indent Size. В редакторе можно видеть условные линии отступа, управляет этой опцией параметр Indent Guides в окне параметров редактора.
    7. Автоматическая запись измененных файлов

    Эта функция работает автоматически. По истечении заданного времени производится запись всех измененных файлов. В меню Tools → Script Edit Options можно запретить этот режим, сняв опцию Autosave modified files, там же можно задать время между сохранением файлов в минутах.
    8. Заворот длинных строк

    Эта функция заворачивает длинные строки (выходящие за пределы экрана) в несколько полновидимых строк. В меню Tools → Script Edit Options можно запретить этот режим, сняв опцию Wrap Lines. В локальном меню конкретного файла есть одноименная функция, действие которой распространяется только на этот файл, внезависимости от глобальной функции.
    9. Переход на строку текста

    Эта функция вызывается через локальное меню Go to line и выполняет переход на строку текста, номер которой введен в окне запроса.
    10. Навигация по декларациям переменных

    Эта функция состоит из двух команд локального меню: Go to Declaration - при выполнении этой команды выполняется переход на декларацию выбранной переменной, т.е. в активном окне редактора скриптов открывается нужный файл с указанием места декларации переменной. Return back – возврат обратно, т.е. в то место, откуда был выполнен переход на декларацию.
    11. Проверка скобок

    Эта функция проверяет соответствие скобок в тексте скрипта, т.е. если есть открывающая или закрывающая скобка, то функция ищет соответствующую ей противоположную скобку. Пара соответствующих скобок подсвечивается голубым цветом. Если соответствующая скобка не найдена, то исходная скобка подсвечивается желтым цветом. Функция работает со следующими скобками: (), {}, []. Данную функцию можно отключить в меню Tools → Script Edit Options сняв опцию Check Brackets.
    12. Проверка текста скрипта на ошибки

    Эта функция полностью проверяет активный файл скрипта на ошибки и внимания. Вызов функции Test of script on errors выполняется из локального меню редактора.
    Обработчики моделей

    С моделями Готики можно выполнять следующие операции – конвертация, компиляция и декомпиляция. Все обработчики доступны из меню Tools при закрытом проекте скриптов. Работа с моделями была подробно описана в версии программы 2.4, поэтому здесь остановлюсь только на изменениях, реализованных в этой версии.
    При вызове любого из обработчиков будет выведено на экран окно, в котором необходимо выбрать файл модели и указать рабочую папку, по умолчанию Gothic Projects.
    Так же необходимо указать исходную версию модели (Gothic или Gothic 2). В рабочей папке будут созданы все необходимые файлы для модели, ничего дополнительно вручную копировать в неё не нужно. Так же в ней будет воссоздана требуемая структура папок модели. Файлы из рабочей папки могут автоматически копироваться в игру (включена опция Automatic save insert of the compiled files in game) или использоваться для дальнейшей обработки. Обрабатываемые файлы моделей должны всегда находиться в следующей структуре папок, поддерживаемых игрой. Это папки _work\data\anims, включая подпапки и _work\data\textures, включая подпапки. Поэтому, если вы хотите обработать созданные в рабочей папке программой файлы, то их необходимо сначала вручную скопировать в эту структуру, поместив в неё же необходимые текстуры и запустить нужный процесс.
    Компилятор динамических моделей имеет опцию Partial Compilation, при включении которой выполняется компиляция только тех файлов, которые отсутствуют в модели. Эта компиляция полностью соответствует компиляции, которая выполняется экзешником.
    Вставка созданных файлов в игру

    В процессах компиляции скриптов и моделей, конвертации моделей реализована автоматическая безопасная вставка созданных бинарных файлов в игру. Все файлы копируются в нужные папки игры, при наличии в них одноименных файлов выдается запрос на их перезапись. Эта функция управляется из меню Tools → Insert Files Options. Она активируется, когда опция Automatic save insert of the compiled files in game включена и указаны папки игр Готика и Готика 2 (Path to Gothic, Path to Gothic 2).
    Модифицированный компилятор скриптов

    В компилятор скриптов добавлено несколько новых функций:
    1. Проверка строковых аргументов функций на верхний регистр.
    В некоторых функциях строковые аргументы, определяющие названия WP, фазы анимации, имена MOBов и т.д. должны писаться заглавными буквами, иначе в движке Готики возникает ошибка и функция выполняется неправильно. Компилятор выявляет большинство таких ошибок в следующих функциях:
    Код:
    func void AI_GotoWP(var c_npc n0, var string s0);
    func void AI_LookAt(var c_npc self, var string name);
    func void AI_PlayAni(var c_npc n0, var string s0);
    func void AI_PlayAniBS(var c_npc npc, var string aniname, var int bodystate);
    func void AI_PointAt(var c_npc self, var string name);
    func void AI_Teleport(var c_npc self, var string waypoint);
    func void AI_TakeMob(C_NPC npc, string mobName);
    func int AI_UseMob(C_NPC npc, string mobName, int state);
    func void AI_PlayCutscene(C_NPC npc, string csName);
    func void AI_OutputSVM(C_NPC npc, C_NPC target, string nameSVM);
    func void AI_OutputSVM_Overlay(C_NPC npc, C_NPC target, string nameSVM);
    func void AI_StartState(C_NPC npc, func state, int behaviour, string waypoint);
    func void AI_Snd_Play(C_NPC npc, string snd);
    func void AI_Snd_Play3D(C_NPC npc, C_NPC other, string snd);
    func void AI_PlayFX(C_NPC npc, C_NPC other, string video);
    func void AI_StopFX(C_NPC npc, string video);
    func void Mdl_ApplyRandomFaceAni(var c_npc self, var string name, var float timemin, var      float timeminvar, var float timemax, var float timemaxvar, var float probmin);
    func void Mdl_StartFaceAni(C_NPC npc, string ani, float intensity, float holdTime);
    func void Mob_CreateItems(var string mobname, var int iteminstance, var int amount);
    func int Mob_HasItems(var string mobname, var int iteminstance);
    func int Npc_GetDistToWP(var c_npc self, var string wpname);
    func int Npc_IsOnFP(var c_npc self, var string name);
    func void Npc_PlayAni(var instance n0, var string s1);
    func void Npc_StopAni(var instance n0, var string s1);
    func void TA(var c_npc self, var int start_h, var int stop_h, var func state, var string waypoint);
    func void TA_Min(var c_npc self, var int start_h, var int start_m, var int stop_h, var int stop_m, var func state, var string waypoint);
    func void Wld_InsertItem(var int iteminstance, var string spawnpoint);
    func void Wld_InsertNpc(var int npcinstance, var string spawnpoint);
    func void Wld_InsertNpcAndRespawn(var int instance, var string spawnpoint, var float spawndelay);
    func void Wld_SendTrigger(var string vobname);
    func void Wld_SendUnTrigger(var string vobname);
    func int Wld_GetMobState(C_NPC npc, string mobName);
    func void Wld_InsertObject(string objName, string point);
    func void Wld_SetObjectRoutine(int hour, int min, string objName, int state);
    func void Wld_SetMobRoutine(int hour, int min, string objName, int state);
    func void Wld_ExchangeGuildAttitudes(string tableName);
    func void Wld_StopEffect(string nameVfx);
    Если строка передается в функцию в константном виде, т.е. записана в кавычках – эта ошибка выявляется. Если строка передается в функцию через переменную, то такая ошибка не выявляется.
    2. Добавлена возможность получения string и float переменных из массива.
    3. Добавлена возможность возвращения функцией типа float.
    4. Убраны все внимания типа Possible error, function should return value из функций проверки условия диалога при следующем их написании:
    • имя функции завершается словом “_Condition”;
    • в конце функции есть блок if и в конце блока присутствует выражение return TRUE;
    Все оставшиеся внимания значимы и могут приводить к потенциальным ошибкам.
    Список «горячих» клавиш

    • Ctrl + A – выделить весь текст скрипта
    • Ctrl + C – копировать выделенный текст
    • Ctrl + V – вставить выделенный текст
    • Ctrl + X – удалить выделенный текст
    • Ctrl + N – создать новый файл
    • Ctrl + O – открыть файл скрипта
    • Ctrl + S – сохранить файл скрипта
    • Ctrl + F – найти в файле
    • F3 – найти следующий фрагмент текста
    • Ctrl + H – заменить в файле
    • Ctrl + Z – отмена изменения (undo)
    • Ctrl + Y – возврат изменения (redo)
    • Shift + F6 – конвертировать статическую модель
    • Ctrl + F6 – конвертировать динамическую модель
    • Alt + F6 – конвертировать анимированный меш
    • F7 – компилировать скрипты
    • Shift + F7 – компилировать статическую модель
    • Ctrl + F7 – компилировать динамическую модель
    • Alt + F7 – компилировать анимированный меш
    • F8 – декомпилировать скрипты
    • Shift + F8 – декомпилировать статическую модель
    • Ctrl + F8 – декомпилировать динамическую модель
    • Alt + F8 – декомпилировать анимированный меш
    • Ctrl + T – показать Type Info
    • Ctrl + Space – показать список переменных проекта
    • Ctrl + Shift + Space – показать параме6тры функции
    • Ctrl + W – заворот длинных строк
    • Ctrl + G – перейти на строку
    Автор статьи - Vam.
     
    Valik, Валера и Alliat поблагодарили.
Статус темы:
Закрыта.

Поделиться этой страницей