[Released] ZEUS: Edición y exportación en tiempo real y MP

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 18
  1. #1
    Miembro UST101 Avatar de Angel
    Fecha de ingreso
    04 may, 11
    Ubicación
    Madrid
    Mensajes
    767

    ZEUS: Edición y exportación en tiempo real y MP


    He creado un script en el server de NAM para permitir a los Zeus EXPORTAR por fin el contenido de su trabajo a la misión, asi como tener acceso a toda la IA y objetos que se creen durante la misión, por ejemplo, por medio de otros scripts tipo UPSMON o mediante scripts propios de la misión. Funciona perfectamente en SP y en MP (ha sido probado ya con dos editores en el servidor) permitiendo a varios editores trabajar simultáneamente en MP sobre una única misión y teniendo acceso todos a los objetos creados por los demás Zeus.

    Solo los jugadores Zeus cuyo módulo Zeus ejecute el script tendrán acceso a estas funciones. No todos los objetos del juego están disponibles para el módulo Zeus por defecto, pero si alguien necesita una clase específica se puede añadir a la lista de clases disponibles editando el propio script. El proceso para editar en tiempo real es el siguiente:


    1. Copiar la carpeta de los scripts gx_zeus a la carpeta de la misión
    2. Ejecutar el script de inicialización en el MODULO Zeus del jugador, poniendo en el init del módulo: xx = this execVM "gx_zeus\zeus_init.sqf"
    3. En el menú de la rueda del ratón del jugador se despliegan las opciones de Zeus y se añade la opción de teleport por mapa.
    4. Elegir el modo de edición deseado (avanzado o standard). El standard es el modo de edición en tiempo real para las partidas y es la opción por defecto, y solo permite acceso a las unidades creadas con Zeus por uno mismo o por otros editores. El avanzado da acceso a todos los objetos de la misión, ya fueran colocados en el editor convencional o creados por script.
    5. Colocar unidades con Zeus normalmente. Toda unidad colocada y editada será exportable. Las que se borren o estén muertas no se exportarán.
    6. Seleccionar una opción para exportar todo tu trabajo o solo los objetos seleccionado actualmente. Esto exporta los datos al portapapeles, al log del juego (RTP) y al log de jayarma2lib, que se crea en el directorio principal de Arma 3. En MP el portapapeles está deshabilitado por BIS, asi que hay que recurrir al log (el de jayarmalib está en \Arma3\JayArma2Extension.log. Se puede exportar tantas veces como se quiera sin que se pierdan los datos. NOTA: El paso del modo avanzado al modo standard limita los objetos editables a aquellos que hayan sido colocados por el Zeus, pero no a los editados existentes en la misión.
    7. Copiar el contenido exportado al siguiente script: \userconfig\gx_zeus\gx_zeus_script.sqf para poder importarlo en cualquier otro momento o a un script externo que puede ser ejecutado en la misión (p.ej llamando a ese script en el init)
    8. Al reiniciar la misión los objetos serán creados por el script externo y de nuevo serán accesibles para posterior edición (requerirá del uso del modo avanzado de edición para poder acceder a ellos o cargarlos a tu contenido mediante la opción Load).
    9. Puesto que el contenido de userconfig es editable con el juego en ejecución, se puede colocar ahí otro script diferente cada vez sin necesidad de reiniciar la misión o la partida en ejecución e ir importando el pack de datos que necesitemos (conservar siempre el nombre gx_zeus_script.sqf)
    10. También se puede ejecutar en remoto el script colocado en \userconfig\gx_zeus\gx_zeus_script.sqf del servidor para cargar aquellos datos a la misión, aunque esto no es necesario ya que cualquier Zeus puede importar contenido desde su PC directamente. Esto permite por ejemplo la generación de objetos de forma escalonada conforme se vaya jugando una partida en MP. Esto también permite que el trabajo de un editor realizado en local pueda cargarse en el servidor par ser editado por otros Zeus (mediante el modo avanzado) o incluso la edición en tiempo real de varios Zeus para retocar una partida partiendo de la base de un script previamente creado en local días antes a la partida y subido al servidor justo antes de la misma. Se elimina así la necesidad de improvisar momentos antes de lanzar la misión así como la corrección de pequeños errores de última hora.
    11. La opción de cargar variables convierte el contenido importado por script en editable para Zeus, permitiendo asi volver a editarlo. NOTA: esto borrará las actuales variables que estén almacenadas, asi que exportar el contenido actual antes de importar y cargar para no perder el trabajo.
    12. La opción de borrado de datos (nuevo proyecto) se emplea para limpiar tu contenido local tras una exportación sin haber reiniciado la misión. Si no se hace cada exportación contendrá tanto los datos nuevos como los creados desde la última exportación.


    Tiene además la posibilidad de eliminar de la lista de unidades los soldados de Arma3 y los no compatibles de Arma2, para facilitar la edición bajo All in Arma. Ahora se cargan automáticamente solo mis unidades de NAM al cargar una misión en Unsung, por ejemplo, pero se mantienen todos los vehículos y estructuras de todos los pack de addons. Esto es configurable en el script y automáticamente detectará si los packs de WWII o NAM se cargan.

    Datos y objetos exportados

    - Soldados (incluyendo su pertenencia a un grupo y varios parámetros de su comportamiento)
    - Posición, dirección, inclinación, daño y postura (en pie, agachado o tumbado) de los soldados
    - Vehículos (incluida su tripulación actual)
    - Armas estáticas (incluido su artillero actual)
    - Edificios, trincheras, muebles, etc (todo objeto del tipo estático)

    Se incluye un script externo opcional que graba el contenido del portapapeles al archivo de userconfig automáticamente cuando el juego está lanzado. No es necesario su uso y existen otras aplicaciones freeware que hacen cosas parecidas, pero tardé menos en escribirlo que en buscar. Se necesita instalar Autohotkey (gratuito) para que el script funcione.

    No voy a exportar waypoints porque la IA empezaría a moverse y la exportación no reflejará por tanto el estado inicial de la unidad. El objetivo es poder ayudar a la creación de bases o pueblos con centinelas, es decir, con objetos estáticos.

    Happy editing señoras
    Archivos adjuntados Archivos adjuntados
    Última edición por Angel; 12/11/2014 a las 22:51

  2. #2
    Grande Angel!

    Seria aplicable a moderna i wwii?

    Saludos y gracias!
    Última edición por Artur; 27/10/2014 a las 21:50

  3. #3
    Miembro UST101 Avatar de Angel
    Fecha de ingreso
    04 may, 11
    Ubicación
    Madrid
    Mensajes
    767
    Corregidos los errores de multiplayer. Primer post actualizado y misión actualizada en el server de NAM. Más adelante crearé un video tutorial y la estructura de archivos genérica para su uso en cualquier misión.

    Actualmente lo que ya existe para NAM funciona también en Arma3 o WWII. Solo es necesario colocar la carpeta del script zeus en la misión. En caso de dudas preguntadme por TS.

    @Colum: necesito saber si podemos tener acceso a una carpeta userconfig en los servidores puesto que la MPMissions no permite cambiar de script para importar una vez lanzada la misión porque el archivo está en uso. De momento lo he dejado ahí para probar que funciona el acceso remoto desde los clientes, pero la ruta al script me da igual cual sea. ¿Existe alguna manera de exportar el contenido a un archivo directamente? En MP el uso del RTP parece que tiene limitaciones y a veces no copia todo el texto entero y como no se puede usar el portapapeles es una jodienda...
    Última edición por Angel; 28/10/2014 a las 11:22

  4. #4
    Sobre el acceso a userconfig, sin problemas a esa o a cualquier otra carpeta, el ftp esta asi mas q nada x facilidad. Pero creo q el problema de archivos en uso es posible que lo sigas teniendo.

    Sobre lo de exportar a texto, mas que el diag_log, lo q estaba capado en longitud son algunos operadores d string como el format. Siempre se podria partir si es muy largo y hacer varios diag log si tubiera algun limite.

    En cuanto a otras maneras de logear a parte, el jayarmalib tenia una funcion de logueo, q guardaba en el directorio del juego, ni idea si sigue funcionando. Si no seguramente con el Arma2Net habra alguna funcion de escritura en archivos. Usando cualquiera de estos 2 al final tarias usando el callextension pa hacer llamadas a dll, y ahi tb tendrias el limite del buffer q no se si eran 2 o 4 Kb, asiq te tocaria partir igualmente.
    La ultima alternativa seria crearte tu tu propia extension en C# con el arma2Net o en lo q quieras si t haces tu un dll propio xD... Maneras no faltan, pero la mas simple sigue siendo el diag_log




  5. #5
    Miembro UST101 Avatar de Angel
    Fecha de ingreso
    04 may, 11
    Ubicación
    Madrid
    Mensajes
    767
    Mediante un script externo de 4 líneas que he creado por medio de autohotkey se puede grabar a un archivo el contenido del portapapeles automáticamente a un archivo cada vez que éste cambie y sin necesidad de intervención del usuario. Solo hay que ejecutar dicho script en paralelo. Es la solución más simple para single player, que al final será el modo de edición más habitual.. Yo uso autohotkey para programar las teclas de los joysticks por ejemplo (para cada juego) y me parece la solución más simple junto con el arma2lib, que ya lo usaba en el pasado para otros scripts. Lo dejo así entonces: por defecto portapapeles + RTP y opcionalmente jayarma2lib (en caso de estar cargado como addon en el juego)
    Última edición por Angel; 29/10/2014 a las 01:01

  6. #6
    Miembro UST101 Avatar de Angel
    Fecha de ingreso
    04 may, 11
    Ubicación
    Madrid
    Mensajes
    767
    Script publicado en el canal de edición del TS (GX Zeus) porque excede el tamaño permitido de adjuntos aquí. Probado en MP esta tarde y todo funciona perfectamente. Se incluye misión de ejemplo y documentación y está listo para su uso en cualquier misión de moderna, NAM o WWII, ya que lo he dejado configurado por defecto: solo hay que copiar la carpeta gx_zeus y llamar al script zeus_init.sqf desde los módulos del juego. No hace falta más

  7. #7
    Gracias Angel!
    A ver cuando tengo tiempo para probarlo

  8. #8
    Webmaster
    Miembro UST101
    Avatar de Rai
    Fecha de ingreso
    29 jul, 11
    Ubicación
    Alicante
    Mensajes
    427
    Cita Iniciado por Angel Ver mensaje
    Script publicado en el canal de edición del TS (GX Zeus) porque excede el tamaño permitido de adjuntos aquí.
    He arreglado el tema de los zips y adjuntado el archivo en el primer post.
    En servicio desde 03/2012



    Oh great warrior.. uhm?.. Wars not make one great...


  9. #9
    También está publicado en Armaholic http://www.armaholic.com/page.php?id=27180

    Eternas gracias.

  10. #10
    Muy buen trabajo Angel... dan ganas de editar misiones con solo leer el post¡¡

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •