¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Tutorial Interactivo [Uso de interruptores]
por Ledai Hoy a las 16:58

» Necesito Script
por Elian84 Hoy a las 04:44

» Holaaa a tod@s!!!
por chronoMxx Hoy a las 03:41

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 01:06

» El poder oculto (Segunda entrega)
por alex1633 Ayer a las 23:18

» Hola mucho gusto
por Hk Diamond Ayer a las 13:49

» SoraDeathss se presenta!
por chronoMxx Ayer a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Ayer a las 06:45

» las cosas como son...
por Bleuw Ayer a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas 2016-12-02, 20:52

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

Nuestros miembros han publicado un total de 79767 mensajes en 11247 argumentos.
Navega con Google Chrome
[DESCARGA]

Desesperada! ayuda irgente con script Charlie Fleed v.3.1

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por KLAUDAS el 2013-07-27, 01:10

Buenas, gente:
La verdad es que me he encontrado con un problema inesperado después de la de horas que le he echado a la configuración de mi sistema de batalla. Estoy usando el sistema de Charlie Fleed v. 3.1. Intenté contactar con él para que me ayudara un poco a solucionar el problemilla, pero ya no mantiene el support de sus scripts, así que espero que vosotros, que entendéis mil más que yo de script me podáis ayudar a cambio de mi gratitud eterna.

[img] [/img]


He conseguido muchos avances, pero me he encontrado con la desagradable sorpresa del botón "Switch". La protagonista es la que ocupa la posición 1 en el grupo. Cuando la cambio por otro personaje...






No hay problema, todo funciona con normalidad. El problema viene después de la batalla.





¡Me encuentro que el personaje que ha sustituido al protagonista en la batalla, se queda como el personaje que controla el jugador!


Es lógico, pues el script indica que el cambio se realiza, pero no que se "revierta". Es decir, no hay por ningún lado nada que diga que el protagonista siempre ocupará la posición 1, lo cambiemos o no durante la batalla.


Vale, aquí vienen mis problemas y dudas, que no son pocos:lol!

-Necesito que después de la batalla la chica protagonista se quede como la protagonista para que sea el personaje que el jugador maneja. Como comprenderéis, no es normal ni lógico que estemos cambiando el personaje que controlamos después de cada batalla. ¡Así no hay quien programe las escenas si no sabemos ni a quién vamos a usar! Impensable e inaceptable jeje (por lo menos para mi historia).

-Como sucede en el FFX, siempre controlamos a Tidus después de las batallas, no nos quedamos con Lulu o Yuna si las hemos usado en la batalla.

-¿Cómo hago para que mi protagonista sea siempre el personaje que controlamos si en las batallas la voy a cambiar?

-Es cierto que en el script de Charlie Fleed hay una llamada de script para que el protagonista esté bloqueado y no podamos cambiarlo durante la batalla. Pero tampoco le veo sentido a que no podamos cambiar a un personaje del grupo.

Espero que alguien pueda que alguien pueda ayudarme. Estoy desesperada, lo he probado todo, pero ya no se me ocurre qué más hacer que no sea hacer un script o un cambio en el que ya tengo. Pero mis conocimientos son limitados, apenas sé hacer menús y cambios para conseguir lo que llevo hasta el momento.

H estado mirando este script que lo mismo me podría ayudar:
Código:
#==============================================================================
# ** Rotar personajes al pulsar tecla
#------------------------------------------------------------------------------
# * Silentwalker, 25/04/11 (DD/MM/YY)
#------------------------------------------------------------------------------
# * Condiciones de uso
#---------------------
#
# planetarpg.com.ar/foro/-rmxp-rotar-lider-t-2643.html
#
#==============================================================================

SROT = [

#--------------------------------------------------------------------------
# * Izquierda (en orden, de abajo hacia arriba)
#--------------------------------------------------------------------------
Input::L,
#--------------------------------------------------------------------------
# * Derecha (en orden, de arriba hacia abajo)
#--------------------------------------------------------------------------
Input::R,
#--------------------------------------------------------------------------
# * ID del interruptor que prohibe rotar personajes
#--------------------------------------------------------------------------
10

]

