Últimos temas
» Ayuda para caminar y desbloquear camino
por joseromero96 Hoy a las 9:50 pm

» Pokemon Destiny
por JapoZero Hoy a las 3:13 am

» Necesito ayuda
por DorFenn Ayer a las 5:08 am

» Consejos para monetizar un juego
por joseromero96 Miér Ago 05, 2020 7:59 pm

» KEndure XP + VX
por kyonides Sáb Ago 01, 2020 2:11 am

» KRiskPoints XP
por kyonides Sáb Ago 01, 2020 1:45 am

» The Legend of Zelda: Trident of Power (RM2K3) [Juego Completo]
por Pizus Miér Jul 29, 2020 10:27 pm

» Chara - Cebolla Caminante
por CryOnion Miér Jul 29, 2020 10:23 pm

» Error despliegue del proyecto para Web
por sipsop Miér Jul 29, 2020 2:14 pm

» [RMVX]Kami no dokusai [Juego del Foro]
por luistop12 Sáb Jul 25, 2020 9:24 am

» KMapSign RG
por kyonides Sáb Jul 25, 2020 6:38 am

» Enemybook Plugin (completar besitario por zona + premio) MV - ayuda -
por Mericantos Sáb Jul 25, 2020 4:54 am


KBlueMage XP

Ir abajo

KBlueMage XP Empty KBlueMage XP

Mensaje por kyonides el Vie Jul 14, 2017 1:39 am

KBlueMage XP
v 1.2.1
por Kyonides-Arkanthos
 
Con este sencillo script podrán hacer que los héroes que Uds. escojan puedan aprender habilidades a lo mago azul de Final Fantasy. Solo hay que modificar los valores de unas cuantas Constantes y eso es todo.

Esta versión permite aprender siempre las habilidades sin importar su sistema de batallas, pero el aviso en forma de ventana solo estará disponible para el Sistema de Batallas por Defecto de XP.

Lo interesante es que les permite utilizar estados o states para no permitirle al mago azul que aprenda las habilidades por estar "enfermo". Si no les gusta o no necesitan esta opción, la pueden deshabilitar en la Constante STATESSTOPBML.

BLUEMAGES sirva para definir a los magos azules por medio de los IDs de actores.

BLUEMAGIC sirve para definir las habilidades que pueden aprender los magos azules al ser víctimas de estas la primera vez. 0 es el valor para todas las habilidades, los demás valores (uno tras otro separados por comas) son para esas habilidades únicamente.

NOBMLEARNING sirve para evitar que del todo aprendan ciertas habilidades, como la de algún jefe me imagino yo.

ANTIBMSTATES sirve para definir los estados o states que pueden impedir el aprendizaje de técnicas.

BMLEARNED está ahí para indicar en una ventana el aviso del aprendizaje de x habilidad. (Esto último es para el Sistema de Batallas de XP solamente).
 
Desde la versión 1.1


IGNORESUCCESSRATES les permite mantener la capacidad de siempre aprender una técnica (true) o de empezar a creer en la suerte (false o nil).

SUCCESSRATES les permite configurar entre qué niveles se va a tener cierto porcentaje de éxito en el aprendizaje de una técnica que los haya golpeado, IGNORESUCCESSRATES debe ser igual a false o nil si desean que se utilice esto.

Ejemplo:
SUCCESSRATES = {1..12 => 25}

Indica que entre el primer y el doceavo nivel se tiene una tasa de éxito del 25%.
El porcentaje SIEMPRE debe ser un múltiplo de 5.
 
Desde la Versión 1.2


IGNOREACCESSORIES les permite mantener la capacidad de aprender una técnica sin utilizar un accesorio específico o pueden deshabilitar esta Constante para exigirle que lo equipe al menos en determinados casos desde antes de que pueda ser golpeado por dicha técnica.

ACCESSORIES les permite configurar qué accesorios les permitirán aprender ciertas técnicas. Si no aparece un accesorio, entonces se podrá aprender la técnica normalmente. Sin embargo, si está deshabilitada la constante IGNORESUCCESSRATES, o sea, que habilitaron lo de contar suerte para aprenderla, igual no aprenderían la técnica si no tuvieron esa suerte necesaria para hacerlo.

Versión 1.2.1


Código:
#  KBlueMage XP - Default BS Version
#  v 1.2.1 - 2012-12-23
#  v 1.0   - 2012-08-26
#  Scripter: Kyonides-Arkanthos

