查看: 3367|回复: 5

[已经解决] 使用了装备显示增强与成就脚本

[复制链接]
梦石
0
星屑
50
在线时间
47 小时
注册时间
2012-12-13
回帖
22
发表于 2012-12-21 17:02:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 KyoCheng 于 2012-12-22 15:40 编辑

用了装备显示增强以后脚本将说明的框给去掉了,导致成就脚本只能看到名字,看不到说明了,能修改吗?
如果可以的话就只改成 只有在装备界面才去掉说明窗口,或者让成就介绍窗口也像装备窗口那样显示出来,再或者成就界面能显示介绍窗口
[pre lang="ruby" line="1"]#encoding:utf-8

#==============================================================================

# ■ 装备说明增强

#------------------------------------------------------------------------------

#  修改了说明窗口,增强了装备的说明 作者:wyongcan  发布于66RPG   转载请注明

#==============================================================================

module Help

  CODE ={

    11 => "属性抗性",

    12 => "弱化抗性",

    13 => "状态抗性",

    14 => "状态免疫",

    21 => "普通能力",

    22 => "添加能力",

    23 => "特殊能力",

    31 => "攻击附带属性",

    32 => "攻击附带状态",

    33 => "修正攻击速度",

    34 => "添加攻击次数",

    41 => "添加技能类型",

    42 => "禁用技能类型",

    43 => "添加技能",

    44 => "禁用技能",

    51 => "可装备武器类型",

    52 => "可装备护甲类型",

    53 => "固定装备",

    54 => "禁用装备",

    55 => "装备风格",

    61 => "添加行动次数",

    62 => "特殊标志",

    63 => "消失效果",

    64 => "队伍能力"}

  #特殊标志

  FLAG ={

                0 => "自动战斗",

                1 => "擅长防御",

                2 => "保护弱者",

                3 => "特技专注"}

  #普通能力

        PARAM ={

                0 => "最大HP",

                1 => "最大MP",

                2 => "物理攻击",

                3 => "物理防御",

                4 => "精神",

                5 => "回复",

                6 => "敏 捷 值",

                7 => "幸 运 值"}

  #添加能力

        XPARAM ={

                0 => "物理命中几率:",

                1 => "物理闪避几率:",

                2 => "必杀几率:",

                3 => "必杀闪避几率:",

                4 => "魔法闪避几率:",

                5 => "魔法反射几率:",

                6 => "物理反击几率:",

                7 => "体力值再生速度:",

                8 => "魔力值再生速度:",

                9 => "特技值再生速度:"}

  #特殊能力

        SPARAM ={

                0 => "受到攻击的几率",

                1 => "防御效果比率",

                2 => "恢复效果比率",

                3 => "药理知识",

                4 => "MP消费率",

                5 => "TP消耗率",

                6 => "物理伤害加成",

                7 => "魔法伤害加成",

                8 => "地形伤害加成",

                9 => "经验获得加成"}

#~   #效果范围

#~         SCOPE ={

#~                 0 => "特殊",

#~                 1 => "单个敌人",

#~                 2 => "全体敌人" ,

#~                 3 => "一个随机敌人",

#~                 4 => "两个随机敌人",

#~                 5 => "三个随机敌人",

#~                 6 => "四个随机敌人",

#~                 7 => "单个队友",

#~                 8 => "全体队友",

#~                 9 => "单个队友(无法战斗)",

#~                 10 => "全体队友(无法战斗)",

#~                 11 => "使用者"}

        @队伍能力 ={

                0 => "遇敌几率减半",

                1 => "随机遇敌无效",

                2 => "敌人偷袭无效",

                3 => "先制攻击几率上升",

                4 => "获得金钱数量双倍",

                5 => "物品掉落几率双倍"}

  def self.ready

    @状态 = {}

    @武器类型 = {}

    @防具类型 = {}

    @属性 = {}

    $data_states.each{|x| @状态[x.id] = x.name if x != nil}

    elements = $data_system.elements

    weapon_types = $data_system.weapon_types

    armor_types = $data_system.armor_types

    elements.each_with_index{|x,y| @属性[y] = x if x != ""}

    weapon_types.each_with_index{|x,y| @武器类型[y] = x if x != ""}

    armor_types.each_with_index{|x,y| @防具类型[y] = x if x != ""}

  end

  def self.getequiphelp(equip)

    help = ""

    param = []

    equip.params.each_with_index{|x,y| param.push([PARAM[y],x])}

    param = param.select{|x| x[1] != 0}

    param.each{|x| help += x[0] + ":" + x[1].to_s + "\n"}

    features = equip.features

    features.select{|x| x.code == 55}.each{|x| help += CODE[x.code] + ":双持武器" + "\n"}

    features.select{|x| x.code == 11}.each{|x| help += CODE[x.code] + ":" + @属性[x.data_id] + "*" + x.value.to_s + "\n"}

    features.select{|x| x.code == 12}.each{|x| help += CODE[x.code] + ":" + PARAM[x.data_id] + "*" + x.value.to_s + "\n"}

    features.select{|x| x.code == 13}.each{|x| help += CODE[x.code] + ":" + @状态[x.data_id] + "*" + x.value.to_s + "\n"}

    features.select{|x| x.code == 14}.each{|x| help += CODE[x.code] + ":" + @状态[x.data_id] + "\n"}

    features.select{|x| x.code == 31}.each{|x| help += CODE[x.code] + ":" + @属性[x.data_id] + "\n"}

    features.select{|x| x.code == 32}.each{|x| help += CODE[x.code] + ":" + @状态[x.data_id] + "+" + x.value.to_s + "\n"}

    features.select{|x| x.code == 33}.each{|x| help += CODE[x.code] + ":" + x.value.to_s + "\n"}

    features.select{|x| x.code == 34}.each{|x| help += CODE[x.code] + ":" + x.value.to_s + "\n"}

    features.select{|x| x.code == 41}.each{|x| help += CODE[x.code] + ":" + (x.data_id == 1 ? "特技" : "魔法")  + "\n"}

    features.select{|x| x.code == 42}.each{|x| help += CODE[x.code] + ":" + (x.data_id == 1 ? "特技" : "魔法")  + "\n"}

    features.select{|x| x.code == 43}.each{|x| help += CODE[x.code] + ":" + $data_skills[x.data_id].name  + "\n"}

    features.select{|x| x.code == 44}.each{|x| help += CODE[x.code] + ":" + $data_skills[x.data_id].name  + "\n"}

    features.select{|x| x.code == 51}.each{|x| help += CODE[x.code] + ":" + @武器类型[x.data_id]  + "\n"}

    features.select{|x| x.code == 52}.each{|x| help += CODE[x.code] + ":" + @防具类型[x.data_id]  + "\n"}

    features.select{|x| x.code == 61}.each{|x| help += CODE[x.code] + ":" + x.value.to_s  + "\n"}

    features.select{|x| x.code == 62}.each{|x| help += CODE[x.code] + ":" + FLAG[x.data_id]  + "\n"}

    features.select{|x| x.code == 64}.each{|x| help += CODE[x.code] + ":" + @队伍能力[x.data_id]  + "\n"}

    featuresparam = []

    featuresparam.push features.select{|x| x.code == 21}

    featuresparam.push features.select{|x| x.code == 22}

    featuresparam.push features.select{|x| x.code == 23}

    featuresparam[0].each{|x| help += PARAM[x.data_id] + "*" + x.value.to_s + "\n"}

    featuresparam[1].each{|x| help += XPARAM[x.data_id] + x.value.to_s + "\n"}

    featuresparam[2].each{|x| help += SPARAM[x.data_id] + "*" + x.value.to_s + "\n"}

    help

  end

  def self.getline(text,maxtext)

    xtext = []

    line = 0

    text.each_line{|x| xtext.push x.sub(/\n/){}}

    xtext.each{|x| x.size % maxtext != 0 ? line += x.size / maxtext + 1 : line += x.size / maxtext}

    line

  end

end

#==============================================================================

# ■ Window_Help

#------------------------------------------------------------------------------

#  显示特技和物品等的说明、以及角色状态的窗口

#==============================================================================


class Window_Help < Window_Base

  #--------------------------------------------------------------------------

  # ● 初始化对象

  #--------------------------------------------------------------------------

  def initialize(line_number = 0)

    super(0, 0, 210, fitting_height(line_number))

    self.z = 150

    contents.font.size = 18

    hide

  end

  #--------------------------------------------------------------------------

  # ● 设置内容

  #--------------------------------------------------------------------------

  def set_text(text)

    if text != @text

      @text = text

      refresh

    end

  end

  #--------------------------------------------------------------------------

  # ● 清除

  #--------------------------------------------------------------------------

  def clear

    set_text("")

  end

  #--------------------------------------------------------------------------

  # ● 更新帮助位置

  #--------------------------------------------------------------------------

  def uppos(index,rect,window)

    self.height = fitting_height2(Help.getline(@xtext,13))

    create_contents

    contents.font.size = 18

    rect.x -= window.ox

    rect.y -= window.oy

    ax = rect.x + rect.width + 10

    ax = rect.x - self.width + 10 if ax + self.width > window.width + 10

    ax += window.x

    ax = 0 if ax < 0

    ay = rect.y + rect.height

    ay = rect.y - self.height if ay + self.height > window.height

    ay += window.y

    ay = 0 if ay < 0

    self.x = ax

    self.y = ay

    set_text(@xtext)

    show

  end

  #--------------------------------------------------------------------------

  # ● 设置物品

  #     item : 技能、物品等

  #--------------------------------------------------------------------------

  def set_item(item)

    if item == nil

      set_text("")

      return

    end

    @xtext = ""

    @xtext = "名称:" + item.name + "\n"

    @xtext += "介绍:" + item.description + "\n"

    @xtext += "价格:" + item.price.to_s + "\n" if item.is_a?(RPG::EquipItem) || item.is_a?(RPG::Item)

    @xtext += Help.getequiphelp(item) if item.is_a?(RPG::EquipItem)

    @xtext = @xtext[0,@text.size - 2] if @xtext[@xtext.size - 2,2] == "\n"

  end

  #--------------------------------------------------------------------------

  # ● 刷新

  #--------------------------------------------------------------------------

  def refresh

    contents.clear

    hide if @text == ""

    draw_text_ex(4, 0, @text,width,40,false)

  end

end


class Window_Base < Window

  #--------------------------------------------------------------------------

  # ● 计算窗口显示指定行数时的应用高度2*************************

  #--------------------------------------------------------------------------

  def fitting_height2(line_number)

    line_number * contents.font.size + standard_padding * 2

  end

#~ draw_text_ex的增强,使其可以自动换行  原作者:叶子 修改:wyongcan

  #--------------------------------------------------------------------------

  # ● 绘制带有控制符的文本内容

  #   如果传递了width参数的话,会自动换行

  #--------------------------------------------------------------------------

  def draw_text_ex(x, y, text, width = nil,textwidth = nil,normalfont = true)

    reset_font_settings if normalfont == true

    text = convert_escape_characters(text)

    pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)}

    if width != nil

      pos[:height] = contents.font.size

      pos[:width] = width

      pos[:textwidth] = textwidth

    end

    process_character(text.slice!(0, 1), text, pos) until text.empty?

  end

  #--------------------------------------------------------------------------

  # ● 文字的处理

  #     c    : 文字

  #     text : 绘制处理中的字符串缓存(字符串可能会被修改)

  #     pos  : 绘制位置 {:x, :y, :new_x, :height}

  #--------------------------------------------------------------------------

  def process_character(c, text, pos)

    case c

    when "\r"   # 回车

      return

    when "\n"   # 换行

      process_new_line(text, pos)

    when "\f"   # 翻页

      process_new_page(text, pos)

    when "\e"   # 控制符

      process_escape_character(obtain_escape_code(text), text, pos)

    else        # 普通文字

      pos[:textwidth] == nil ? text_width = text_size(c).width : text_width = pos[:textwidth]

      if pos[:width] != nil && pos[:x] - pos[:new_x] + text_width > pos[:width]

        process_new_line(text, pos)

      end

      process_normal_character(c, pos)

    end

  end

end


class Window_ItemList < Window_Selectable

  #--------------------------------------------------------------------------

  # ● 更新帮助内容

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_item(item)

    @help_window.uppos(index,item_rect(index),self) if index != -1 && item != nil
  end

end


class Window_SkillList < Window_Selectable

  #--------------------------------------------------------------------------

  # ● 更新帮助内容

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_item(item)

    @help_window.uppos(index,item_rect(index),self) if index != -1 && item != nil
  end

end


class Window_ShopBuy < Window_Selectable

  #--------------------------------------------------------------------------

  # ● 更新帮助内容

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_item(item) if @help_window

    @help_window.uppos(index,item_rect(index),self) if index != -1 && item != nil && @help_window

    @status_window.item = item if @status_window

  end

end


class Window_EquipSlot < Window_Selectable

  #--------------------------------------------------------------------------

  # ● 更新帮助内容

  #--------------------------------------------------------------------------

  def update_help

    super

    @help_window.set_item(item) if @help_window

    @help_window.uppos(index,item_rect(index),self) if index != -1 && item != nil && @help_window

    @status_window.set_temp_actor(nil) if @status_window

  end

end


class Scene_Shop < Scene_MenuBase

        alias on_sell_ok_old on_sell_ok

        def on_sell_ok

                on_sell_ok_old

                @help_window.hide

        end

        alias on_buy_ok_old on_buy_ok

        def on_buy_ok

                on_buy_ok_old

                @help_window.hide

        end

        alias on_number_ok_old on_number_ok

        def on_number_ok

                on_number_ok_old

    @help_window.refresh

                @help_window.show

        end

        alias on_number_cancel_old on_number_cancel

        def on_number_cancel

                on_number_cancel_old

    @help_window.refresh

                @help_window.show

        end

end


class Scene_Title < Scene_Base

  alias start_old start

  def start

    start_old

    Help.ready

  end

end
class Window_Base < Window

        alias old_process_new_line process_new_line

        def process_new_line(text, pos)

    old_process_new_line(text, pos)

                pos[:height] = contents.font.size if pos[:width] != nil

        end

end

class Scene_ItemBase < Scene_MenuBase

        alias old_on_actor_cancel on_actor_cancel

  def on_actor_cancel

    old_on_actor_cancel

        @help_window.refresh

  end

        alias old_on_actor_ok on_actor_ok

  def on_actor_ok

    old_on_actor_ok

        @help_window.refresh

  end

end
[/pre]


[pre lang="ruby" line="1"]#==============================================================================
# ★ RGSS3_荣誉系统 Ver1.00
#==============================================================================
#尼玛啊!!!我讨厌日文啊
#使用方法:
#         gain_medal(0)
#==============================================================================
# □ 设定项目
#==============================================================================
module TMMEDAL
  COMMAND_MEDAL = "成就"     # 菜单中的名字
  
  # 一个荣誉也没有时隐藏菜单(true隐藏;false不隐藏)
  HIDE_COMMAND = false
  
  # 荣誉获得时的效果音
  SE_GAIN_MEDAL = RPG::SE.new("Powerup", 90, 140)
  
  # 荣誉名称及简介的设置
  #例如:MEDAL_DATA[0] = ["名字", 187, "简介"]
  MEDAL_DATA = {}
  MEDAL_DATA[0] = ["名字?", 187, "简介?"]
  MEDAL_DATA[1] = ["【启程】", 188, "与诺亚镇告别。"]

end

#==============================================================================
# ■ Game_Party
#==============================================================================
class Game_Party
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader   :medals                   # 獲得済みメダル
  attr_reader   :new_medals               # 新規獲得メダル
  attr_accessor :medal_info_count         # メダル情報表示カウント
  attr_accessor :medal_info_opacity       # メダル情報表示不透明度
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias tmmedal_game_party_initialize initialize
  def initialize
    tmmedal_game_party_initialize
    @medals = []
    @new_medals = []
    @medal_info_count = 0
    @medal_info_opacity = 0
  end
  #--------------------------------------------------------------------------
  # ○ メダルの獲得
  #--------------------------------------------------------------------------
  def gain_medal(medal_id)
    return if @medals.any? {|medal| medal[0] == medal_id }
    t = Time.now.strftime(" (%Y/%m/%d %H:%M)")
    @medals.push([medal_id, t])
    @new_medals.push([medal_id, t])
  end
  #--------------------------------------------------------------------------
  # ○ 獲得メダル情報の消去
  #--------------------------------------------------------------------------
  def delete_new_medal
    @new_medals.shift
  end
end

#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # ○ メダルの獲得
  #--------------------------------------------------------------------------
  def gain_medal(medal_id)
    $game_party.gain_medal(medal_id)
  end
end

#==============================================================================
# ■ Window_MenuCommand
#==============================================================================
class Window_MenuCommand
  #--------------------------------------------------------------------------
  # ● 独自コマンドの追加用
  #--------------------------------------------------------------------------
  alias tmmedal_window_menucommand_add_original_commands add_original_commands
  def add_original_commands
    tmmedal_window_menucommand_add_original_commands
    unless TMMEDAL::HIDE_COMMAND && !medal_enabled
      add_command(TMMEDAL::COMMAND_MEDAL, :medal, medal_enabled)
    end
  end
  #--------------------------------------------------------------------------
  # ○ メダルの有効状態を取得
  #--------------------------------------------------------------------------
  def medal_enabled
    !$game_party.medals.empty?
  end
end

#==============================================================================
# □ Window_MedalInfo
#==============================================================================
class Window_MedalInfo < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(Graphics.width - window_width, 0, window_width, fitting_height(1))
    self.opacity = 0
    self.contents_opacity = $game_party.medal_info_opacity
    refresh
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウ幅の取得
  #--------------------------------------------------------------------------
  def window_width
    return 240
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    if $game_party.medal_info_count > 0
      self.contents_opacity += 16
      $game_party.medal_info_count -= 1
      $game_party.delete_new_medal if $game_party.medal_info_count == 0
    else
      self.contents_opacity -= 16
      if self.contents_opacity == 0
        open unless $game_party.new_medals.empty?
      end
    end
    $game_party.medal_info_opacity = self.contents_opacity
  end
  #--------------------------------------------------------------------------
  # ● ウィンドウを開く
  #--------------------------------------------------------------------------
  def open
    refresh
    TMMEDAL::SE_GAIN_MEDAL.play
    $game_party.medal_info_count = 150
    self.contents_opacity = 0
    self
  end
  #--------------------------------------------------------------------------
  # ○ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    unless $game_party.new_medals.empty?
      draw_background(contents.rect)
      medal = TMMEDAL::MEDAL_DATA[$game_party.new_medals[0][0]]
      rect = contents.rect.clone
      draw_icon(medal[1], rect.x, rect.y)
      rect.x += 24
      rect.width -= 24
      draw_text(rect, medal[0])
    end
  end
  #--------------------------------------------------------------------------
  # ○ 背景の描画
  #--------------------------------------------------------------------------
  def draw_background(rect)
    temp_rect = rect.clone
    temp_rect.width /= 2
    contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
    temp_rect.x = temp_rect.width
    contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  end
  #--------------------------------------------------------------------------
  # ○ 背景色 1 の取得
  #--------------------------------------------------------------------------
  def back_color1
    Color.new(0, 0, 0, 192)
  end
  #--------------------------------------------------------------------------
  # ○ 背景色 2 の取得
  #--------------------------------------------------------------------------
  def back_color2
    Color.new(0, 0, 0, 0)
  end
end

#==============================================================================
# □ Window_Medal
#==============================================================================
class Window_Medal < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    refresh
    select(0)
    activate
  end
  #--------------------------------------------------------------------------
  # ● 桁数の取得
  #--------------------------------------------------------------------------
  def col_max
    return 1
  end
  #--------------------------------------------------------------------------
  # ● 項目数の取得
  #--------------------------------------------------------------------------
  def item_max
    @data ? @data.size : 1
  end
  #--------------------------------------------------------------------------
  # ● アイテムの取得
  #--------------------------------------------------------------------------
  def item
    @data && index >= 0 ? @data[index] : nil
  end
  #--------------------------------------------------------------------------
  # ● アイテムリストの作成
  #--------------------------------------------------------------------------
  def make_item_list
    @data = $game_party.medals
  end
  #--------------------------------------------------------------------------
  # ● 項目の描画
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    medal = TMMEDAL::MEDAL_DATA[item[0]]
    rect = item_rect(index)
    draw_icon(medal[1], rect.x, rect.y)
    rect.x += 24
    rect.width -= 216
    draw_text(rect, medal[0])
    rect.x = contents.width - 192
    rect.width = 192
    draw_text(rect, item[1], 2)
  end
  #--------------------------------------------------------------------------
  # ● ヘルプテキスト更新
  #--------------------------------------------------------------------------
  def update_help
    if item
      medal = TMMEDAL::MEDAL_DATA[item[0]]
      text = medal[2]
      @help_window.set_text(text)
    end
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    make_item_list
    create_contents
    draw_all_items
  end
end

#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
  #--------------------------------------------------------------------------
  # ● 全ウィンドウの作成
  #--------------------------------------------------------------------------
  alias tmmedal_scene_map_create_all_windows create_all_windows
  def create_all_windows
    tmmedal_scene_map_create_all_windows
    create_medal_window
  end
  #--------------------------------------------------------------------------
  # ○ メダルウィンドウの作成
  #--------------------------------------------------------------------------
  def create_medal_window
    @medal_window = Window_MedalInfo.new
  end
end

#==============================================================================
# ■ Scene_Menu
#==============================================================================
class Scene_Menu
  #--------------------------------------------------------------------------
  # ● コマンドウィンドウの作成
  #--------------------------------------------------------------------------
  alias tmmedal_scene_menu_create_command_window create_command_window
  def create_command_window
    tmmedal_scene_menu_create_command_window
    @command_window.set_handler(:medal, method(:command_medal))
  end
  #--------------------------------------------------------------------------
  # ○ コマンド[メダル]
  #--------------------------------------------------------------------------
  def command_medal
    SceneManager.call(Scene_Medal)
  end
end

#==============================================================================
# □ Scene_Medal
#==============================================================================
class Scene_Medal < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  def start
    super
    create_help_window
    create_item_window
  end
  #--------------------------------------------------------------------------
  # ○ アイテムウィンドウの作成
  #--------------------------------------------------------------------------
  def create_item_window
    wy = @help_window.height
    wh = Graphics.height - wy
    @item_window = Window_Medal.new(0, wy, Graphics.width, wh)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.set_handler(:cancel, method(:return_scene))
  end
end


[/pre]
梦石
0
星屑
50
在线时间
47 小时
注册时间
2012-12-13
回帖
22
 楼主| 发表于 2012-12-22 14:24:56 | 显示全部楼层
上个图,你们看没介绍了……
请问谁能帮我再在成就界面里增添个介绍……类似装备显示增强的那种窗口就可以了,或者原来的那种样子的,但是不要引起装备显示增强脚本冲突。
未命名.jpg
回复

使用道具 举报

梦石
0
星屑
1394
在线时间
989 小时
注册时间
2011-5-11
回帖
418
发表于 2012-12-22 15:10:53 | 显示全部楼层
替换成就中 Scene_Medal
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_Help
  4. #------------------------------------------------------------------------------
  5. #  顯示特技和物品等的說明、以及角色狀態的視窗
  6. #==============================================================================

  7. class Window_HelpA < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化物件
  10.   #--------------------------------------------------------------------------
  11.   def initialize(line_number = 2)
  12.     super(0, 0, Graphics.width, fitting_height(line_number))
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 設定內容
  16.   #--------------------------------------------------------------------------
  17.   def set_text(text)
  18.     if text != @text
  19.       @text = text
  20.       refresh
  21.     end
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 清除
  25.   #--------------------------------------------------------------------------
  26.   def clear
  27.     set_text("")
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 設定物品
  31.   #     item : 技能、物品等
  32.   #--------------------------------------------------------------------------
  33.   def set_item(item)
  34.     set_text(item ? item.description : "")
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 重新整理
  38.   #--------------------------------------------------------------------------
  39.   def refresh
  40.     contents.clear
  41.     draw_text_ex(4, 0, @text)
  42.   end
  43. end

  44. #==============================================================================
  45. # □ Scene_Medal
  46. #==============================================================================
  47. class Scene_Medal < Scene_MenuBase
  48.   #--------------------------------------------------------------------------
  49.   # ● 開始処理
  50.   #--------------------------------------------------------------------------
  51.   def start
  52.     super
  53.     create_help_window
  54.     create_item_window
  55.   end
  56.   def create_help_window
  57.     @help_window = Window_HelpA.new
  58.     @help_window.viewport = @viewport
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ○ アイテムウィンドウの作成
  62.   #--------------------------------------------------------------------------
  63.   def create_item_window
  64.     wy = @help_window.height
  65.     wh = Graphics.height - wy
  66.     @item_window = Window_Medal.new(0, wy, Graphics.width, wh)
  67.     @item_window.viewport = @viewport
  68.     @item_window.help_window = @help_window
  69.     @item_window.set_handler(:cancel, method(:return_scene))
  70.   end
  71. end
复制代码

点评

成就介绍显示正常了,就是装备增强一查看就跳出  发表于 2012-12-22 15:25
http://rpg.blue/static/image/smiley/yct/A059.gif中国字认识都不到一半,哪的心情学英语呀!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2012-12-13
回帖
22
 楼主| 发表于 2012-12-22 15:19:12 | 显示全部楼层
345912390 发表于 2012-12-22 15:10
替换成就中 Scene_Medal

其他界面看东西是正常的增强窗口,但是每当调到装备查看里就直接跳出
QQ截图20121222151551.jpg
QQ截图20121222151811.jpg
回复

使用道具 举报

梦石
0
星屑
1394
在线时间
989 小时
注册时间
2011-5-11
回帖
418
发表于 2012-12-22 15:36:05 | 显示全部楼层
KyoCheng 发表于 2012-12-22 15:19
其他界面看东西是正常的增强窗口,但是每当调到装备查看里就直接跳出

那个是另外的问题
我测试没出错http://pan.baidu.com/share/link?shareid=191765&uk=3843192968&third=0

点评

感谢大大!其他问题的话我再自己查找好了!显示问题已解决!  发表于 2012-12-22 15:39
http://rpg.blue/static/image/smiley/yct/A059.gif中国字认识都不到一半,哪的心情学英语呀!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2012-12-13
回帖
22
 楼主| 发表于 2012-12-22 16:01:10 | 显示全部楼层
另外补一句,已经找到问题所在,如果有人使用装备显示增强和成就脚本使用以上“345912390”大大的方法即可,后来我显示出的错误是网页跳转脚本的冲突
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部