Cómo crear un mod usando Microsoft Visual Studio (MVS) [tModLoader 0.4.1]

Cómo crear un mod usando Microsoft Visual Studio (MVS) [tModLoader 0.5]

Traducido y complementado por Warten. Enlace al original. (En Inglés)
¡Atención! haz preguntas estúpidas como: ¿Por qué no funciona el idioma ruso? Conducirá al autor a una furia salvaje.

principio
Recuerde: si su religión prohíbe leer las preguntas frecuentes, buscar en Google y utilizar un traductor, no puede esperar a recibir ayuda aquí. General.

  • Establecer tModLoader
  • Asegúrese de tener instalado .NET Framework más reciente: Microsoft-.NET-Framework-4.52.exe [1.07 Mb] (Descargas: 7), Microsoft-.NET-Framework-4.6.exe [1.43 Mb] (Descargas: 12).
  • Asegúrese de tener archivos .dll de XNA Framework (o descargue XNA_Framework.zip [404.02 Kb] (Descargas: 13)).
  • Descargue e instale Microsoft Visual Studio, Community Edition - vs_community.exe [2.96 Mb] (Descargas: 24). (Instale con el espacio de trabajo de C #. ¡Advertencia!: Instale en inglés) ¡Es solo por 30 días! Más tarde, debe registrar una cuenta para desactivar. sitio web e ingrese al programa, es gratis.
  • Y, por supuesto, conocimientos básicos de C #. Es fácil, lea tutoriales, guías y realice cualquier programa regular antes de comenzar a modificar.

Hay algunas cosas que debe saber antes de comenzar a modificar:

  • En primer lugar, este manual es para tModLoader y puede (o no) cambiar a medida que lo actualizamos.
  • Asegúrese de tener la última versión de Microsoft .NET Framework (4.5 o superior) para evitar problemas.
  • Terraria usa bibliotecas de XNA Framework, por lo que necesita DLL en su mod. Son necesarios para evitar errores al escribir código. Puede descargar el mío o buscarlo usted mismo si tiene el XNA Framework (preferido).
  • Y, por supuesto, no se olvide de Microsoft Visual Studio.

introducción
MVS le ayudará a completar automáticamente el código mostrando errores y, en general ... hará que el proceso de escritura de código sea mucho más rápido y sencillo.
Microsoft Visual Studio es una aplicación para crear muchos tipos de programas. Probablemente hayas oído hablar de él antes, y tal vez alguien incluso lo haya usado :)
Si es la primera vez que usa MVS, le recomiendo que primero revise / lea las guías / tutoriales de C #. Hay muchos de ellos en Internet.

Cómo crear su mod (en adelante, proyecto) en MVS
Es mejor usar MVS con el inglés instalado. ¡lengua! Después de la instalación y el lanzamiento, verá la página de inicio, ciérrela. Luego haz todo como en la lista.

  1. Haga clic en Archivo -> Nuevo -> Proyecto (Plantillas -> Otros tipos de proyectos -> Soluciones de Visual Studio) y asígnele el nombre "Fuentes de modificación" (sin comillas).
  2. Establecer ubicación: documentos \ Mis juegos \ Terraria \ ModLoader
  3. Haga clic en Aceptar
  4. Haga clic en Agregar -> Nuevo proyecto -> Windows -> Escritorio clásico -> Proyecto vacío
  5. Ingrese el nombre del mod (en inglés, sin caracteres especiales ni espacios)
  6. Haga clic en Aceptar
  7. Haga clic derecho en el nuevo proyecto (Derecha) -> Agregar -> Clase (asígnele el mismo nombre que nombró el mod)
  8. Luego escribe el código como aquí: (MODNAME es el nombre de tu mod)
    using Terraria.ModLoader; namespace MODNAME { public class MODNAME : Mod { public override void SetModInfo(out string name, ref ModProperties properties) { name = "MODNAME"; properties.Autoload = true; } } }
  9. Ahora cree un archivo .txt simple. Ingrese estas líneas allí:
    author = Este es tu apodo, nombre, lo que sea, escribe lo que quieras;
    versión = versión, cualquier dígito;
    displayName = este es el nombre del mod que se mostrará en el menú, aquí ya puedes escribir espacios, caracteres especiales, ¡pero no puedes usar cirílico! (Letras rusas)
    De esta manera:author = NAME version = 0 displayName = MOD NAME
  10. Suelta el build.txt resultante en tu proyecto (solo arrastra y suelta)
  11. Luego haga clic derecho en su proyecto -> referencias -> Agregar referencia (Agregar bibliotecas (.dll) que descargó y modificó Terraria.exe (con el modloader instalado, ya sabe))
  12. Eso es todo, ahora puede iniciar terraria y construir el mod en la pestaña de fuentes de mod para verificar si hizo todo bien. Si no, repita.

