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

Project1

 找回密码
 注册会员
搜索
查看: 2052|回复: 8
打印 上一主题 下一主题

[已经解决] 如何让武器装备在不同位置的时候,效果不同呢?

[复制链接]

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
跳转到指定楼层
1
发表于 2014-12-1 15:32:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
现在已经通过修改一些判断,让部分武器可以装备在“武器”和“盾牌”两个装备位置上,
我把这两个位置定义为“利手”和“副手”。

想让这些武器装备在不同位置的时候,有不同的效果。

举例说明就是:
当“手斧”装备在“利手”位置的时候:命中率 - 10%、学会技能 - 纵斩 (这是数据库中设定的数据)
当“手斧”装备在“副手”位置的时候:命中率 - 20%、学会技能 - 横斩

那么,该如何实现这样的效果呢?

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-12-1 17:33:11 | 只看该作者
本帖最后由 taroxd 于 2014-12-1 17:35 编辑

方法1:
可以重定义 Game_BaseItem 的方法,使得对“装备错位”的装备调用 object 方法时,返回另一个 RPG::EquipItem 或者其子类的实例。

你可能需要在生成 Game_BaseItem 实例时指定装备位置。

方法2:
重定义 weapons,equips 方法,使得对于“装备错位”的装备,返回另一个 RPG::EquipItem 或者其子类的实例。

方法3:
在试图装备时,就将“装备错位”的装备替换为另一个实例。


总之,你可以在装备上备注一个武器ID,使得该装备错位时效果就像那个ID的武器一样。
三个方法都要注意“角色是否装备”的判断问题。

---

至于简单的需求(不需要另一个数据库的实例)的话,其实直接重定义属性值就好了。

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
3
 楼主| 发表于 2014-12-1 21:45:29 | 只看该作者
taroxd 发表于 2014-12-1 17:33
方法1:
可以重定义 Game_BaseItem 的方法,使得对“装备错位”的装备调用 object 方法时,返回另一个 RPG: ...

TD触泥的回答太专业,有些跟不上……

经过思考,我觉得让光标移动到副手位置的时候,预先把这部分武器更换成对应id的装备是最好的。
(因为有会显示这个装备的详细信息,这样大概可以保证在“副手”时的信息显示是正确的。

像是装备“手斧”在副手的物品列表中变成“手斧(副手)”。
考虑到装备可能会被某些情况强制卸下,副手装备在被卸下的时候会变回利手的数据。

如果是这样的话,运行效率上来说可行性靠谱吗?
如果靠谱,实现需要动用大概哪些方法呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
4
发表于 2014-12-2 08:14:23 | 只看该作者
本帖最后由 企鹅达达 于 2014-12-2 08:43 编辑

http://www.rpgmakervxace.net/topic/1160-dual-wield-free-hands/
首先插入上面的脚本,让“双持武器”时候“副手变成武器”的效果变成“盾牌装备位置可以装备武器”的效果,简单点说就是把副手装备武器和利手装备武器区分开,不然脚本里两个装备位置都在0号,位,很难后续操作。然后你可以在数据库-用语那里把“盾”改成“副手”
接下来使用Victor Engine - Passive States(注意加上前置脚本VE - Basic Module),脚本在下面链接
http://victorscripts.wordpress.com/2014/06/21/dropbox-links-down/
在职业或者角色备注里写上:
<passive state: 551>
@equips[0]&&@equips[0].is_weapon?&&@equips[0].object.wtype_id==1;
</passive state>
<passive state: 552>
@equips[1]&&@equips[1].is_weapon?&&@equips[1].object.wtype_id==1;
</passive state>
意思是当利手装备武器种类1的时候,角色附加551号状态,在这个状态里你可以加上命中-10,技能+竖劈
当副手武器种类为1的时候,角色附加状态552号状态,在这个状态里你可以加上命中-20,技能+橫劈。
顺带一提如果把备注后面的wtype_id改成id就可以变成武器id为1时候附加状态,如果你要一个个武器设置的话 ← ←
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
5
 楼主| 发表于 2014-12-2 10:40:09 | 只看该作者
企鹅达达 发表于 2014-12-2 08:14
http://www.rpgmakervxace.net/topic/1160-dual-wield-free-hands/
首先插入上面的脚本,让“双持武器”时 ...

我现在不需要双持就是可以让“盾”的位置携带武器了来着,
你有认真看我说的话吗……

考虑到我3L的回复,状态的方法不大能行得通呢。

点评

我当然知道属性会加上啦。我的情况是,在选择装备的时候,装备提供的属性会被详细说明,装备结果和详细说明不符自然不够理想。  发表于 2014-12-2 11:12
另外,如果是默认装备界面里面装备后属性的话,被动状态的结果也会加上。至于其他的界面比如图鉴啥的,你还想区分主手图鉴和副手图鉴么  发表于 2014-12-2 11:09
我当然是要达到理想效果,不是图省事。  发表于 2014-12-2 11:08
我这是和你3L的方法完全不同的另一个角度啊,你是在防具里面另外设置一套和武器相对应的装备吧,不见得比我这个好多少,好歹我这个有现成的脚本  发表于 2014-12-2 11:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
6
发表于 2014-12-2 11:30:37 | 只看该作者
本帖最后由 企鹅达达 于 2014-12-2 11:31 编辑
三途亚梦 发表于 2014-12-2 10:40
我现在不需要双持就是可以让“盾”的位置携带武器了来着,
你有认真看我说的话吗……


虽然我不知道你用的是啥显示详细信息的脚本,不过建议可以用备注标注第几个特性只在副手时有效,第几个特性只在主手时有效,显示详细信息的时候将两个都显示出来并在后面括号注明主手副手。然后计算角色属性的时候条件分歧一下装备部位在哪就用,不符合备注要求部位的特性不显示。这个我没试过就不清楚怎么弄了



反正被动状态能做到这样的效果我已经满意了(防御属性是状态加的)

点评

装备的第几条特性还能被忽略的吗……怎么实现?  发表于 2014-12-2 11:39
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

7
发表于 2014-12-2 12:35:30 | 只看该作者
三途亚梦 发表于 2014-12-1 21:45
TD触泥的回答太专业,有些跟不上……

经过思考,我觉得让光标移动到副手位置的时候,预先把这 ...

效率又没有大量循环又没有频繁绘制怎么会不靠谱……

至于动用哪些方法,自己对着脚本编辑器看呗。
我这边高三学习还是很辛苦的……

点评

唔,嗯理解的……  发表于 2014-12-2 13:16
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
8
发表于 2014-12-2 14:56:23 | 只看该作者
本帖最后由 企鹅达达 于 2014-12-2 15:23 编辑

http://www.rpgmakervxace.net/topic/7618-feature-manager/
或许你可以模仿一下(应该说可以直接用,反正你那些显示详细说明的脚本都是得改的 ← ←)?没研究过这个脚本,你要是有空可以看看。主要在class RPG::BaseItem里面定义一个条件,然后def all_features里面检查这个条件满足了没,满足了就加进去,不满足就next。

(貌似最麻烦的地方还是怎么检测武器装备是装备在哪个装备栏,整合feature_objects的时候先把武器去掉,然后主手、副手依次导入好了)
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
9
 楼主| 发表于 2014-12-6 12:34:11 | 只看该作者
结果还是选择在装备的时刻改变装备的方法来处理了。
那么,麻烦结贴啦~

@taroxd @VIPArcher  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 15:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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