查看: 15662|回复: 52
一个自己制作的RA2 rules.ini修改器
[复制链接]
colt
colt
当前离线
积分23
电梯直达
1#
发表于 2022-3-5 08:42:13
|
只看该作者
|倒序浏览
|阅读模式
本帖最后由 colt 于 2022-3-11 09:32 编辑
2022.3.11更新,v1.2.2
这个周末未必会更新,嗯,虽然我知道这种工具意义不大,但还是希望大家可以帮我测试一下,或者给一点儿修改建议。
新功能:
可以添加删除单位及其属性了。其中属性可以从下拉列表中选择所有此种单位可以选择的属性。单位根据名称和tag的搜索功能。建筑可以按照固定的读取顺序回写。
主要缺点:
挺丑的。bug估计还是有很多的。没有来得及上游戏测试。无法添加显示名称。还是英语为主的界面,没来得及添加必要的解释,新手不友好。还不能实现和artmd.ini联动,以及许多用逗号分开的属性值不能分开修改。
注意事项:
压缩包里的attribute_apply_field不可或缺,请和可执行文件放在一起。接1,这个文件保存了所有出现在原始版本rulesmd.ini中不同单位出现过的属性,比如DamageSmokeOffset只出现在vehicletypes和buildingtypes. 这个文件决定了属性选择列表里会出现的选项。接2,不同的属性其实出现的频率相差很大,特意上传一份统计列表,统计某个属性在某类型单位里出现的总次数,以供参考。超级武器目前还不能新加。
--------------------------------------分割线--------------------------------------
2022.3.8 更新,v1.2.1
新功能:
更完善一些的分类功能,除了在GitHub Wiki上提到的一些tags之外,其他的已经基本实现了正确分类;rulesmd.ini升级到了Mamamia提供的版本,这一个积分挺值;在他的基础之上我把Kirov的弹头变成了KTSTLEXPWH,要不然总是和Animations下面的重名。搜索功能,可在第二级页面实现按tag名和游戏内名称(暂时只支持英文)搜索。可在属性窗口(AttributeModWindow)下双击属性值,如果该条目存在则可直接进行相关编辑。比如打开犀牛坦克的属性后,双击primary的属性120mm,可直接编辑[120mm]武器;在武器窗口里面双击弹头的[AP]可以编辑弹头相关属性。
GitHub 地址:coltlv1994/RulesChanged: A Red Alert 2 rule file modifier (github.com)
可执行文件:
注:需要.NET DESKTOP RUNTIME, 下载地址:https://dotnet.microsoft.com/en-us/download/dotnet/6.0
自带Runtime的版本的压缩包过大无法上传,可移步GitHub. Release Version 1.2.1 · coltlv1994/RulesChanged (github.com)
--------------------------------------分割线--------------------------------------
2022.3.7 更新,v1.1.5,GitHub:coltlv1994/RulesChanged: A Red Alert 2 rule file modifier (github.com)
这次看起来应该比之前的版本好一些了。大部分的Projectile和Weapon都已经被正确分类了,但还剩了一小部分没来得及精确分类:
1. 有一部分tag,比如[BlimpBombPE],它是一个弹道类型,却不属于任何的弹头,因此无法归类为弹道类型;
2. 另有一部分tag,比如[GRIZAPE],它是一个弹头类型,灰熊坦克的精英主武器使用它作为弹头,但它却奇怪地没有出现在[Warheads]的下面,因此没有被分类到弹头类型。
关于这两点的解决方案的思考:
1. 第一部分比较简单,可以直接写死在程序逻辑里面,强制将其分类为弹道类型;
2. 这一部分相对复杂,需要在所有的武器分类完成之后再过一遍其中的弹头;但由于弹头本身有列表来登记,需要额外考虑这部分弹头需不需要写回列表。
欢迎有想法的朋友批评指正。
--------------------------------------分割线--------------------------------------
大家好,萌新报到。
我是一个非常非常菜的modder,大概就停留在自己修改rules.ini的水平,解锁点儿奇怪的建筑,然后虐虐电脑什么的。但是在娱乐的过程中我发现修改rules.ini实在是很复杂,我就有了一个做自己的修改器的想法。
源代码发布在GitHub上,欢迎大家去查看,留言,提出建议或者测试它的功能。coltlv1994/RulesChanged: A Red Alert 2 rule file modifier (github.com)
目前版本可以打开rules.ini/rulesmd.ini,并且保存成为可以正常进入游戏的文件。在打开之后可以修改对应的栏目。
当然目前的功能还非常原始,我大概下一步的方向是:
1. 加入查找功能,迅速找到对应的条目;
2. Projectile和Weapon正确归类,目前他们还属于uncategorized;
3. 汉化做得好一点。
4. 加入一些外挂的说明信息,这样修改起来也容易。
程序是用.NET CORE,WPF和C#写的,我在这方面也是个萌新,所以欢迎各路大神对代码做review,有什么功能上的建议当然可以提,非常欢迎。
GitHub上的代码可以用VS2022打开sln文件,然后编译运行;或者直接用Examples/下面的两个zip,文件名比较短的不带.NET Desktop Runtime,需要去MS那里下载:https://dotnet.microsoft.com/en-us/download/dotnet/6.0
如果觉得麻烦就用Examples/下面那个文件名长的标注_runtimeincluded的压缩包,里面的RulesChangedWPFNET.exe就是可执行文件。
欢迎留言或者联系我的邮件:colt.github@outlook.com
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
分享到:
QQ好友和群
QQ空间
收藏0
分享
淘帖0
回复
使用道具
举报
沉默卡
变色卡
显身卡
双杀步枪
双杀步枪
当前离线
积分4500
2#
发表于 2022-3-5 12:10:58
来自手机
|
只看该作者
十几年前就有冷晓辉编辑器这类工具,但是实际用了之后会发现工具没有记事本好使,因为ini文件本质上就是个配置表,需要做的也就是复制粘贴改数值而已。
回复
使用道具
举报
显身卡
colt
colt
当前离线
积分23
3#
楼主|
发表于 2022-3-5 18:58:19
|
只看该作者
双杀步枪 发表于 2022-3-5 12:10
十几年前就有冷晓辉编辑器这类工具,但是实际用了之后会发现工具没有记事本好使,因为ini文件本质上就是个 ...
yeah,我也是受到这种工具的启发才决定自己编写一个的。目前的功能还比较原始,不过我期待以后可以做的更简单一些,比如添加Prerequisite的时候可以直接从已有的里面选,然后给各个属性加上中文说明,省得大家看不明白。
回复
使用道具
举报
显身卡
ganyuansi
ganyuansi
当前离线
积分142
4#
发表于 2022-3-6 13:16:41
|
只看该作者
对菜鸟来说,支持你,加油
回复
使用道具
举报
显身卡
colt
colt
当前离线
积分23
5#
楼主|
发表于 2022-3-6 20:06:54
|
只看该作者
ganyuansi 发表于 2022-3-6 13:16
对菜鸟来说,支持你,加油
真到开始做才意识到这里面的麻烦挺多的。我试图联系过当年Westwood的开发组成员,试图询问他们当时解读rulesmd.ini的思路,但很遗憾,他们表示对此无能为力,无法提供信息。
回复
使用道具
举报
显身卡
双杀步枪
双杀步枪
当前离线
积分4500
6#
发表于 2022-3-6 21:03:57
来自手机
|
只看该作者
?就读个表还要什么解读思路
回复
使用道具
举报
显身卡
2244106363
2244106363
当前离线
积分1640
7#
发表于 2022-3-6 21:09:04
|
只看该作者
我的评价是:
不如CtrlcCtrlv
回复
使用道具
举报
显身卡
colt
colt
当前离线
积分23
8#
楼主|
发表于 2022-3-6 22:09:29
|
只看该作者
双杀步枪 发表于 2022-3-6 21:03
?就读个表还要什么解读思路
比如说基洛夫的精英主武器使用的弹头是KTSTLEXP,但是这个弹头出现在Animations列表里,并不出现在Warheads列表;可是看它的内容又能看出这是一个弹头。
回复
使用道具
举报
显身卡
colt
colt
当前离线
积分23
9#
楼主|
发表于 2022-3-6 22:10:55
|
只看该作者
2244106363 发表于 2022-3-6 21:09
我的评价是:
不如CtrlcCtrlv
可能吧?
就算真的是白费工夫,我就当练练C#和WPF了。
回复
使用道具
举报
显身卡
双杀步枪
双杀步枪
当前离线
积分4500
10#
发表于 2022-3-6 23:15:04
来自手机
|
只看该作者
colt 发表于 2022-3-6 22:09
比如说基洛夫的精英主武器使用的弹头是KTSTLEXP,但是这个弹头出现在Animations列表里,并不出现在Warhea ...
那是wwsb写错了,不是什么思路
回复
使用道具
举报
显身卡