查看: 1942|回复: 4

[已经解决] 请问脚本中怎么判断武器是否存在某个特性

[复制链接]
梦石
0
星屑
50
在线时间
50 小时
注册时间
2013-10-18
回帖
17
发表于 2013-11-28 19:05:30 | 显示全部楼层 |阅读模式

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

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

×
{:2_263:}RT,我想在脚本中加一个判断语句,用于判断某个武器是否存在某个特性,根据返回结果运行
比如说,
通过语句判断后,如果武器存在盾(头/身/饰品)装备禁用,返回true,反之返回false
大概的格式应该是self.weapons[0]_XXXXX.include?()
但不知道这样写对不对,XXXXX部分和()里的部分也不知道要怎么写
梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-11-28 19:35:18 | 显示全部楼层
本帖最后由 Sion 于 2013-11-28 19:38 编辑

好像很复杂的
  1. class Game_Actor
  2.   def equip_seal?(etype_id)
  3.     equip_features = equips.compact.inject([]) {|r, obj| r + obj.features }
  4.     seal_features = equip_features.select {|ft| ft.code == FEATURE_EQUIP_SEAL}
  5.     (seal_features.inject([]) {|r, ft| r |= [ft.data_id] }).include?(etype_id)
  6.   end
  7. end
复制代码
判断角色1是不是因为装备而被禁用盾牌
  1. $game_actors[1].equip_seal?(1)
复制代码
回复

使用道具 举报

梦石
0
星屑
50
在线时间
50 小时
注册时间
2013-10-18
回帖
17
 楼主| 发表于 2013-11-28 21:07:13 | 显示全部楼层
Sion 发表于 2013-11-28 19:35
好像很复杂的判断角色1是不是因为装备而被禁用盾牌

那具体的判断语句该怎么写?
我想写一个关于武器的判断用于装备界面
if XXXX
   return true
end
XXXX是判断武器是否禁用了盾装备,这里应该怎么写?还需要什么前置的定义么?

我只懂一点点脚本,自己试着写不是跳bug,就是判断结果总是输出true
回复

使用道具 举报

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-11-28 21:14:15 | 显示全部楼层
上面是判断全部装备的。你在脚本里插入上面的一段,然后用下面那句就可以判断了。
回复

使用道具 举报

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
回帖
146
发表于 2013-11-29 12:15:14 | 显示全部楼层
双手武器怎么判定的就怎么判定,现在没时间解释

<object width="630" height="500" align="middle" id="reader" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354000
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部