Tips
Algunos consejos:

  • Intente mantener limpios los nombres internos como espacios de nombres y clases. Es decir, trate de evitar caracteres especiales, espacios, guiones, etc. etc.
  • Si no entiende nada, pregúntese: ¿Tiene algún conocimiento de C # en este caso? Si no es así, lea los tutoriales / guías de C # y luego regrese.

Mis consejos

  • Eche un vistazo al código fuente de ExampleMod con cuidado, contiene casi todo lo que tModLoader puede hacer en este momento.
  • Nota para MVS, crea una carpeta .vs que se mostrará en la pestaña de fuentes de mod. Por ahora, ignórala.
  • Antes de comenzar a modificar, al menos debe conocer los conceptos básicos de C #.
    En su mayoría, puede aprender estos conceptos básicos creando aplicaciones de consola.
    ¡No tenga miedo de intentar hacer algo usted mismo!
    La experiencia en la programación de otras aplicaciones será una gran ventaja en el futuro.

Tutoriales de C # (en inglés. Búscalo tú mismo en ruso).

Enlaces adicionales.

  • Documentación (ing)
  • Publique tModLoader'a en la oficina. foro. (También en inglés. Una solicitud del autor, no corra allí para preguntar nada en ruso, en la mayoría de los casos simplemente lo ignorarán)
  • ID de artículos, mosaicos, etc.

Creando sus archivos de proyecto
Elaboración de un artículo:
Consejo: El nombre y la textura del artículo deben ser iguales.
Consejo: Esta cosa "//" se llama comentario, el programa ignora todo lo que está escrito después. Y sí, puedes escribir cirílico aquí.

Mostrar / Ocultar texto
Primero, cree una carpeta de elementos. Simplemente haga clic derecho en su proyecto -> Agregar -> Crear carpeta. En general, la carpeta puede tener cualquier nombre, pero es mejor no desviarse del canon.
Ahora cree un archivo para su artículo: haga clic derecho en la carpeta -> Agregar -> Clase. (Mayús + Alt + C)
Las directivas de uso inútiles aparecerán en su archivo, elimínelas. En su lugar, agregue otros que necesitemos más:
usando Terraria; // propia terraria
utilizando Terraria.ID; // ID de elementos, partículas, npc, etc.
utilizando Terraria.ModLoader; // que usamos para hacer el mod
A continuación, vemos el nombre de la clase (su elemento, no olvide cambiar el nombre del ItemName), agregue ": ModItem" después de él
{
class ItemName: ModItem // Le decimos al programa que esta cosa es un elemento
Luego agregue SetDefaults
{
public override void SetDefaults () // propiedades del elemento
{
// escribir propiedades aquí
}
}}
¡Eso es todo! Ahora puede editar las propiedades del elemento.
Aquí hay una lista de propiedades. (No todo aquí.)

// int = 1, float = 0.01f, double = 1.00, bool = true o false,
item.name = "Nombre del artículo"; // el nombre del elemento que se mostrará en el juego.
item.maxStack = 99; // Max. cantidad, int
item.value = 01020304; // donde 01Plato 02Oro 03Plata 04Cobre, es decir, 1 platino, 2 oro, 3 plata y 4 kopeks, int.

item.consumable = true; // el artículo desaparece después de su uso, bool
item.healLife = 20; // cura xn, int
item.healMana = 20; // restaura maná, int

item.damage = 20; // daño, int
item.melee = true; // tipo de daño, puede escribir item.magic, item.ranged, item.summon, item.thrown en su lugar. bool
item.crit = 20; // oportunidad crítica, int
item.knockBack = 2; // qué tan lejos vuela la mafia después de golpear, int
item.mana = 20; // cuánto maná se usa, int

