Partagez
Aller en bas
avatar
Titou
Membre

Nombre de messages : 560
Age : 22
Localisation : Isère
Distinction : aucune
Date d'inscription : 22/04/2012

Problème avec un script [résolu]

le Mer 12 Mar 2014 - 11:58
Rebonjours à toutes et à tous

Je reviens vers vous mais pour cette fois m'aider sur un script.
C'est celui de Tsukihime, le Skill Select (je sais pas si j'ai le droit de le poster ici en fait )
Pour ceux qui connaissent le script, dès que je veux aller sur la gauche (quand il y a une compétence de sélectionné), ça me met ça :
 

Donc voilà, je sais pas tellement comment faire pour le coup :/
Merci d'avance de votre aide


Dernière édition par Titou le Mer 12 Mar 2014 - 21:13, édité 1 fois
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 12:15
Tu as testé la démo qui est disponible si il y a le même bug ?

http://www.rpgmakervxace.net/topic/3592-skill-select-system/
avatar
Titou
Membre

Nombre de messages : 560
Age : 22
Localisation : Isère
Distinction : aucune
Date d'inscription : 22/04/2012

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 12:18
Oui je viens de le faire, en fait le script est placé de façon bizarre sur la démo, donc je sais pas si je doit m'y faire comme dans la démo ou juste le placé comme donné dans le lien de dll
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 12:19
Apparemment ce script n'est plus supporté par l'auteur mais j'ai un script équivalent voir pareil que tu sais tester pour voir si il te convient :

Voici l'adresse :
http://forums.rpgmakerweb.com/index.php?/topic/6727-skill-equip/
avatar
Titou
Membre

Nombre de messages : 560
Age : 22
Localisation : Isère
Distinction : aucune
Date d'inscription : 22/04/2012

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 12:22
Arf, le lien est mort :/
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 13:07
C'est peut être celui-ci :

Code:
==============================================================================
#
# ¥ Yami Engine Symphony - Skill Equip
# -- Last Updated: 2013.01.02
# -- Level: Easy
# -- Requires: n/a
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YES-SkillEquip"] = true

#==============================================================================
# ¥ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2013.01.02 - Fixed: Added Skills.
# - Added: Non equip skill, notetag: <non equip skill>.
# Non equip skills will always be usable in battle.
# 2012.12.17 - Fixed: Big slots list.
# 2012.12.12 - Fixed: Reverting slots issue.
# 2012.12.08 - Compatible with: YEA - Victory Aftermath.
# 2012.12.05 - Finished Script.
# 2012.12.03 - Started Script.
#
#==============================================================================
# ¥ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script requires the player to make decisions as to which skills to bring
# into battle for each character.
#
#==============================================================================
# ¥ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ¥ Materials/‘fÞ but above ¥ Main. Remember to save.
#
#==============================================================================
# ¥ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjustments.
#
#==============================================================================

#==============================================================================
# ¡ Configuration
#==============================================================================

module YES
  module SKILL_EQUIP
   
    #===========================================================================
    # - Basic Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # The following below will adjust the basic ruleset that the skill equip
    # system will use. Visual settings will also be adjusted here.
    #===========================================================================
    COMMAND = "Equip Skill" # This is the category title that appears for
                                # the skill equip option.
    EQUIP_SKILL_SWITCH = 43 # This switch must be enabled in order for the
                                # Equip Skill command to appear in the skill menu.
   
    # These are the visual settings used when a skill isn't equipped.
    EMPTY_SKILL_HELP = "No skill is equipped in this slot.\n
Press Enter to assign skill."
    EMPTY_SKILL_TEXT = "<Empty Slot>" # Text used for no skill equipped.
    EMPTY_SKILL_ICON = 185 # Icon used for no skill equipped.
   
    # This constant adjusts the default maximum amount of equipped skills that
    # an actor can have without modifications.
    DEFAULT_MAX_EQUIPS = 4
   
    #===========================================================================
    # - Description Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # The following below will adjust the description window, which includes
    # skill's properties and description.
    # Here's the list of default properties:
    # -------------------------------------------------------------------------
    # :symbol Description
    # -------------------------------------------------------------------------
    # :stype Skill Type.
    # :cost Skill Cost.
    # :speed Speed Fix.
    # :success Success Rate.
    #===========================================================================
   
    # Default displayed properties of each skill.
    DEFAULT_PROPERTIES = [ # Start.
        :stype, # Skill Type
        :cost, # Mana/TP Cost
        :speed, # Speed Fix
        :success, # Success Rate
    ] # End.
   
    # Default displaying texts for properties.
    PROPERTIES = { # Start.
      :stype => "Skill Type",
      :cost => "Skill Cost",
      :speed => "Speed Fix",
      :success => "Hit Rate",
    } # End.
   
  end
end

#==============================================================================
# ¥ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

#==============================================================================
# ¡ Regular Expression
#==============================================================================

module REGEXP
  module SKILL_EQUIP
    MAX_EQUIPS = /<(?:SKILL_SLOTS|skill slots):[ ]*(\d+)>/i
    CHANGE_EQUIPS = /<(?:CHANGE_SLOTS|change slots):[ ]*([\+\-]?\d+)>/i
    VALUE_DESCRIPTION = /<(?:SKILL_INFO|skill info)[ ](.*):[ ]*(.*)>/i
    NON_EQUIP = /<(?:NON_EQUIP_SKILL|non equip skill)>/i
  end # SKILL_EQUIP
end # REGEXP

#==============================================================================
# ¡ DataManager
#==============================================================================

module DataManager
   
  #--------------------------------------------------------------------------
  # alias method: load_database
  #--------------------------------------------------------------------------
  class <<self; alias load_database_skill_equip load_database; end
  def self.load_database
    load_database_skill_equip
    initialize_skill_equip
  end
 
  #--------------------------------------------------------------------------
  # alias method: create_game_objects
  #--------------------------------------------------------------------------
  class <<self; alias create_game_objects_skill_equip create_game_objects; end
  def self.create_game_objects
    create_game_objects_skill_equip
    $game_switches[YES::SKILL_EQUIP::EQUIP_SKILL_SWITCH] = true
  end
 
  #--------------------------------------------------------------------------
  # new method: initialize_skill_equip
  #--------------------------------------------------------------------------
  def self.initialize_skill_equip
    groups = [$data_actors, $data_classes, $data_weapons, $data_armors, $data_skills]
    groups.each { |group|
      group.each { |obj|
        next if obj.nil?
        obj.initialize_skill_equip
      }
    }
  end
 
end # DataManager

#==============================================================================
# ¡ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
 
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :skill_slots
  attr_accessor :change_slots
  attr_accessor :slot_properties
  attr_accessor :non_equip_skill

  #--------------------------------------------------------------------------
  # new method: initialize_skill_equip
  #--------------------------------------------------------------------------
  def initialize_skill_equip
    @change_slots = 0
    @slot_properties = []
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when REGEXP::SKILL_EQUIP::MAX_EQUIPS
        @skill_slots = $1.to_i
      when REGEXP::SKILL_EQUIP::CHANGE_EQUIPS
        @change_slots = $1.to_i
      when REGEXP::SKILL_EQUIP::VALUE_DESCRIPTION
        @slot_properties.push([$1.to_s, $2.to_s])
      when REGEXP::SKILL_EQUIP::NON_EQUIP
        @non_equip_skill = true
      end
    }
  end
 
end # RPG::BaseItem

#==============================================================================
# ¡ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
 
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :equip_skills

  #--------------------------------------------------------------------------
  # alias method: setup
  #--------------------------------------------------------------------------
  alias yes_skill_equip_setup setup
  def setup(actor_id)
    yes_skill_equip_setup(actor_id)
    correct_equip_skills
  end
 
  #--------------------------------------------------------------------------
  # alias method: refresh
  #--------------------------------------------------------------------------
  alias yes_skill_equip_refresh refresh
  def refresh
    yes_skill_equip_refresh
    correct_equip_skills
    correct_skill_slots
  end
 
  #--------------------------------------------------------------------------
  # new method: base_skill_slots
  #--------------------------------------------------------------------------
  def base_skill_slots
    array = [self.class.skill_slots, self.actor.skill_slots]
    default = YES::SKILL_EQUIP::DEFAULT_MAX_EQUIPS
    array.compact.size > 0 ? array.compact[0] : default
  end
 
  #--------------------------------------------------------------------------
  # new method: change_slots
  #--------------------------------------------------------------------------
  def change_slots
    array = self.equips + [self.class, self.actor]
    array.compact.inject(0) { |r, o| r += o.change_slots }
  end
 
  #--------------------------------------------------------------------------
  # new method: skill_slots
  #--------------------------------------------------------------------------
  def skill_slots
    [base_skill_slots + change_slots, 0].max
  end

  #--------------------------------------------------------------------------
  # new method: correct_skill_slots
  #--------------------------------------------------------------------------
  def correct_skill_slots
    if @equip_skills.size < skill_slots
      @equip_skills = @equip_skills + Array.new(skill_slots - @equip_skills.size, 0)
    else
      @equip_skills = @equip_skills[0, skill_slots]
    end
  end
 
  #--------------------------------------------------------------------------
  # new method: correct_equip_skills
  #--------------------------------------------------------------------------
  def correct_equip_skills
    if @equip_skills.nil?
      @equip_skills = Array.new(skill_slots, 0)
      #---
      j = 0
      all_skills.each_index { |i|
        break if i == @equip_skills.size
        while all_skills[j] && $data_skills[all_skills[j]].non_equip_skill
          j += 1
        end
        @equip_skills[i] = all_skills[j]
        j += 1
      }
    end
    #---
    @equip_skills.each_index { |i|
      id = @equip_skills[i]
      next if id == 0
      @equip_skills[i] = 0 unless all_skills.include?(id)
    }
  end
 
  #--------------------------------------------------------------------------
  # new method: all_skills
  #--------------------------------------------------------------------------
  def all_skills
    (@skills | added_skills).sort
  end
 
  #--------------------------------------------------------------------------
  # new method: equip_skill
  #--------------------------------------------------------------------------
  def equip_skill(index, id)
    return false unless skill_equippable?(id)
    if @equip_skills.include?(id) && id != 0
      @equip_skills[@equip_skills.index(id)] = @equip_skills[index]
    end
    @equip_skills[index] = id
  end
 
  #--------------------------------------------------------------------------
  # new method: skill_equippable?
  #--------------------------------------------------------------------------
  def skill_equippable?(id)
    return true
  end
 
  #--------------------------------------------------------------------------
  # new method: equipped_skills
  #--------------------------------------------------------------------------
  def equipped_skills
    @equip_skills.select{|id|id != 0}.collect{|id|$data_skills[id]}
  end

  #--------------------------------------------------------------------------
  # alias method: skills
  # Overwrite in Battle
  #--------------------------------------------------------------------------
  alias yes_skill_equip_skills skills
  def skills
    if $game_party.in_battle && !$game_troop.all_dead?
      return equipped_skills + yes_skill_equip_skills.select{|s|s.non_equip_skill}
    else
      return yes_skill_equip_skills
    end
  end
   
end # Game_Actor

#==============================================================================
# ¡ Window_SkillSlots
#==============================================================================

class Window_SkillSlots < Window_Selectable
   
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(x, y, height)
    super(x, y, Graphics.width / 2, height)
    self.index = 0
    self.hide
  end
 
  #--------------------------------------------------------------------------
  # item_max
  #--------------------------------------------------------------------------
  def item_max
    @actor.nil? ? 1 : @actor.skill_slots
  end
 
  #--------------------------------------------------------------------------
  # current_item_enabled?
  #--------------------------------------------------------------------------
  def current_item_enabled?
    @actor && @actor.skill_slots > 0
  end
 
  #--------------------------------------------------------------------------
  # actor=
  #--------------------------------------------------------------------------
  def actor=(actor)
    return if @actor == actor
    @actor = actor
    update_padding
    create_contents
    refresh
    self.oy = 0
    @index = 0
  end
 
  #--------------------------------------------------------------------------
  # draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    skill_id = @actor.equip_skills[index]
    #---
    return if skill_id.nil?
    reset_font_settings
    draw_item_none(index) if skill_id <= 0
    draw_item_name(index, skill_id) if skill_id > 0
  end
 
  #--------------------------------------------------------------------------
  # draw_item_none
  #--------------------------------------------------------------------------
  def draw_item_none(index)
    rect = item_rect(index)
    #---
    change_color(normal_color, false)
    draw_icon(YES::SKILL_EQUIP::EMPTY_SKILL_ICON, rect.x, rect.y, false)
    rect.x += 24
    draw_text(rect, YES::SKILL_EQUIP::EMPTY_SKILL_TEXT, 0)
  end
 
  #--------------------------------------------------------------------------
  # draw_item_name
  #--------------------------------------------------------------------------
  def draw_item_name(index, skill_id, enabled = true)
    rect = item_rect(index)
    item = $data_skills[skill_id]
    #---
    change_color(normal_color, enabled)
    draw_icon(item.icon_index, rect.x, rect.y, enabled)
    rect.x += 24
    draw_text(rect, item.name, 0)
  end
 
  #--------------------------------------------------------------------------
  # propertise_window=
  #--------------------------------------------------------------------------
  def properties_window=(properties_window)
    @properties_window = properties_window
    id = @actor.equip_skills[index]
    item = id.nil? ? nil : $data_skills[id]
    @properties_window.set_item(item)
  end
 
  #--------------------------------------------------------------------------
  # update_help
  #--------------------------------------------------------------------------
  def update_help
    id = @actor.equip_skills[index]
    item = id.nil? ? nil : $data_skills[id]
    empty_text = YES::SKILL_EQUIP::EMPTY_SKILL_HELP
    item.nil? ? @help_window.set_text(empty_text) : @help_window.set_item(item)
    @properties_window.set_item(item) if @properties_window
  end
 
end # Window_SkillSlots

#==============================================================================
# ¡ Window_SkillList_Equip
#==============================================================================

class Window_SkillList_Equip < Window_SkillList
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    self.hide
    self.index = 0
  end
 
  #--------------------------------------------------------------------------
  # col_max
  #--------------------------------------------------------------------------
  def col_max
    return 1
  end
 
  #--------------------------------------------------------------------------
  # enable?
  #--------------------------------------------------------------------------
  def enable?(item)
    @actor
  end
 
  #--------------------------------------------------------------------------
  # include?
  #--------------------------------------------------------------------------
  def include?(item)
    item
  end
 
  #--------------------------------------------------------------------------
  # make_item_list
  #--------------------------------------------------------------------------
  def make_item_list
    super
    @data = [0] + @data.select{|s|!s.non_equip_skill}
  end
 
  #--------------------------------------------------------------------------
  # draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    skill = @data[index]
    if skill && skill.is_a?(RPG::Skill)
      rect = item_rect(index)
      rect.width -= 4
      draw_item_name(skill, rect.x, rect.y, enable?(skill))
    else
      rect = item_rect(index)
      rect.width -= 4
      change_color(normal_color, false)
      draw_icon(YES::SKILL_EQUIP::EMPTY_SKILL_ICON, rect.x, rect.y, false)
      rect.x += 24
      draw_text(rect, YES::SKILL_EQUIP::EMPTY_SKILL_TEXT, 0)
    end
  end
 
  #--------------------------------------------------------------------------
  # item
  #--------------------------------------------------------------------------
  def item
    @data && @data[index] == 0 ? @data[index] : super
  end
 
  #--------------------------------------------------------------------------
  # properties_window=
  #--------------------------------------------------------------------------
  def properties_window=(properties_window)
    @properties_window = properties_window
  end
 
  #--------------------------------------------------------------------------
  # update_help
  #--------------------------------------------------------------------------
  def update_help
    empty_text = YES::SKILL_EQUIP::EMPTY_SKILL_HELP
    item == 0 ? @help_window.set_text(empty_text) : @help_window.set_item(item)
    @properties_window.set_item(item) if @properties_window
  end
 
end # Window_SkillList_Equip

#==============================================================================
# ¡ Window_Properties_Slot
#==============================================================================

class Window_Properties_Slot < Window_Base
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @item = nil
    @actor = nil
    self.hide
    refresh
  end
 
  #--------------------------------------------------------------------------
  # refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    return unless @actor
    if @item.nil? || @item == 0
      reset_font_settings
      change_color(normal_color, false)
      draw_icon(YES::SKILL_EQUIP::EMPTY_SKILL_ICON, 0, 0, false)
      draw_text(24, 0, contents.width, line_height, YES::SKILL_EQUIP::EMPTY_SKILL_TEXT)
    end
    return if @item.nil? || @item == 0
    reset_font_settings
    #---
    draw_item_name(@item, 0, 0)
    #---
    i = 0; hash = YES::SKILL_EQUIP::DEFAULT_PROPERTIES
    contents.font.size -= 2
    hash.each { |p| h = (i + 1) * line_height
      case p
      when :stype
        draw_skill_type(h)
      when :cost
        draw_skill_cost(h)
      when :speed
        draw_skill_speed(h)
      when :success
        draw_skill_rate(h)
      end
      i += 1
    }
    #---
    i = hash.size
    @item.slot_properties.each { |a| h = (i + 1) * line_height
      draw_skill_properties(a, h)
      i += 1 }
  end
   
  #--------------------------------------------------------------------------
  # draw_skill_type
  #--------------------------------------------------------------------------
  def draw_skill_type(y)
    w = contents.width
    change_color(system_color)
    draw_text(0, y, w, line_height, YES::SKILL_EQUIP::PROPERTIES[:stype])
    change_color(normal_color)
    draw_text(0, y, w, line_height, $data_system.skill_types[@item.stype_id], 2)
  end
 
  #--------------------------------------------------------------------------
  # draw_skill_cost
  #--------------------------------------------------------------------------
  def draw_skill_cost(h)
    if $imported["YEA-SkillCostManager"]
      draw_skill_cost_advanced(h)
    else
      rect = Rect.new(0,h,contents.width,line_height)
      #---
      change_color(system_color)
      draw_text(rect, YES::SKILL_EQUIP::PROPERTIES[:cost])
      #---
      if @actor.skill_tp_cost(@item) > 0
        change_color(tp_cost_color)
        text = @actor.skill_tp_cost(@item).to_s + Vocab.tp_a
        draw_text(rect, text, 2)
        rect.width -= text_size(text).width + 4
      end
      #---
      if @actor.skill_mp_cost(@item) > 0
        change_color(mp_cost_color)
        text = @actor.skill_mp_cost(@item).to_s + Vocab.mp_a
        draw_text(rect, text, 2)
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # draw_skill_cost_advanced
  #--------------------------------------------------------------------------
  def draw_skill_cost_advanced(h)
    rect = Rect.new(0,h,contents.width,line_height)
    #---
    change_color(system_color)
    draw_text(rect, YES::SKILL_EQUIP::PROPERTIES[:cost])
    #---
    draw_tp_skill_cost(rect, @item) unless $imported["YEA-BattleEngine"]
    draw_mp_skill_cost(rect, @item)
    draw_tp_skill_cost(rect, @item) if $imported["YEA-BattleEngine"]
    draw_hp_skill_cost(rect, @item)
    draw_gold_skill_cost(rect, @item)
    draw_custom_skill_cost(rect, @item)
  end
 
  #--------------------------------------------------------------------------
  # draw_skill_speed
  #--------------------------------------------------------------------------
  def draw_skill_speed(y)
    w = contents.width
    change_color(system_color)
    draw_text(0, y, w, line_height, YES::SKILL_EQUIP::PROPERTIES[:speed])
    change_color(normal_color)
    draw_text(0, y, w, line_height, @item.speed.to_s, 2)
  end
 
  #--------------------------------------------------------------------------
  # draw_skill_rate
  #--------------------------------------------------------------------------
  def draw_skill_rate(y)
    w = contents.width
    change_color(system_color)
    draw_text(0, y, w, line_height, YES::SKILL_EQUIP::PROPERTIES[:success])
    change_color(normal_color)
    draw_text(0, y, w, line_height, @item.success_rate.to_s + "%", 2)
  end
 
  #--------------------------------------------------------------------------
  # draw_skill_properties
  #--------------------------------------------------------------------------
  def draw_skill_properties(a, y)
    w = contents.width
    change_color(system_color)
    draw_text(0, y, w, line_height, a[0])
    change_color(normal_color)
    draw_text(0, y, w, line_height, a[1], 2)
  end
 
  #--------------------------------------------------------------------------
  # set_item
  #--------------------------------------------------------------------------
  def set_item(item)
    if @item != item
      @item = item
      refresh
    end
  end
 
  #--------------------------------------------------------------------------
  # actor=
  #--------------------------------------------------------------------------
  def actor=(actor)
    @actor = actor
  end
 
  #--------------------------------------------------------------------------
  # Yanfly Engine Ace - Skill Cost Manager
  #--------------------------------------------------------------------------
  if $imported["YEA-SkillCostManager"]
    #--------------------------------------------------------------------------
    # new method: draw_mp_skill_cost
    #--------------------------------------------------------------------------
    def draw_mp_skill_cost(rect, skill)
      return unless @actor.skill_mp_cost(skill) > 0
      contents.font.size -= 2
      change_color(mp_cost_color)
      #---
      icon = Icon.mp_cost
      if icon > 0
        draw_icon(icon, rect.x + rect.width-24, rect.y)
        rect.width -= 24
      end
      #---
      contents.font.size = YEA::SKILL_COST::MP_COST_SIZE
      cost = @actor.skill_mp_cost(skill)
      text = sprintf(YEA::SKILL_COST::MP_COST_SUFFIX, cost.group)
      draw_text(rect, text, 2)
      cx = text_size(text).width + 4
      rect.width -= cx
      reset_font_settings
    end
   
    #--------------------------------------------------------------------------
    # new method: draw_tp_skill_cost
    #--------------------------------------------------------------------------
    def draw_tp_skill_cost(rect, skill)
      return unless @actor.skill_tp_cost(skill) > 0
      contents.font.size -= 2
      change_color(tp_cost_color)
      #---
      icon = Icon.tp_cost
      if icon > 0
        draw_icon(icon, rect.x + rect.width-24, rect.y)
        rect.width -= 24
      end
      #---
      contents.font.size = YEA::SKILL_COST::TP_COST_SIZE
      cost = @actor.skill_tp_cost(skill)
      text = sprintf(YEA::SKILL_COST::TP_COST_SUFFIX, cost.group)
      draw_text(rect, text, 2)
      cx = text_size(text).width + 4
      rect.width -= cx
      reset_font_settings
    end
   
    #--------------------------------------------------------------------------
    # new method: draw_hp_skill_cost
    #--------------------------------------------------------------------------
    def draw_hp_skill_cost(rect, skill)
      return unless @actor.skill_hp_cost(skill) > 0
      contents.font.size -= 2
      change_color(hp_cost_color)
      #---
      icon = Icon.hp_cost
      if icon > 0
        draw_icon(icon, rect.x + rect.width-24, rect.y)
        rect.width -= 24
      end
      #---
      contents.font.size = YEA::SKILL_COST::HP_COST_SIZE
      cost = @actor.skill_hp_cost(skill)
      text = sprintf(YEA::SKILL_COST::HP_COST_SUFFIX, cost.group)
      draw_text(rect, text, 2)
      cx = text_size(text).width + 4
      rect.width -= cx
      reset_font_settings
    end
   
    #--------------------------------------------------------------------------
    # new method: draw_gold_skill_cost
    #--------------------------------------------------------------------------
    def draw_gold_skill_cost(rect, skill)
      return unless @actor.skill_gold_cost(skill) > 0
      contents.font.size -= 2
      change_color(gold_cost_color)
      #---
      icon = Icon.gold_cost
      if icon > 0
        draw_icon(icon, rect.x + rect.width-24, rect.y)
        rect.width -= 24
      end
      #---
      contents.font.size = YEA::SKILL_COST::GOLD_COST_SIZE
      cost = @actor.skill_gold_cost(skill)
      text = sprintf(YEA::SKILL_COST::GOLD_COST_SUFFIX, cost.group)
      draw_text(rect, text, 2)
      cx = text_size(text).width + 4
      rect.width -= cx
      reset_font_settings
    end
   
    #--------------------------------------------------------------------------
    # new method: draw_custom_skill_cost
    #--------------------------------------------------------------------------
    def draw_custom_skill_cost(rect, skill)
      return unless skill.use_custom_cost
      contents.font.size -= 2
      change_color(text_color(skill.custom_cost_colour))
      icon = skill.custom_cost_icon
      if icon > 0
        draw_icon(icon, rect.x + rect.width-24, rect.y)
        rect.width -= 24
      end
      contents.font.size = skill.custom_cost_size
      text = skill.custom_cost_text
      draw_text(rect, text, 2)
      cx = text_size(text).width + 4
      rect.width -= cx
      reset_font_settings
    end
  end
 
end # Window_Properties_Slot

#==============================================================================
# ¡ Window_SkillCommand
#==============================================================================

class Window_SkillCommand < Window_Command
 
  #--------------------------------------------------------------------------
  # alias method: make_command_list
  #--------------------------------------------------------------------------
  unless $imported["YEA-SkillMenu"]
  alias yes_skill_equip_make_command_list make_command_list
  def make_command_list
    yes_skill_equip_make_command_list
    add_command(YES::SKILL_EQUIP::COMMAND, :equip_skill, $game_switches[YES::SKILL_EQUIP::EQUIP_SKILL_SWITCH])
  end
  end
 
end # Window_SkillCommand

#==============================================================================
# ¡ Scene_Skill
#==============================================================================

class Scene_Skill < Scene_ItemBase
 
  #--------------------------------------------------------------------------
  # alias method: start
  #--------------------------------------------------------------------------
  alias yes_skill_equip_start start
  def start
    yes_skill_equip_start
    create_slots_window
    create_skill_equip_window
    create_properties_window
  end
 
  #--------------------------------------------------------------------------
  # alias method: create_command_window
  #--------------------------------------------------------------------------
  alias yes_skill_equip_create_command_window create_command_window
  def create_command_window
    yes_skill_equip_create_command_window
    @command_window.set_handler(:equip_skill, method(:command_equip_skill))
  end
 
  #--------------------------------------------------------------------------
  # new method: create_slots_window
  #--------------------------------------------------------------------------
  def create_slots_window
    wx = 0
    wy = @status_window.y + @status_window.height
    wh = Graphics.height - wy
    @slots_window = Window_SkillSlots.new(wx, wy, wh)
    @slots_window.viewport = @viewport
    @slots_window.help_window = @help_window
    @slots_window.actor = @actor
    @slots_window.set_handler(:ok, method(:on_slot_ok))
    @slots_window.set_handler(:cancel, method(:on_slot_cancel))
  end
 
  #--------------------------------------------------------------------------
  # new method: create_skill_equip_window
  #--------------------------------------------------------------------------
  def create_skill_equip_window
    wx = 0
    wy = @status_window.y + @status_window.height
    ww = Graphics.width / 2
    wh = Graphics.height - wy
    @skill_equip = Window_SkillList_Equip.new(wx, wy, ww, wh)
    @skill_equip.viewport = @viewport
    @skill_equip.help_window = @help_window
    @skill_equip.actor = @actor
    @skill_equip.set_handler(:ok, method(:on_skill_equip_ok))
    @skill_equip.set_handler(:cancel, method(:on_skill_equip_cancel))
  end
 
  #--------------------------------------------------------------------------
  # new method: create_properties_window
  #--------------------------------------------------------------------------
  def create_properties_window
    wx = @slots_window.width
    wy = @status_window.y + @status_window.height
    ww = Graphics.width / 2
    wh = Graphics.height - wy
    @properties_window = Window_Properties_Slot.new(wx, wy, ww, wh)
    @properties_window.viewport = @viewport
    @properties_window.actor = @actor
    @slots_window.properties_window = @properties_window
    @skill_equip.properties_window = @properties_window
  end
 
  #--------------------------------------------------------------------------
  # new method: command_equip_skill
  #--------------------------------------------------------------------------
  def command_equip_skill
    @slots_window.activate
  end
 
  #--------------------------------------------------------------------------
  # new method: on_slot_ok
  #--------------------------------------------------------------------------
  def on_slot_ok
    @slots_window.deactivate.hide
    @skill_equip.show.activate
  end
 
  #--------------------------------------------------------------------------
  # new method: on_slot_cancel
  #--------------------------------------------------------------------------
  def on_slot_cancel
    @slots_window.deactivate
    @command_window.activate
  end
 
  #--------------------------------------------------------------------------
  # new method: on_skill_equip_ok
  #--------------------------------------------------------------------------
  def on_skill_equip_ok
    id = @skill_equip.item == 0 ? 0 : @skill_equip.item.id
    @actor.equip_skill(@slots_window.index, id)
    @slots_window.refresh
    @skill_equip.deactivate.hide
    @slots_window.show.activate
  end
 
  #--------------------------------------------------------------------------
  # new method: on_skill_equip_cancel
  #--------------------------------------------------------------------------
  def on_skill_equip_cancel
    @skill_equip.deactivate.hide
    @slots_window.show.activate
  end
 
  #--------------------------------------------------------------------------
  # super method: update
  #--------------------------------------------------------------------------
  def update
    super
    if @command_window.active
      if @command_window.current_symbol == :equip_skill
        @item_window.hide
        @slots_window.show
        @properties_window.show
      else
        @slots_window.hide
        @properties_window.hide
        @item_window.show
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # alias method: on_actor_change
  #--------------------------------------------------------------------------
  alias yes_skill_equip_on_actor_change on_actor_change
  def on_actor_change
    yes_skill_equip_on_actor_change
    @slots_window.index = 0
    @skill_equip.index = 0
    @slots_window.actor = @actor
    @skill_equip.actor = @actor
    @properties_window.actor = @actor
    @slots_window.properties_window = @properties_window
  end
 
end # Scene_Skill

#==============================================================================
#
# ¥ End of File
#
#==============================================================================


Source :

https://github.com/suppayami/rmvxa-collection
...
avatar
vincent26
Membre

Nombre de messages : 766
Age : 23
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 13:18
ajoute cela au dessus de la ligne qui plante :
puts item.to_s
lance le jeu avec la console et fait en sorte qu'il crache et dit moi la dernière chose écrite dans la console
avatar
Titou
Membre

Nombre de messages : 560
Age : 22
Localisation : Isère
Distinction : aucune
Date d'inscription : 22/04/2012

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 13:52
C'est "8:Fixnum" cette fois-ci
avatar
Titou
Membre

Nombre de messages : 560
Age : 22
Localisation : Isère
Distinction : aucune
Date d'inscription : 22/04/2012

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 21:13
Bon bah Gros coup de théâtre, j'ai enlever la ligne dans une tentative désespéré (c'est un truc qui marche pour le problème mais en cause un autre généralement), puis là le script fonctionne sans la ligne (d'ailleurs du coup ça défini une méthode qui est inutile, enfin bref...)
Donc ça marche sujet clos ^^
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Problème avec un script [résolu]

le Mer 12 Mar 2014 - 21:17
Généralement c'est une mauvaise solution ce que tu as fais mais seul le temps te le dira si tu as bien fais Smile
avatar
vincent26
Membre

Nombre de messages : 766
Age : 23
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Re: Problème avec un script [résolu]

le Jeu 13 Mar 2014 - 0:29
c'est parce que cette def permetter d'afficher la description de quelque chose la supprimer revient
a ne plus rien afficher
avatar
Titou
Membre

Nombre de messages : 560
Age : 22
Localisation : Isère
Distinction : aucune
Date d'inscription : 22/04/2012

Re: Problème avec un script [résolu]

le Jeu 13 Mar 2014 - 2:08
J'ai toujours l'original au cas où, mais c'est une def qui ne servait presque à rien.
Contenu sponsorisé

Re: Problème avec un script [résolu]

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum