Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP][Colectivo] Mundo Maker Front Battle System (v0.6)

Ver el tema anterior Ver el tema siguiente Ir abajo

¿Te parece buena propuesta?

78% 78% 
[ 7 ]
11% 11% 
[ 1 ]
11% 11% 
[ 1 ]
0% 0% 
[ 0 ]
0% 0% 
[ 0 ]
0% 0% 
[ 0 ]
 
Votos Totales : 9

[XP][Colectivo] Mundo Maker Front Battle System (v0.6)

Mensaje por Wecoc el 2015-07-22, 03:00

He hecho un script que permite más flexibilidad a la hora de crear Add-Ons para las batallas. El plan es hacer entre todos que éste se vea exactamente como el default pero mediante "module MMFront" se puedan añadir muchas cosas internas; como barras de vida y magia, fog en batalla... Lo que veáis útil. Vaya, lo típico de los scripts de batalla complejos, en los que cada uno se lo configura según qué le interesa.

VERSIÓN 0.5

De momento (v0.5), MMFront ya tiene 2 globales; una que controla si la ventana de los actores en batalla se sigue viendo opaca o no se ve (luego se ve el battleback debajo), y otra que centra los actores automáticamente. Además es compatible con todo lo que no sean scripts de batalla, aunque con escenas de título personalizadas quizá se requiera un pequeño arreglo.

LINK: MM Battle v0.5.zip

Cosas que no funcionan (porque no forman parte del script aún):
- Encuentros en el mapa
- Battle Test
- Añadí las variables "use_skills" y "use_items" para poder hacer batallas dónde no se permita usar skills u objetos. Pero más allá de definir las variables no hice nada más.
- Añadí fog al Spriteset_Battle pero no tiene movimiento. Creo que Orochii hizo un script de eso, habría que re-implementarlo.

Bugs conocidos:
- Arrow siempre empieza seleccionando (durante unos pocos frames) al primer actor/enemigo aunque éste no sea seleccionable (por ejemplo si está muerto).
- Las ventanas de skill, item y la de comandos de actor no tienen la z adecuada.
- El tono de pantalla afecta a algunas ventanas (es decir algunas ventanas no están en la viewport adecuada)

Podéis colaborar en el colectivo de 4 maneras distintas:
1 - Arreglando los bugs y deficiencias mencionadas del script, así como ciertas mejoras del script default que no serán Add-Ons en sí. Yo me centraré en ésto.
2 - Haciendo add-ons para el script. De momento los podéis hacer en scripts a parte y luego los juntamos al script "grande" con la opción de desactivarlo, así podéis postear el script nuevo en vez de tener que hacer descargable cada vez... Eso sí para hacer y probar el Add-On usadlo con el script, no la batalla por defecto. Al final ya me encargaré de hacer compatibles todos los Add-Ons, por ahora que eso no os preocupe.
3 - Testeando para buscar nuevos bugs.
4 - Dando ideas para Add-Ons.

Verde - Tendréis créditos en el script
Amarillo - No tendréis créditos en el script, pero siempre habrá un hueco para vosotros en el fondo de mi corasón latino (?)

Ale, a liarla.


Última edición por Wecoc el 2015-07-22, 06:23, editado 2 veces (Razón : formato del post / sondeo)
avatar
Wecoc
Administrador
Administrador



Créditos 12286

Gracias : 646

Volver arriba Ir abajo

Re: [XP][Colectivo] Mundo Maker Front Battle System (v0.6)

Mensaje por Wecoc el 2015-07-22, 06:14

Caray, eso fue rápido, he updateado a la versión 0.6 xD Creí que me costaría más.
Pondré cada nueva versión en un post nuevo en vez de ir editando el mismo una y otra vez porque sinó nos haremos (y sobretodo me haré) un lío. Solo aseguraros de estar probando la versión más nueva.

VERSIÓN 0.6

LINK: MM Battle v0.6.zip


Updates:
- Nuevas globales sobre las ventanas (ENEMY_STATUS, ACTOR_STATUS_VISIBLE, ENEMY_STATUS_VISIBLE), que permiten tener status_window (la que pone nombre, HP, SP y estado) en los enemigos también, y controlar si su fondo se ve o no.
- Nuevas globales sobre los sprites (ACTOR_TONE, ENEMY_TONE), que permiten controlar si a los sprites les afecta el tono de pantalla o no.
- Ya funcionan los encuentros en mapa y la fog en batalla
- El tono de pantalla ya no afecta a ventanas

Cosas que no funcionan (porque no forman parte del script aún):
- Battle Test
- Lo de "use_skills" y "use_items" (leer versión anterior). A parte de definirlo por batalla estaría bien poder definirlo por actor o por enemigo.

Bugs conocidos:
- Arrow siempre empieza seleccionando (durante unos pocos frames) al primer actor/enemigo aunque éste no sea seleccionable (por ejemplo si está muerto).
- Las ventanas de skill, item y la de comandos de actor no tienen la z adecuada.

Add-Ons:
- (Ninguno)

Ideas para Add-Ons:
- Barras de vida y magia
- Estados alterados como iconos
- Opción de ir a Game Over aunque solo haya muerto 1 de los actors (para RPGs donde no hay resurrección)
- Escapar individual por actor + Saltarse comando Luchar / Escapar (sobretodo para RPGs donde solo hay un protagonista)

------------------------------

Os añado además unas instrucciones de script para que veáis una de sus mayores ventajas de configuración respecto al original (para que os deis cuenta que el script no es moco de pavo (???) xD).

Éste script se puede llamar directamente con encounters y el comando de batalla y todo eso como siempre, pero además se puede llamar batalla en cualquier parte (incluído el Llamar Script) con un comando especial. Puesto que la batalla predefinida del script ya usa el nuevo comando, no hace falta que lo testeéis a parte.

El comando es el siguiente:

start_battle(party, troop, escape=true, lose=false, use_skills=true, use_items=true)

Por ejemplo, supongamos que queremos que nuestra party, luche contra la troop con ID = 1, se pueda escapar, al perder vaya a Game Over y se puedan usar skills e items. En otras palabras, una batalla bastante default. Sería lo siguiente:

start_battle($game_party, 1)

Pero la ventaja de ésto es que quizá nos interese hacer luchar solo al primero de los miembros de la party, por ejemplo. Sería así:

