本帖最后由 RyanBern 于 2016-4-22 14:38 编辑
楼主这个问题如果光借助RMXP数据库编辑器是无法达成的,不知道我的理解是否正确,你的问题应该是这样:
给定一个人物A,现在他的职业是C1,中途需要将他的职业改成C2,然后希望变更职业后有C2职业所对应的初始装备。但是问题是,在RMXP中,变更装备指令可用的装备是以数据库为准的,它不会考虑使用事件改变人物职业的情况,因此,当试着使用【装备变更】来更改角色A的装备时,它只会显示职业C1能够穿上的装备,而不会显示职业C2能穿上的装备。
为此我们需要使用脚本突破这个限制。
首先,熟悉一下这段脚本的用法
actor = $game_actors[1] # 获取 1 号角色 actor.equip(0, 武器ID) # 变更武器 actor.equip(1, 防具ID) # 变更盾 actor.equip(2, 防具ID) # 变更头部防具 actor.equip(3, 防具ID) # 变更身体防具 actor.equip(4, 防具ID) # 变更装饰品
actor = $game_actors[1] # 获取 1 号角色
actor.equip(0, 武器ID) # 变更武器
actor.equip(1, 防具ID) # 变更盾
actor.equip(2, 防具ID) # 变更头部防具
actor.equip(3, 防具ID) # 变更身体防具
actor.equip(4, 防具ID) # 变更装饰品
上面这些语句用于强制更改角色的装备,书写时请务必对照数据库ID,否则会出现把盾穿在头上的情况。如果想要单纯卸下某装备,则对应的ID设置为 0 即可。
然后,我们使用事件进行设置。
先使用事件命令变更职业,然后,使用上述脚本进行角色装备的变更。注意:在变更角色装备之前,背包里至少要有该装备,否则这个脚本是没有效果的。例如,新职业的初始武器是“铜斧”,但是背包里没有这个装备,这样的话直接使用脚本是无效的,必须使用事件指令增加一件目标装备,然后再调用脚本即可。
总的说来,事件要写成这样:
变更职业:角色A, 职业C2
增减武器:XXX
增减防具:XXX
增减防具:XXX
脚本:actor = $game_actors[角色ID]
actor.equip(0, 武器ID)
actor.equip(1, 防具ID)
# 其他装备
|