求仙剑五里面主角的仙剑5前传服装modD整合包及使用...

仙五前MOD增强工具
目前工具的最新版为1.1。打开mod.xml可查看version,如果小于此值可以选择更新!
此工具用于对主程序进行Patch,从而开放更加强大的MOD功能!除说明文件外,压缩包内有3个文件,下面分别进行介绍。
Pal5Q-MOD.exe
请把此文件放在游戏主目录下,每次打开游戏时,只需打开此文件即可。发布MOD时,通知玩家打开此程序进入游戏,而非Pal5Q.exe。
此程序会解析mod.xml文件,将主程序复制一份(~Pal5Q~.exe)作为临时主程序,根据偏移修改内容,然后运行之。
程序运行需要.NET 4.0,win7及以上windows系统都有包含。如果无法运行,需要下载。
请将此文件放置于Config\Data下。这是MOD的核心文件,MOD制作者通过对此文件内容进行修改来控制游戏数据。下面对文件中的一些标签作简要说明。
描述="主程序MD5验证"&6A62E0CB&
这是1.04版本的主程序MD5值。Pal5Q-MOD.exe运行时,验证用户Pal5Q.exe的MD5值是否与此相同,如不同,则拒绝执行后续步骤。
pause="0" 描述="日志文件存放地址(相对主程序)"& &
日志文件存放地址。例如,按如下输入:
pause="0" 描述="日志文件存放地址(相对主程序)"&Config\Data\log.txt&
则后续解析步骤的错误事件都将记录于Config\Data文件夹内。如果留空,错误事件将直接输出到控制台。
此元素有属性pause,值设为1时,MOD工具运行结束时不会立即退出,可供MOD制作者查看可能输出在控制台的错误信息。发布时,建议将此值设置为0。
有很多row作为子元素。每一行都是一条记录,其中属性有效和值可供修改。当有效设置为0时,Pal5Q-MOD.exe会忽略此条记录,即保持原游戏默认值;否则将修改为指定值,即将描述中的x换成值。例如:
id="118" 有效="0" 偏移="2146296" 类型="sbyte" 值="1" 描述="贴有编号469(聚气)的角色扣血时,气增加x。"/&
若将有效设置为1,而值设置为2,则聚气的效果变成:
贴有编号469(聚气)的角色扣血时,气增加2。
请注意:值的取值集合受类型限定! 如下表:
-128到127之间的整数
0到255之间的整数
-到之间的整数
0到之间的整数
不太大即可,可保证6位有效数字
保证15位有效数字
参见map标签
其中n表示map的id
byte的数组
base64,不需要管
如果值不在需求范围内,条目会被忽略,写入错误信息到日志。
也有的记录条目不允许修改值,例如:
id="200" 有效="1" 偏移="1866349" 类型="byte" 值="0xC4" 描述="是否修复状态消失BUG。“有效”设置为0则不修复,设置为1则修复。请勿修改其他选项!"/&
对于这样的条目,描述或者附近的注释都会有说明,注意即可。
部分条目效果介绍
id="0" 有效="0" 偏移="2986396" 类型="bytes" 值="PZinTAKQdQXoB/v//4vN" 描述="打开控制台" /&
此项设置有效为1可打开游戏内控制台,具体可见。
id="1" 有效="0" 偏移="2873606" 类型="bytes" 值="(略)"/&
此项设置有效为1可打开MOD扩展功能,详情在下一个文件中介绍。
id="200" 有效="1" 偏移="1866349" 类型="byte" 值="0xC4" 描述="是否修复状态消失BUG。“有效”设置为0则不修复,设置为1则修复。请勿修改其他选项!"/&
此项设置有效为1可修复仙五前的状态消失BUG,具体见。
id="201" 有效="1" 偏移="1861656" 类型="byte" 值="1" 描述="施加已有状态时,回合取代还是回合叠加。“有效”设置为0则取代,设置为1则叠加。请勿修改其他选项!"/&
此项设置有效为1可以将回合取代修改为回合叠加。举例:
夏侯瑾轩使用灵砚绘虎为我方全体加10回合强袭,接着又因为仙福的效果而获得了3回合强袭,原游戏回合取代的结果是强袭回合数变为3,若此项有效则强袭回合数变为13。
id="202" 有效="1" 偏移="0x20BEF8" 类型="bytes" 值="gH0QAHVCkA==" 描述="即死的扣血是否可因玄甲而减半。“有效”设置为1则不能,从而修复BUG。请勿修改其他选项!"/&
若满足玄甲触发条件的角色被施加了即死状态,原游戏将扣除一半精,结果人物精不为0但失去行动能力,从而出现BUG。将此条设置有效可以避免此BUG。
有的条目不止一处偏移需要修改,但有部分属性需维持一致,故使用参照值。总而言之,此项可直接忽略。
当data条目的类型为map:n时,其值只能取于id为n的map诸条目中的key值。例如:
id="100" 有效="0" 偏移="2146011" 类型="map:1" 值="精" 描述="对于贴有编号457(玄甲)的角色,当x小于……"/&
id="101" 有效="0" 偏移="2146036" 类型="map:1" 值="精上限" 描述="……x的1/4时,受伤减半。"/&
此处两条的类型为map:1,于是查看id=1的map:
id="1" 描述="角色的成员函数"&
type="int" key="精" value="0xAC"/&
type="int" key="精上限" value="0xB0"/&
type="int" key="神" value="0xB4"/&
type="int" key="神上限" value="0xB8"/&
从而值只能填以下四者之一:精、精上限、神、神上限。MOD工具在解析时,向主程序写入的值从key转换为对应value。
实际在处理map:2或map:3时,请选择map表中有的、最接近需要的一项浮点数填写。
此文件原存于游戏目录script\mainline下,用于自定义lua函数以供使用。如果前述mod.xml中开启了MOD扩展功能并要使用Pal5Q-MOD来载入游戏,请先将此文件放置到script\mainline下;否则请不要放置到script\mainline下,否则无论哪种情况都会引起BUG。
开启扩展功能后,以下函数被新增,可供lua使用:
battle.AtkToNpc(id)
battle.GetRndNpc()
player.GetHP(id, flag)
npc.GetHP(id, flag)
player.GetMaxHP(id)
npc.GetMaxHP(id)
player.GetMP(id, flag)
player.GetMaxMP(id)
player.GetQuickness(id)
player.GetLuckyness(id)
npc.GetAtk(id)
player.GetDef(id)
npc.GetDef(id)
npc.GetMagicAtk(id)
player.GetMagicDef(id)
npc.GetMagicDef(id)
player.GetHit(id)
npc.GetHit(id)
player.GetMiss(id)
npc.GetMiss(id)
player.GetBlock(id)
player.GetCrtical(id)
npc.GetCrtical(id)
player.GetCombo(id)
player.GetMagicBonus(id, attr)
player.GetMagicResistance(id, attr)
npc.GetMagicResistance(id, attr)
player.GetStateResistance(id, attr)
npc.GetStateResistance(id, attr)
player.CheckClothesFuZhou(id, fuzhouID)
player.CheckWeaponFuZhou(id, fuzhouID)
player.CheckFuZhou(id, fuzhouID)
player.GetDP(id)
player.GetStrength(id)
player.GetStamina(id)
player.GetSpeed(id)
player.GetMagic(id)
player.GetLuck(id)
player.GetXiuWei(id, attr)
player.GetWeapon(id)
player.GetClothes(id)
player.GetShoe(id)
player.GetAccouters(id)
如果觉得函数名字不合适,可以自行于macro.lua中修改,但请勿修改函数定义!
作者:风靡义磊
有任何问题或建议,!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4232次
排名:千里之外
原创:16篇
(1)(2)(13)

参考资料

 

随机推荐