Project Zomboid
Оцінок: 359
Como Moddear en Project Zomboid [ES]
Автор: Clash Royaler 69
Cansado de que todos los tutoriales para hacer Mods esten en ingles,chino,ruso y que ademas sean del 2014?. Yo tambien, por eso creo esta guia, donde voy a enseñarte desde 0 como crear tus primeros mods, de forma clara y sin rodeos. Mientras yo mismo sigo aprendiendo.
3
4
15
3
4
3
   
Нагородити
До улюбленого
В улюблених
Прибрати
Primeros Pasos
Lo primero que tenemos que hacer es preparar nuestro entorno, es decir descargar todos los programas y organizar las carpetas necesarias. En esta guia no voy a enseñar ni como programar ni como diseñar en 3D, ya que se haria demasiado largo.

PROGRAMAS NECESARIOS:
- un programa de diseño 3D (yo recomiendo Blender)
- un editor de texto para programar ( pueden usar el bloc de notas, aunque yo utilizo el sublime Text 3)

COMIENZO DEL TRABAJO:

Bien primero que nada hay que saber que nuestro mod se ubicara en una carpeta que contenda: la carpeta "media" donde va la cremita, un archivo "mod.info" donde guardaremos la informacion del mod (autor,nombre, ect) y una foto que sera la portada del mod. Quedaria de la siguiente forma:



Ahora deberemos abrir el archivo mod.info con el bloc de notas y escribir las siguientes lineas:

name=Mi Primer Mod
id=MiMod
poster=mifoto.png
description=Mi primer mod de prueba

No hace falta describir para que es cada linea, cuando terminemos con la carta de presentacion del mod, abrimos el juego y nos deberia aparecer lo siguiente:



Para finalizar esta primera parte vamos a crear y explicar las carpteas necesarias para que nuestro primer Mod funcione:

media/scrips ----> En esta carpeta crearemos los items junto con sus estadisticas (daño, peso, etc), las recetas de los items, asignaremos los modelos 3D y los sonidos.

media/models_x/weapons/1handed ----> En esta carpeta colocaremos los modelos 3D de las armas de 1 mano (que sera la que diseñemos en esta guia). Si quisieran diseñar un arma de 2 manos o un arma de fuego deben crear las carpetas 2handed y firearm.

media/textures ----> Aqui pondremos las texturas de los iconos de los items y armas

media/textures/weapons/1handed ----> Aqui pondremos las texturas del modelo 3D de nuestra arma de 1 brazo

Hay otras carpetas que son bastante importantes como la carpeta "lua" pero en esta primera parte no programaremos nada, por eso iremos explicando el funcionamiento de mas carpetas a medida que avance la guia.

Ahora si que comience lo chido.

Primer Arma: Machete Kukri
En la seccion anterior vimos como organizar las carpetas de nuestro Mod y un pantallazo de para que servian. Como comienzo en esta guia vamos a crear un machete Kukri. Las armas cuerpo a cuerpo son muy faciles de implementar ya que no requieren programar (casi), por eso es un buen comienzo.

Ahora si comenzamos a diseñar nuestro primer Mod.

Paso 1: Creamos el modelo en 3D junto con su Textura

Lo primero que tenemos que saber a la hora de crear modelos 3D para PZ es que los modelos de PZ se guardan con la extension .x . Probablemente vas a querer abrir alguno de los modelos bases del juego para guiarte o para tomar ideas y no encuentres ningun programa o los addons de blender no funcionan bien y tengas un pico de ansiedad. Tranquilo, hay una forma muy sencilla de modificar un archivo .x con blender sin utilizar ningun otro programa o complemento . Para esto vamos a tomar cualquier modelo .x y vamos a la siguiente pagina:

https://3d-convert.com/en/

Esta pagina nos permite convertir distintos tipos de archivos 3D, convertiremos el archivo .x en .fbx y luego lo importaremos con blender, esta herramienta tambien nos sirve a la inversa, es decir si tenemos un diseño ya hecho en blender y no sabemos como exportarlo a .x, solo lo tenemos que exportar como .fbx y luego lo convertimos en .x .

Bueno ahora simplemente diseñamos nuestra arma en blender (en internet hay muchisimos tutoriales de blender) y luego importamos algun modelo del juego base. ¿Para que? Para corroborar que nuestra arma este escalada correctamente. Luego de importar el Arma base del juego vamos modificando las escalas hasta que el arma del juego tenga el mismo tamaño que la nuestra:



Si nos fijamos en las propiedades, las escalas de nuestras armas son distintas. La escala a la que estan los modelos del juego es 0.01. Cuando escalen sus armas vana tener valores distintos a los mios pero la forma de calcularlo es la misma. En mi caso yo escale el machete con x:100 ; y:100 ; z: 100 y mi machete kukri x:1 ; y:1; z:1. entonces hacemos regla de 3 simples si el machete tiene una escala de 100 y deberia tener una de 0.01, mi kukri esta en 1 por lo que deberia estar en 0.0001.
De esta forma nuestra arma estara en el tamaño requerido por el juego. Tambien es importante que se fijen bien el sentido del arma, para que el personaje no la agarre por el fijo (por ejemplo).

Ya ajustado todo exportamos nuestra arma como .fbx y la convertimos a .x con el conversor. Y Uala, tenemos el modelo de nuestra arma.

Paso 2: Creamos el Item y su receta

Ahora que tenemos el modelo falta la parte funcional del mod, es decir tenemos que crear los objetos, las recetas y asignar los modelos y sprites.

Antes mencionamos todas las carpetas que tendria que tener nuestro mod, ahora vamos a comenzar a llenarlas. Comenzando con la carpeta scrips:

Vamos a crear 4 documento de texto con el nombre que queramos (Recominedo que pongan un nombre descriptivo ej: receta, armas, items, etc)

En el primer documento vamos a crear nuestro machete kukri:

module KukriMod
{
imports
{
Base
}

item kukri
{
MaxRange = 1.1,
WeaponSprite = kukri,
MinAngle = 0.67,
Type = Weapon,
MinimumSwingTime = 4,
KnockBackOnNoDeath = FALSE,
SwingAmountBeforeImpact = 0.02,
Categories = SmallBlade,
ConditionLowerChanceOneIn = 10,
Weight = 2,
SplatNumber = 2,
PushBackMod = 0.3,
SubCategory = Swinging,
ConditionMax = 15,
MaxHitCount = 2,
DoorDamage = 5,
SwingAnim = Bat,
DisplayName = kukri,
MinRange = 0.61,
SwingTime = 4,
KnockdownMod = 2,
SplatBloodOnNoDeath = FALSE,
Icon = kukri,
BreakSound = BreakMetalItem,
TreeDamage = 0,
CriticalChance = 15,
CritDmgMultiplier = 5,
MinDamage = 3,
MaxDamage = 3.5,
BaseSpeed = 1.3,
WeaponLength = 0.3,
DamageCategory = Slash,
DamageMakeHole = TRUE,
AttachmentType = Hammer,
}
}

En el segundo documento crearemos los items:

module KukriMod
{
imports
{
Base
}

item cabo
{
Weight = 0.5,
Type = Normal,
DisplayName = Cabo,
Icon = cabo,
}

item mango
{
Weight = 1.5,
Type = Normal,
DisplayName = Mango,
Icon = mango,
}
}

En el tercero las recetas:

module KukriMod
{
imports
{
Base
}
recipe Hacer mango
{
TreeBranch=1,
kepp HuntingKnife/KitchenKnife,

Result:mango,
Time:100,
Category:Carpentry,
OnGiveXP:Give10CarpentryXP,
}

recipe Hacer cabo
{
SheetMetal=1,
BlowTorch=5,

Result:cabo,
Time:500,
Category:Welding,
SkillRequired:MetalWelding=3,
OnGiveXP:Give50MWXP,
}

recipe Hacer Kukri
{
mango=1,
cabo=1,

Result:kukri,
time:100,
Category:Welding,
SkillRequired:MetalWelding=2,
OnGiveXP:Give20MWXP,
}
}

Y en el cuarto asignaremos los modelos:

module Base
{
model kukri
{
mesh = weapons/1handed/kukri,
}
}

Deberia quedarlos algo asi:


Ahora vamos con la carpeta models_x:

En esta carpeta pondremos el modelo.x que creamos. Como el kukri es un arma de una mano la pondremos en models_x/weapons/1handed

Por ultimo la carpeta textures:

En esta carpeta pondremos todos los sprites de los items( de 32x32 pixeles) con el nombre : "Item_.png" poniendo luego del guion bajo el nombre del objeto.
Dentro de la carpeta textures/weapons/1handed pondremos la textura del modelo 3D que creamos, blender tiene una herramienta que permite generar texturas:



De esta forma quedaria finalizado nuestro Mod, solo resta poner nuestar carpeta de mod en Users/User/Zomboid/mods y probarlo. Imagenes finales:






Con esto finalizamos la primera parte de esta guia, con esta guia ya pueden crear cualquier item o arma cuerpo a cuerpo, no explique mucho sobre los codigos porque me parece que son faciles de entender, para las estadisticas del arma solo deben modificar numeros, y si quisieran ver las propiedades de algun objeto o receta solo entren en la carpeta Media de ProyectZomboid en steam.
Segunda Arma: pistola de caza
En esta segunda parte vamos a ver como crear un arma de fuego.

Lo primero que tenemos que hacer es, como en el paso anterior crear nuestro modelo y nuestro objeto. Las armas de fuego tienen muchos mas parametros que las Armas a melee, por eso me tome el laburo de clasificarlas y traducir las que son mas raras. Aca se los dejo:

item pistolaCaza
{
/** Nombres y sprites**/

Type = Weapon,
DisplayName = Pistola de Caza ,
WeaponSprite = pistolaCaza,
Icon = pistolaCaza,

/** Agarre **/

TwoHandWeapon = FALSE,
AttachmentType = Holster,

/** Recarga y Municion **/

InsertAllBulletsReload = TRUE,
WeaponReloadType = revolver,
MaxAmmo = 1,
AmmoBox = ShotgunShellsBox,
AmmoType = Base.ShotgunShells,
ReloadTime = 12,

/** Caractersiticas Generales **/

MinDamage = 1.5,
MaxDamage = 2.5,
MinRange = 0.61,
MaxRange = 9,
MaxHitCount = 1, /** Numero de objetivos**/
Weight = 2,
AimingTime = 8,
MinAngle = 0.4, /** Angulo minimo**/
CriticalChance = 60,
CritDmgMultiplier = 4,
HitChance = 50,
RecoilDelay = 30,
ConditionMax = 10,
DoorDamage = 5,
SplatSize = 2,
KnockdownMod = 2,
MetalValue = 30,
JamGunChance = 0,
SplatNumber = 3,
PushBackMod = 0.3,
ToHitModifier = 3,
ProjectileCount = 1,
ConditionLowerChanceOneIn = 60,

/** Sonidos **/

SwingSound = stormyRevolverFire, /** Sonido de disparo**/
InsertAmmoSound = StormyShotgunInsertRound,
EjectAmmoSound = Stormy9mmClipEject,
RackSound = stormyRevolverClick,
BreakSound = BreakMetalItem,
ImpactSound = null,
SoundVolume = 75,
SoundRadius = 90,
SoundGain = 1.5,
NPCSoundBoost = 1.5,

/** Balanceo **/

SwingAnim = Rifle,
SwingTime = 0.5,
SwingAmountBeforeImpact = 0,
MinimumSwingTime = 0.5,

/** Modificadores por XP **/

AimingPerkCritModifier = 10,
AimingPerkRangeModifier = 1.5,
AimingPerkHitChanceModifier = 12,
AimingPerkMinAngleModifier = 0.05,

/** Condiciones **/

haveChamber = FALSE,
SplatBloodOnNoDeath = TRUE,
UseEndurance = FALSE,
MultipleHitConditionAffected = FALSE,
ShareDamage = FALSE,
IsAimedFirearm = TRUE,
KnockBackOnNoDeath = TRUE,
Ranged = TRUE,
SubCategory = Firearm,
RunAnim = Run_Weapon2,
}
No hay mucho mas misterio sobre lo que sigue, debemos crear un modelo .x (como en el paso anterior) y referenciar ese modelo en el scrips de models.

Algo mas interesante que podemos hacer es crear "Modificaciones de Armas", como seguro habran visto en el juego cuando equipamos algunas miras en los rifles estos cambian su modelo 3D, esto es mas bien sencillo, primero que nada deberemos crear nuestra modificacion como cualquier item. Yo voy a crear un modificador llamado "El Ruidoso", si no saben lo que es les recomiendo ver el siguiente video a partir del minuto 1:30

https://www.youtube.com/watch?v=zbNChhXsMV8&t=110s

Ahora sigamos, creamos El Ruidoso:



Nota: voy a ir actualizando la guia a medida que me libere de la universidad,me la subiria si le dan 5 estrellas, asi me motivo y me pongo tryhard a programar/diseñar. Cualquier consulta o propuesta no dudes en dejarla en los comentarios!!!!
Tambien voy a arbrir un canal de Twitch donde seguramente muestre como diseño y como pruebo mods y ideas en directo, si tienen ganas de sumarse no duden en hacerlo !!

https://www.twitch.tv/aladin_td

Un Diseño que realice el otro dia en directo:
Estado Actual de la Guia (Agosto 2022)
Incluyo esta sección para decirles que hace tiempo estoy laburando y estudiando, por lo que colgue una banda con seguir la guia y tambien hace bastante que no juego PZ :(.
Muchos siguen preguntando cosas o tienen dudas de como seguir a partir del final de la guia, por eso les tiro un par de consejos:

* Para añadir cualquier cosa nueva al juego, inviertan tiempo estudiando las carpetas del juego y la estructura del proyecto. Todo lo que aprendi en esta guia fue a base de leer archivos y experimentar cambiando valores. Posta que haciendo eso van a aprender un monton.
* Si quieren ir mas alla y agregar funciones mas complejos o incluso nuevos sistemas. Tomense el tiempo de aprender LUA, es el lenguaje que usa el juego. Aparte tambien les va a servir ver como estan programados otros Mods (para aprender... no se vayan a copiar jeje)
* Relacionado con lo anterior, si nunca programaron antes tambien les recomiendo invertir tiempo estudiando conceptos de programacion basicos y intermedios (OOP, patrones de diseño, etc).
* Cualquier cosa que hagan se va a hacer mas facil si se arman un grupo y dividen tareas(un programador y alguien que sepa blender seria la clave)

Si bien hace tiempo no estoy en contacto con PZ. No tengan dudas en preguntar cosas relacionadas a la programacion jeje. Por ultimo decirles que todo esto lleva mucho tiempo, asi que no se desanimen si al principio las cosas no les funcionan o se les rompe todo, yo pienso que para ser bueno en algo hay que dedicar un minimo de 10000 horas, por lo que cada hora que le metan, con o sin resultados, es una hora mas que suman para ser mejores en eso. Eso es todo chavales les deseo mucha suerte y si alguien quiere seguir aportando a esta comunidad es libre de copypastear toda esta guia para hacer la suya propia y continuar desde donde yo lo deje.
Коментарів: 61
Nomadic Steppe 13 лют. о 17:50 
Una duda.. como se suben los mod´s a steam, tengo uno completado y funcional pero ni idea de como publicarlo.
Markoh 7 січ. о 23:29 
ni siquiera puedo importar los archivos a blender, son .fbx y cuando los subo a blender no se ven, alguien tiene idea de cómo puedo hacer?
Zerok203 28 листоп. 2024 о 8:46 
Me rompo la cabeza, llevo tiempo buscando como diseñar una Tile interactuable
Sarv9208 2 жовт. 2024 о 22:24 
Yo intente una falda que modelan en blender en 5 min en youtube, y aunque no da error no aparece en el juego la falda, intente de todo y varias guias diferentes, pero nada
Alewolfo 12 трав. 2024 о 19:05 
Como me gustaria saber hacer un simple mod de cambiarle el sonido a un par de cosas por un meme
envirtgames 1 груд. 2023 о 6:22 
Tengo un problema con el mod, al iniciar el juego no aparece el modelo del arma ni la textura, ademas el crafteo del arma no funciona. Se que puse el modelo 3d en modelsX pero no entiendo bien el tema de los nombres de las texturas. Espero que alguien pueda ayudarme con este error :)
GrimReaper9512 6 жовт. 2023 о 5:32 
la verdad un lujo, despues voy a intentar crear mi propia arma. pero queria consultarte, como se hace para crear un mod de algun vehiculo por ej.
me interesa mucho esto.
Makuro 6 серп. 2023 о 11:05 
¿Como añado pelos? Quiero crear un mod del pelo de power de chainsaw man
TheMasterLag 14 черв. 2023 о 15:11 
me gustaria aprender a como usar el distribuibles.lua abro el mod y me crashea el menu :c
Thane Wolff 9 черв. 2023 о 15:44 
me gustaria saber como hacer un mod que agregue variantes de texturas al juego o crear un mod que agregue esos objetos como posters y autos sin remplazarlos y que solo cambie la textura del mismo