Войти на сайт

Авторизация, ждите ...
×

ТЕМА: (XP) Blue Magic

(XP) Blue Magic 16 года 7 мес. назад #18868

  • Enyo
  • Enyo аватар
  • Вне сайта
  • Просветлённый
  • Скриптер
  • Сообщений: 251
  • Спасибо получено: 4
ФАНАТАМ ФФ
Скрипт синий магии
[cut]
#==============================================================================
# Individual Character Development - Blue Mage by Fomar0153
#==============================================================================
class Game_Party
 
  attr_accessor :icd_blue_mages
  attr_accessor :icd_blue_mages_all_skills
  attr_accessor :icd_blue_mages_skills
 
  alias fomar_icd_blue_mage_initialize initialize
  def initialize
    fomar_icd_blue_mage_initialize
    @icd_blue_mages = [1] #ИД персонажа синего мага
    @icd_blue_mages_all_skills = false #Все ли скилы являються      
     #Синими??
    @icd_blue_mages_skills = [83, 87, 99] # ИД скилов
  end
end
 
class Game_Actor   Game_Battler
 
  def skill_effect(user, skill)
    super(user, skill)
    if $game_party.icd_blue_mages.include?(self.id)
      unless $game_party.icd_blue_mages_all_skills == true
        if $game_party.icd_blue_mages_skills.include?(skill.id)
          self.learn_skill(skill.id)
        end
      else
        self.learn_skill(skill.id)
      end
    end
  end
 
end
[/cut]
Автор: Fomar0153
Администратор запретил публиковать записи гостям.

(XP) Blue Magic 16 года 4 мес. назад #21492

  • Enyo
  • Enyo аватар
  • Вне сайта
  • Просветлённый
  • Скриптер
  • Сообщений: 251
  • Спасибо получено: 4
Вот , скрипт еще лучше первого,
www.atelier-rgss.com/RGSS/Demos/MOG_Blue_Magic.exe
нужно лишь только дать синим скилам стихию (огонь, вода,и тд добавте еще Blue Magic) синих=))

Еще один хороший скрипт синий магии
Автор:SerphirothSpawn
ДЛЯ НОРМАЛЬНОЙ РАБОТЫ ТРЕБУЕТЬСЯ SDK!!!
[cut]
#==============================================================================
# ** Blue, Geomancy & Level Skills
#------------------------------------------------------------------------------
# SephirothSpawn
# Version 1.11
# 2007-02-10
# SDK : Version 2.0+, Part I
#------------------------------------------------------------------------------
# * Version History :
#
#   Version 1 ---------------------------------------------------- (2006-08-24)
#    Version 1.1 ------------------------------------------------- (2007-01-11)
#     - Update & Bug Fix : Altered Skill Use Test & Enemy Level Bug
#    Version 1.11 ------------------------------------------------ (2007-02-10)
#     - Update : Updated to SDK 2.0
#------------------------------------------------------------------------------
# * Description :
#
#   Blue Skills Allow you to learn new skills when character is targeted by
#   skill. You can control which skills are blue, when characters can learn
#   blue skills, which classes learn blue skills or manually control the
#   actors that learn blue skills.
#
#   Geomancy will give characters skills determinded by the current map or
#   terrain tags. Is customizable for each actor, map and terrain.
#
#   Level skills will only target people that are divisable by that level.
#   It gives you the option to set the skills level for any skills.
#
#   Enemy Levels - Enemy Levels will be randomly set depending on average
#                  party levels give or take a few levels. If Dynamic Enemies
#                  System exist, the level is based off that.
#------------------------------------------------------------------------------
# * Instructions :
#
#   Place The Script Below the SDK and Above Main.
#   To Customize your skills, refer to the customization instructions.
#------------------------------------------------------------------------------
# * Customization :
#
#   ** Blue Magic **
#
#   Setting Up  Blue Skills 
#    - Blue_Skills = [skill_id, skill_id, ...]
#   Setting Up Actors That Learn Blue Skills
#    - Blue_Skill_Actors = [actor_id, actor_id, ...]
#   Setting Up Classes That Learn Blue Skills
#    - Blue_Skill_Classes = [class_id, class_id, ...]
#
#   ** Geomancy **
#
#   Setting Up Map ID Skills (For Specific Actors)
#    - Geomancy_Actor_Map_ID_Skills = { 
#        actor_id =  { map_id =  [skill_id, ...], ... },
#        ...
#      }
#   Setting Up Terrain ID Skills (For Specific Actors)
#    - Geomancy_Actor_Terrain_Skills = {
#        actor_id =  { terrain_id =  [skill_id, ...], ...},
#        ...
#      }
#   Setting Up Up Map ID Class Skills (For Specific Class)
#    - Geomancy_Class_Map_ID_Skills = { 
#        class_id =  { map_id =  [skill_id, ...], ... },
#        ...
#      }
#   Setting Up Terrain ID Skills (For Specific Class)
#    - Geomancy_Class_Terrain_Skills = {
#        class_id =  { terrain_id =  [skill_id, ...], ...},
#        ...
#      }
#
#   ** Level Skills **
#
#   Setting Up Skills That Use Level
#    - Level_Based_Skills = { skill_id =  skill_level, ... }
#------------------------------------------------------------------------------
# * Syntax :
#
#   Blue Skills (Is added to skills by default)
#    -  game_actor .blue_skills
#
#   Setting Specific Actor During Game Play to Learn Blue Skills
#    -  game_actor .learn_blue_skills = true (LEARN) or false (DON T LEARN)
#------------------------------------------------------------------------------
# * Notes :
#
#   If using the Skill Learn Display, make sure this script is below it.
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log( Blue, Geomancy & Level Skills ,  SephirothSpawn , 1.11,  2007-02-10 )
SDK.check_requirements(2.0)
 
