Welcome Guest ( Log In | Register )

欢迎访问本站。游客仅能浏览首页新闻、版块主题、维基条目与资源信息,需登录后方可获得内容发布、话题讨论、维基编辑与资源下载等权限。若无账号请先完成注册流程。
 
Reply to this topicStart new topic
> 使用weidu批量添加/删除/修改效果的办法
四是而非
2017-01-04, 11:14
Post #1


主物质者
Group Icon
 8
   2

Group: Primer
Posts: 23
Joined: 2012-04-17
Member No.: 48323


weidu提供了非常强大的法术/物品等数据文件的批处理功能, 相比用DLTCEP挨个编辑而言可以省去大量时间和繁琐的手动操作. 分享我做mod的经验.
全部操作借助Function, 有些是weidu已经内置的, 有些是我自己写的.

一. 添加效果

不论对于SPL, ITM还是CRE文件, weidu已经内置了完善的Function, 可以直接调用.

1. 为法术添加效果(扩展头部里)
Function: ADD_SPELL_EFFECT
变量解释, 以中文DLTCEP为准
» Click to show Spoiler - click again to hide... «

用法: 当使用COPY, COPY_EXISTING等命令打开一个文件后, 用LAUNCH_PATCH_FUNCTION, 或者缩写LPF命令, 设置参数.
用法示例: 为魔法飞弹SPWI112.spl添加一个20%几率使自身高等隐形6秒的效果
» Click to show Spoiler - click again to hide... «

2. 为物品技能添加效果(扩展头部里)
Function: ADD_ITEM_EFFECT

用法和变量与法术基本一样, 只是多了一个变量可以设定
» Click to show Spoiler - click again to hide... «


3. 为物品添加装备时的效果
Function: ADD_ITEM_EQEFFECT
4. 为法术添加开始施法时产生的效果(区别于施法完成产生的效果)
Function: ADD_SPELL_CFEFFECT
5. 为生物添加效果
Function: ADD_CRE_EFFECT
这三项用法都与前面类似, 为生物添加效果还有一些额外的变量可以设置, 但很少会用到, 不做说明. 有需要用到的可以参看weidu说明文档.

This post has been edited by 四是而非: 2017-01-04, 15:08
TOP
四是而非
2017-01-04, 11:47
Post #2


主物质者
Group Icon
 8
   2

Group: Primer
Posts: 23
Joined: 2012-04-17
Member No.: 48323


二. 删除效果
删除和更改效果的Function在weidu中也有集成, 但可设定的变量只有效果代码opcode, 在mod制作中觉得不够完善和便利, 于是自己写了写Function来用.

使用方法:
1. 新建一个空的文本文档, 将后缀改为tpa, 名字随意, 比如Functions
2. 将下面放出的weidu代码复制到新建的tpa
3. 在mod的tp2文件里用INCLUDE命令引用, 推荐放进顶部的ALWAYS里, 否则需要在每个组件里引用一次
比如
» Click to show Spoiler - click again to hide... «

1. 删除法术和物品扩展头部里的效果

Funtion: C4_REMOVE_HEADER_EFFECT
» Click to show Spoiler - click again to hide... «
变量解释:
» Click to show Spoiler - click again to hide... «
当指定的变量与物品/法术文件中的效果与声明的变量全部匹配时才会删除该条效果, 未声明变量则忽略
删除部分写的比较早, 有不完善之处. 如果同时满足条件的条目很多需要多引用两次才能全部删除干净.

2. 删除物品装备生效的效果, 以及法术开始施法时的效果.

Funtion: C4_REMOVE_GLOBAL_EFFECT
» Click to show Spoiler - click again to hide... «
变量同上

3. 去掉生物文件的效果
由于生物文件的特殊性, 操作方式从直接删除改为将效果修改成一个无用的效果
Function: C4_REMOVE_CRE_EFFECT
» Click to show Spoiler - click again to hide... «
变量解释:
» Click to show Spoiler - click again to hide... «

This post has been edited by 四是而非: 2017-01-04, 15:12
TOP
四是而非
2017-01-04, 12:57
Post #3


主物质者
Group Icon
 8
   2

Group: Primer
Posts: 23
Joined: 2012-04-17
Member No.: 48323


三. 修改效果

与删除相似, weidu内置的function只提供了对效果代码opcode的匹配, 我写了另外几个function可以有更好的针对性.


1. 修改法术和物品扩展头部里的效果
Function: C4_ALTER_HEADER_EFFECT
» Click to show Spoiler - click again to hide... «

变量解释:
分为两部分, 不带前缀new_的为用以匹配的变量, 带有前缀new_的为匹配后进行修改的新变量
» Click to show Spoiler - click again to hide... «
» Click to show Spoiler - click again to hide... «


2. 删除物品装备生效的效果, 以及法术开始施法时的效果.
Funtion: C4_ALTER_GLOBAL_EFFECT
» Click to show Spoiler - click again to hide... «

变量同前


3. 修改生物文件的效果
Function: C4_ALTER_CRE_EFFECT
» Click to show Spoiler - click again to hide... «

变量大部分同前, 但只能对opcode parameter1 parameter2 probability1 probability2 和 resource这几个变量进行匹配和修改.

This post has been edited by 四是而非: 2017-01-04, 15:18
TOP
四是而非
2017-01-04, 14:28
Post #4


主物质者
Group Icon
 8
   2

Group: Primer
Posts: 23
Joined: 2012-04-17
Member No.: 48323


四. 按等级批量创建法术文件扩展头部, 并修改效果属性

制作按等级有成长的法术大概是mod制作中最麻烦的事情, DLTCEP提供的批量处理功能不够完善, 可设置的项目有限. 实在太懒之下逼出了以下两个function.

1. 创建头部. 首先需要一个效果和头部属性全部设置好的SPL文件. 需求等级设为1.
Function: C4_CREATE_HEADERS
» Click to show Spoiler - click again to hide... «

变量解释:
» Click to show Spoiler - click again to hide... «


2. 头部创建好, 下面开始将每个头部的效果与等级匹配

Function: C4_ALTER_HEADER_EFFECT_LVL_PROGRESS
» Click to show Spoiler - click again to hide... «

变量解释: 分为3部分
a. 设定和匹配
» Click to show Spoiler - click again to hide... «
b. 打算对已有头部1有特殊修改的某项.
» Click to show Spoiler - click again to hide... «
c. 成长参数设定
» Click to show Spoiler - click again to hide... «



用法示例:
给5级奥术破解术SPWI513增加一个造成强酸伤害的效果, 伤害为每3级+1. 30级后不再成长.
» Click to show Spoiler - click again to hide... «

This post has been edited by 四是而非: 2017-01-04, 15:12
TOP
四是而非
2017-01-04, 14:42
Post #5


主物质者
Group Icon
 8
   2

Group: Primer
Posts: 23
Joined: 2012-04-17
Member No.: 48323


附上包含了二三四中所提到的function的tpa文件

This post has been edited by 四是而非: 2017-01-04, 14:44

Attached File(s)
Attached File  GlobalFunction.zip ( 3.63k ) Number of downloads: 0
TOP
四是而非
2017-01-04, 15:04
Post #6


主物质者
Group Icon
 8
   2

Group: Primer
Posts: 23
Joined: 2012-04-17
Member No.: 48323


五. 效果复制

weidu内置的还有一个非常强大的function: CLONE_EFFECT, 效果是从物品/法术/生物文件中找到需要的某个效果, 复制下来, 对某些项单独进行修改, 保留其他项的数值不做修改.

例如我所做的c4AI, 诗人自动吟唱功能时就用到, 搜索所有会显示战歌小图标的法术, 克隆下来并改成一个供脚本检测的Stats效果.

Function: CLONE_EFFECT
变量解释: 分3部分
1. 全局设定
» Click to show Spoiler - click again to hide... «
2. 参数匹配
» Click to show Spoiler - click again to hide... «
3. 新参数设置, 如未设置则保留原有状态
» Click to show Spoiler - click again to hide... «

This post has been edited by 四是而非: 2017-01-04, 15:04
TOP
Fast ReplyReply to this topicStart new topic
 


Time is now: 2017-01-21, 00:07