start_battle([$game_party.actors[0], 1)

O bien si tenemos una party nombrosa, con un pequeño script a parte se podría escojer cuales 4 luchan (aunque eso es un Add-On de menú, se escapa bastante de la configuración del script)

Además, aunque no es muy útil ni recomendable, se puede luchar contra enemigos sin que éstos formen una troop en la Base de datos.

e1 = Game_Enemy.new(1)
e2 = Game_Enemy.new(2)
e3 = Game_Enemy.new(1)
start_battle($game_party, [e1, e2, e3])


De momento eso es todo en cuanto a ese comando, pero habrá más ventajas relacionadas ya veréis ;D
avatar
Wecoc
Administrador
Administrador



Créditos 12286

Gracias : 646

Volver arriba Ir abajo

Re: [XP][Colectivo] Mundo Maker Front Battle System (v0.6)

Mensaje por orochii el 2015-07-22, 17:30

Una cosa que me gustaría que el sistema tuviera soporte, es para cambiar el flujo de la batalla... A ver si me explico.

El sistema default funciona así:
Fase 1. Inicio del combate
Fase 2. Inicio del turno
Fase 3. Comandos de personaje
Fase 4. Batalla (que a su vez se divide en 1.preparación de acción, 2.efectos, 3.animacion de usuario, 4.animación de objetivo, 5.muestra de daño, 6.refrescado)
Fase 5. "Jurado"

La cuestión es que las siguientes ideas modifican ese orden:

1. ATB activo. Para hacer un ATB activo, se necesita que la batalla suceda simultánea a los comandos de personaje. Para uno pasivo técnicamente basta con actualizar un valor de ATB y saltar de fases, no se complica. Pero para uno activo necesitas que el personaje pueda recibir órdenes mientras los demás hacen lo que les pega en gana, y manejar un "stack" de battlers y sus acciones.
2. Animaciones de personajes. Correr hacia/desde el enemigo necesitan fases extra.
3. Contraataque. Técnicamente interrumpe la batalla con una acción extra en medio de todo.
4. Acciones que se repiten a sí mismas determinado número de veces. Por ejemplo, un ataque doble.
5. Técnicas que golpean más de una vez durante la animación.

No sé si hay ideas para hacer todo eso más flexible... La idea que tengo es una estructura en que todas las fases (jurado, batalla, comandos, etc) puedan funcionar al mismo tiempo. Pero quiza se haga muy complejo. Y amerita una reescritura casi que completa xd.

Voy a dejar esto por aquí y cualquier cosa lo ignoran xD!.
avatar
orochii
Reportero

0/3

Créditos 7792

Gracias : 461

Volver arriba Ir abajo

Re: [XP][Colectivo] Mundo Maker Front Battle System (v0.6)

Mensaje por Wecoc el 2015-07-23, 01:08

Es una propuesta muy interesante pero también muy compleja. No creo que yo sea capaz de hacer un script así que sea funcional. Si con la modificación de ahora ya tengo bugs... xDD Requiere tanto cambio que más que un Add-On parece un sistema de batalla nuevo.
Pero parece que tú tienes más idea de cómo hacerlo así que si quieres intentarlo, adelante.

Además, algo interesante sería la opción de victoria por muerte enemiga y no por batalla, y con lo que planteas seguramente sería un Add-On más factible.

Vuelvo a updatear.

VERSIÓN 0.7

LINK: MM Battle v0.7.zip

Updates:
- Restricción de "use_skills" y "use_items" por batalla.
- Nueva global $game_system.dead_gameover, si muere alguien de la party se termina la batalla directamente (si la opción de batalla gameover no está activada solo finaliza la batalla, si lo está va a Game Over)
- Añadido método de Game_Battler weak? que mira si un actor tiene menos de un cuarto de su vida máxima, sin estar muerto (lo que en batalla se muestra con números amarillos).
- Nueva global $game_temp.friend_battle para batallas amistosas. Una batalla amistosa es una batalla entre miembros de la party, y se hace para "grindear". Si ganas contra tu contrincante aumentas tu exp un cuarto de la suya (la suya se queda igual). Si gana él se gana una octava parte de la tuya. Esos dos valores vienen definidos con las globales FRIEND_EXP_ACTOR y FRIEND_EXP_ENEMY.
- Actors con auto_move (no controlas qué movimiento hará)

Nota: Se puede luchar contra un miembro del grupo sin que sea una batalla amistosa. Imaginaos un traidor, por ejemplo. No se podría hacer con un enemigo normal porque sus parámetros son los de cuando era aliado. El comando start_battle soporta Game_Actor en los enemigos.

Cosas que no funcionan:
- Battle Test (intenté implementarlo pero no soy capaz)
- "use_skills" y "use_items" por actor a parte de por batalla.
- "use_skills" y "use_items" no afectan las decisiones (actions) enemigas.
- Variable Game_Battler weak? no tiene uso.

Nota: La idea para weak? es poder definir batallas (centrado especialmente en las amistosas)  en las que no es necesario matar al enemigo sinó "aturdirlo". Si eso se combinara con $game_system.dead_gameover se podrían hacer batallas en las que debes aturdirlo pero no puedes matarlo.

Nota 2: El comando start_battle no funciona en el battle_test de Scene_Title así que en vez de usar esa llamada se tendrá que poner su mismo contenido dentro del def battle_test, aunque seguramente con alguna variación.

Bugs conocidos:
- Bug del índice de Arrow (leer versión anterior)
- Las ventanas de skill, item, las de comandos de actor y la de victoria no tienen la z adecuada.
- Las ventanas de comando de cada actor no resetean su índice a "Atacar" tras acabar el turno. En vez de "arreglarlo" sin más se podría dejar como opción en una global, también.

Add-Ons:
- Game Over aunque solo haya muerto 1
- Friend Battle
- Actors con auto_move

Ideas para Add-Ons:
- Barras de vida y magia usando una imagen
- Estados alterados como iconos, con opción máximo de iconos configurable.
- Escapar individual por actor + Saltarse comando Luchar / Escapar
- Multi-Phase de Orochii


------------------------------

Añado instrucciones como la otra vez.

Para hacer una batalla amistosa podéis usar:

$game_temp.friend_battle = true
start_battle([$game_party.actors[0]], [$game_party.actors[1]])


Ahí lucharían Alexis y Basil.

Para que un actor esté en la party pero no puedas controlar sus movimientos (va por libre) puedes usar

$game_party.actors[0].automove = true

De momento eso es todo, por favor animaos un poco con éste script, yo solo no puedo hacerlo todo.
avatar
Wecoc
Administrador
Administrador



Créditos 12286

Gracias : 646

Volver arriba Ir abajo

Re: [XP][Colectivo] Mundo Maker Front Battle System (v0.6)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.