Red de conocimiento informático - Consumibles informáticos - Análisis del código de la receta de la hambruna

Análisis del código de la receta de la hambruna

Durante Don't Starve, los jugadores pueden aprender sobre su propia versión de las últimas recetas leyendo códigos, en lugar de esperar días para encontrar las últimas recetas en línea. A continuación, compartamos el análisis del código de la receta de la hambruna en el espacio profundo. Los jugadores interesados ​​pueden venir y echar un vistazo.

Probablemente hay dos desventajas: el primer código está en inglés, lo que probablemente requiere un nivel de inglés de escuela secundaria para entenderlo, y puede ser un poco difícil que algunos platos correspondan a la versión china en comparación; Con herramientas y páginas web convenientes, el código no es una interfaz de usuario amigable, un poco aburrida.

Archivo de código encontrado. Tome SW como ejemplo: ingrese a la carpeta de instalación del juego e ingrese: data-DLC0002-scripts.

Hay tres archivos de código principales relacionados con recetas. Primero busque cooking.lua dentro y ábralo con el Bloc de notas. Lo que se registra aquí es el atributo de grado del alimento básico. Busque "AddIngredientValues" en el Bloc de notas para encontrar la primera aparición del mismo. Actualmente, todos deberían:

Frutas nativas = {granada, fruta del dragón, cave_banana}

AddIngredientValues(fruit, {fruit=1}, true)

De Desde las dos líneas anteriores hasta la última línea donde aparece AddIngredientValues, el contenido entre estas dos líneas son los atributos de los alimentos que nos interesan. El significado de estas dos líneas es:

La fruta se define como granada, fruta del dragón, plátano (cave_banana), y el carácter frutal de todos los alimentos de la fruta es 1 (es decir, fruta = 1).

Por ejemplo

AddIngredientValues({durian}, {fruit=1, monster=1}, true)

Esta línea dice que durian tiene 1 grado de fruta (fruta =1) y 1 grado de monstruo (monstruo=1).

Una línea de código que comienza con "-" es un comentario y no afecta al juego, por ejemplo:

- AddIngredientValues({seeds}, {seed=1}, true )

Esta línea está comentada, por lo que no tiene nada que ver con el juego. Se puede ver en esta línea que el productor originalmente quería poner las semillas en la maceta, pero luego desistió por algunas razones.

Esto explica cómo leer un archivo. Lo que hacen estos títulos depende del siguiente documento: preparefoods.lua.

En la misma ubicación, encontramos el archivo preparadofoods.lua, que también se abrió con el Bloc de notas. Este archivo es relativamente claro. Las llaves después de la comida local son todas las recetas que queremos. Además de todos los platos nuevos de SW, también incluyen albóndigas y más.

Tomemos este plato como ejemplo: Butterflymuffin, la traducción china probablemente sea pastel de mariposas, muffin de mariposas, etc. De todos modos, es el plato con mariposas, que es uno de los platos originales.

Waffles de mariposa =

{

prueba = función (cocina, nombres, etiquetas) devuelve nombres, alas de mariposa y no etiquetas de carne y vegetales. ,

prioridad = 1,

peso = 1,

tipo de alimento = VEGGIE,

salud = sintonía. HEALING_MED,

hambre=tuning. cal_large,

perishtime = ajustar. perish_slow,

sonido=ajuste. sane_tiny,

Tiempo de cocción = 2,

}

En la línea de prueba, devuelve lo que viene después y antes del final (nombre.butterflywings en lugar de tag.meat y tag.veggie) es la fórmula de composición.

El significado de esta fórmula es: se requieren alas de mariposa, no se requieren carne (no etiquetas.carne) ni verduras (etiquetas.veggie). Cada suma está separada por dos requisitos. No tenerlo no significa que no pueda serlo. Tenga en cuenta que la prioridad de operación de Not es mayor que la de y.

Explicación de las siguientes líneas:

Prioridad prioritaria, si los ingredientes son aptos para elaborar más de dos platos, elige el de mayor prioridad. Si las prioridades son las mismas, los resultados son aleatorios y cada resultado es igualmente probable.

¿Peso peso? No lo entiendo, pero sólo el muffin mariposa tiene este atributo, así que no es el foco de atención de todos modos.

El tipo de comida determina el tipo de resultado de la cocción, que debe utilizarse para determinar si una mujer vikinga podría comer la comida.

Salte cuatro líneas, el tiempo de cocción determina el tiempo de cocción.

Volviendo al frente, la salud determina la cantidad de sangre restaurada, el hambre determina la saciedad, la muerte determina el tiempo de descomposición y la cordura determina la cantidad de SAN restaurada. Pero no está escrito con claridad, lo que requiere que busquemos el tercer archivo: tuning.lua.

También en esta carpeta, abra tuning.lua.

Por ejemplo, vemos la línea salud = TUNING. Antes de HEALING_MED. Si nos lo preguntamos. HEALING_MED es, buscaremos "HEALING_MED" en tuning.lua en este momento. Entonces encontramos esta línea:

HEALING_MED = 20,

Obviamente Butterflymuffin tiene la propiedad de reponer sangre en 20 puntos. Las siguientes respuestas de valores SAN son similares.

La expresión de saciedad es un poco más complicada:

Busca calorías_grandes, lo encontré.

Calories_large = calorías_por_día/2, - carne cocida

Significa que su recuperación de saciedad es la mitad de calorías_por_día (recuerda que "-" va seguido de un comentario, Déjalo en paz).

¿Cuántas calorías al día? Busca nuevamente y encontrarás:

Calorías diarias locales = 75

Esto es muy sencillo, 75/2 = 37,5, lo que significa que se recupera la sensación de saciedad.

Tiempo de descomposición:

Destruction_slow = 15*total_day_hour*destruction_period,

Es decir, 15 días de descomposición, y los demás también son casi.

Ahora regrese a preparefoods.lua y luego seleccione algunas recetas para continuar explicando el método de cálculo de la fórmula y algunos atributos de platos raros.

Sándwich de ancas de rana:

frogglebunwich =

{

prueba = función(cocina, nombres, etiquetas) return (nombres.froglegs o nombres.froglegs_cooked) y etiquetas.veggie final,

prioridad = 1,

tipo de alimento = carne,

salud = sintonía. HEALING_MED,

hambre=tuning. cal_large,

perishtime = ajustar. perish_slow,

sonido=ajuste. sanity_tiny,

Tiempo de cocción = 2,

},

Hay un o en esta fórmula, lo que significa que debes comer al menos ancas de rana crudas o ancas de rana cocidas una de ellas. Toda la receta consta de ancas de rana (crudas o cocidas) y verduras (tags.veggie). Prioridad de operación: notandor Para calcular o primero, todo lo que está a ambos lados de o está entre paréntesis.