class Scene_Map
#--------------------------------------------------------------------------
# * Update Alias
#--------------------------------------------------------------------------
alias sactor_rotate update
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
def update
# Metodo Original
sactor_rotate
# Si se indica que no es posible rotar, previene la ejecución siguiente
return if $game_switches[SROT[2]]
# Vuelve lider al segundo actor (en orden, de abajo hacia arriba)
$game_party.actors.push($game_party.actors.shift) if Input.trigger?(SROT[0])
# Vuelve lider al ultimo actor (en orden, de arriba hacia abajo)
$game_party.actors.unshift($game_party.actors.pop) if Input.trigger?(SROT[1])
# Actualiza Game_Player si hubo cambio de personaje manual
$game_player.refresh if Input.trigger?(SROT[0]) || Input.trigger?(SROT[1])
end
end

Pensaba que si bloqueaba el cambio, es decir, que no se pudiera usar el cambio de personajes, pero sí obligar a que el personaje principal sea el que se controla como líder, se arreglaría, pero no funciona así. También he probado con este script:
Otro intento:
class Scene_Map
LeaderSwitch = 1
LeaderId = 1
alias supershooterchageleaderupdate update unless $@
def update
update_leader if $game_switches[LeaderSwitch]
supershooterchageleaderupdate
end
def update_leader
while $game_party.actors[0].id != LeaderId
actor = $game_party.actors[0]
$game_party.remove_actor(actor.id)
$game_party.add_actor(actor.id)
end
end
end

Pero dice que el script se desborda y no puedo conseguir lo que intento. Ya no se me ocurre qué más hacer más que preguntaros. ¿¿UNA AYUDITA??
MIl gracias, de verdad.
¡Pago con sangre si es necesario! ayuditaaaaa

KLAUDAS
Novato
Novato

0/3

Créditos 77

Gracias : 2

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por Wecoc el 2013-07-27, 02:44

Prueba poniendo esto encima de main, a ver qué pasa.
Yo personalmente no lo tengo muy claro pero en fin, ya me dirás. Al menos error no da xD

Código:
class Scene_Battle
  alias wecoc_initialize initialize
  def initialize
    wecoc_initialize
    @data_id_actors = []
    for i in 0..3
      @data_id_actors.push $game_party.actors[i].id
    end
  end
  alias wecoc_end battle_end
  def battle_end(result)
    wecoc_end(result)
    @new_data_id_actors = []
    for i in 0..3
      @new_data_id_actors.push $game_party.actors[i].id
    end
    return if @new_data_id_actors == @data_id_actors
    for i in @new_data_id_actors
      $game_party.remove_actor(i)
    end
    for j in @data_id_actors
      $game_party.add_actor(j)
    end
  end
end


Última edición por Wecoc el 2013-07-27, 03:26, editado 3 veces

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por orochii el 2013-07-27, 02:57

¿Necesitas que después de la batalla, digamos, si entras de nuevo, esté de nuevo el grupo tal como estaba?
Lo que podría hacerse es:
1.guardarse el grupo al comienzo de la batalla (las IDs o algo así), y reestablecerlo al final de la batalla a lo bestia xD. O...
2.fijar que SIEMPRE el chara del jugador use el chara de la prota.

Sería dependiendo xD. El problema del primero, que te resetee tus personajes. No sé si buscas algo tipo FFX, que te dejaba el grupo en batalla así. El problema del segundo es, para cambiarlo después xd. Igual en eso te puedo hacer un comando para cambiarlo manualmente (sólo en caso que, no sé, la prota enferme o muera o se vaya a dormir o qué se yo).

La primera:
Código:
#Restaurar grupo al final de batalla
#===================================
#Un "fix" (?) para CharlieFleed con PartyChange
#Simplemente restaura el grupo al final de batalla.

class Game_Party
  attr_writer   :actors                   # actors
end

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  alias ozreal_main main
  alias ozreal_battle_end battle_end
  
  def main
    @__actual_party_bck = $game_party.actors.dup
    @__backup_party_bck = $game_party.backup_actors.dup
    ozreal_main
  end
  
  def battle_end(result)
    ozreal_battle_end(result)
    all_actors = ($game_party.actors+$game_party.backup_actors)
    new_actors = all_actors - (@__actual_party_bck+@__backup_party_bck)
    $game_party.actors = @__actual_party_bck
    $game_party.backup_actors = @__backup_party_bck+new_actors
  end
end

