Bienvenido al recurso de modificación oficial para el Capitán del Juego de la Industria.
COI está actualmente disponible en Steam y está en la etapa de acceso temprano. Si bien el modding es posible, aún no se compatece oficialmente. Estamos trabajando continuamente para mejorar el soporte y la documentación de modificación.
Tenga en cuenta que el soporte del MOD es experimental y las API podrían tener cambios rotos. Si tiene problemas, siempre examine los registros en el directorio %APPDATA%/Captain of Industry/Logs
, contienen mucha información útil. Si desea discutir temas de modificación con la comunidad y los desarrolladores, visite nuestro canal Discord #Modding-Dev-General (necesitará asignarse un papel Mod creation
en #pick-your-roles-here
Channel). También puede presentar problemas aquí en GitHub, pero el tiempo de respuesta de nuestro equipo podría retrasarse.
Para comenzar a modificar COI, deberá:
Properties...
-> Local Files
-> Browse
.C:/Steam/steamapps/common/Captain of Industry
).COI_ROOT
y establezca su valor en la ruta de la raíz del juego copiada anteriormente. En Windows, use la práctica herramienta Edit environmental variables
, simplemente abra el menú de inicio y escriba Edit env
y debería verlo.ExampleMod
en la configuración Release
ubicada en src/ExampleMod/ExampleMod.sln
. Recomendamos usar Visual Studio, pero no dude en usar cualquier otra herramienta, como el comando dotnet build
Console. En Visual Studio, debería ver todos los conjuntos dependientes vinculados correctamente. Si no es así, y está viendo muchos errores, verifique su variable ambiental COI_ROOT
, intente reiniciar.ExampleMod.dll
in /bin/Release/net471
.%APPDATA%/Captain of Industry
.Mods
de directorio. Dentro de él, cree un nuevo directorio que tenga el mismo nombre que su Mod DLL, en nuestro caso, es ExampleMod
. Copie el ExampleMod.dll
compilado allí, de modo que esté en %APPDATA%/Captain of Industry/Mods/ExampleMod/ExampleMod.dll
. Tenga en cuenta que el nombre del directorio y el nombre de DLL deben coincidir.Miscellaneous
habilite el soporte del mod y reinicie el juego para que la configuración entre en vigencia.ExampleMod
se carga localizando un nuevo nodo en el árbol de investigación (abierto con la tecla G
). En el caso de cualquier error, examine los registros en el directorio %APPDATA%/Captain of Industry/Logs
.Se pueden crear activos como iconos o modelos 3D utilizando el editor Unity. Actualmente usamos Unity 2022.3.5f1 y se recomienda usar la misma versión para evitar incompatibilidades.
La configuración de la unidad única necesaria para las herramientas MAFI para funcionar correctamente.
src/ExampleMod.Unity
. No lo abras todavía.UnityRootSymlink
en srcExampleMod.UnityLibrary
que apunta a la carpeta de instalación de Unity (p C:Program FilesUnityHubEditor2022.3.5f1
Esto se puede hacer invocando el comando mklink /D <target> <srouce>
en la ventana de consola con priviligios administrativos. Por ejemplo: mklink /D "C:CaptainOfIndustryModdingsrcExampleMod.UnityLibraryUnityRootSymlink" "C:Program FilesUnity"
. Cuando navegue al UnityRootSymlink
debería ver un solo directorio Editor
en él.src/ExampleMod.Unity/Assets/DLLs/create_dll_hardlinks.bat
lotes. Deberá ejecutarlo bajo privilegios de administración (haga clic derecho, ejecute como administrador).src/ExampleMod.Unity/Assets/ExampleModScene.unity
en el editor Unity. Esto se puede hacer a través de Unity Hub seleccionando Open project from disk
en la pestaña Projects
. Asegúrese de seleccionar la versión de Unity correcta si tiene múltiples instalados.MaFi
en el menú superior en el editor Unity. Si no, las DLL vinculadas no se cargaron correctamente y no podrá crear activos.ExampleModScene
haciendo doble clic en él en el panel Proejct
(está en el directorio Assets
).Edit
-> Preferences
).External tools
-> External script editor
-> Open by file extension
. Esto dejará de regenerar archivos del proyecto y colocar rutas absolutas en lugar de relativa.General
-> Disable Editor Analytics
(si puede y desea).Los siguientes pasos describen cómo empacar iconos, por ejemplo, para nuevos productos.
Assets
, cree <mod name>/<icons categor>
Directorio, en nuestro caso que sea ExampleMod/ProductIcons
.Sprite (2D and UI)
y aplique el cambio.asdf
o elegir cualquier uno existente.Copy Path
. Ese camino se puede usar para cargar su prefabricación en el juego. Nota: A diferencia de los modelos 3D, las texturas no necesitan crear una prefab
creada.
Los siguientes pasos describen cómo crear una plantilla de modelo 3D que sea muy beneficiosa en la creación de modelos 3D de edificios.
ExampleMachineData.cs
)."TODO"
ya que todavía no tenemos prefabricado.generate_layout_entity_mesh_template
seguido de su ID de entidad. Esto generará un archivo OBJ en %APPDATA%/Captain of Industry/Misc/GeneratedMeshTemplates
que representa un cuadro de diseño delimitador 3D de su nueva entidad con ubicaciones de puertos exactas.Los siguientes pasos describen cómo empaquetar un modelo 3D.
Assets
, cree <mod name>/<model name>
directorio, en nuestro caso que es ExampleMod/ExampleModel
..prefab
. En nuestro ejemplo, creamos la prefabricación en el directorio <mod name>
.asdf
o elegir cualquier uno existente.Copy Path
. Ese camino se puede usar para cargar su prefabricación en el juego. Una vez que sus activos estén listos, siga estos pasos para empaquetarlos con su mod. Las modificaciones se publican en un directorio con el mismo nombre que su DLL MOD, en nuestro caso tenemos ExampleMod/ExampleMod.dll
. Ahora podemos agregar paquetes de activos al mismo directorio.
Ctrl+S
).[MaFi] Build asset bundles
. Una vez que la Unidad se termina del procesamiento, los archivos de paquete de activos se pueden encontrar en el directorio src/ExampleMod.Unity/AssetBundles
.src/ExampleMod.Unity/AssetBundles
a la carpeta AssetBundles
junto a MOD DLL, por ejemplo %APPDATA%/Captain of Industry/Mods/ExampleMod/AssetBundles
.YourPrefabName_xxxx
, sin extensión) y el archivo mafi_bundles.manifest
. Todos los demás archivos .manifest
podrían eliminarse, así como el archivo AssetBundles
. Si realiza algún cambio en sus prefabricados, simplemente reconstruya los paquetes de activos y copie use los nuevos archivos del directorio de AssetBundles
.