《半神》的物品修改与技能修改DIY初级教程
2025-01-26 15:19:05作者:饭克斯
在开始修改游戏之前,请按照以下步骤操作:将游戏根目录下的dgdata.zip文件中的所有内容解压到根目录的bindata文件夹中,并覆盖原有文件。之后将dgdata.zip重命名为dgdata1.zip。不要删除dgdata.zip,因为它对于保证局域网或互联网联机时的数据同步至关重要。在自定义游戏时,按照此方法操作。解压完成后将dgdata.zip重命名为dgdata1.zip。若要联网对战,只需将dgdata1.zip改回原名即可,其它操作无需变动,整个过程十分简便。
以下为关于物品数据的具体说明:
物品数据位于游戏根目录\bindata\lua\common\Items\目录下,包含以下文件: Achievement_Items.lua:成就项目 Artifact_Items.lua:工艺物品 Boot_Items.lua:鞋子装备 Chest_Items.lua:装甲 Consumable_Items.lua:消耗品(如药水等) Generals_Items.lua:Idol类 Glove_Items.lua:手套类 Helm_Items.lua:头盔类 Ring_Items.lua:戒指类
以Boot_Items.lua为例,以下为修改示例:
- 使用记事本打开Boot_Items.lua文件,每个物品前都有三行注释,便于识别。格式如下: ```
物品名称
2. 该文件中包含7件鞋类物品,以下以第一件为例,展示代码与注释:
Footmans Sabatons
ItemBlueprint { 物品属性 Name = Item_Boot_010, 唯一代号,不能改 DisplayName = Footman\s Sabatons, @显示物品的名字,其中的<>内的标签与文件strings_db(即汉化补丁的核心字符文件)里面的标签一一对应;而在这个标签后字符的作用是当前面标签加载不正确时,就显示后面的默认英文,也就是为什么一些朋友把语言包全删了,还是会显示英文的缘故,注,lua文件里面的字符在游戏中不支持双字节加载,所以别在LUA文件里面写汉字 GetHealthBonus = function(self) return Buffs[Item_Boot_010].Affects.MaxHealth.Add end, GetManaBonus = function(self) return Buffs[Item_Boot_010].Affects.MaxEnergy.Add end, @以上两行为新建两个变量,分别获取该物品的两项属性(加血和加蓝)的值,以便在物品说明中调用 Tooltip = { Bonuses = { +[GetHealthBonus] Health, +[GetManaBonus] Mana, }, }, @以上是物品标签,即在游戏中鼠标移上面时显示的字符,其中<>标签是对应汉化文本里面的字符,而[]标签内就是上面设定的两个变量,在游戏中就会显示“+ XX 生命,+XX 魔法” Mesh = /meshes/items/chest/chest_mesh, @模型结构的调用路径 Animation = /meshes/items/chest/Animations/chest_Idle_anim.gr2, @描绘的GR文件调用路径 MeshScale = 0.10, @物品在游戏中的尺寸 Icon = NewIcons/Boots/Boot1, @在商店中显示的物品图标 Abilities = { @物品属性的母标签 AbilityBlueprint { @物品属性的二级标签,可以有多重性,暂时不理 Name = Item_Boot_010, AbilityType = Quiet, FromItem = Item_Boot_010, Icon = NewIcons/Boots/Boot1, Buffs = { @好了,这里是buffs的变量内容了,也就是物品的主要属性,在下面可以随意更改 BuffBlueprint { Name = Item_Boot_010, BuffType = BOOTEVADE, Debuff = false, EntityCategory = ALLUNITS, Stacks = ALWAYS, Duration = 1, @效果持继时间,由于是物品属性,所以设为1,代表效果无限 Affects = { @以下就是更改的核心内容,属性值 MaxHealth = {Add = 50}, MaxEnergy = {Add = 60}, }, }, }, }, }, }, ``` 3. 对于只修改装备效果属性的,可参考上述示例的最后两行,两个值可随意更改。例如将第一个属性改为MaxHealth = {Add = 5000},那么游戏中购买该鞋将增加5000生命值。同样的其他物品的LUA文件修改方法相同。
若需自定义特效,需建立子函数,具体操作