La segunda (agregué las instrucciones al inicio del script):
Código:
#Fijar personaje principal
#=========================
#Ésto simplemente fija el gráfico del personaje que se muestra.
#Siempre se usará un gráfico del personaje cuya ID sea definida en el script,
#o la ID que sea definida por medio del comando
#
# $game_party.leader_id = ID
#
module MainFix
  LEADER_ID = 11
end

class Game_Party
  attr_writer :leader_id
  alias ozpf_initialize initialize
  def initialize
    @leader_id = MainFix::LEADER_ID
    ozpf_initialize
  end
  
  def leader_id
    @leader_id=MainFix::LEADER_ID if @leader_id==nil
    @leader_id
  end
end

class Game_Player
    def refresh
    # If party members = 0
    if $game_party.actors.size == 0
      # Clear character file name and hue
      @character_name = ""
      @character_hue = 0
      # End method
      return
    end
    # Get lead actor
    actor = $game_actors[$game_party.leader_id]
    # Set character file name and hue
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    # Initialize opacity level and blending method
    @opacity = 255
    @blend_type = 0
  end
end

Escoge la que te guste supongo xd, prueba una y si no te gusta le tiras la otra encima, en teoría no habría problema xD.

Salut,
Orochii Zouveleki

EDIT: Oh bueno la primera es la misma cosa que lo que hizo Wecoc x'D.

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por KLAUDAS el 2013-07-27, 08:44

¡MUCHÍSIMAS GRACIAS A LOS DOS! Me lo habéis solucionadoooo, lloro de emoción ^________^
He probado con vuestras dos opciones, la primera de Wecoc y la primera de Orochii y van a la perfección. ¿A nadie más le había pasado esto con este sistema de batalla?
Soy la mujer más feliz del mundo, por fin puedo seguir con el proyecto jeje.
No sé cómo agradecerlo. ¡Os pongo en los créditos!
Un besazo.

KLAUDAS
Novato
Novato

0/3

Créditos 77

Gracias : 2

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por KLAUDAS el 2013-07-27, 08:53

Y otra preguntilla.

Hay un momento en la historia, como dice Orochii en los que no usamos a la protagonista. ¿Cómo lo haría ahí para cambiarla como líder y que no aparezca? Son unos 3 o 4 momentos en la historia en los que no usamos a la chica esta de protagonista y cogemos a otro. Lo mismo se puede hacer manual, más en plan engine o algo.

Gracias!

KLAUDAS
Novato
Novato

0/3

Créditos 77

Gracias : 2

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por elisamuelps el 2013-07-27, 15:39

una pregunta, no era mas facil hacer todo esto mediante eventos comunes? O.o jejejejeje. Aunque es mejor por script porque te ahorras los procesos paralelos laggeros que involucran los eventos comunes

elisamuelps
Soñador
Soñador

0/3

Créditos 357

Gracias : 2

http://www.mtgproyect.com

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por orochii el 2013-07-27, 16:25

El """""problema""""" con eventos comunes es que tienes que predecir que se puede hacer virtualmente cualquier combinación, por lo tanto después de cada batalla debes quitar absolutamente todos los personajes (TODOS los posibles), y agregar ciertos de acuerdo a una lista de interruptores o algo así (llevados durante todo el juego, para saber cuáles personajes se han unido al grupo). Luego de eso, supongo pueden ir de acuerdo a una prioridad, así se agregan unos al "frente" y otros al grupo de apoyo. Se puede, pero así es más sencillo creo .-.

Respecto a lo que dices Klaudas, en la primer solución, mientras no cambies el prota en media batalla no hay problema, los eventos siguen tal y como iban. Cambias a la prota, la mandas a dormir en un evento fuera de batalla y listo.
En el segundo, como el gráfico depende de una variable, usas éste comando para cambiar el gráfico que está usando:
Código:
$game_party.leader_id = n #n es la ID en la base de datos del nuevo líder
$game_player.refresh #esto actualiza el chara digamos.

Saludos,
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por KLAUDAS el 2013-07-27, 16:36

Perfect, Orochii. Eres como un dios ahora mismo para mí jejee.
Me habéis solucionado el problemón y ya todo tira perfecto.
MIL GRACIAS ^_^

KLAUDAS
Novato
Novato

0/3

Créditos 77

Gracias : 2

Volver arriba Ir abajo

Re: Desesperada! ayuda irgente con script Charlie Fleed v.3.1

Mensaje por Contenido patrocinado Hoy a las 20:22


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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