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

Project1

 找回密码
 注册会员
搜索

请问如何在脚本分歧中写循环语句

查看数: 2084 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-6-12 14:02

正文摘要:

本人想在脚本里面追加一个判断是否有某状态的分歧选项想要队伍中所有角色根据是否拥有状态来决定初始TP,不过由于需要判断的状态过多,如果让我写我也只会用 OR 来将判断每个不同状态的分歧连起来,但面对近百状态时 ...

回复

喵呜喵5 发表于 2016-6-12 17:27:01
本帖最后由 喵呜喵5 于 2016-6-12 17:30 编辑
jianyulei 发表于 2016-6-12 16:16
我一般是对应角色判断,因为状态是角色拥有的,也只有判断角色,而引擎自带了判断角色是否有某状态的选项 ...


对于第一个脚本,我想说的是:
是 & 不是 && ,只有一个 &,功能是取数组的交集

第二个脚本,我想问你的是,你是怎么判断某个角色拥有某个状态的,或者,你的 1号角色是否拥有 1号状态,你脚本里是怎么写的?
例如你要用引擎自带的判断的话,就是:
  1. class Game_Actor
  2.   alias m5_20160612_init_tp init_tp
  3.   def init_tp
  4.     m5_20160612_init_tp
  5.     (100..200).each do |id|
  6.       next unless state?(id)
  7.       self.tp += 20
  8.       break
  9.     end
  10.   end
  11. end
复制代码
个人建议你理解这段代码到底是如何工作的,然后自己重新写一个自己的版本,而不是直接使用这段代码

点评

恩,现在可以使用了额,谢谢  发表于 2016-6-12 18:44
检查了一下,发现第一段代码我漏打了一个 s ……  发表于 2016-6-12 18:07
第一个脚本我是直接复制的,没有改成&&,第二个脚本我现在看懂了,但如果不写清楚我估计看不懂  发表于 2016-6-12 17:42
喵呜喵5 发表于 2016-6-12 14:32:30
本帖最后由 喵呜喵5 于 2016-6-12 18:06 编辑
  1. class Game_Actor
  2.   alias m5_20160612_init_tp init_tp
  3.   def init_tp
  4.     m5_20160612_init_tp
  5.     if (@states & (100..200).to_a).size > 0
  6.       self.tp += 20
  7.     end
  8.   end
  9. end
复制代码
或者下面这个更通用的解决办法:
  1. class Game_Actor
  2.   alias m5_20160612_init_tp init_tp
  3.   def init_tp
  4.     m5_20160612_init_tp
  5.     (100..200).each do |id|
  6.       next unless 拥有此 id 的状态
  7.       self.tp += 20
  8.       break
  9.     end
  10.   end
  11. end
复制代码

点评

第一个代码 size 报错内容是什么,第二个你原来都怎么判断角色拥有哪个状态的?  发表于 2016-6-12 15:41
第一个代码size报错,第二个 “拥有此 id 的状态”不知道该怎么写  发表于 2016-6-12 15:33

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
VIPArcher + 1 认可答案
jianyulei + 15 认可答案

查看全部评分

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

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

GMT+8, 2024-11-16 16:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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