¡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
» Zona 14 Beta Released
por Aeon_Fox Hoy a las 09:30

» Hola a todos
por Filipter Hoy a las 08:32

» Engine REPELENTE [XP]
por Producciones The Golden Ayer a las 22:47

» Saludos a todos
por erpks77 Ayer a las 21:35

» (XP) Repelente
por Producciones The Golden Ayer a las 19:56

» Varios videotutoriales de grafismo
por Wecoc Ayer a las 16:50

» Pokémon Light Adventures [DEMO]
por BruMaster7 @Maker@ Ayer a las 15:14

» [Ayuda] Autolazaro
por alex1633 Ayer a las 11:37

» Necesito ayuda de alquien que entienda de scripting
por Filipter Ayer a las 08:34

» RPG maker FES (3DS)
por drakem 2017-06-21, 21:24

Afiliados
Estadísticas
Tenemos 3919 miembros registrados.
El último usuario registrado es Knight200.

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

[RPGXP] Ayuda - objeto fijo y restricción de habilidades

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

[RPGXP] Ayuda - objeto fijo y restricción de habilidades

Mensaje por mega_exe el 2017-04-24, 04:38

Hola nuevamente a todos

La idea que tenemos en nuestro equipo de novatos (xD) es la siguiente: que un personaje tenga un gran numero de skills aprendidas, pero que no las pueda usar porque tiene un equipo/accesorio que no se puede quitar a menos que se use un objeto (de uso único y solo para ese personaje).
es posible hacer algo así?
lo de las habilidades lo puedo solicionar haciendo que el personaje tenga aprendidas skills que no hagan daño (duplicar las habilidades como "las que no sirven" y "las reales") a travez del script de aprender habilidades con objetos (con el que estoy muy agradecido ^^) que literalmente borraria las skilss malas y le enseñaría las buenas, el problema lo tenemos con el equipo, ¿como dejo al personaje con un equipo que no se pueda sacar?

Supongo (dentro de mi ignorancia ^^') que esa "propiedad" de objeto que no se puede desequipar se la puedo quitar al usar el objeto que "libera" las skills del personaje, pero también habia pensado (en el caso de hacerlo mas simple) que al usar el objeto, literalmente el equipo desaparezca solamente y por ende el personaje pueda usar las skills

Se que parece confuso (de hecho lo leí varias veces para ver di se entendia xD) pero espero me puedan ayudar.
Muchas gracias de antemano
avatar
mega_exe
Iniciado
Iniciado

0/3

Créditos 3

Gracias : 2

Volver arriba Ir abajo

Re: [RPGXP] Ayuda - objeto fijo y restricción de habilidades

Mensaje por Wecoc el 2017-05-02, 22:02

Por defecto si defines una ranura de equipo como fija no puedes cambiar esa propiedad en todo el juego. Hay algún script que arregla ese problema, pero creo que no lo necesitas en éste caso porque según entiendo quieres modificar el equipo por otro pero luego la ranura debe seguir siendo fija, aunque sin ese equipo inicial.

Por suerte el método de Game_Actor equip se puede usar en cualquier ranura pese a estar fija, ya que esa propiedad afecta a nivel de escena, solo en Scene_Equip.

equip(equip_type, id)
equip_type es 0: arma, 1: escudo, 2: casco, 3: armadura, 4: accesorio
id si lo que quieres es dejarlo vacío vale 0, si no es la ID del nuevo equipo (arma o protector) en cuestión

En el script que te pasé hace unos días te pongo de ejemplo que el accesorio pase a estar vacío, cámbialo ahí siguiendo lo que acabo de decir

Código:
#==============================================================================
# ** Items con efectos personalizados
#==============================================================================

class Game_Battler
  alias item_learn_skill_effect item_effect unless $@
  def item_effect(item)
    #--------------------------------------------------------------------------
    # Aprender habilidad al usar item
    #--------------------------------------------------------------------------
    if item.id == 14        # ID del item en la base de datos
      self.learn_skill(30)  # ID de la skill que aprenderá
      return true
    end
    #--------------------------------------------------------------------------
    # Desequipar ranura Accesorio al usar item
    #--------------------------------------------------------------------------
    if item.id == 15        # ID del item en la base de datos
      self.equip(4, 0)      # ID Accesorio: 0
      return true
    end
    # Puedes poner + efectos aquí dependiendo del ID del item, del mismo modo
    
    #--------------------------------------------------------------------------
    return item_learn_skill_effect(item)
  end
end

Seguro que a partir de ésto puedes montar el script como te interese, tienes todas las piezas del puzzle.

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

Bien, tu pedido tiene una segunda parte, que es atar el poder usar skills o no dependiendo de un equipo. Para ello hay que modificar el método skill_can_use? de modo que valga false dada la nueva condición.

Esa nueva condición depende de la ID de la skill (óbviamente) y luego de la ID del equipo en cuestión, el cual puede ser @weapon_id (arma), @armor1_id (escudo), @armor2_id (casco), @armor3_id (armadura) o @armor4_id (accesorio).

Te pongo el script con @armor4_id de ejemplo, nuevamente solo ten en cuenta lo que acabo de decir para configurartelo.

Código:
#==============================================================================
# ** Equipo que impide usar habilidad
#==============================================================================

class Game_Actor
  alias equip_skill_use? skill_can_use? unless $@
  def skill_can_use?(skill_id)
    if skill_id == 17       # ID de la skill
      if @armor4_id == 15   # ID de la armadura que inactiva la skill
        return false
      end
    end
    return equip_skill_use?(skill_id)
  end
end

Espero que te sirva.
Saludos.
avatar
Wecoc
Administrador
Administrador



Créditos 8983

Gracias : 442

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

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