查看: 3587|回复: 8

[已经过期] 求助,判断是否装备盾牌的语句怎么写

[复制链接]
梦石
0
星屑
50
在线时间
13 小时
注册时间
2017-3-29
回帖
3
发表于 2017-4-15 16:35:34 来自手机 | 显示全部楼层 |阅读模式

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

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

×
如题,判断装备类型,让技能可用

点评

这个贴这么久都没人回答么!  发表于 2017-5-4 15:15
梦石
0
星屑
216
在线时间
154 小时
注册时间
2017-2-27
回帖
166

开拓者

发表于 2017-4-22 05:43:22 | 显示全部楼层
你给盾牌添加技能岂不是易而快哉
回复

使用道具 举报

梦石
0
星屑
112
在线时间
376 小时
注册时间
2015-1-26
回帖
194
发表于 2017-5-4 14:19:03 | 显示全部楼层
Ajucaqiu 发表于 2017-4-22 05:43
你给盾牌添加技能岂不是易而快哉

如果要用技能学习之类系统就不能这样做了呀
回复

使用道具 举报

梦石
0
星屑
34460
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2017-5-4 14:44:28 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2017-5-4 16:27 编辑
  1. $gameActors.actor(角色id).hasArmor($dataArmors[防具ID]);
复制代码

默认脚本里面貌似没有判断防具类型的,只有判断是否装备某个防具。


或者可以加一个方法:
[pre lang="javascript"]Game_Actor.prototype.hasArmorEtype = function(etypeId) {
    var data = this.armors().filter(function(item) {
        return item && item.etypeId === etypeId;});
    return data.length > 0 ;
};[/pre]

那么判断就写:
[pre lang="javascript"]$gameActors.actor(角色id).hasArmorEtype(2);
// 试了一下,盾是 2 ; 头部是 3; 身体是 4; 饰件是 5。MV的 itypeId, wtypeId, atypeId, etypeId, 真让人头疼!
// 这也可以用来判断是否装备了衣服,帽子什么的。[/pre]

已经试过了,看来以前还是搞错了一点东西。

在数据库设置了1号角色有盾牌,2号角色没有,然后 事件->脚本判断:

1.png

显示结果

2.png

3.png
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
112
在线时间
376 小时
注册时间
2015-1-26
回帖
194
发表于 2017-5-4 15:52:36 | 显示全部楼层
有个变通的方法:

用YEP.13 – Auto Passive States给所有盾牌附加一个叫做“装备盾”的state,然后在技能判断里检测角色身上是否有这个state
回复

使用道具 举报

梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
发表于 2017-5-20 18:25:10 | 显示全部楼层
raketenfaust02 发表于 2017-5-4 15:52
有个变通的方法:

用YEP.13 – Auto Passive States给所有盾牌附加一个叫做“装备盾”的state,然后在技能 ...

有个更变通的方法:
让所有盾牌都免疫某个状态,然后再给所有角色都赋予上这个状态,没中这个状态的角色就装备了盾牌
这样子连插件都不需要用到了
回复

使用道具 举报

梦石
0
星屑
112
在线时间
376 小时
注册时间
2015-1-26
回帖
194
发表于 2017-5-20 23:54:38 | 显示全部楼层
qknight 发表于 2017-5-20 18:25
有个更变通的方法:
让所有盾牌都免疫某个状态,然后再给所有角色都赋予上这个状态,没中这个状态的角色 ...

可是如果没有插件,装上盾再卸下来之后,用什么方法把这个状态补回角色身上呢?
回复

使用道具 举报

梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
发表于 2017-5-21 12:37:43 | 显示全部楼层
raketenfaust02 发表于 2017-5-20 23:54
可是如果没有插件,装上盾再卸下来之后,用什么方法把这个状态补回角色身上呢? ...

如果是因为装备耐久度等插件的原因,导致战斗中盾牌被打烂的话,只要每回合结束时赋予全队那个盾牌免疫的状态,就能还算及时的分歧谁没有了盾牌。

如果是菜单界面使用需要盾牌的技能的话,那么这个技能的施放目标肯定是队友,只要在公共事件中再赋予全队一次盾牌免疫状态,就可以分歧谁有盾牌了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部