半神1.3版修改秘诀
半神吧
全部回复
仅看楼主
level 5
堕·珑 楼主
众所周知,半神1.2之前的版本可以把dgdata.zip解压到bindata目录,
然后可以很方便的进行修改。只是升级到1.2,1.3之后,这个方法不行了。
找不到dgdata.zip,游戏就无法进行。直接修改dgdata.zip之后也会报错。
看上去好像是不能修改了,实则不然,我经过实验发现了其秘密所在。
现把经验分享给大家:
1,我们用winrar打开dgdata.zip文件,查看信息,会发现压缩比是100%
即是说【压缩方式是“存储”,不经任何压缩,仅仅是打包】。
所以我们修改完重新进行压缩的时候仍然要选择“存储”方式。
2,也是最重要的一点,【修改任何一个文件不要改变其字节的大小。】
我原先以为是加了md5验证,后来发现不是那么回事,仅仅是加了字节验证。
也就是说,只要文件大小改变了游戏就报错。只要保持字节不变,可随便改。
这样我们修改的时候就必须注意,如果增加了几个字节就要相应的删除几个字节。
(可以选择删除注释部分,不影响游戏数据,#号后面的所有字符均为注释)
同样的,如果我们删减了字节,就要相应的增加同等的字节。
(同样可以加在注释里,#号后面的所有字符均为注释)
举个例子:
修改黑炬魔神“霜冻新星”的冻结时间,1级原来是普通单位冻结6秒,半神1秒
我们把他改成统一冻结10秒。
解压出dgdata.zip\units\heroes\HEMA01\HEMA01_Abilities.lua文件
先记下它的字节数是113,635
用文本编辑器打开,找到# Frost Nova I ,
这是霜冻新星1级代码的开始注释。
往下找到
Buffs = {
BuffBlueprint {
Name = *HEMA01FrostNova01*,
DisplayName = *<LOC ABILITY_HEMA01_0047>Frost Nova*,
Description = *<LOC ABILITY_HEMA01_0048>Frozen.*,
BuffType = *FREEZESTRUCTURE*,
Debuff = true,
CanBeDispelled = true,
EntityCategory = *ALLUNITS - HERO - UNTARGETABLE*,
Stacks = *REPLACE*,
Duration = 6,(这是普通单位冻结时间,单位是秒)
TriggersStunImmune = true,
Affects = {
Freeze = {Add = 0},
},
Icon = */dgtorchbearer/NewTorchBearFrostNova01*,
},
BuffBlueprint {
Name = *HEMA01FrostNova01Hero*,
DisplayName = *<LOC ABILITY_HEMA01_0047>Frost Nova*,
Description = *<LOC ABILITY_HEMA01_0048>Frozen.*,
BuffType = *FREEZEUNIT*,
Debuff = true,
CanBeDispelled = true,
EntityCategory = *HERO*,
Stacks = *REPLACE*,
Duration = 1,(这是半神冻结时间)
把我加注释的位置前面的6和1改成你想要的任意时间,比如10
(太变态就不好玩了,你要一下冻结3分钟,那别人别玩了)
改完之后保存一下,如果是带字节统计的编辑器你会直接看到字节数变成了113,637
因为你6,1都变成了两位数,增加了2个字节。
所以你要删除本文件里任意位置的2个#后面的符号(前面说了#是注释符号)
比如这里:
#######################################################################
# Frost Nova I
#######################################################################
后面的大串#号都是可以删减或增加凑字节数的。
然后保存之后,压缩回dgdata.zip
注意!!!压缩的时候选存储模式!
大功告成,进游戏体验一下就可以了。
修改前一定要备份一个dgdata.zip文件啊,否则改坏了你就麻烦了。
我讲完了,希望能帮到大家。
最后,求加精!
2014年10月09日 01点10分 1
level 11
楼主是个大好人......
2014年10月10日 13点10分 2
level 11
吧主求加精[吐舌]@半神
2014年10月12日 09点10分 3
level 12
技术贴顶
2014年10月15日 03点10分 4
level 7
赞\(≥▽≤)/
2014年10月16日 04点10分 5
level 1
楼主试验好了没?和之前一样需要解压后修改,还是直接修改dgdata.zip里的文件?我按照你说的方法试了一下,文件大小没变。但是crc32不一样……还是不能玩[黑线]
2014年10月25日 18点10分 6
level 1
这个是我修改后的,字节大小都一样,但是crc32值不一样……
这个是原来的
修改后运行还是出错……
2014年10月25日 18点10分 7
level 1
@堕·珑 @ 堕·珑 看见了麻烦回一声
2014年10月25日 18点10分 8
level 5
堕·珑 楼主
我试过了,这个文件里有特殊字符,直接用普通文本编辑器会丢失这个特殊字符,
所以要么找到可编辑这种字符的对应语言的软件,要么用2进制方式编辑。
2014年10月26日 05点10分 10
level 1
我是想修改初始金币的,但是修改完总出错……
2014年10月26日 15点10分 11
level 1
StartingGold = {
Normal = 100000,
High = 750000,
Rich = 2500000,
}
初始金币想都修改为100倍……结果一直出错。你看下行不行。@堕·珑
2014年10月26日 15点10分 12
level 5
堕·珑 楼主
这个文件还真改不了,我试了,可能有别的验证。
我现在已经不怎么玩这个游戏了,也没时间继续研究了。
别改它了,其实你只要改一下个别道具的价格和属性就相当逆天了,别改钱了。
2014年10月27日 00点10分 13
level 1
好吧,……关键是你只改装备或技能属性的话,电脑选择这个英雄或物品也起作用……
2014年10月28日 09点10分 14
改钱电脑更凶残,改物品的话,你改原来比较鸡肋的,电脑一般不会用的,属性变了它也不会用。我就改了一个钻石吊坠,加移动,加攻速,回血回魔,无敌了!
2014年10月29日 04点10分
回复 堕·珑 :咦?我记得之前有人测试过,电脑也会选更改过的强力道具的。。。。记错了?
2014年10月29日 07点10分
那是改着了电脑常用的搭配道具了,有的道具AI万年也不会用的。
2014年10月29日 08点10分
回复 堕·珑 : 比如钻石吊坠?唔……能不能把你修改的道具文件发一下[开心]
2014年10月29日 15点10分
level 5
堕·珑 楼主
这是Achievement_Items.lua神眷物品我修改的文件里钻石吊坠的代码,你试下。
#################################################################################################
# Diamond Pendant
#################################################################################################
ItemBlueprint {
Name = *AchievementCooldown*,
DisplayName = *<LOC ITEM_Achievement_0008>Diamond Pendant*,
Tooltip = {
Bonuses = {
*<LOC ITEM_Glove_0003>+[GetAttackSpeedBonus]% Attack Speed*,
*<LOC ITEM_Artifact_0100>+[GetMovementBonus]% Movement Speed*,
*<LOC ITEM_Boot_0013>+[GetDodgeBonus]% Dodge*,
*<LOC ITEM_Helm_0001>+[GetManaBonus] Mana*,
*<LOC ITEM_Achievement_0009>[GetCooldownBonus]% to ability cooldowns*,
},
},
GetAttackSpeedBonus = function(self) return math.floor( Buffs[*Item_Artifact_130*].Affects.RateOfFire.Mult * 100 ) end,
GetMovementBonus = function(self) return math.floor( Buffs[*Item_Artifact_130*].Affects.MoveMult.Mult * 100 ) end,
GetDodgeBonus = function(self) return Buffs[*Item_Artifact_130*].Affects.Evasion.Add end,
GetManaBonus = function(self) return Buffs[*AchievementCooldown*].Affects.MaxEnergy.Add end,
GetCooldownBonus = function(self) return math.floor( Buffs[*AchievementCooldown*].Affects.Cooldown.Mult * 100 ) end,
Mesh = */meshes/items/chest/chest_mesh*,
Animation = */meshes/items/chest/Animations/chest_Idle_anim.gr2*,
MeshScale = 0.10,
Icon = */NewIcons/AchievementRewards/DiamondEncrustedPendant*,
InventoryType = *Achievement*,
Abilities = {
AbilityBlueprint {
Name = *AchievementCooldown*,
AbilityType = *Quiet*,
Icon = */NewIcons/AchievementRewards/DiamondEncrustedPendant*,
FromItem = *AchievementCooldown*,
Buffs = {
BuffBlueprint {
Name = *AchievementCooldown*,
BuffType = *ACHIEVEMENTCOOLDOWN*,
Debuff = false,
EntityCategory = *ALLUNITS*,
Stacks = *ALWAYS*,
Duration = -1,
Affects = {
RateOfFire = {Mult = .50},
MoveMult = {Mult = 0.50},
Evasion = {Add = 20},
Cooldown = {Mult = -0.50},
MaxEnergy = {Add = 55000, AdjustEnergy = true},
},
}
},
}
},
}
括号不要丢了,注意字节数
2014年10月30日 03点10分 15
变成了5个属性。你仔细看下,涉及到3个位置。 分别是Bonuses = {下的定义 接着是描述,少了第二部分就会出现你说的不显示。 最后Affects = { 下是实际数值。
2014年10月30日 03点10分
我发现有些符号被度熊改了,你别直接复制,会出错。你对照着改吧。 <LOC ITEM_Achievement_0009>[GetCooldownBonus]% to ability cooldowns 这条是减少技能冷却时间,是原来有而被注释掉的,我让它生效了。
2014年10月30日 03点10分
level 1
好的,晚上回去试一下
2014年10月30日 04点10分 16
level 1
我按照你的教程修改了法师的的(霜冻新星),也对应的删除了(#)保持文件大小一致。选保存模式压缩文件。但是等我越缩完后的(dgtata)文件。大小和原来的不一样了。 我试着什么都不修改。只是把(dgtata)文件解压。然后再压回去。文件大小还是变了。是不是我的方法不对呀。求楼主指教。
2014年11月10日 12点11分 17
我也是
2015年09月03日 13点09分
level 1
我弄好了。果然是压缩的方法不对。我把一级的(霜冻新星)对半神改成了6秒。果然有用。碉堡了。[大拇指]
楼主果然匠心独具。佩服佩服[乖]
2014年11月10日 12点11分 18
求教
2015年09月03日 13点09分
level 9
射精
2014年11月10日 15点11分 19
level 1
1:压缩包内修改HGSA01_Abilities.lua,3改9、500改100,字节数不变。退出后自动打包。压缩率99%,无效[不高兴]
2:全解压后改HGSA01_Abilities.lua,同上。再打包,我发誓用了存储选项,后缀名ZIP。打包后文件大小不同。[疑问]
请详细说明步骤,拜谢
2014年12月13日 05点12分 20
level 5
堕·珑 楼主
修改物品属性三个位置
ItemBlueprint {
Name = 'Item_Chest_030',
DisplayName = '<LOC ITEM_Chest_0004>Nimoth Chest Armor',
GetHealthBonus = function(self) return Buffs['Item_Chest_030'].Affects.MaxHealth.Add end, 【一】
GetArmorBonus = function(self) return Buffs['Item_Chest_030'].Affects.Armor.Add end, 【一】
Tooltip = {
Bonuses = {
'<LOC ITEM_Chest_0003>+[GetHealthBonus] Health', 【二】
'<LOC ITEM_Chest_0001>+[GetArmorBonus] Armor', 【二】
……
Affects = {
MaxHealth = {Add = 500, AdjustEnergy = false}, 【三】
Armor = {Add = 750},
=============================================
SPTournamentNew.lua锦标赛新建游戏时默认半神选中刃魔,动画却是炎魔
local function SelectHero(parent, id)
……
id = 'hdemon'改这里就好了 改成nil 表示空,不选任何半神
============================================
半神选人界面只能显示8个半神,想要直接显示10个改这里
遭遇战:ui\lobby\HeroSelect.lua
锦标赛:ui\menus\SPTournamentNew\SPTournamentNew.lua
local function BuildHeroList(parent, heroType)
local heroes = HeroUtil.GetHeroList()
local btnTable = {}
……
btnList.Width:Set(160)
btnList.Height:Set(function() return parent.Height() end)
Height:Set后面这一串直接改成一个600-700的数字即可,
(数字大小影响图标的上下位置630正好平齐)
# Accent frame选取界面后面的方框,随意发挥吧
ui.descGroupSmall.frameAccent = Bitmap(ui.descGroupSmall, UIUtil.UIFile('/bg/frame_rect.dds'))
ui.descGroupSmall.frameAccent.Width:Set(300) 宽
ui.descGroupSmall.frameAccent.Height:Set(400)高
LayoutHelpers.AtCenterIn(ui.descGroupSmall.frameAccent, frame, 0, 0)距离中心的坐标
2014年12月27日 18点12分 21
请问楼主修改道具价格的文件是哪个LUA?
2015年08月09日 16点08分
1 2 尾页