#  No script call needed

module BlueSys
  # Hero IDs - They will learn skills right after being hit by them
  BLUEMAGES = [8]
  # Skill IDs - 0 : all IDs, any other number : those skills can be learned
  BLUEMAGIC = [0]
  # Skill IDs - Any number : Blue mages cannot learn them
  NOBMLEARNING = []
  # State IDs - States that may prevent blue mages from learning skills
  ANTIBMSTATES = []#[3, 6, 12]
  # Boolean (true or false) - States may prevent you from learning skills
  STATESTOPBML = false#true
  # String - Tell the player that he or she learned a new skill
  BMLEARNED = ' aprendió la habilidad de '
  # This version of my script adds the possibility of failing to learn a skill
  # Set to true if you want to always learn the skill, false if you feel lucky
  IGNORESUCCESSRATES = false
  # How probable is it for the Blue Mage to learn a skill after being hit
  # First Level..Last Level => Multiples of 5
  SUCCESSRATES = { 1..9 => 15, 10..21 => 20,
    22..38 => 25, 39..62 => 30,
    63..87 => 35, 88..100 => 40 }
  # NO NEED TO EQUIP ACCESSORIES to allow BM to learn some skills: true or false
  IGNOREACCESSORIES = false
  # Accessory ID => Array of Skill IDs
  ACCESSORIES = { 28 => [8, 11] }
  @bmlearned = [] # Leave It Alone!!
  def self.learned_skill(actor_name, skill)
    @bmlearned << [actor_name, $data_skills[skill].name]
  end

  def self.new_skills; @bmlearned end

  def self.clear_skills; @bmlearned.clear end
end

class Array
  def shuffle
    hsh = {}
    self.size.times {|n| index = rand(1000000)
      index = !hsh.keys.include?(index)? n : n + rand(1000000)
      hsh[index] = self[n] }
    hsh.values
  end

  def shuffle!() self[0..-1] = self.shuffle end
end

class Game_Actor
  alias kyon_blue_magic_gm_act_sk_eff skill_effect
  def skill_effect(user, skill)
    effective = kyon_blue_magic_gm_act_sk_eff(user, skill)
    afflicted = antibluemagic_states?
    learn_blue_magic(skill, afflicted, effective)
    return effective
  end

  def antibluemagic_states?
    return false if @states.empty? or !BlueSys::STATESTOPBML
    afflicted = @states.map {|s| break if BlueSys::ANTIBMSTATES.include?(s)}
    return afflicted.nil?
  end

  def learn_blue_magic(skill, afflicted, effective)
    if !afflicted and effective and BlueSys::BLUEMAGES.include?(self.id) and
        (BlueSys::BLUEMAGIC.include?(skill.id) or BlueSys::BLUEMAGIC[0] == 0)
      return if BlueSys::NOBMLEARNING.include?(skill.id)
      unless BlueSys::IGNORESUCCESSRATES
        key = BlueSys::SUCCESSRATES.keys.select {|k| k.include?(@level) }[0]
        success = [true] * (BlueSys::SUCCESSRATES[key] / 5)
        success += [nil] * (20 - success.size)
        success = success[rand(20)]
        return unless success
      end
      unless BlueSys::IGNOREACCESSORIES
        req = BlueSys::ACCESSORIES.select{|a, s| s.include?(skill.id)}.flatten
        armorid_ok = req.empty? ? nil : req[0] == @armor4_id
        return unless req.empty? or armorid_ok
      end
      learned = learn_skill(skill.id)
      BlueSys.learned_skill(self.name, skill.id) if learned
    end
  end
end

class Scene_Battle
  alias kyon_blue_magic_sc_bat_up_ph4_s6 update_phase4_step6
  def update_phase4_step6
    if @wait_count > 0
      @wait_count -= 1
      return
    end
    unless BlueSys.new_skills.empty?
      name, skill = BlueSys.new_skills.shift
      @help_window.set_text(name + BlueSys::BMLEARNED + skill, 1)
      @help_window.visible = true if !@help_window.visible
      @wait_count = 60
    end
    return if @wait_count > 0
    kyon_blue_magic_sc_bat_up_ph4_s6
  end
end


kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 146
Monedas : 388
Reputación : 7

Volver arriba Ir abajo

Volver arriba


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