Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP][VX][Ace] Desactivar items y skills temporalmente

Ver el tema anterior Ver el tema siguiente Ir abajo

[XP][VX][Ace] Desactivar items y skills temporalmente

Mensaje por Wecoc el 2016-04-22, 17:34

Me pidieron por MP un script que permitiera desactivar un objeto para una batalla concreta. Puesto que es un script rápido de hacer lo he generalizado un poco más y he decidido subirlo al foro. Con éste script puedes activar y desactivar items y skills temporalmente a lo largo del juego.

Para el caso de la batalla desde evento lo desactivas justo antes de que empiece y lo activas de nuevo después. En el caso de encounters (encuentros enemigos en mapa) es más complejo, se podría activar y desactivar según el ID de grupo enemigo y/o el ID del mapa mediante otro script, o bien hacer un script con distinción de desactivado en menú o en batalla... pero en todo eso ya no entro. Hay más posibilidades de ampliarlo que no contemplé, como desactivarlo por un actor concreto, pero preferí dejarlo simple.

Lo hice para XP pero casi seguro que sirve el mismo para VX y Ace. Si no, me lo decís y miraré qué le falla. No requiere créditos.

Ponedlo encima de main:

Código:
#==============================================================================
# ** Disable Skills and Items
#==============================================================================

class Game_System
  
  attr_reader :disabled_skills
  attr_reader :disabled_items
  
  alias disable_si_ini initialize unless $@
  def initialize
    disable_si_ini
    @disabled_skills = []
    @disabled_items = []
  end
  
  def enable_skill(skill_id)
    @disabled_skills.delete(skill_id)
  end
  
  def disable_skill(skill_id)
    @disabled_skills.push(skill_id)
    @disabled_skills.uniq!
    @disabled_skills.sort!
  end
  
  def enable_item(item_id)
    @disabled_items.delete(item_id)
  end
  
  def disable_item(item_id)
    @disabled_items.push(item_id)
    @disabled_items.uniq!
    @disabled_items.sort!
  end
end

class Game_Actor < Game_Battler
  alias disable_si_sku? skill_can_use? unless $@
  def skill_can_use?(skill_id)
    if $game_system.disabled_skills.include?(skill_id)
      return false
    end
    disable_si_sku?(skill_id)
  end
end

class Game_Party
  alias disable_si_iku? item_can_use? unless $@
  def item_can_use?(item_id)
    if $game_system.disabled_items.include?(item_id)
      return false
    end
    disable_si_iku?(item_id)
  end
end

Para usarlo, en Llamar Script ponéis lo siguiente:

enable_item(ID de item) # Permitir el uso del objeto
disable_item(ID de item) # Prohibir el uso del objeto
enable_skill(ID de skill) # Permitir el uso de la habilidad
disable_skill(ID de skill) # Prohibir el uso de la habilidad
avatar
Wecoc
Administrador
Administrador



Créditos 12286

Gracias : 646

Volver arriba Ir abajo

Re: [XP][VX][Ace] Desactivar items y skills temporalmente

Mensaje por luistop12 el 2016-04-23, 00:57

Grazzie mister wecoc de seguro me sirve :3

pd: thks por el aporte.

atte
me
avatar
luistop12
Veterano
Veterano

0/3

Créditos 1197

Gracias : 32

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.