#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.enabled?( Blue, Geomancy & Level Skills )
 
#==============================================================================
# ** BGL_Skills
#==============================================================================

module BGL_Skills
  #--------------------------------------------------------------------------
  # ** Blue Skills
  #
  # * Blue Skills
  #  ~ Blue_Skills = [skill_id, skill_id, ...]
  # * Actors that Learn Blue Magic
  #  ~ Blue_Skill_Actors = [actor_id, ...]
  # * Classes that Learn Blue Magic
  #  ~ Blue_Skill_Classes = [class_id, class_id, ...]
  #--------------------------------------------------------------------------
  Blue_Skills        = [81]
  Blue_Skill_Actors  = [1]
  Blue_Skill_Classes = []
  #--------------------------------------------------------------------------
  # ** Geomancy
  #
  # * Actor Map ID Skills
  #  ~ actor_id =  { map_id =  [skill_id, ...], ... }
  #
  # * Actor Terrain Skills
  #  ~ actor_id =  { terrain_id =  [skill_id, ...], ... }
  #
  # * Class Map ID Skills
  #  ~ class_id =  { map_id =  [skill_id, ...], ... }
  #
  # * Class Terrain Skills
  #  ~ class =  { terrain_id =  [skill_id, ...], ... }
  #--------------------------------------------------------------------------
  Geomancy_Actor_Map_ID_Skills = {
  }
  Geomancy_Actor_Terrain_Skills = {1 = {5= [1]}
  }
  Geomancy_Class_Map_ID_Skills = {
  }
  Geomancy_Class_Terrain_Skills = {
  }
  #--------------------------------------------------------------------------
  # ** Level Based Skills
  #
  # * Level Based Skills
  #  ~ skill_id =  level
  #--------------------------------------------------------------------------
  Level_Based_Skills = {
  }
end
 
#==============================================================================
# ** Game_Battler
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias_method :seph_bglskills_gmbtlr_se, :skill_effect
  #--------------------------------------------------------------------------
  # * Apply Skill Effects
  #--------------------------------------------------------------------------
  def skill_effect(user, skill)
    # If Skill is Level Based Skills
    if BGL_Skills::Level_Based_Skills.has_key?(skill.id)
      # If Level is isn t divisible
      unless self.level % BGL_Skills::Level_Based_Skills[skill.id] == 0
        # Sets Miss
        self.damage =  Miss 
        return
      end
    end
    # Original Skill Effects
    seph_bglskills_gmbtlr_se(user, skill)
  end
end
 
#==============================================================================
# ** Game_Actor
#==============================================================================

