Project1

标题: 怎么修改人物状态里的人物说明? [打印本页]

作者: 雷影    时间: 2015-2-7 15:29
标题: 怎么修改人物状态里的人物说明?
想随着故事进展,人物说明会有变化!
作者: 三途亚梦    时间: 2015-2-7 15:41
你在Game_Actor里找到  def description ,
它就是决定人物描述是啥的方法。
  1.   def description
  2.     return "我叫艾里克" if actor.id == 1
  3.     actor.description
  4.   end
复制代码
你这样写之后艾里克的说明就变成了“我叫艾里克”。
return "XX" if ...
这个结构你简单的理解成如果if条件满足,就使人物的描述变成XXXX。
然后actor就代表每一个人物实例。

接下来你要做的就是根据你自己预设的条件,改变""里的内容就可以了。
作者: 雷影    时间: 2015-2-7 16:20
  def description
    return "我是1号主角" if actor.id == 1
    return "我是2号主角" if actor.id == 2        
    actor.description
  end
这部分是了解了,如果想增加分支条件在哪加?比如加上开关1打开时显示第一类说明,开关2打开时显示第二类说明格式的话我预想的格式是:
  def description
if   开关1=true
    return "这是1号开关开启后的说明" if actor.id == 1
    return "这是1号开关开启后的说明" if actor.id == 2        
if   开关2=true   
    return "这是2号开关开启后的说明" if actor.id == 1
    return "这是2号开关开启后的说明" if actor.id == 2   
actor.description
  end
想到这样的格式,可是要怎么写就不会了!另外这部分能不能单独拿出来做一个脚本什么的,就不用在原本自带的系统里修改了!
作者: taroxd    时间: 2015-2-7 16:23
雷影 发表于 2015-2-7 16:20
def description
    return "我是1号主角" if actor.id == 1
    return "我是2号主角" if actor.id ==  ...

开关1:$game_switches[1]

插件脚本的形式

class Game_Actor
  def description
    #...
  end
end
作者: 雷影    时间: 2015-2-7 16:29
本帖最后由 雷影 于 2015-2-7 16:34 编辑
taroxd 发表于 2015-2-7 16:23
开关1:$game_switches[1]

插件脚本的形式


class Game_Actor
  def description
     if   $game_switches[1]
          return "这是1号开关开启后的说明" if actor.id == 1
          return "这是1号开关开启后的说明" if actor.id == 2        
     end  
     if  $game_switches[2]
         return "这是2号开关开启后的说明" if actor.id == 1
         return "这是2号开关开启后的说明" if actor.id == 2   
     end
  actor.description
  end
end
是这样么??
作者: 三途亚梦    时间: 2015-2-7 16:34
if $game_switches[1]
  XXX
end

后面不写就等于判断为 $game_switches[1] == true

===============================================

雷影 发表于 2015-2-7 16:20
def description
    return "我是1号主角" if actor.id == 1
    return "我是2号主角" if actor.id ==  ...

开关1:$game_switches[1]

插件脚本的形式
  1. class Game_Actor
  2.   def description
  3.     if  $game_switches[1]
  4.       return "这是1号开关开启后的说明" if actor.id == 1
  5.       return "这是1号开关开启后的说明" if actor.id == 2        
  6.     end
  7.     if  $game_switches[2]
  8.       return "这是2号开关开启后的说明" if actor.id == 1
  9.       return "这是2号开关开启后的说明" if actor.id == 2   
  10.     end
  11.     actor.description
  12.   end
  13. end
复制代码

作者: 雷影    时间: 2015-2-7 17:37
本帖最后由 雷影 于 2015-2-7 17:38 编辑

放一个完整版的做结贴:

class Game_Actor
  def description
    if $game_switches[1]#1号开关路线开启(说明文可显示2行,一行大约28个文字)
      if $game_variables[1].between?(1, 9) #剧情进度值范围1~9时(不想要可以删掉,还有相对end也要删)
        return "这是1号开关路线开启后的说明 进度值1~9 " if actor.id == 1#人物ID
        return "这是1号开关路线开启后的说明" if actor.id == 2        
      end
      if $game_variables[1].between?(10, 19)
        return "这是1号开关路线开启后的说明 剧情进度值10~19" if actor.id == 1#人物ID
        return "这是1号开关路线开启后的说明" if actor.id == 2        
      end
    end
   
    if $game_switches[2]#2号开关路线开启
        if $game_variables[1].between?(1, 9) #剧情进度值范围1~9时
              return "这是2号开关路线开启后的说明" if actor.id == 1
              return "这是2号开关路线开启后的说明" if actor.id == 2   
            end
    end
    actor.description
  end
end




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