Project1

标题: 命令窗口问题。 [打印本页]

作者: clear仔    时间: 2013-4-14 10:16
标题: 命令窗口问题。
本帖最后由 clear仔 于 2013-4-14 10:17 编辑

我想让不同的角色有不同的命令窗口的文字。
于是把“Scene_Battle 1”中的
RUBY 代码复制
  1. # 生成角色命令窗口
  2. s1 = $data_system.words.attack               
  3. s2 = $data_system.words.skill
  4. s3 = $data_system.words.guard
  5. s4 = $data_system.words.item

改成了
RUBY 代码复制
  1. # 生成角色命令窗口
  2.    s1 = $data_system.words.attack
  3.     if @actor_id == 1 or @actor_id == 3
  4.     s2 = "技能"
  5.     elsif @actor_id == 5 or @actor_id == 6
  6.     s2 = "魔法"
  7.     else
  8.     s2 = $data_system.words.skill
  9.     end
  10.     s3 = $data_system.words.guard
  11.     s4 = $data_system.words.item

可是还是无论什么角色都是“特技”啊。是我的语句用错了么?

顺便问一下:怎么用开关来控制让某个命令选项不可选(类似无法逃跑的样子)

作者: 萧叶藏刀    时间: 2013-4-14 10:50
这段脚本在main中,只有在刚进入战斗时才会执行一次,刚进入战斗时@actor_id 为0

禁止攻击在此|http://rpg.blue/thread-296046-1-1.html
LZ参考一下吧
作者: clear仔    时间: 2013-4-14 11:37
萧叶藏刀 发表于 2013-4-14 10:50
这段脚本在main中,只有在刚进入战斗时才会执行一次,刚进入战斗时@actor_id 为0

禁止攻击在此|http://bb ...

那么怎么才能解决呢。

作者: 羞射了    时间: 2013-4-14 12:27
本帖最后由 羞射了 于 2013-4-14 12:28 编辑
  1. class Window_Command < Window_Selectable
  2.   attr_accessor :commands
  3.   def reset(battler)
  4.     case battler.id
  5.       when 0,2,3
  6.         cmd = ["1","2","3","4"]
  7.       when 1,4,5
  8.         cmd = ["41","25","36","4667"]
  9.       else
  10.         cmd = ["678","555","3","4"]
  11.     end
  12.     @commands = cmd
  13.     refresh
  14.   end
  15. end
复制代码
上面这段贴到脚本里
然后搜索@actor_command_window.visible = true,默认系统一共四句,下面添加

    @actor_command_window.reset(@active_battler)

只保证对默认工程有效。

作者: 亿万星辰    时间: 2013-4-14 13:57
默认系统里那个窗口里的内容是不变的,所以窗口不会重新refresh~必须手动添加refresh指令并同时重写其中的内容




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1