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

Project1

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

[已经解决] 我想让角色行动命令因人而异,该怎么办?

[复制链接]

Lv2.观梦者

梦石
0
星屑
458
在线时间
182 小时
注册时间
2009-7-12
帖子
155
跳转到指定楼层
1
发表于 2013-12-22 10:06:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如1号阿尔西斯是攻击、特技、防御、物品,而2号帕吉尔是突刺、绝技、抵抗、道具。

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2013-12-22 10:20:45 | 只看该作者
本帖最后由 恋′挂机 于 2013-12-22 10:22 编辑

@actor_index

@actor_index 是角色的索引,可以分歧$game_actors[@actor_index]实现
在指令窗口(复制一份Window_Command)refresh后边加上参数(actor = nil)
分歧
unless actor.nil?
case actor.id
when 1
  @commands = %|攻击 特技 防御 物品|
when 2
  @commands = %|突刺 绝技 抵抗 道具|
end
end

去改变他的字符串序列即可

点评

$game_actors[@actor_index]会有NoMethodError  发表于 2013-12-22 11:34
refresh后边加上参数(actor = nil) 这里部分可以说得清楚一些吗?  发表于 2013-12-22 11:22
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
458
在线时间
182 小时
注册时间
2009-7-12
帖子
155
3
 楼主| 发表于 2013-12-22 11:42:06 | 只看该作者
http://rpg.blue/forum.php?mod=viewthread&tid=129370
我竟然搜到了。就这样吧。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
4
发表于 2013-12-22 11:57:54 | 只看该作者
  1. # 放在Scene_Battle4下边

  2. class Window_Command < Window_Selectable
  3.   def refresh(actor = nil)
  4.     self.contents.clear
  5.     if $scene.is_a?(Scene_Battle)
  6.       if not actor.nil?
  7.         case actor.id
  8.         when 2
  9.           @commands = ["突刺", "绝技", "抵抗", "道具"]
  10.         else
  11.           @commands = ["攻击", "特技", "防御", "物品"]
  12.         end
  13.         @item_max = @commands.size
  14.       end
  15.     end
  16.     for i in 0...@item_max
  17.       draw_item(i, normal_color)
  18.     end
  19.   end
  20. end

  21. class Scene_Battle
  22.   alias update_command_case update
  23.   def update
  24.     if @actor_index != nil and @ac_index != @actor_index
  25.       @ac_index = @actor_index
  26.       @actor_command_window.contents.clear
  27.       @actor_command_window.refresh($game_party.actors[@actor_index])
  28.     end
  29.     update_command_case
  30.   end
  31. end
复制代码

点评

好用。赞  发表于 2013-12-22 12:09
放在main之前  发表于 2013-12-22 12:05
29行ArguementError: wrong nunber of arguements(1 for 0)  发表于 2013-12-22 12:04

评分

参与人数 1星屑 +120 收起 理由
myownroc + 120 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 07:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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