Project1

标题: 如何在脚本编辑器里面表达变量1等于主角体力 [打印本页]

作者: bsb    时间: 2013-12-8 09:35
标题: 如何在脚本编辑器里面表达变量1等于主角体力
虽说可以用事件……but每一页要弄一个事件好麻烦……
作者: taroxd    时间: 2013-12-8 12:08
主角是什么意思?如果是指领队的话:
RUBY 代码复制
  1. $game_party.leader.hp == $game.variables[1]

如果是指特定的某号角色的话(x号)
RUBY 代码复制
  1. $game_actors[x].hp == $game.variables[1] #x代换为角色的ID

作者: bsb    时间: 2013-12-8 14:55
放在脚本编辑器报错啊,我是想要放脚本编辑器的

QQ图片20131208145423.jpg (12.25 KB, 下载次数: 34)

QQ图片20131208145423.jpg

作者: fux2    时间: 2013-12-8 18:38
bsb 发表于 2013-12-8 14:55
放在脚本编辑器报错啊,我是想要放脚本编辑器的

你放的位置有问题吧,队伍以及人物这些数据是在进入游戏之后才加载的,你在这之前调用当然有问题啦。
你到底要放在什么地方不如说出来让大家出出主意?
作者: taroxd    时间: 2013-12-8 18:45
本帖最后由 taroxd 于 2013-12-8 18:52 编辑
bsb 发表于 2013-12-8 14:55
放在脚本编辑器报错啊,我是想要放脚本编辑器的


放哪儿都是用这个脚本表示判断(这句话的返回值为true或false),看你的错误提示,应该是在$game_party还没有生成的时候就用了那段脚本。

你最好说想要实现什么功能,然后对对应的地方的方法重定义,一般写脚本都是这样的。重定义的内容写在Main之前,场景之后。下面的脚本就是一个例子
RUBY 代码复制
  1. class Game_Interpreter
  2.   def do_something
  3.     if $game_party.leader.hp == $game.variables[1]
  4.       # do something...
  5.     end
  6.   end
  7. end
  8.  
  9. # 把以下脚本插到Main之前,场景之后,
  10. # 把 # do something... 改成自己想要的过程
  11. # 然后在事件中的「脚本」栏输入do_something(方法名,可以改)即可调用这段脚本


另外,如果使用次数不多的话,用事件的条件分岐(条件:脚本 $game_party.leader.hp == $game.variables[1])就可以了

作者: bsb    时间: 2013-12-10 12:34
我就是用了显示变量脚本,然后我要显示主角体力(变量1)这就要每个地图设置一个并行处理事件实时更新主角体力了。所以我就想在脚本里搞,这样就不用每个地图搞一个了。@taroxd @fux2  
作者: fux2    时间: 2013-12-10 14:09
bsb 发表于 2013-12-10 12:34
我就是用了显示变量脚本,然后我要显示主角体力(变量1)这就要每个地图设置一个并行处理事件实时更新主角 ...

你可以用并行处理的公共事件,
显然脚本你还没有掌握,先用公共事件吧。
作者: taroxd    时间: 2013-12-10 17:53
bsb 发表于 2013-12-10 12:34
我就是用了显示变量脚本,然后我要显示主角体力(变量1)这就要每个地图设置一个并行处理事件实时更新主角 ...


1. 如楼上所说,在公共事件中使用并行处理是可以比较完美地解决问题的。对于LZ这样不会脚本的尤为适合
2. 如果还是要脚本……
  (1)你可以使用66rpg遍地都是的地图显血脚本
  (2)你可以在原来脚本的基础上进行修改,把所有$game.variables[1]改为$game_party.leader.hp(这里可以使用Ctrl+H),理论上来说应该可以即时显示血量,并且让这个脚本和变量1完全脱离关系,只显示主角血量。但是,因为我不知道你是什么脚本,所以无法保证这个方法一定可以成功。比如说,如果对方是用常量来表示这个变量ID[1]的话,按照上面的方法改肯定是行不通的。




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