炉石兄弟吧 关注:42,972贴子:585,695

如何添加卡牌(暗月马戏团)

只看楼主收藏回复

首先说明:我的兄弟是贴吧的折腾版,不同版本xd添加卡牌的过程可能略有不同,仅学习参考
1.首先在\Routines\DefaultRoutine\Silverfish\data下找到CardDefs.xml文件
在文件中添加卡牌数据 笼斗管理员的数据
第一步懂的跳过,直接看第二步!!! 不懂的看以下
最新的数据到github上的HearthSim/hsdata下载
排错:直接替换xd里的CardDefs.xml 刚启动xd不会报错,对战开始会报一堆错误,不会出牌,直接回合结束,我也不清楚为什么,而且就算使用全基础套牌也会报错,所以不要直接替换,除非你比较懂
打开从github上下载的CardDefs.xml,按ctrl+f 搜索 你要的卡牌名字 比如 笼斗管理员 (这张没有涉及新机制)
找到卡牌数据,复制到Routines\DefaultRoutine\Silverfish\data目录下的CardDefs.xml文件里
<CardDefs>
卡牌数据...
卡牌数据...
卡牌数据...
</CardDefs>
不要添加到</CardDefs>之外
注意事项:新机制的卡牌(腐蚀)需要修改xd的许多文件,比如Minion.cs,还有其他等等,我还不会
完整的卡牌数据格式是这样的不要漏复制
<Entity 巴拉巴拉...开始>
<Tag enumID=巴拉巴拉 ....>
...
...
</Entity>
2.修改\Routines\DefaultRoutine\Silverfish\ai目录下的有关card的三个文件
CardDb.cs CardDB_cardIDEnum.cs CardDB_cardName.cs
具体步骤:(以笼斗管理员为例)
CardDB_cardIDEnum.cs里添加卡牌id DMF_704 = 61226, (不要忘记逗号结尾)

CardDB_cardName.cs里添加卡牌英文名字(小写,中间无空格,逗号结尾) cagematchcustodian,

3.第三步,添加sim卡
在Routines\DefaultRoutine\Silverfish\cards目录下新建一个MDF暗月马戏团的文件夹
复制一张别的sim卡到该目录下,修改文件名字为 Sim_MDF_序号.cs

文件内class 也要改成和文件名一样(可以参考别的sim卡)
添加卡牌效果

结尾:添加了新卡,xd可能不太会用,需要设置惩罚值,或者combo来规范xd的使用(有兴趣搜相关贴)
添加新卡教程结束


IP属地:浙江1楼2020-11-30 17:42回复
    小小意见哈,加新卡最重要的是写清楚sim,提高准确度,惩罚值只是辅助修正


    IP属地:广东来自Android客户端2楼2020-11-30 17:50
    回复
      2026-01-26 11:28:47
      广告
      不感兴趣
      开通SVIP免广告
      ⚠️前面的有些DMF 写错了成MDF了,图片没错


      IP属地:浙江来自iPhone客户端3楼2020-11-30 18:06
      收起回复
        支持


        IP属地:广东4楼2020-11-30 20:23
        回复
          可以看一下贴吧侧栏wjh博客中的工具(python脚本)。可以直接导出新版本的一些相关数据。


          IP属地:辽宁来自Android客户端5楼2020-11-30 21:42
          收起回复
            想问一下兄弟之前接触过代码吗?


            IP属地:上海来自Android客户端6楼2020-12-01 00:36
            收起回复
              dDB_cardIDEnum.cs里添加卡牌id DMF_704 = 61226, (不要忘记逗号结尾)
              楼主,请教一下这个61226在哪找的


              IP属地:辽宁来自Android客户端7楼2020-12-01 06:45
              收起回复
                支持


                IP属地:江苏来自Android客户端8楼2020-12-01 07:22
                回复
                  2026-01-26 11:22:47
                  广告
                  不感兴趣
                  开通SVIP免广告
                  支持


                  IP属地:上海来自iPhone客户端9楼2020-12-01 08:35
                  回复
                    顶贴


                    来自Android客户端10楼2020-12-01 08:35
                    回复
                      补充:如何大规模增加新卡
                      需要能看懂python代码,知道输入输出路径等基本知识,会简单的修改代码,会百度字符串处理等等
                      思路:
                      1.下载新的CardDefs.xml
                      2.用wjh博客里的 python程序 把旧的CardDefsold.xml里的PlayRequirement转移到新的CardDefs.xml
                      这时,替换输出的新的CardDefscopy.xml到xd里,重命名为CardDefs.xml xd正常运行

                      3.用wjh博客里的 python程序 批量输出 sim卡模板 cardIDEnum cardName(依样画葫芦,需要处理,只保留英文字母和数字,字母小写,cardset的地方需要自己添加关于暗月马戏团和通灵学院的)
                      这时,cardIDEnum搞定可以直接复制到xd里了 ,但cardName有点小问题


                      4.据我观察 cardName有许多重名的,需要进行处理 (原因是有些卡的 cardIDEnum不一样,但是cardName一样,衍生类卡牌)

                      4.自己编写python程序(百度),读取txt文件,对cardName进行去重,输出新的关于cardname的txt文件

                      5.删掉xd里旧的IDEnum 和 Name 把新的复制过去

                      6.以上操作完,启动xd,看报错情况,修改至完美 比如删掉与c#关键字重了的cardname
                      我发现了两个continue 和 protected 我还删除了1level
                      备注:wjh的python程序的TAG_CARD_SET需要补充,文件路径可以自己修改,或者照着他的来在c盘提前建好文件夹
                      补图:




                      IP属地:浙江11楼2020-12-01 15:31
                      回复
                        楼下11楼有更新,如何大规模添加新卡,只看楼主就能快速定位


                        IP属地:浙江12楼2020-12-01 16:38
                        回复
                          好帖对于快速导入新版本卡牌很有帮助


                          IP属地:广东来自Android客户端13楼2020-12-01 16:53
                          回复


                            IP属地:江苏来自Android客户端14楼2020-12-01 18:20
                            回复