Esta guía le mostrará los pasos sobre cómo modificar Noble Fates. Cubriremos la configuración adecuada, haciendo su primera modificación, controles de fuente y más.
Esta guía asume que ya ha leído el eco de usuario de NF para modding. Situado esta página.
Trataré de mantener la repetición al mínimo. Si hay una referencia para algo, se vinculará en lugar de explicarse nuevamente.
Configuración
Se recomienda usar Visual Studio Code. He hecho una extensión para octdats para ayudar con la modificación. Puede buscar NF OctDat en VSC para obtenerlo. Enlace alternativo esta página.
Ve a Destinos nobles en Steam. Haga clic con el botón derecho en > Destinos nobles > Propiedades > Betas > Desarrollo
La rama Desarrollo admite dos opciones de línea cmd. Combina ambos para empezar a jugar inmediatamente.
- “-skipmenu” salta el menú principal y salta directamente a un nuevo juego.
- "-skipintro" salta la introducción y te deja en el juego.
Abre la carpeta del juego. Cree una carpeta "Mods" si aún no tiene una. Haz otra carpeta para tu mod.
Cree un nuevo archivo de texto y cámbiele el nombre MyMod.octdat, o cualquiera que sea el nombre de su mod.
Se explican OctMod.info y Preview.png esta página. Esto es para subir tu mod al taller de Steam. Si no desea cargar su mod, puede omitir esta parte.
Abra VSC y configure un espacio de trabajo. Puede hacerlo soltando las carpetas que desee en la barra lateral.
Generalmente mantengo 3 carpetas principales aquí.
- …\Steam\steamapps\common\Noble Destinos\Mods\ – Carpeta principal de modificaciones del juego
- …\Steam\steamapps\common\Noble Fates\Noble Fates_Data\StreamingAssets\OctDats – Todos los juegos OctDats
- …\NF\Mis Mods\OctDats – Esta es mi carpeta git repo.
Cuando lo configures como quieras, Archivo > Guardar espacio de trabajo como…
Haciendo tu primer mod
Abra la carpeta OctDats en su espacio de trabajo y vaya a Configuración > GameSettings.octdat
Aquí está el control deslizante de configuración Raid Chance del juego.
{ id Oct.Settings.Game.RaidChance type SliderSettingDefinition name = Raid Chance order = -900 categoría = min = 0 max = 2 pasos = .1 unidad = x defaultValue = 1 }
Analicemos esto un poco primero.
El ID es específico para cada objeto. Si desea editar un valor existente en el juego, debe usar la misma ID y TIPO. Solo necesita agregar la propiedad/valor que desea cambiar.
Abra su octdat y pegue lo siguiente en él. Establece el valor a lo que quieras.
Guarda el archivo y carga el juego.
Para verificar esta configuración, debe cargar en un juego nuevo o guardado. Opciones > Juego
{ id Oct.Settings.Game.RaidChance tipo SliderSettingDefinition max = 5 }
Podemos ver aquí que el mod sí funciona. ¡Felicitaciones!
Fuente de control
Si está familiarizado con esto, continúe y omita esta sección. De lo contrario, se recomienda encarecidamente que utilice algún tipo de control de código fuente.
Personalmente prefiero GitLab. En Windows, uso Software de escritorio GitHub. Es una buena interfaz gráfica de usuario todo en uno. Simple y fácil de usar. Nuevamente, esta es mi preferencia y puedes usar lo que quieras. Incluso si solo usa CLI.
Enlace a mi NF GitLab para referencia.
Si necesita ayuda, hay una cantidad infinita de información en la red sobre Git y el control de código fuente. Siéntase libre de pedir ayuda en la discordia también.
Batidora de vaso - Blender
Exportador:
- Animaciones
- Retire el cuerpo/cabeza
- Marque las nuevas acciones F (forzar usuario)
- Mata cualquier pista de NLA
- mallas
- Aplicar transformaciones
- Configuración de exportación
- FBX 7.4 binario
- Escala: .01
- Aplicar escalas: FBX Todo
- Compruebe !EXPERIMENTAL! Aplicar transformaciones
- Armaduras
- Desmarque Agregar huesos de hoja
- Eje óseo primario: Y
- Eje óseo secundario: -X
- Animación
- Desmarque Clave Todos los Huesos
- Desmarque Tiras NLA
Modos DLL
Esta guía asume que tiene experiencia en C# y en el uso de Harmony/Bepin. No se requieren Harmony o Bepin.
Te recomiendo que mires el ejemplo. GotasMod.
Configuración de Visual Studio
Deberás descargar Visual Studio si no lo tienes ya.
Opcional: Visual Studio 2017
Asegúrese de que la carga de trabajo de desarrollo de escritorio .Net esté marcada.
Al momento de escribir, solo debe agregar .Net Framework 4.7.1 SDK a la lista de verificación de instalación.
// Categoría .NET .//Herramientas de código Categoría
.NET Framework 4.6.1 SDK ClickOnce Publishing
Paquete de objetivos .Net Framework 4.6.1 Herramientas de análisis estático
.Net Framework 4.7.1 SDK Transformación de plantilla de texto
Paquete de destino de .Net Framework 4.7.1
Paquete de destino de la biblioteca portátil .Net .//Actividades de desarrollo Categoría
C# y Visual Basic
.//Nube, base de datos y servicio Cat.
Tipos de datos CLR para SQL Server
Fuentes de datos y referencias de servicios
.//Compiladores, herramientas de compilación y tiempos de ejecución N.° de cat.
Compiladores C# y Visual Basic Roslyn
MSBuild
Cómo Empezar
ILSpy & puntoPeek son excelentes herramientas para ayudar a ver el código del juego. ILSpy se explica por sí mismo. La información en la página vinculada explicará cómo usarlo. dotPeek es un programa separado.
Abra dotPeek. Archivo > Abrir↓
…\Steam\steamapps\common\Noble Fates\Noble Fates_Data\Managed → Assembly-CSharp.dll
Desde aquí puedes hacer referencia a todo el código de los juegos.
En Visual Studio
Puesta en marcha de un nuevo proyecto. Nombralo. Framework debe establecerse en .Net Framework 4.7.1
Agregue o elimine referencias según sea necesario.
Agregar referencias
En mi mod Alchemy, creé 2 nuevos comandos para acompañar el trabajo de Alchemy. Básicamente, esta es una copia de CookItemCommand.cs
namespace Alchemy { public class SynthesizeItemCommand : CraftItemCommand { public override string RelevantSkill() => "Alchemy"; SynthesizeItemCommand público (inicializador OctSaveInitializer): base (inicializador) { } SynthesizeItemCommand público (propietario del actor, banco de trabajo WorkbenchPropActor, receta ItemRecipe) : base (propietario, banco de trabajo, receta) { } cadena de anulación pública ToString() => this.partial != null ? "Alquimia" + este.elemento.parcial.tipo.GetName() : "Alquimia" + (objeto)esta.receta; } }
En el octdat se hace referencia como commandType = Alchemy.SynthesizeItemCommand
Después de compilar su proyecto, puede colocar estos 2 archivos en su carpeta mod. Esto es todo lo que necesita.
Eso es todo lo que estamos compartiendo hoy para este Destinos nobles guía. Esta guía fue originalmente creada y escrita por satoru. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este liga.