class Game_Actor   Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :learn_blue_skills
  attr_accessor :blue_skills
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias_method :seph_bglskills_gmactr_setup,  :setup
  alias_method :seph_bglskills_gmactr_skills, :skills
  alias_method :seph_bglskills_gmactr_sl?,    :skill_learn?
  alias_method :seph_bglskills_gmactr_se,     :skill_effect
  #--------------------------------------------------------------------------
  # * Setup
  #--------------------------------------------------------------------------
  def setup(actor_id)
    # Set Up Blue Skills
    @blue_skills = []
    # Original Setup
    seph_bglskills_gmactr_setup(actor_id)
  end
  #--------------------------------------------------------------------------
  # * Determine if Finished Learning Skill
  #--------------------------------------------------------------------------
  def skill_learn?(skill_id)
    # Return Original Test or Geomancy Skills Learned
    return seph_bglskills_gmactr_sl?(skill_id) || 
           self.get_geomancy_skills.include?(skill_id) ||
           @blue_skills.include?(skill_id)
  end
  #--------------------------------------------------------------------------
  # * Skills
  #--------------------------------------------------------------------------
  def skills
    # Get Original Skills
    n = seph_bglskills_gmactr_skills.dup
    # Adds Geomancy Skills
    n    get_geomancy_skills
    # Adds Blue Skills
    n    @blue_skills
    # Returns Skills
    return n.flatten.uniq.sort
  end
  #--------------------------------------------------------------------------
  # * Geomancy Skills
  #--------------------------------------------------------------------------
  def get_geomancy_skills
    # Creates Skills Array
    skills = []
    # Checks Actor Based Geomancy Map Skills
    if (gams = BGL_Skills::Geomancy_Actor_Map_ID_Skills).has_key?(@actor_id)
      # If Current Map
      if gams[@actor_id].has_key?($game_map.id)
        # Adds Map Skill(s)
        skills    gams[@actor_id][$game_map.id]
      end
    end
    # Checks Actor Based Terrain Skills
    if (gats = BGL_Skills::Geomancy_Actor_Terrain_Skills).has_key?(@actor_id)
      # If Current Terrain
      if gats[@actor_id].has_key?($game_player.terrain_tag)
        # Adds Terrain Skill(s)
        skills    gats[@actor_id][$game_player.terrain_tag]
      end
    end
    # Checks Class Based Geomancy Map Skills
    if (gcms = BGL_Skills::Geomancy_Class_Map_ID_Skills).has_key?(@class_id)
      # If Current Map
      if gams[@class_id].has_key?($game_map.id)
        # Adds Map Skill(s)
        skills    gams[@class_id][$game_map.id]
      end
    end
    # Checks Actor Based Terrain Skills
    if (gcts = BGL_Skills::Geomancy_Class_Terrain_Skills).has_key?(@class_id)
      # If Current Terrain
      if gats[@class_id].has_key?($game_player.terrain_tag)
        # Adds Terrain Skill(s)
        skills    gats[@class_id][$game_player.terrain_tag]
      end
    end
    # Returns Skills
    return skills.flatten
  end
  #--------------------------------------------------------------------------
  # * Skill Effect
  #--------------------------------------------------------------------------
  def skill_effect(user, skill)
    # If Actor / Class Can Learn Skill or Actor Can Learn Skill
    if BGL_Skills::Blue_Skill_Classes.include?(@class_id) || 
       BGL_Skills::Blue_Skill_Actors.include?(@actor_id) ||
       self.learn_blue_skills
      # If Skill is a Blue Skill
      if BGL_Skills::Blue_Skills.include?(skill.id)
        # If Skill Not Learned
        unless @blue_skills.include?(skill.id)
          # Learn Skill
          @blue_skills    skill.id
          # If Skill Learn Display Found
          if SDK.enabled?( Skill Learn Display )
            @learn_skills_pop = true
            @learning_skills    skill.id
          end
        end
      end
    end
    # Original Skill Effect
    seph_bglskills_gmactr_se(user, skill)
  end
end
 
#==============================================================================
# ** Game_Enemy
#==============================================================================

class Game_Enemy   Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :level
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias_method :seph_bglskills_gmeny_init, :initialize
  def initialize(troop_id, member_index)
    # Original Initialization
    seph_bglskills_gmeny_init(troop_id, member_index)
    # If Dynamic Enemies Not Enabled
    unless SDK.enabled?( Dynamic Enemies )
      # Sets Up Random Level
      n = 0
      $game_party.actors.each {|a| n += a.level}
      n /= $game_party.actors.size
      range = (-3..3).to_a
      n = [1, (n + range[rand(range.size)])].max
      @level = n
    end
  end
end
 
#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
[/cut]
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.280 секунд