Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
Моды в Core Engine представляют собой папку с кодом, изображениями и текстурами, подхватываемых движком. | Моды в Core Engine представляют собой папку с кодом, изображениями и текстурами, подхватываемых движком. | ||
− | + | == Общее == | |
В папке с модом находятся следующие объекты: | В папке с модом находятся следующие объекты: | ||
Строка 19: | Строка 19: | ||
*resources - необязательна, разработчик может собирать из нее текстурпак для мода. | *resources - необязательна, разработчик может собирать из нее текстурпак для мода. | ||
− | + | == Структура скриптов == | |
Весь код, конечно, можно писать и в main.js. Но это неудобно, к тому же при малейшем расширении кодовой базы большинство текстовых редакторов начинают тупить.<br/> Для удобной работы с кодом можно распределить его по нескольким файлам, а потом склеивать содержимое и сохранять все в main.js.<br/> Core Engine делает это автоматически. Все нужные файлы кода должны лежать в папке dev. В отличие от аддонов Factorization, можно распределять части скрипта по подпапкам. | Весь код, конечно, можно писать и в main.js. Но это неудобно, к тому же при малейшем расширении кодовой базы большинство текстовых редакторов начинают тупить.<br/> Для удобной работы с кодом можно распределить его по нескольким файлам, а потом склеивать содержимое и сохранять все в main.js.<br/> Core Engine делает это автоматически. Все нужные файлы кода должны лежать в папке dev. В отличие от аддонов Factorization, можно распределять части скрипта по подпапкам. | ||
Строка 28: | Строка 28: | ||
//кстати, эти комментарии будут находиться прямо в main.js(!), так что используйте это, если не хотите заблудиться там ;)</pre> | //кстати, эти комментарии будут находиться прямо в main.js(!), так что используйте это, если не хотите заблудиться там ;)</pre> | ||
− | + | == <br/> Подключение библиотек == | |
В Core Engine существует система особых скриптов — библиотек. Они загружаются вместе с первым модом, который использует данную библиотеку, и доступны в коде других модов с этим же скриптом.<br/> Все библиотеки хранятся в папке lib. | В Core Engine существует система особых скриптов — библиотек. Они загружаются вместе с первым модом, который использует данную библиотеку, и доступны в коде других модов с этим же скриптом.<br/> Все библиотеки хранятся в папке lib. |
Моды в Core Engine представляют собой папку с кодом, изображениями и текстурами, подхватываемых движком.
В папке с модом находятся следующие объекты:
Весь код, конечно, можно писать и в main.js. Но это неудобно, к тому же при малейшем расширении кодовой базы большинство текстовых редакторов начинают тупить.
Для удобной работы с кодом можно распределить его по нескольким файлам, а потом склеивать содержимое и сохранять все в main.js.
Core Engine делает это автоматически. Все нужные файлы кода должны лежать в папке dev. В отличие от аддонов Factorization, можно распределять части скрипта по подпапкам.
Во время загрузки мода, если имеется dev, движок читает специальный файл-"манифест" .includes внутри dev, содержащий список файлов, подлежащих сборке. Добавлять скрипты в этот манифест очень легко. Для этого введите его путь и сохраните файл.
lol.js //движок будет искать файл %папка мода%/dev/lol.js syka/blyad.js //а тут путь %папка мода%/dev/syka/blyad.js //кстати, эти комментарии будут находиться прямо в main.js(!), так что используйте это, если не хотите заблудиться там ;)
В Core Engine существует система особых скриптов — библиотек. Они загружаются вместе с первым модом, который использует данную библиотеку, и доступны в коде других модов с этим же скриптом.
Все библиотеки хранятся в папке lib.
Чтобы создать свою библиотеку, напишите обычный скрипт и засуньте его в папку lib. В конце файла добавьте:
registerAPIUnit(псевдоним, значение)
Псевдоним - имя, под которым значение будет доступно в модах, использующих библиотеку.
Значение - тут все, что угодно - метод библиотеки, объект, просто число или строка.
Повторите этот метод для всех нужных значений.
Для подключения библиотеки к вашему моду закиньте ее в папку lib. Пропишите в нужном месте мода метод:
importLib(название библиотеки, псевдоним);
Название библиотеки - название файла скрипта с ней без js в кавычках.
Псевдоним - нужный вам псевдоним из указанной библиотеки в кавычках. Если вам нужно все ее содержимое, пропишите универсальный псевдоним "*".