作者bill (太极狂龙)
看板RPGMaker
标题Re: [问题] RMXP 想做出:穿甚麽装备就有什麽技能
时间Sun Dec 9 02:48:37 2007
※ 引述《CBH (吸逼A去)》之铭言
: 我角色装武器雷霆之剑 角色就多出雷电咒这个魔法 拿掉之後就失去这个技能
: 若装上装饰品火炎卷轴 就可以使用火炎咒 同样拿掉後失去此技能这样
让事件检查主角身上的装备是否带有技能
若有则让主角学会该技能,若无则让主角忘记它
条件分歧:[主角1]为[雷霆之剑]装备中
技能的增减:[主角1] + [雷电咒]
:以外的场合
技能的增减:[主角1] - [雷电咒]
:分歧终了
: 进阶一点希望能做成这样
: 若身上同时有雷霆之剑+火焰卷轴 又可以多一招 雷火九重天之类的XD
条件分歧:[主角1]为[雷霆之剑]装备中
技能的增减:[主角1] + [雷电咒]
条件分歧:[主角1]为[火炎卷轴]装备中
技能的增减:[主角1] + [火炎咒]
技能的增减:[主角1] + [雷火九重天]
:以外的场合
技能的增减:[主角1] - [火炎咒]
技能的增减:[主角1] - [雷火九重天]
:分歧终了
:以外的场合
技能的增减:[主角1] - [雷电咒]
技能的增减:[主角1] - [雷火九重天]
条件分歧:[主角1]为[火炎卷轴]装备中
技能的增减:[主角1] + [火炎咒]
:以外的场合
技能的增减:[主角1] - [火炎咒]
:分歧终了
:分歧终了
你必须为所有的(角色/装备)组合都写一个分歧
比如说游戏中主角有三名,带技能的装备有六种
就得写出3x6=18个分歧
若再考虑到成套装备的额外影响
这将会是一件非常劳力伤神的工作
现在假定你花了极大耐心把事件内容写完了
之後还得面临另一个问题
事件的开始条件要设成「并列处理」还是「被呼叫」?
如果设成「并列处理」,当玩者打开装备栏帮主角换上新装备後
立刻去查看技能表,会发现主角根本没有学会新技能!
因为在状态视窗下RMXP根本不会去执行公用事件!
真要使主角学会新技能,得跳回地图後再次进入状态视窗才行
根本就不可能也不应该强迫玩者这样做
如果设成「被呼叫」,那又该把呼叫这个公用事件的指令写在哪里?
公用事件?地图事件?事件的开始条件又该怎麽设?
我想到的解决方案,是在
脚本>>Game_Actor>>equip方法 的结尾加上五行
common_event = $data_common_events[公用事件编号]
@child_interpreter = Interpreter.new(0)
@child_interpreter.setup(common_event.list, 0)
@child_interpreter.update
@child_interpreter = nil
这段程式会让RMXP在每次变换装备结束後,自动去呼叫该指定编号的公用事件
算是勉强完成预定的目标
但若真要实作这个系统,我个人建议还是使用纯RGSS的写法较好
估计可以节省90%的时间及心力
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.96.187
※ 编辑: bill 来自: 122.124.96.187 (12/09 02:50)
1F:推 CBH:原来如此 我知道我哪里写错了! 多谢解惑! 12/09 11:44
2F:推 CBH:也多谢叮咛! 因为刚好我预设的角色不多 又这种特性的道具也不꘠ 12/09 11:52
3F:→ CBH:多 所以还是用这种直接的方法就好XD 12/09 11:53
4F:推 CBH:再请问一下 我找不到Game_Actor>>equip方法 关於装备的有: 12/09 12:14
5F:→ CBH:装备固定判定 变更装备 可以装备判定 找不到equip方法@@" 12/09 12:15