item.width = 40; // ancho del artículo, int
item.height = 40; // altura del artículo, int
item.toolTip = “”; // cualquier texto
item.toolTip2 = “”; // texto
item.rare = 2; // rareza, int
item.expert = false; // color del arco iris como artículos de expertos y expertos, bool

item.accessory = true; // vestido como un accesorio, bool
item.defense = 20; // cuánta protección da, int
item.lifeRegen = 5; // regeneración, int
item.manaIncrease = 20; // agrega max. mana, int

item.axe = 5; // el elemento funciona como un hacha, int * 5
item.hammer = 25; // como un martillo, int
item.pick = 25; // como un pico, int

item.useTime = 15; // tiempo de uso en ticks, int
item.useAnimation = 30; // animación en el juego, entonces qué tan rápido cambiaremos la textura, int
item.useStyle = 1; / * cómo lo usamos: 1 - agitar, 2 - usarlo como poción, 3 - empujarlo como dagas,
4 - lo levantamos con nuestras manos, 5 - simplemente lo sostenemos en nuestras manos (libros, armas de fuego, etc.), int * /

item.shoot =; // con qué dispara el objeto, int ID
item.shootSpeed ​​= 10f; // velocidad, flotar
Agregar una receta:
Primero necesitamos agregar AddRecipes
{
public override void SetDefaults () // propiedades del elemento
{
// escribir propiedades aquí
}
anulación pública void AddRecipes ()
{
// escribe la receta aquí
}
}}
Luego agregamos el resto:

Receta ModRecipe = nueva ModRecipe (mod); // decimos que esto es una receta
receta.AddIngredient (ItemID.DirtBlock, 2); // agregamos un bloque de tierra a la receta. Puedes escribir ID
receta.AgregarIngrediente (ItemID.DirtWall, 8); // muro de tierra
receta.AddTile (TileID.WorkBenches); // la elaboración requiere un banco de trabajo
receta.SetResult (esto, 99); // Terminamos con 99 artículos
receta.AddRecipe (); // fin de la receta
Hacer un accesorio con el artículo
Agregar UpdateAccessory ()
{
public override void SetDefaults () // propiedades del elemento
{
// escribir propiedades aquí
}
public override void UpdateAccessory (jugador jugador)
{
// propiedades de los accesorios
}
anulación pública void AddRecipes ()
{
// escribe la receta aquí
}
}}
Propiedades de los accesorios:

// + = suma, - = resta, * = multiplica, / = divide
player.meleeDamage + = 10f; // daño cuerpo a cuerpo, flotar
player.thrownDamage + = 10f; // daño lanzado, flotar
player.rangedDamage + = 10f; // daño a distancia, flotar
player.magicDamage + = 10f; // daño mágico, flotar
player.minionDamage + = 10f; // daño de minion, flotar

player.statDefense + = 100; // protección, int
player.moveSpeed ​​+ = 100; // velocidad, int
player.maxMinions + = 10; // máx. miniens, int

player.lifeRegen + = 10; // regeneración xn, int
player.manaRegen + = 10; // regeneración de maná, int

player.waterWalk = true; // caminar sobre el agua, bool
player.noFallDmg = true; // daño por altura, bool
player.jumpBoost = true; // salto más alto, bool
player.lavaImmune = true; // lava inmun, bool
player.lifeForce = verdadero; // + 20% hp?, Bool
player.lifeMagnet = true; // atrae corazones
player.lifeSteal = 5; // Lifesteel, int
player.jumpSpeedBoost = 10; // velocidad de salto, int
player.manaCost - = 10; // costo de maná, int
player.nightVision = true; // visión nocturna, bool

player.magicCrit + = 10; // En t
player.rangedCrit + = 10; // int
player.meleeCrit + = 10; // En t
player.thrownCrit + = 10; // int
jugador. // los minions no critican

player.dash = 1; // tirón, int
player.dashDelay = 10; // tiempo entre tirones, int
player.AddBuff (BuffID.Shine, 5, falso); // agrega buff, int ID, int TIC, bool

Descarga gratuita de TerrariaGo - Everything for Terraria (Terraria)
Añadir un comentario