Modding:Ejemplos Básicos de Modificaciones

From Vintage Story Wiki
This page is a translated version of the page Modding:Basic Modding Examples and the translation is 100% complete.
Other languages:

This page was last verified for Vintage Story version 1.15.


Gran parte del contenido del juego se puede modificar libremente editando archivos de texto. Si te apetece juguetear, abre la carpeta de activos. Para localizarla en Windows, pulsa Winkey+R en Windows y luego pega esta línea %appdata%/Vintagestory/assets y pulsa intro.

Protip:
A partir de la versión 1.6 debes habilitar el informador de errores ejecutando el comando de chat /errorreporter 1 cuando modifiques archivos json. Con esto, si cometiste algún error mientras modificabas los archivos asset, el juego mostrará un diálogo mostrándote todos los errores que encontró.

En versiones anteriores del juego es necesario comprobar manualmente los archivos de registro en %appdata%/VintageStoryData/Logs/server-main.txt y client-main.txt


Conserve su contenido en caso de fallecimiento

Abre el archivo assets/game/entities/humanoid/player.json, busca la línea que empieza por server: {, debajo inserta attributes: { keepContents: true },

Esto debería evitar que el jugador deje caer su inventario al morir.

Cambiar la duración del sueño en las camas

Las camas en el juego Vanilla son bastante limitadas, ya que sólo te permiten dormir entre 3 y 5,5 horas cada noche. La mayoría de las veces los jugadores prefieren saltarse toda la noche. Para conseguirlo abre el archivo assets/survival/blocktypes/wood/bed.json.

Las líneas 8-11 deben contener estas líneas:

	sleepEfficiencyByType: {
		"bed-wood-*": 0.70833333,
		"bed-hay-*": 0.58333333,
		"bed-woodaged-*": 0.79166666
	},

El atributo sleepEfficiency es específico de la cama. En este caso un valor de 1 significa que el jugador puede dormir la mitad del día. La cama de heno tiene un valor de 0.58333333, lo que significa que el jugador puede dormir durante 12 * 0.58333333 = ~7 horas en el juego. Cambia el valor a cualquier cosa entre 0...1 y empieza el juego o sal y vuelve a entrar en tu mundo de un jugador. La próxima vez que duermas en la cama te saltarás esa cantidad de tiempo.


Hacer que los lobos sean menos peligrosos

Nuestro archienemigo favorito, el lobo. Si no te gusta el horror silencioso de las tierras invernales, podemos domarlo con unos cuantos retoques ;-) Abre el archivo assets/survival/entities/land/wolf-male.json


Las líneas 108-123 deben contener esto:

{
	code: "meleeattack",
	entityCodes: ["player", "chicken-rooster", "chicken-hen", "chicken-baby", "hare-*"],
	priority: 2,
	damage: 8,
	damageTier: 2,
	damageType: "SlashingAttack",
	slot: 1,
	mincooldown: 1500, 
	maxcooldown: 1500, 
	attackDurationMs: 800,
	damagePlayerAtMs: 500,
	animation: "Attack",
	animationSpeed: 2.5,
	sound: "creature/wolf/attack"
},

Esta es la configuración para la inteligencia de los lobos que le indica que debe inducir daño a los enemigos muy cercanos. Por defecto el lobo te daña 8 puntos de salud, lo que significa que cualquier jugador desprotegido muere en 3 ataques. Si lo cambiaras a 5, el lobo tiene que atacarte hasta 4 veces antes de que un jugador completamente curado muera.


Justo debajo está la tarea del enemigo buscando

{
	code: "seekentity",
	entityCodes: ["player", "chicken-rooster", "chicken-hen", "chicken-baby", "hare-*"],
	priority: 1.5,
	movespeed: 0.045,
	seekingRange: 15,
	
	belowTempSeekingRange: 25,
	belowTempThreshold: -5,
	
	animation: "Run",
	leapAtTarget: true,
	leapAnimation: null,
	animationSpeed: 2.2,
	leapChance: 0.01,
	sound: "creature/wolf/growl",
	whenNotInEmotionState: "saturated"
},

Quizás puedas leer que el lobo tiene un radio de búsqueda de 15 bloques. Esto significa que si el lobo encuentra a un jugador en un radio de 15 bloques, empezará a caminar hacia él. Cambiando eso a algo más bajo, como 5 bloques, significa que puedes acercarte mucho más a un lobo antes de que empiece a perseguirte.

¡Asegúrate de aplicar también los cambios al lobo hembra en wolf-female.json!


Jugando con la generación de mundos

Dentro de la carpeta assets, navega hasta assets/survival/worldgen/. Copie a un lado el landforms.json para que tenga una copia de seguridad, a continuación, abra el landforms.json. Elimine todo en este archivo y pegue el siguiente texto:

{
	code: "landforms",
	"variants": 
	[
		{
			"code":  "humongous mountain",
			"comment": "humongous mountains with caverns in them",
			"hexcolor": "#5BC184",
			"weight": 1.5,
			"useClimateMap": false,
			"terrainOctaves":          [0, 0, 0, 1,   1, 1, 1, 0.6, 0.15],
			"terrainOctaveThresholds": [0, 0, 0, 0.5, 0, 0,   0,   0, 0],
			"terrainYKeyPositions":    [0.000, 0.330, 0.370, 0.420, 0.430, 0.500, 0.600, 0.700, 1.000],
			"terrainYKeyThresholds":   [1.000, 1.000, 0.870, 0.840, 0.700, 0.940, 1.000, 1.000, 0.000]
		},
	]
}

Ahora, la próxima vez que crees un nuevo mundo de supervivencia, todo el mundo estará hecho de montañas gigantescas. Enhorabuena, ¡ya puedes llamarte oficialmente modder!

Explicado muy brevemente, este fichero define la lista de formas de tierra que pueden aparecer en el mundo. Cada sección encerrada entre { ... } es una forma de terreno. Si quieres, puedes jugar con los valores de terrainYKeyPositions y terrainYKeyThresholds y ver qué pasa (tienen que ser valores entre 0 y 1). Estos números básicamente determinan la forma del relieve a ciertas elevaciones.

Encontrará más información al respecto en la página Generación del mundo.

Jugando con los bloques

Puede modificar, añadir o eliminar casi cualquier bloque que desee, incluida su forma. Dentro de la carpeta de recursos:

  • Los bloques se encuentran en la subcarpeta blocktypes
  • Las texturas de los bloques en texturas/bloques
  • Las formas de los bloques están en blockshapes/ -- puedes abrirlas con nuestro creador de modelos personalizados


Por ejemplo, hagamos que el horno de pozo emita una luz roja y partículas enormes: