设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1736|回复: 8
打印 上一主题 下一主题

[已经解决] (重新编辑有附件)此技能升级系统可以把物品改成某个变量吗

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
跳转到指定楼层
1
发表于 2011-11-17 20:32:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yanglibin0409 于 2011-11-22 17:47 编辑

重新 编辑了 一下 ,具体问题放 在 附件里了。
大体 希望利用 一个新能力 代替 技能升级 中的消耗品,而且这个新能力是对应每一个角色的
而不是象原脚本那样 只由一个 消耗品 决定……












请问一下,这个技能升级系统 可以把 物品改成某个变量吗?  首先,物品数量有限,其次要升级老用一个物品感觉怪怪的。
我希望能 改成 每个 角色对应 一个  变量。
这样学技能 可以 根据角色的特点及贡献 发展 个性化的技能系统。
  1. # -----------------------------------------------------------------------------
  2. # 技能升级系统(SLV)
  3. # ver:1.0VX
  4. # date:2011.10.11 by.Ultra
  5. # 【说明】
  6. #  呼出界面:$scene = Scene_SLV.new(队员ID)
  7. #  切换角色:L 或 R 键
  8. # -----------------------------------------------------------------------------
  9. module SLV
  10.   # ·消耗的物品ID
  11.   ITEMID = 22
  12.   # ·升级技能关联
  13.   #   技能ID => 升级后技能ID
  14.   SLVUP = {
  15.   1=>2,
  16.   2=>3,
  17.   3=>82
  18.   }
  19.   # ·设定消耗物品数量
  20.   #   技能ID => 升级时消耗物品数量
  21.   SCONSUM = {
  22.   1=>5,
  23.   2=>20,
  24.   3=>500
  25.   }
  26.   # ·默认消耗物品数量
  27.   ALLSCONSUM = 1
  28. end
  29. #==============================================================================
  30. # ■ Window_SLVindex
  31. #------------------------------------------------------------------------------
  32. #  显示升级特技目录的窗口。
  33. #==============================================================================

  34. class Window_SLVindex < Window_Selectable
  35.   #--------------------------------------------------------------------------
  36.   # ● 初始化对像
  37.   #     x      : 窗口 X 座标
  38.   #     y      : 窗口 Y 座标
  39.   #     width  : 窗口宽度
  40.   #     height : 窗口高度
  41.   #     actor  : 角色
  42.   #--------------------------------------------------------------------------
  43.   def initialize(actor)
  44.     super(0, 112, 272, 304)
  45.     @actor = actor
  46.     self.index = 0
  47.     refresh
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 获取技能
  51.   #--------------------------------------------------------------------------
  52.   def skill
  53.     return @data[self.index]
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 刷新
  57.   #--------------------------------------------------------------------------
  58.   def refresh
  59.     @data = []
  60.     for skill in @actor.skills
  61.       @data.push(skill)
  62.       if skill.id == @actor.last_skill_id
  63.         self.index = @data.size - 1
  64.       end
  65.     end
  66.     @item_max = @data.size
  67.     create_contents
  68.     for i in 0...@item_max
  69.       draw_item(i)
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 描绘项目
  74.   #     index : 项目编号
  75.   #--------------------------------------------------------------------------
  76.   def draw_item(index)
  77.     rect = item_rect(index)
  78.     self.contents.clear_rect(rect)
  79.     skill = @data[index]
  80.     if skill != nil
  81.       rect.width -= 4
  82.       enabled = @actor.skill_can_use?(skill)
  83.       draw_item_name(skill, rect.x, rect.y, enabled)
  84.       self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 更新帮助窗口文字
  89.   #--------------------------------------------------------------------------
  90.   def update_help
  91.     @help_window.set_text(skill == nil ? "" : skill.description)
  92.   end
  93. end
  94. #==============================================================================
  95. # ■ Window_SkillStatus
  96. #------------------------------------------------------------------------------
  97. #  显示特技升级消耗品的窗口
  98. #==============================================================================

  99. class Window_SLVconsum < Window_Base
  100.   #--------------------------------------------------------------------------
  101.   # ● 初始化窗口
  102.   #--------------------------------------------------------------------------
  103.   def initialize
  104.     super(0, 0, 544, 56)
  105.     self.contents = Bitmap.new(width - 32, height - 32)
  106.     refresh
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 刷新
  110.   #--------------------------------------------------------------------------
  111.   def refresh
  112.     self.contents.clear
  113.     item = $data_items[SLV::ITEMID]
  114.     return if not item
  115.     icon_index = item.icon_index
  116.     number = $game_party.item_number(item)
  117.     x,y = 0,0
  118.     draw_icon(icon_index,x,y)
  119.     self.contents.draw_text(x + 24, y, 320, WLH, item.name+":#{number.to_s}")
  120.   end
  121. end
  122. #==============================================================================
  123. # ■ Window_Gold
  124. #------------------------------------------------------------------------------
  125. #  显示技能信息的窗口。
  126. #==============================================================================

  127. class Window_SLVinfo < Window_Base
  128.   #--------------------------------------------------------------------------
  129.   # ● 初始化窗口
  130.   #--------------------------------------------------------------------------
  131.   def initialize(skill)
  132.     super(272, 112, 272, 304)
  133.     self.contents = Bitmap.new(width - 32, height - 32)
  134.     @skill = skill
  135.     refresh
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 刷新
  139.   #--------------------------------------------------------------------------
  140.   def refresh
  141.     self.contents.clear
  142.     self.contents.font.size = 18
  143.     return if not @skill
  144.     id = @skill.id
  145.     up = SLV::SLVUP
  146.     if up.include?(id)
  147.       self.contents.font.color = normal_color
  148.       draw(@skill,0,0)
  149.       self.contents.font.color = text_color(3)
  150.       draw($data_skills[up[id]],4,138)
  151.     else
  152.       self.contents.font.color = normal_color
  153.       draw(@skill,0,0)
  154.       self.contents.font.color = text_color(2)
  155.       self.contents.draw_text(0, 138, 320, WLH, "技能已达极限")
  156.     end
  157.   end
  158.   def draw(skill,x,y)
  159.     yh = 22
  160.     draw_icon(skill.icon_index,x,y)
  161.     self.contents.draw_text(x + 24, y, 320, WLH, skill.name)
  162.     scope = ["无","敌方单体","敌方全体","敌方单体连击","敌方单体随机目标",
  163.     "敌方二体随机目标","敌方三体随机目标","我方单体","我方全体",
  164.     "我方单个濒死者","我方所有濒死者","使用者自身"]
  165.     self.contents.draw_text(x, y+yh, 320, WLH, "使用范围:"+scope[skill.scope])
  166.     occasion = ["不限制使用场合","仅作战时使用","仅菜单中使用","不可用"]
  167.     self.contents.draw_text(x, y+yh*2, 320, WLH, "使用场合:"+occasion[skill.occasion])
  168.     self.contents.draw_text(x, y+yh*3, 320, WLH, "消耗SP:"+skill.mp_cost.to_s)
  169.     self.contents.draw_text(x, y+yh*4, 320, WLH, "基本伤害值:"+skill.base_damage.to_s)
  170.     self.contents.draw_text(x, y+yh*5, 320, WLH, "命中率:"+skill.hit.to_s)
  171.   end
  172.   def skill
  173.     @skill
  174.   end
  175.   def skill=(val)
  176.     @skill = val
  177.   end
  178. end
  179. class Window_SLVchoice < Window_Selectable
  180.   def initialize(skill)
  181.     super(272, 112, 272, 152)
  182.     @commands = ["确定","返回"]
  183.     @item_max = 2
  184.     @skill = skill
  185.     refresh
  186.     self.index = 0
  187.     self.z = 1000
  188.   end
  189.   def refresh
  190.     item = $data_items[SLV::ITEMID]
  191.     number = $game_party.item_number(item)
  192.     upnum = SLV::SCONSUM[@skill.id]
  193.     upnum = SLV::ALLSCONSUM unless upnum
  194.     self.contents.clear
  195.     for i in 0...@item_max
  196.       if number < upnum
  197.         color1 = Color.new(255, 255, 255, 128)
  198.         color2 = text_color(2)
  199.       else
  200.         color1 = normal_color
  201.         color2 = normal_color
  202.       end
  203.       self.contents.font.color = color1
  204.       self.contents.font.color = normal_color if i == 1
  205.       draw_item(i)
  206.     end
  207.     self.contents.draw_text(0, 56, 320, WLH, "升级必要:")
  208.     x,y = 0,82
  209.     icon_index = item.icon_index
  210.     draw_icon(icon_index,x,y)
  211.     self.contents.font.color = color2
  212.     self.contents.draw_text(x + 24, y, 320, WLH, item.name+" * #{upnum.to_s}")
  213.   end
  214.   def draw_item(index)
  215.     self.contents.draw_text(0, 26 * index, self.contents.width-8, WLH, @commands[index], 1)
  216.   end
  217.   def skill
  218.     @skill
  219.   end
  220.   def skill=(val)
  221.     @skill = val
  222.   end
  223. end
  224. #==============================================================================
  225. # ■ Scene_Skill
  226. #------------------------------------------------------------------------------
  227. #  处理特技升级画面的类。
  228. #==============================================================================

  229. class Scene_SLV
  230.   #--------------------------------------------------------------------------
  231.   # ● 初始化对像
  232.   #     actor_index : 角色索引
  233.   #--------------------------------------------------------------------------
  234.   def initialize(actor_index = 0)
  235.     @actor_index = actor_index
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ● 主处理
  239.   #--------------------------------------------------------------------------
  240.   def main
  241.     # 获取角色
  242.     @actor = $game_party.members[@actor_index]
  243.     # 生成帮助窗口、状态窗口、特技窗口
  244.     @help_window = Window_Help.new
  245.     @help_window.y = 56
  246.     @consum_window = Window_SLVconsum.new
  247.     @skill_window = Window_SLVindex.new(@actor)
  248.     @info_window = Window_SLVinfo.new(@skill_window.skill)
  249.     @choice_window = Window_SLVchoice.new(@skill_window.skill)
  250.     @choice_window.visible = false
  251.     @choice_window.active = false
  252.     # 关联帮助窗口
  253.     @skill_window.help_window = @help_window
  254.     # 执行过渡
  255.     Graphics.transition
  256.     # 主循环
  257.     loop do
  258.       # 刷新游戏画面
  259.       Graphics.update
  260.       # 刷新输入信息
  261.       Input.update
  262.       # 刷新画面
  263.       update
  264.       # 如果画面切换的话就中断循环
  265.       if $scene != self
  266.         break
  267.       end
  268.     end
  269.     # 准备过渡
  270.     Graphics.freeze
  271.     # 释放窗口
  272.     @help_window.dispose
  273.     @consum_window.dispose
  274.     @skill_window.dispose
  275.     @info_window.dispose
  276.     @choice_window.dispose
  277.   end
  278.   #--------------------------------------------------------------------------
  279.   # ● 刷新画面
  280.   #--------------------------------------------------------------------------
  281.   def update
  282.     # 刷新窗口
  283.     @help_window.update
  284.     @consum_window.update
  285.     @skill_window.update
  286.     @info_window.update
  287.     @choice_window.update
  288.     if @info_window.skill != @skill_window.skill
  289.       @info_window.skill = @skill_window.skill
  290.       @choice_window.skill = @skill_window.skill
  291.       @info_window.refresh
  292.       @choice_window.refresh
  293.     end
  294.     # 技能窗口被激活的情况下
  295.     if @skill_window.active
  296.       skill_update
  297.       return
  298.     end
  299.     # 选项窗口被激活的情况下
  300.     if @choice_window.active
  301.       choice_update
  302.       return
  303.     end
  304.   end
  305.   #--------------------------------------------------------------------------
  306.   # ● 刷新画面(选项)
  307.   #--------------------------------------------------------------------------
  308.   def choice_update
  309.     # 按下 B 键的情况下
  310.     if Input.trigger?(Input::B)
  311.       Sound.play_cancel
  312.       @choice_window.index = 0
  313.       @skill_window.active = true
  314.       @choice_window.visible = false
  315.       @choice_window.active = false
  316.       return
  317.     end
  318.     # 按下 C 键的情况下
  319.     if Input.trigger?(Input::C)
  320.       case @choice_window.index
  321.       when 0
  322.         item = $data_items[SLV::ITEMID]
  323.         number = $game_party.item_number(item)
  324.         upnum = SLV::SCONSUM[@skill.id]
  325.         upnum = SLV::ALLSCONSUM unless upnum
  326.         if number < upnum
  327.           Sound.play_buzzer
  328.         else
  329.           Audio.se_play("Audio/SE/Up",100,100)
  330.           $game_party.gain_item(item, -upnum)
  331.           @actor.forget_skill(@skill.id)
  332.           @actor.learn_skill(SLV::SLVUP[@skill.id])
  333.           @consum_window.refresh
  334.           @skill_window.refresh
  335.           @skill_window.active = true
  336.           @choice_window.visible = false
  337.           @choice_window.active = false
  338.         end
  339.       when 1
  340.         Sound.play_cancel
  341.         @choice_window.index = 0
  342.         @skill_window.active = true
  343.         @choice_window.visible = false
  344.         @choice_window.active = false
  345.       end
  346.       return
  347.     end
  348.   end
  349.   #--------------------------------------------------------------------------
  350.   # ● 刷新画面(技能)
  351.   #--------------------------------------------------------------------------
  352.   def skill_update
  353.     # 按下 B 键的情况下
  354.     if Input.trigger?(Input::B)
  355.       # 演奏取消 SE
  356.       Sound.play_cancel
  357.       # 切换到菜单画面
  358.       $scene = Scene_Map.new
  359.       return
  360.     end
  361.     # 按下 C 键的情况下
  362.     if Input.trigger?(Input::C)
  363.       Sound.play_decision
  364.       # 获取特技窗口现在选择的特技的数据
  365.       @skill = @skill_window.skill
  366.       unless SLV::SLVUP.include?(@skill.id)
  367.         Sound.play_buzzer
  368.         return
  369.       end
  370.       @skill_window.active = false
  371.       @choice_window.visible = true
  372.       @choice_window.active = true
  373.       return
  374.     end
  375.     # 按下 R 键的情况下
  376.     if Input.trigger?(Input::R)
  377.       # 演奏光标 SE
  378.       Sound.play_cursor
  379.       # 移至下一位角色
  380.       @actor_index += 1
  381.       @actor_index %= $game_party.members.size
  382.       # 切换到别的特技画面
  383.       $scene = Scene_SLV.new(@actor_index)
  384.       return
  385.     end
  386.     # 按下 L 键的情况下
  387.     if Input.trigger?(Input::L)
  388.       # 演奏光标 SE
  389.       Sound.play_cursor
  390.       # 移至上一位角色
  391.       @actor_index += $game_party.members.size - 1
  392.       @actor_index %= $game_party.members.size
  393.       # 切换到别的特技画面
  394.       $scene = Scene_SLV.new(@actor_index)
  395.       return
  396.     end
  397.   end
  398. end
复制代码

新能力.rar

243.74 KB, 下载次数: 114

新能力2.rar

243.74 KB, 下载次数: 26

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1071 小时
注册时间
2011-5-12
帖子
2317

贵宾

2
发表于 2011-11-17 21:34:06 | 只看该作者
全局搜索SLV::ITEMID,把它从道具$data_items换成$game_variables,判断什么的自行更改吧…………
最近累了……

点评

大丈夫~没问题~~  发表于 2011-11-18 18:33
没问题不?  发表于 2011-11-18 18:30
找我请找芙蕾娅
顺带一提,完全看得懂我头像请捡起你自己的节操哟(自重
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
3
 楼主| 发表于 2011-11-21 20:27:14 | 只看该作者
月夜神音 发表于 2011-11-17 21:34
全局搜索SLV::ITEMID,把它从道具$data_items换成$game_variables,判断什么的自行更改吧…………
最近累了 ...

自己试了一下,还是没成功, 主要是 判断什么的 还不是很懂,现在脚本只是 模仿 修改阶段…………
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

4
发表于 2011-11-22 17:01:48 | 只看该作者
本帖最后由 feizhaodan 于 2011-11-22 17:13 编辑

既然说是要用一个新的属性,那么先说下这个属性怎么计算。
是你自己手动增加,还是按照等级+公式计算。

顺便说一下,附件下载打不开。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
5
 楼主| 发表于 2011-11-22 17:18:00 | 只看该作者
本帖最后由 yanglibin0409 于 2011-11-22 17:35 编辑
feizhaodan 发表于 2011-11-22 17:01
既然说是要用一个新的属性,那么先说下这个属性怎么计算。
是你自己手动增加,还是按照等级+公式计算。


是我 自己手动增加的, 最后加上 一个脚本,那个脚本还是你指导我的啊…………

  1. #==============================================================================
  2. # ■ Game_Actor
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类在 Game_Actors 类 ($game_actors) 的内部使用、
  5. # Game_Party 类请参考 ($game_party) 。
  6. #==============================================================================
  7. LEVEL_UP_POINT = 2  # 每升一级所增加的点数
  8. LEVEL_UP_VARIABLE = 100  # 储存角色点数的变量编号与角色id编号的差值

  9. class Game_Actor < Game_Battler
  10.   ACTOR_ID_VAR_ID = 11
  11.   alias get_newqianneng_level_up level_up
  12.   #--------------------------------------------------------------------------
  13.   # ● 升级
  14.   #--------------------------------------------------------------------------
  15.   def level_up
  16.     get_newqianneng_level_up
  17.     if @actor_id == $game_variables[ACTOR_ID_VAR_ID]
  18.      $game_actors[$game_variables[ACTOR_ID_VAR_ID]].newqianneng = $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]]
  19.      $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]] = $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]]+2
  20.      end
  21.   end
  22. end
复制代码
在1.在Game_Actor中  《定义实例变量》 部分加入变量 newqianneng :
参考这个帖子:http://rpg.blue/forum.php?mod=vi ... 9%E6%A1%88%EF%BC%89
附件,我再 传一次试一试

点评

又 上传了个 新能力2 叫其他网络的朋友 下了一下 ,应该可以了  发表于 2011-11-22 17:53
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

6
发表于 2011-11-22 18:21:24 | 只看该作者
因该是这样。没测试:
  1. # -----------------------------------------------------------------------------
  2. # 技能升级系统(SLV)
  3. # ver:1.0VX
  4. # date:2011.10.11 by.Ultra
  5. # 【说明】
  6. #  呼出界面:$scene = Scene_SLV.new(队员ID)
  7. #  切换角色:L 或 R 键
  8. # -----------------------------------------------------------------------------
  9. module SLV
  10.   # ·消耗的物品ID
  11.   ITEMID = 22
  12.   # ·升级技能关联
  13.   #   技能ID => 升级后技能ID
  14.   SLVUP = {
  15.   1=>2,
  16.   2=>3,
  17.   3=>82
  18.   }
  19.   # ·设定消耗物品数量
  20.   #   技能ID => 升级时消耗物品数量
  21.   SCONSUM = {
  22.   1=>5,
  23.   2=>20,
  24.   3=>500
  25.   }
  26.   # ·默认消耗物品数量
  27.   ALLSCONSUM = 1
  28. end
  29. #==============================================================================
  30. # ■ Window_SLVindex
  31. #------------------------------------------------------------------------------
  32. #  显示升级特技目录的窗口。
  33. #==============================================================================

  34. class Window_SLVindex < Window_Selectable
  35.   #--------------------------------------------------------------------------
  36.   # ● 初始化对像
  37.   #     x      : 窗口 X 座标
  38.   #     y      : 窗口 Y 座标
  39.   #     width  : 窗口宽度
  40.   #     height : 窗口高度
  41.   #     actor  : 角色
  42.   #--------------------------------------------------------------------------
  43.   def initialize(actor)
  44.     super(0, 112, 272, 304)
  45.     @actor = actor
  46.     self.index = 0
  47.     refresh
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 获取技能
  51.   #--------------------------------------------------------------------------
  52.   def skill
  53.     return @data[self.index]
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 刷新
  57.   #--------------------------------------------------------------------------
  58.   def refresh
  59.     @data = []
  60.     for skill in @actor.skills
  61.       @data.push(skill)
  62.       if skill.id == @actor.last_skill_id
  63.         self.index = @data.size - 1
  64.       end
  65.     end
  66.     @item_max = @data.size
  67.     create_contents
  68.     for i in 0...@item_max
  69.       draw_item(i)
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 描绘项目
  74.   #     index : 项目编号
  75.   #--------------------------------------------------------------------------
  76.   def draw_item(index)
  77.     rect = item_rect(index)
  78.     self.contents.clear_rect(rect)
  79.     skill = @data[index]
  80.     if skill != nil
  81.       rect.width -= 4
  82.       enabled = @actor.skill_can_use?(skill)
  83.       draw_item_name(skill, rect.x, rect.y, enabled)
  84.       self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 更新帮助窗口文字
  89.   #--------------------------------------------------------------------------
  90.   def update_help
  91.     @help_window.set_text(skill == nil ? "" : skill.description)
  92.   end
  93. end
  94. #==============================================================================
  95. # ■ Window_SkillStatus
  96. #------------------------------------------------------------------------------
  97. #  显示特技升级消耗品的窗口
  98. #==============================================================================

  99. class Window_SLVconsum < Window_Base
  100.   #--------------------------------------------------------------------------
  101.   # ● 初始化窗口
  102.   #--------------------------------------------------------------------------
  103.   def initialize
  104.     super(0, 0, 544, 56)
  105.     self.contents = Bitmap.new(width - 32, height - 32)
  106.     refresh
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 刷新
  110.   #--------------------------------------------------------------------------
  111.   def refresh
  112.     self.contents.clear
  113.     return if  $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]] == nil
  114.     number =  $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]]
  115.     x,y = 0,0
  116.     self.contents.draw_text(x + 24, y, 320, WLH, "newqianneng"+":#{number.to_s}")
  117.   end
  118. end
  119. #==============================================================================
  120. # ■ Window_Gold
  121. #------------------------------------------------------------------------------
  122. #  显示技能信息的窗口。
  123. #==============================================================================

  124. class Window_SLVinfo < Window_Base
  125.   #--------------------------------------------------------------------------
  126.   # ● 初始化窗口
  127.   #--------------------------------------------------------------------------
  128.   def initialize(skill)
  129.     super(272, 112, 272, 304)
  130.     self.contents = Bitmap.new(width - 32, height - 32)
  131.     @skill = skill
  132.     refresh
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 刷新
  136.   #--------------------------------------------------------------------------
  137.   def refresh
  138.     self.contents.clear
  139.     self.contents.font.size = 18
  140.     return if not @skill
  141.     id = @skill.id
  142.     up = SLV::SLVUP
  143.     if up.include?(id)
  144.       self.contents.font.color = normal_color
  145.       draw(@skill,0,0)
  146.       self.contents.font.color = text_color(3)
  147.       draw($data_skills[up[id]],4,138)
  148.     else
  149.       self.contents.font.color = normal_color
  150.       draw(@skill,0,0)
  151.       self.contents.font.color = text_color(2)
  152.       self.contents.draw_text(0, 138, 320, WLH, "技能已达极限")
  153.     end
  154.   end
  155.   def draw(skill,x,y)
  156.     yh = 22
  157.     draw_icon(skill.icon_index,x,y)
  158.     self.contents.draw_text(x + 24, y, 320, WLH, skill.name)
  159.     scope = ["无","敌方单体","敌方全体","敌方单体连击","敌方单体随机目标",
  160.     "敌方二体随机目标","敌方三体随机目标","我方单体","我方全体",
  161.     "我方单个濒死者","我方所有濒死者","使用者自身"]
  162.     self.contents.draw_text(x, y+yh, 320, WLH, "使用范围:"+scope[skill.scope])
  163.     occasion = ["不限制使用场合","仅作战时使用","仅菜单中使用","不可用"]
  164.     self.contents.draw_text(x, y+yh*2, 320, WLH, "使用场合:"+occasion[skill.occasion])
  165.     self.contents.draw_text(x, y+yh*3, 320, WLH, "消耗SP:"+skill.mp_cost.to_s)
  166.     self.contents.draw_text(x, y+yh*4, 320, WLH, "基本伤害值:"+skill.base_damage.to_s)
  167.     self.contents.draw_text(x, y+yh*5, 320, WLH, "命中率:"+skill.hit.to_s)
  168.   end
  169.   def skill
  170.     @skill
  171.   end
  172.   def skill=(val)
  173.     @skill = val
  174.   end
  175. end
  176. class Window_SLVchoice < Window_Selectable
  177.   def initialize(skill)
  178.     super(272, 112, 272, 152)
  179.     @commands = ["确定","返回"]
  180.     @item_max = 2
  181.     @skill = skill
  182.     refresh
  183.     self.index = 0
  184.     self.z = 1000
  185.   end
  186.   def refresh
  187.     number =  $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]]
  188.     upnum = SLV::SCONSUM[@skill.id]
  189.     upnum = SLV::ALLSCONSUM unless upnum
  190.     self.contents.clear
  191.     for i in 0...@item_max
  192.       if number < upnum
  193.         color1 = Color.new(255, 255, 255, 128)
  194.         color2 = text_color(2)
  195.       else
  196.         color1 = normal_color
  197.         color2 = normal_color
  198.       end
  199.       self.contents.font.color = color1
  200.       self.contents.font.color = normal_color if i == 1
  201.       draw_item(i)
  202.     end
  203.     self.contents.draw_text(0, 56, 320, WLH, "升级必要:")
  204.     x,y = 0,82
  205.     self.contents.font.color = color2
  206.     self.contents.draw_text(x + 24, y, 320, "newqianneng"+" * #{upnum.to_s}")
  207.   end
  208.   def draw_item(index)
  209.     self.contents.draw_text(0, 26 * index, self.contents.width-8, WLH, @commands[index], 1)
  210.   end
  211.   def skill
  212.     @skill
  213.   end
  214.   def skill=(val)
  215.     @skill = val
  216.   end
  217. end
  218. #==============================================================================
  219. # ■ Scene_Skill
  220. #------------------------------------------------------------------------------
  221. #  处理特技升级画面的类。
  222. #==============================================================================

  223. class Scene_SLV
  224.   #--------------------------------------------------------------------------
  225.   # ● 初始化对像
  226.   #     actor_index : 角色索引
  227.   #--------------------------------------------------------------------------
  228.   def initialize(actor_index = 0)
  229.     @actor_index = actor_index
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● 主处理
  233.   #--------------------------------------------------------------------------
  234.   def main
  235.     # 获取角色
  236.     @actor = $game_party.members[@actor_index]
  237.     # 生成帮助窗口、状态窗口、特技窗口
  238.     @help_window = Window_Help.new
  239.     @help_window.y = 56
  240.     @consum_window = Window_SLVconsum.new
  241.     @skill_window = Window_SLVindex.new(@actor)
  242.     @info_window = Window_SLVinfo.new(@skill_window.skill)
  243.     @choice_window = Window_SLVchoice.new(@skill_window.skill)
  244.     @choice_window.visible = false
  245.     @choice_window.active = false
  246.     # 关联帮助窗口
  247.     @skill_window.help_window = @help_window
  248.     # 执行过渡
  249.     Graphics.transition
  250.     # 主循环
  251.     loop do
  252.       # 刷新游戏画面
  253.       Graphics.update
  254.       # 刷新输入信息
  255.       Input.update
  256.       # 刷新画面
  257.       update
  258.       # 如果画面切换的话就中断循环
  259.       if $scene != self
  260.         break
  261.       end
  262.     end
  263.     # 准备过渡
  264.     Graphics.freeze
  265.     # 释放窗口
  266.     @help_window.dispose
  267.     @consum_window.dispose
  268.     @skill_window.dispose
  269.     @info_window.dispose
  270.     @choice_window.dispose
  271.   end
  272.   #--------------------------------------------------------------------------
  273.   # ● 刷新画面
  274.   #--------------------------------------------------------------------------
  275.   def update
  276.     # 刷新窗口
  277.     @help_window.update
  278.     @consum_window.update
  279.     @skill_window.update
  280.     @info_window.update
  281.     @choice_window.update
  282.     if @info_window.skill != @skill_window.skill
  283.       @info_window.skill = @skill_window.skill
  284.       @choice_window.skill = @skill_window.skill
  285.       @info_window.refresh
  286.       @choice_window.refresh
  287.     end
  288.     # 技能窗口被激活的情况下
  289.     if @skill_window.active
  290.       skill_update
  291.       return
  292.     end
  293.     # 选项窗口被激活的情况下
  294.     if @choice_window.active
  295.       choice_update
  296.       return
  297.     end
  298.   end
  299.   #--------------------------------------------------------------------------
  300.   # ● 刷新画面(选项)
  301.   #--------------------------------------------------------------------------
  302.   def choice_update
  303.     # 按下 B 键的情况下
  304.     if Input.trigger?(Input::B)
  305.       Sound.play_cancel
  306.       @choice_window.index = 0
  307.       @skill_window.active = true
  308.       @choice_window.visible = false
  309.       @choice_window.active = false
  310.       return
  311.     end
  312.     # 按下 C 键的情况下
  313.     if Input.trigger?(Input::C)
  314.       case @choice_window.index
  315.       when 0
  316.         number =  $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]]
  317.         upnum = SLV::SCONSUM[@skill.id]
  318.         upnum = SLV::ALLSCONSUM unless upnum
  319.         if number < upnum
  320.           Sound.play_buzzer
  321.         else
  322.           Audio.se_play("Audio/SE/Up",100,100)
  323.           $game_variables[LEVEL_UP_VARIABLE + $game_variables[ACTOR_ID_VAR_ID]] -= upnum
  324.           @actor.forget_skill(@skill.id)
  325.           @actor.learn_skill(SLV::SLVUP[@skill.id])
  326.           @consum_window.refresh
  327.           @skill_window.refresh
  328.           @skill_window.active = true
  329.           @choice_window.visible = false
  330.           @choice_window.active = false
  331.         end
  332.       when 1
  333.         Sound.play_cancel
  334.         @choice_window.index = 0
  335.         @skill_window.active = true
  336.         @choice_window.visible = false
  337.         @choice_window.active = false
  338.       end
  339.       return
  340.     end
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 刷新画面(技能)
  344.   #--------------------------------------------------------------------------
  345.   def skill_update
  346.     # 按下 B 键的情况下
  347.     if Input.trigger?(Input::B)
  348.       # 演奏取消 SE
  349.       Sound.play_cancel
  350.       # 切换到菜单画面
  351.       $scene = Scene_Map.new
  352.       return
  353.     end
  354.     # 按下 C 键的情况下
  355.     if Input.trigger?(Input::C)
  356.       Sound.play_decision
  357.       # 获取特技窗口现在选择的特技的数据
  358.       @skill = @skill_window.skill
  359.       unless SLV::SLVUP.include?(@skill.id)
  360.         Sound.play_buzzer
  361.         return
  362.       end
  363.       @skill_window.active = false
  364.       @choice_window.visible = true
  365.       @choice_window.active = true
  366.       return
  367.     end
  368.     # 按下 R 键的情况下
  369.     if Input.trigger?(Input::R)
  370.       # 演奏光标 SE
  371.       Sound.play_cursor
  372.       # 移至下一位角色
  373.       @actor_index += 1
  374.       @actor_index %= $game_party.members.size
  375.       # 切换到别的特技画面
  376.       $scene = Scene_SLV.new(@actor_index)
  377.       return
  378.     end
  379.     # 按下 L 键的情况下
  380.     if Input.trigger?(Input::L)
  381.       # 演奏光标 SE
  382.       Sound.play_cursor
  383.       # 移至上一位角色
  384.       @actor_index += $game_party.members.size - 1
  385.       @actor_index %= $game_party.members.size
  386.       # 切换到别的特技画面
  387.       $scene = Scene_SLV.new(@actor_index)
  388.       return
  389.     end
  390.   end
  391. end
复制代码

点评

虽然 还是 有问题,不过很感谢, 先认可了~~~  发表于 2011-11-26 16:24
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
7
 楼主| 发表于 2011-11-22 21:02:37 | 只看该作者
本帖最后由 yanglibin0409 于 2011-11-22 21:06 编辑
feizhaodan 发表于 2011-11-22 18:21
因该是这样。没测试:


插入该 脚本 后 出现,

用事件 运行$scene = Scene_SLV.new(1) 出现
第115行 发生了 NameError .
uninitialized constant Window_SLVconsum:: ACTOR_ID_VAR_ID
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

8
发表于 2011-11-26 16:47:03 | 只看该作者
yanglibin0409 发表于 2011-11-22 21:02
插入该 脚本 后 出现,

用事件 运行$scene = Scene_SLV.new(1) 出现
  1. # -----------------------------------------------------------------------------
  2. # 技能升级系统(SLV)
  3. # ver:1.0VX
  4. # date:2011.10.11 by.Ultra
  5. # 【说明】
  6. #  呼出界面:$scene = Scene_SLV.new(队员ID)
  7. #  切换角色:L 或 R 键
  8. # -----------------------------------------------------------------------------
  9. module SLV
  10.   # ·消耗的物品ID
  11.   ITEMID = 22
  12.   # ·升级技能关联
  13.   #   技能ID => 升级后技能ID
  14.   SLVUP = {
  15.   1=>2,
  16.   2=>3,
  17.   3=>82
  18.   }
  19.   # ·设定消耗物品数量
  20.   #   技能ID => 升级时消耗物品数量
  21.   SCONSUM = {
  22.   1=>5,
  23.   2=>20,
  24.   3=>500
  25.   }
  26.   # ·默认消耗物品数量
  27.   ALLSCONSUM = 1
  28. end
  29. #==============================================================================
  30. # ■ Window_SLVindex
  31. #------------------------------------------------------------------------------
  32. #  显示升级特技目录的窗口。
  33. #==============================================================================

  34. class Window_SLVindex < Window_Selectable
  35.   #--------------------------------------------------------------------------
  36.   # ● 初始化对像
  37.   #     x      : 窗口 X 座标
  38.   #     y      : 窗口 Y 座标
  39.   #     width  : 窗口宽度
  40.   #     height : 窗口高度
  41.   #     actor  : 角色
  42.   #--------------------------------------------------------------------------
  43.   def initialize(actor)
  44.     super(0, 112, 272, 304)
  45.     @actor = actor
  46.     self.index = 0
  47.     refresh
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 获取技能
  51.   #--------------------------------------------------------------------------
  52.   def skill
  53.     return @data[self.index]
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 刷新
  57.   #--------------------------------------------------------------------------
  58.   def refresh
  59.     @data = []
  60.     for skill in @actor.skills
  61.       @data.push(skill)
  62.       if skill.id == @actor.last_skill_id
  63.         self.index = @data.size - 1
  64.       end
  65.     end
  66.     @item_max = @data.size
  67.     create_contents
  68.     for i in 0...@item_max
  69.       draw_item(i)
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 描绘项目
  74.   #     index : 项目编号
  75.   #--------------------------------------------------------------------------
  76.   def draw_item(index)
  77.     rect = item_rect(index)
  78.     self.contents.clear_rect(rect)
  79.     skill = @data[index]
  80.     if skill != nil
  81.       rect.width -= 4
  82.       enabled = @actor.skill_can_use?(skill)
  83.       draw_item_name(skill, rect.x, rect.y, enabled)
  84.       self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 更新帮助窗口文字
  89.   #--------------------------------------------------------------------------
  90.   def update_help
  91.     @help_window.set_text(skill == nil ? "" : skill.description)
  92.   end
  93. end
  94. #==============================================================================
  95. # ■ Window_SkillStatus
  96. #------------------------------------------------------------------------------
  97. #  显示特技升级消耗品的窗口
  98. #==============================================================================

  99. class Window_SLVconsum < Window_Base
  100.   #--------------------------------------------------------------------------
  101.   # ● 初始化窗口
  102.   #--------------------------------------------------------------------------
  103.   def initialize
  104.     super(0, 0, 544, 56)
  105.     self.contents = Bitmap.new(width - 32, height - 32)
  106.     refresh
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 刷新
  110.   #--------------------------------------------------------------------------
  111.   def refresh
  112.     self.contents.clear
  113.     return if  $game_variables[LEVEL_UP_VARIABLE + $game_variables[Game_Actor::ACTOR_ID_VAR_ID]] == nil
  114.     number =  $game_variables[LEVEL_UP_VARIABLE + $game_variables[Game_Actor::ACTOR_ID_VAR_ID]]
  115.     x,y = 0,0
  116.     self.contents.draw_text(x + 24, y, 320, WLH, "newqianneng"+":#{number.to_s}")
  117.   end
  118. end
  119. #==============================================================================
  120. # ■ Window_Gold
  121. #------------------------------------------------------------------------------
  122. #  显示技能信息的窗口。
  123. #==============================================================================

  124. class Window_SLVinfo < Window_Base
  125.   #--------------------------------------------------------------------------
  126.   # ● 初始化窗口
  127.   #--------------------------------------------------------------------------
  128.   def initialize(skill)
  129.     super(272, 112, 272, 304)
  130.     self.contents = Bitmap.new(width - 32, height - 32)
  131.     @skill = skill
  132.     refresh
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 刷新
  136.   #--------------------------------------------------------------------------
  137.   def refresh
  138.     self.contents.clear
  139.     self.contents.font.size = 18
  140.     return if not @skill
  141.     id = @skill.id
  142.     up = SLV::SLVUP
  143.     if up.include?(id)
  144.       self.contents.font.color = normal_color
  145.       draw(@skill,0,0)
  146.       self.contents.font.color = text_color(3)
  147.       draw($data_skills[up[id]],4,138)
  148.     else
  149.       self.contents.font.color = normal_color
  150.       draw(@skill,0,0)
  151.       self.contents.font.color = text_color(2)
  152.       self.contents.draw_text(0, 138, 320, WLH, "技能已达极限")
  153.     end
  154.   end
  155.   def draw(skill,x,y)
  156.     yh = 22
  157.     draw_icon(skill.icon_index,x,y)
  158.     self.contents.draw_text(x + 24, y, 320, WLH, skill.name)
  159.     scope = ["无","敌方单体","敌方全体","敌方单体连击","敌方单体随机目标",
  160.     "敌方二体随机目标","敌方三体随机目标","我方单体","我方全体",
  161.     "我方单个濒死者","我方所有濒死者","使用者自身"]
  162.     self.contents.draw_text(x, y+yh, 320, WLH, "使用范围:"+scope[skill.scope])
  163.     occasion = ["不限制使用场合","仅作战时使用","仅菜单中使用","不可用"]
  164.     self.contents.draw_text(x, y+yh*2, 320, WLH, "使用场合:"+occasion[skill.occasion])
  165.     self.contents.draw_text(x, y+yh*3, 320, WLH, "消耗SP:"+skill.mp_cost.to_s)
  166.     self.contents.draw_text(x, y+yh*4, 320, WLH, "基本伤害值:"+skill.base_damage.to_s)
  167.     self.contents.draw_text(x, y+yh*5, 320, WLH, "命中率:"+skill.hit.to_s)
  168.   end
  169.   def skill
  170.     @skill
  171.   end
  172.   def skill=(val)
  173.     @skill = val
  174.   end
  175. end
  176. class Window_SLVchoice < Window_Selectable
  177.   def initialize(skill)
  178.     super(272, 112, 272, 152)
  179.     @commands = ["确定","返回"]
  180.     @item_max = 2
  181.     @skill = skill
  182.     refresh
  183.     self.index = 0
  184.     self.z = 1000
  185.   end
  186.   def refresh
  187.     number =  $game_variables[LEVEL_UP_VARIABLE + $game_variables[Game_Actor::ACTOR_ID_VAR_ID]]
  188.     upnum = SLV::SCONSUM[@skill.id]
  189.     upnum = SLV::ALLSCONSUM unless upnum
  190.     self.contents.clear
  191.     for i in 0...@item_max
  192.       if number < upnum
  193.         color1 = Color.new(255, 255, 255, 128)
  194.         color2 = text_color(2)
  195.       else
  196.         color1 = normal_color
  197.         color2 = normal_color
  198.       end
  199.       self.contents.font.color = color1
  200.       self.contents.font.color = normal_color if i == 1
  201.       draw_item(i)
  202.     end
  203.     self.contents.draw_text(0, 56, 320, WLH, "升级必要:")
  204.     x,y = 0,82
  205.     self.contents.font.color = color2
  206.     self.contents.draw_text(x + 24, y, 320, "newqianneng"+" * #{upnum.to_s}")
  207.   end
  208.   def draw_item(index)
  209.     self.contents.draw_text(0, 26 * index, self.contents.width-8, WLH, @commands[index], 1)
  210.   end
  211.   def skill
  212.     @skill
  213.   end
  214.   def skill=(val)
  215.     @skill = val
  216.   end
  217. end
  218. #==============================================================================
  219. # ■ Scene_Skill
  220. #------------------------------------------------------------------------------
  221. #  处理特技升级画面的类。
  222. #==============================================================================

  223. class Scene_SLV
  224.   #--------------------------------------------------------------------------
  225.   # ● 初始化对像
  226.   #     actor_index : 角色索引
  227.   #--------------------------------------------------------------------------
  228.   def initialize(actor_index = 0)
  229.     @actor_index = actor_index
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● 主处理
  233.   #--------------------------------------------------------------------------
  234.   def main
  235.     # 获取角色
  236.     @actor = $game_party.members[@actor_index]
  237.     # 生成帮助窗口、状态窗口、特技窗口
  238.     @help_window = Window_Help.new
  239.     @help_window.y = 56
  240.     @consum_window = Window_SLVconsum.new
  241.     @skill_window = Window_SLVindex.new(@actor)
  242.     @info_window = Window_SLVinfo.new(@skill_window.skill)
  243.     @choice_window = Window_SLVchoice.new(@skill_window.skill)
  244.     @choice_window.visible = false
  245.     @choice_window.active = false
  246.     # 关联帮助窗口
  247.     @skill_window.help_window = @help_window
  248.     # 执行过渡
  249.     Graphics.transition
  250.     # 主循环
  251.     loop do
  252.       # 刷新游戏画面
  253.       Graphics.update
  254.       # 刷新输入信息
  255.       Input.update
  256.       # 刷新画面
  257.       update
  258.       # 如果画面切换的话就中断循环
  259.       if $scene != self
  260.         break
  261.       end
  262.     end
  263.     # 准备过渡
  264.     Graphics.freeze
  265.     # 释放窗口
  266.     @help_window.dispose
  267.     @consum_window.dispose
  268.     @skill_window.dispose
  269.     @info_window.dispose
  270.     @choice_window.dispose
  271.   end
  272.   #--------------------------------------------------------------------------
  273.   # ● 刷新画面
  274.   #--------------------------------------------------------------------------
  275.   def update
  276.     # 刷新窗口
  277.     @help_window.update
  278.     @consum_window.update
  279.     @skill_window.update
  280.     @info_window.update
  281.     @choice_window.update
  282.     if @info_window.skill != @skill_window.skill
  283.       @info_window.skill = @skill_window.skill
  284.       @choice_window.skill = @skill_window.skill
  285.       @info_window.refresh
  286.       @choice_window.refresh
  287.     end
  288.     # 技能窗口被激活的情况下
  289.     if @skill_window.active
  290.       skill_update
  291.       return
  292.     end
  293.     # 选项窗口被激活的情况下
  294.     if @choice_window.active
  295.       choice_update
  296.       return
  297.     end
  298.   end
  299.   #--------------------------------------------------------------------------
  300.   # ● 刷新画面(选项)
  301.   #--------------------------------------------------------------------------
  302.   def choice_update
  303.     # 按下 B 键的情况下
  304.     if Input.trigger?(Input::B)
  305.       Sound.play_cancel
  306.       @choice_window.index = 0
  307.       @skill_window.active = true
  308.       @choice_window.visible = false
  309.       @choice_window.active = false
  310.       return
  311.     end
  312.     # 按下 C 键的情况下
  313.     if Input.trigger?(Input::C)
  314.       case @choice_window.index
  315.       when 0
  316.         number =  $game_variables[LEVEL_UP_VARIABLE + $game_variables[Game_Actor::ACTOR_ID_VAR_ID]]
  317.         upnum = SLV::SCONSUM[@skill.id]
  318.         upnum = SLV::ALLSCONSUM unless upnum
  319.         if number < upnum
  320.           Sound.play_buzzer
  321.         else
  322.           Audio.se_play("Audio/SE/Up",100,100)
  323.           $game_variables[LEVEL_UP_VARIABLE + $game_variables[Game_Actor::ACTOR_ID_VAR_ID]] -= upnum
  324.           @actor.forget_skill(@skill.id)
  325.           @actor.learn_skill(SLV::SLVUP[@skill.id])
  326.           @consum_window.refresh
  327.           @skill_window.refresh
  328.           @skill_window.active = true
  329.           @choice_window.visible = false
  330.           @choice_window.active = false
  331.         end
  332.       when 1
  333.         Sound.play_cancel
  334.         @choice_window.index = 0
  335.         @skill_window.active = true
  336.         @choice_window.visible = false
  337.         @choice_window.active = false
  338.       end
  339.       return
  340.     end
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 刷新画面(技能)
  344.   #--------------------------------------------------------------------------
  345.   def skill_update
  346.     # 按下 B 键的情况下
  347.     if Input.trigger?(Input::B)
  348.       # 演奏取消 SE
  349.       Sound.play_cancel
  350.       # 切换到菜单画面
  351.       $scene = Scene_Map.new
  352.       return
  353.     end
  354.     # 按下 C 键的情况下
  355.     if Input.trigger?(Input::C)
  356.       Sound.play_decision
  357.       # 获取特技窗口现在选择的特技的数据
  358.       @skill = @skill_window.skill
  359.       unless SLV::SLVUP.include?(@skill.id)
  360.         Sound.play_buzzer
  361.         return
  362.       end
  363.       @skill_window.active = false
  364.       @choice_window.visible = true
  365.       @choice_window.active = true
  366.       return
  367.     end
  368.     # 按下 R 键的情况下
  369.     if Input.trigger?(Input::R)
  370.       # 演奏光标 SE
  371.       Sound.play_cursor
  372.       # 移至下一位角色
  373.       @actor_index += 1
  374.       @actor_index %= $game_party.members.size
  375.       # 切换到别的特技画面
  376.       $scene = Scene_SLV.new(@actor_index)
  377.       return
  378.     end
  379.     # 按下 L 键的情况下
  380.     if Input.trigger?(Input::L)
  381.       # 演奏光标 SE
  382.       Sound.play_cursor
  383.       # 移至上一位角色
  384.       @actor_index += $game_party.members.size - 1
  385.       @actor_index %= $game_party.members.size
  386.       # 切换到别的特技画面
  387.       $scene = Scene_SLV.new(@actor_index)
  388.       return
  389.     end
  390.   end
  391. end
复制代码
试试吧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
9
 楼主| 发表于 2011-11-26 18:59:58 | 只看该作者
feizhaodan 发表于 2011-11-26 16:47
试试吧

ArgumentError . wrong # of arguments (5 for 4)

点评

不好意思, 是 209 行  发表于 2011-11-26 22:29
第几行=-=  发表于 2011-11-26 19:00
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-2 03:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表