Керівництво моддінг, space engineers wikiru вики, fandom powered by wikia
Зберігати файли / МИР ФАЙЛИ
Кожен, згенерований вами, світ зберігається в окремій папці, яку можна знайти в c: \ Users \\ AppData \ Roaming \ SpaceEngineers \ Saves \\
- Sandbox.sbc - основний опис світу,
- SANDBOX_0_0_0_.sbs - визначення деталь світу, позицій і станів об'єктів (ми не маємо більше інформації на даний момент, але вона повинна бути дуже потребує пояснень - запустити деякі експерименти) Математичні інструменти
- VOX - двійкові дані воксельних для астероїда (ми не маємо більше інформації на даний момент)
- xmlcache - Не рекомендується змінювати ці файли, вони кеш файли Регенеровані на кожному заощадити
Файли з FX і розширення FXH є вершиною / піксельні шейдери для різних операцій рендеринга і можуть бути знайдені в steamapps \ common \ SpaceEngineers \ Content \ Effects2 \ Кожен шейдерний файл запускається перекомпіліровать при запуску гри. Якщо ви зміните один, перезапустити гру. Якщо гра вилітає при запуску, це, ймовірно, через помилки компіляції, викликаного зміною.
Settings for exporting textures
Моделі зберігаються в steamapps \ common \ SpaceEngineers \ Content \ Models \ і не можуть бути змінені в цей момент - вам буде потрібно інструмент для конвертації FBX для MWM, і ми ще не зробили його загальнодоступним.
Створення модів використовуючи новий API за допомогою мови C #
using System.Text; using System.Collections;
using System.Linq; using Sandbox.ModAPI;
Далі ми вказуємо простір імен і ім'я нашого класу.
public classBot: MySessionComponentBase
І тут розробники пропонують нам на вибір кілька варіантів як можна активувати свій код.
There are several ways to this
You add handler on MyAPIGateway.Utils.MessageEntered and execute your code depending on player input to chat
You can subclass MySessionComponentBase, add Attribute and it will get loaded before world and then updated each frame.
You can subclass MyGameLogicComponent, add Attribute and it will get hooked to any object 1) Можна повісити обробник події MyAPIGateway.Utils.MessageEntered (відправлено повідомлення в чат) і по спрацьовуванню тригера цієї події викликати вашу функцію з кодом. 2) Можна розширити клас MySessionComponentBase, в такому випадку ваш код може виконуватися при кожному перемальовуванні, або при завантаженні одного разу, що ми і зробимо в прикладі нижче. 3) І можна розширити клас MyGameLogicComponent який дозволить прівящать до будь-якого ігрового об'єкту. Про це напишу якщо будуть бажаючі. І так уявляю повну версію коду примітивного мода, який лише дублює наші повідомлення в чаті і виводить повідомлення.
public class Bot: MySessionComponentBase
public override void BeforeStart ()
MyAPIGateway.Utilities.MessageEntered + = new MessageEnteredDel ((string messageText, ref bool sendToOthers) => onMessage (messageText));
private void onMessage (String messageText)
MyAPIGateway.Utilities.ShowMessage ( "Bot", "player say:" + messageText);
Давайте тепер розберемо більш детально.
public class Bot: MySessionComponentBase - Ми розширили базовий клас
public override void BeforeStart () - переопределили базовий метод
MyAPIGateway.Utilities.MessageEntered + = new MessageEnteredDel ((string messageText, ref bool sendToOthers) => onMessage (messageText)); - І додали обробник подій, який при появі повідомлення в чаті викликає метод onMessage
Усередині методу onMessage ми звертаємося до 2 методам: 1) MyAPIGateway.Utilities.ShowMessage () - Пише повідомлення в чат, як перший аргумент приймається ім'я відправника (нік), другий аргумент - саме повідомлення.
'2)' MyAPIGateway.Utilities.ShowNotification () - Показує текстове повідомлення на екрані гравця.
Зберігаємо отриманий код, як bot.cs.
Заходимо по шляху - (У вас буква диска може бути іншою) C: \ Users \ [Ваш користувач] \ AppData \ Roaming \ Space Engineers \
Створюємо папку Mods, якщо її ще немає, в ній створюємо папки Bot \ Data \ Scripts \ BotScript \ сюди кладемо наш bot.cs
Повний шлях у мене виглядає так: 'C: \ Users \ sudoroot \ AppData \ Roaming \ Space Engineers \' Bot \ Data \ Scripts \ BotScript \ bot.cs
Запускаємо гру, або створюємо новий світ, або завантажуємо вже створений, до завантаження вам треба лише зайти в налаштування цього світу - mods - і додати наш мод.
Документація по інтерфейсів API
І так доступ до ігрового світу і її механіці ми отримуємо через клас MyAPIGateway.
Який в собі містить наступні інтерфейси: