Un generador de mod de 7 Days to Die que hace copias de entidades y las aleatoriza. El script actualmente puede aleatorizar entidades zombies y animales.
El script del aleatorizador que genera el mod todavía es muy experimental, PERO los mods generados a partir de él se colocan aquí para su uso/comentarios para ayudar a pulir el script para su lanzamiento.
¡Doughphunghus recomienda encarecidamente usar uno de los modelos pregenerados a continuación antes de intentar usar el script! Estos mods pregenerados han sido probados para demostrar que funcionan en el juego.
Advertencia: puede tirar a la basura/romper su computadora si no está familiarizado con la instalación adecuada de perl (algunos sistemas operativos tienen un perl incorporado y NO desea modificarlo o eliminarlo)
No intente usar la secuencia de comandos a menos que esté familiarizado con la instalación de Perl, posiblemente con la instalación de herramientas de compilación (compilador, etc., tal vez sea necesario para instalar Perl según su sistema operativo), la instalación de las dependencias de la secuencia de comandos, la virtualización del entorno de Perl (probablemente deseado) y el XML de la entidad 7D2D necesitará crear un archivo de configuración.
Contenido
Advertencia
- El guión no está bien probado. No intente ejecutarlo hasta que haya leído y comprendido la documentación.
- Es posible que el script no genere mods de 7 Days to Die que funcionen correctamente con el juego.
Documentación sobre cómo instalar perl + dependencias en Mac, Windows y Unix: Ver wiki .
Documentación sobre cómo configurar el archivo de configuración/ejecutar el script: Ver wiki .
Si está utilizando un mod pregenerado a continuación, cargue los mods en la tabla a continuación que son específicos para su versión de juego. Solo cargue un «tipo de entidad» (por ejemplo, no cargue 2 zombis juntos, si existe más de 1 opción)
mods pregenerados actuales: notas
- Doughs-RandEnts_For_a19.5-b50_vanilla-enemy-animals-only-600-clones : 600 clones de animales zombis vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.5-b50_vanilla-friendly-animals-only-400-clones : 400 clones de animales salvajes/amigables de vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.5-b50_vanilla-zeds-only-4920-clones – 4920 clones de zombis vainilla (¡Se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.4-b7_vanilla-enemy-animals-only-600-clones : 600 clones de animales zombis vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.4-b7_vanilla-friendly-animals-only-400-clones : 400 clones de animales salvajes/amigables de vainilla , con localización (¡se recomienda cargar un modelo de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.4-b7_vanilla-zeds-only-4920-clones – 4920 clones de zombis vainilla (¡Se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.3-b6_vanilla-enemy-animals-only-600-clones : 600 clones de animales zombis vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.3-b6_vanilla-friendly-animals-only-400-clones : 400 clones de animales salvajes/amigables de vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.3-b6_vanilla-zeds-only-4920-clones : 4920 clones de zombis vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.2-b4_vanilla-enemy-animals-only-600-clones : 600 clones de animales zombis vainilla, con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.2-b4_vanilla-friendly-animals-only-400-clones – 400 clones de animales salvajes/amigable vainilla, con localización (¡Se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.2-b4_vanilla-zeds-only-4920-clones – 4920 clones de vanilla zombies (¡puede que no sea seguro en el lado del servidor! Es posible que un archivo sea demasiado grande y no se transfiera. Investigando esto), con localización (se recomienda cargar un mod del visor de la barra de salud del enemigo para ver los nombres!)
- Doughs-RandEnts_For_a19.2-b4_vanilla-zeds-only-492-clones : 492 clones de zombis vainilla (¡probablemente seguro en el lado del servidor!), con localización (¡se recomienda cargar un mod de visor de la barra de salud del enemigo para ver los nombres!)
notas
Esto todavía está en una etapa muy experimental de desarrollo. Si un zombi en un mod pregenerado aquí es realmente malo, envíe un problema aquí con el nombre del mod y el nombre del zombi. Los nombres de los zombis comienzan con las masasR. Tendrás que estar en modo de depuración en el script (o también si estás viendo al zombi en el juego) para ver el nombre.
Las entidades mod pregeneradas son «generalmente» más duras/más rápidas que los zombis de vainilla. El aleatorizador se ajustó para que los zeds lentos/débiles fueran más improbables. Sin embargo, todavía pueden suceder.
Los zombis de vainilla no se eliminan del juego. Esto solo agrega más copias de ellos.
No hay cambios cosméticos/de piel en los zombis de vainilla. Todos se ven iguales, a propósito. Aparte de la velocidad, el tamaño o el tipo de caminata que no son de vainilla, no se puede decir qué propiedades son diferentes de los zeds de vainilla a medida que se acercan.
Él generará mods con los nombres de este patrón: Doughs-RandomizedEntities-For: esta es la carpeta «mod» que colocas en la carpeta Mods. Es muy probable que si no usa el mod con la misma versión exacta de su juego, puede haber problemas (como que no aparezcan zombis).
En un nivel alto, la secuencia de comandos del aleatorizador (actualmente) que genera el mod intenta hacer lo siguiente:
- Haz una copia de las entidades zombis del juego y dales un nombre nuevo y único.
- Para cada entidad, aleatoriza las características según lo establecido en el archivo de configuración.
- Según la configuración del archivo de configuración, se repite y se ejecuta nuevamente, por lo que se pueden hacer más copias aleatorias de cada zed.
- Escribe un módulo XML que contiene todas las entidades aleatorias y las agrega a todos los grupos de entidades en los que normalmente se generan.
También tenga en cuenta, para los mods pregenerados: la «aleatoriedad» no es completamente aleatoria. Cada métrica obtiene una varianza de «aleatoriedad» diferente, y algunas métricas se modifican. Por ejemplo:
- Si un zombi es del tipo rastreador, la copia del zombi no tendrá un tipo de caminata aleatoria (porque un rastreador sin piernas puede flotar en el aire si está hecho para caminar)
- En algunos casos, donde no es fácil obtener una métrica, ha elegido manualmente una métrica para centrar la aleatoriedad.
- Algunos zombis pueden ser «demasiado grandes» para pasar por las puertas, por lo general, trató de centrar la aleatoriedad del tamaño para que no lo sean, pero puede suceder.
Documentación del argumento del archivo de configuración (muy WIP, sujeto a cambios)
Una vez que se instalan Perl y las dependencias, el script se ejecuta de la siguiente manera: abra un shell, cd en el directorio del proyecto y ejecute (ejemplo) perl ./randomizer.pl –config-file ./config_example_TEST_all_entities.json
donde:
–archivo de configuración = REQUERIDO. El archivo de configuración con formato JSON que se utilizará.
Consulte los archivos de configuración JSON de ejemplo incluidos en el directorio raíz del proyecto como ejemplos. Las claves/valores del archivo de configuración son:
Valores en {}, los valores de configuración de «Nivel superior»
“game_install_dir”: Directorio donde está instalado 7 Days To Die. Valor de ejemplo: “/Steam/steamapps/common/7 Days To Die”
“game_saves_dir”: Directorio donde se instalan los archivos guardados locales de 7 Days To Die. Valor de ejemplo: “/7DaysToDie/Saves”
“use_save_game”:”” ¡Configuración avanzada!. Para analizar los archivos XML en una carpeta de juegos guardados en lugar de game_install_dir Deje esto vacío a menos que sepa cómo usarlo. Valor de ejemplo: “” <- No utilice un juego guardado para XML. Usar juego instalado XML Valor de ejemplo: «Navezgane/»
“game_version”:”a19.2-b4″ La versión del juego, como se ve en la esquina superior derecha cuando se ejecuta Nota: Coloca un guión “-” entre la versión y la compilación. El guión no es necesario, pero esta información se utiliza para crear el nombre de la carpeta mod de nivel superior y el guión hace que se vea bien. Valor de ejemplo: “a19.2-b4”
“autor”: este valor se coloca en el archivo ModInfo.xml del mod generado. Valor de ejemplo: “Doughphunghus”
“mod_name_prefix”: Esto se usa para construir el comienzo del nombre de la carpeta mod de nivel superior. Manténgalo lo más corto posible. Una buena práctica es poner su nombre (o una abreviatura de este) como primera palabra. Nota: Ponga un guión «-» entre cualquier palabra en lugar de espacios/subrayados. Esta información se usa para crear el nombre del mod y hace que se vea bien. Valor de ejemplo: “Doughs-RandEnts”
“mod_name_tag”: Esto se usa para construir la parte final del nombre de la carpeta mod de nivel superior. Una buena práctica sería hacer esto muy descriptivo en cuanto a para qué sirve o contiene la generación. Nota: Ponga un guión «-» entre cualquier palabra en lugar de espacios/subrayados. Esta información se usa para crear el nombre del mod y hace que se vea bien. Valor de ejemplo: “vanilla-enemy-animals-only-600-clones”
“log_level”: esto controla el nivel de registro cuando se ejecuta el script y puede ser útil para la depuración. Valores permitidos: 0 = Registro mínimo (solo mensajes STDOUT/STDERR que no se detectan) 1 = Solo mensajes de ERROR 2 = Mensajes de ERROR e INFO 3 = Mensajes de ERROR e INFO y DEBUG Valor de ejemplo: “2”
“config_file_format”: ¡Configuración avanzada!. No cambie a menos que sepa cómo usar esto. Este es el formato de archivo de configuración «versión». Si la versión del script que está ejecutando es más antigua, es posible que no pueda analizar una versión del archivo de configuración que está utilizando. Esto se implementó en caso de que realice cambios importantes en el formato del archivo de configuración y tenga archivos de configuración más antiguos que intente usar. Si lo hace, la secuencia de comandos se negará a procesar el archivo en función de la discrepancia de la versión. Valor de ejemplo: “v1”
“unique_entity_prefix” Esto se usa para prefijar los nombres internos de los nombres de entidades clonadas en el XML. Nota: manténgalo lo más corto posible. Esto se debe a que se necesita una clave única para que todas las entidades clonadas sean únicas, pero también puede (si cambia esto) ejecutar diferentes modelos clonados generados por usted mismo o por otros (usando el mismo script, diferentes archivos de configuración) uno al lado del otro. Nota: una buena práctica sería poner su nombre o una abreviatura de este en esto. Nota: Este es parte del nombre que puede ver cuando usa el generador de entidades F6 en el modo de depuración de juegos. Esto también hace que sus entidades clonadas se puedan buscar en esa herramienta. Valor de ejemplo: «DoughsR»
«ignore_entity_list»: este es un diccionario/hash de valores, pero se supone que contiene cualquier entidad que no desea clonar, globalmente (sin importar de qué Tipo/Clase sean o hereden). Esto puede estar vacío o contener valores/clave. Utilice el valor para documentar el motivo por el que se ignora la entidad. ¡Utilice el nombre de clase XML interno de la entidad! Valor de ejemplo: {} <- No ignorar ninguna entidad Valor de ejemplo: { “animalDoe”:”No quiero ningún clon de esto”, “animalZombieVulture”:”No quiero ningún clon de esto” }
«only_allow_these_entities_list»: este es un diccionario/hash de valores, pero se supone que contiene cualquier entidad de la que SOLO desea clones. Es como ignore_entity_list, pero solo se clonan las entidades de la lista, todo lo demás se ignora. Esto es bueno cuando desea muchos clones de un zombi/animal específico, o tiene un archivo de configuración especial para aleatorizar solo esta entidad, separada de otras. Otro uso sería aleatorizar entidades de mods (¡esto puede o no funcionar bien!, y tienes que usar la configuración de use_save_game para apuntar el script a un juego guardado y modificado para leer las entidades modificadas. Valor de ejemplo: {} <- No ignore ninguna entidad Valor de ejemplo: { “animalDoe”:”No quiero ningún clon de esto”, “animalZombieVulture”:”No quiero ningún clon de esto” }
“enable_localization”: el script puede generar un archivo Localization.txt para el mod que genera a partir de archivos especiales (aún no documentados ni suministrados con este código, pero puede encontrar los nombres/ubicaciones en el script si desea proporcionar los suyos propios). Los archivos de localización son solo archivos de texto con una sola palabra en cada línea. Si se proporcionan los archivos, el script genera nombres aleatorios para cada entidad clonada al elegir palabras aleatorias de cada archivo de localización). Si no tiene archivos de localización, obviamente establezca esto en 0 Valores permitidos: 0 = No usar archivos de localización/generar localización 1 = Usar archivos de localización/generar localización Valor de ejemplo: «1»
“ConfigDefaults”: esta sección define todos los “filtros maestros predeterminados” utilizados en las secciones ConfigEntityEnemyAnimal,ConfigEntityFriendlyAnimal,ConfigEntityZombie a continuación. { }
“ConfigEntityEnemyAnimal”: esta sección define todos los “filtros” predeterminados para Enemy Animal Entities { }
“ConfigEntityFriendlyAnimal”: esta sección define todos los “filtros” predeterminados para las entidades animales amigas { }
“ConfigEntityZombie”: esta sección define todos los “filtros” predeterminados para las entidades Zombie { }
Valores en “ConfigDefaults”
¡Por determinar! ¡Esta es una sección complicada y requiere algo de reflexión para documentarla!
Valores en «ConfigEntityEnemyAnimal», «ConfigEntityFriendlyAnimal» y «ConfigEntityZombie»
Todas estas secciones se comportan igual y se pueden configurar usando los mismos métodos, por lo que solo documentará cómo configurar una de las secciones. ConfigEntityZombie será la sección de ejemplo utilizada, por lo que para hacer las demás simplemente sustituya los nombres de clase/entidad de la entidad/clase apropiada en lugar de Zombies.
registro de cambios
- (nuevo) Se limpiaron un poco los archivos de nombres aleatorios.
- Doughphunghus ha generado modelos pregenerados para el establo a19.3 b6.
- Ha comenzado a hacer diferencias de las configuraciones de vainilla a medida que se envían las actualizaciones (para ver si puede saber cuál de sus modificaciones se rompe sin probarlas todas), y parece (¡su mejor suposición, no hay garantías!) el a19.2 b4 pre Los mods generados deberían funcionar con a19.3 b6. Entonces, si estaba jugando un juego en 19.2 b4 y no quería actualizar solo por estos mods pregenerados, podría ser seguro. Incluso si no lo fuera, probablemente podría sacar el 19.2 b4 y reemplazarlo con el a19.3 b6 y todo eso probablemente? Sucede que las entidades generadas dejarían de existir, y es probable que arrojara algunos errores de la consola, ya que el juego intentó generarlas cuando ingresó un fragmento donde se generaron antes de la actualización. Solo su suposición, no ha probado esto.
- Lo importante es cargar solo un «conjunto» de mods para una versión en particular, no intente cargarlos en todas las versiones.
El tema del foro del mod está aquí .
Agradecimientos a: Doughphunghus