骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 2528|回复: 18

[求助] 【已解决】用bat编译的时候没有修改ID文件,请问是为什么呢

[复制链接]

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
发表于 2025-8-2 07:41:17 | 显示全部楼层 |阅读模式
本帖最后由 Kajotha 于 2025-9-2 18:36 编辑

纯小白刚开始学ms,跟着https://bbs.mountblade.com.cn/thread-92636-1-1.html这个教程学的时候按照里面说的新加了一个map_icon,并在parties里面引用,然后在编译的时候报错说新加的map_icon没有定义,我看了一下ID_map_icons里面没有我新加的那一条,手动给他加上去就不会报错了。我试着把ID文件删了,编译的时候会报错说找不到ID文件(如果我没理解错的话ID文件是自动生成的?)有时过了一会notepad++会显示ID文件已被修改,但大多数时候编译似乎并没有修改ID文件,请问大佬们这是为什么呀
https://bbs.mountblade.com.cn/thread-2054266-1-1.html这个帖子好像也是这个问题

另外我这里在编译战团1171源码的时候一切正常,但是编译16世纪1.6源码时tracks, animations和troops文件显示 '#python' 不是内部或外部命令,也不是可运行的程序或批处理文件 ,别的正常,请问这会有影响吗?  python安装和环境变量配置好像都没有问题?

34

主题

238

回帖

197

积分

见习骑士

Rank: 3

UID
2462463
第纳尔
1607
精华
0
互助
23
荣誉
0
贡献
0
魅力
85
注册时间
2015-3-3
鲜花(62) 鸡蛋(0)
发表于 2025-8-25 21:01:44 | 显示全部楼层
ID文件自动生成。如果是因为ID文件引起的报错,再编译一次试试。如果多次后 还是摆错ID,那就是写错了

48

主题

710

回帖

517

积分

骑士

Rank: 4Rank: 4

UID
3398051
第纳尔
2031
精华
0
互助
48
荣誉
5
贡献
10
魅力
347
注册时间
2022-8-13
鲜花(60) 鸡蛋(0)
发表于 2025-8-26 07:38:21 | 显示全部楼层
本帖最后由 ggfgfgf 于 2025-8-26 07:41 编辑

不是加在id文件里,可以加在module_parties文件里 ,
因为有引用其他文件,所以不要单独编译
原版代码的编译器有问题,id不生成是因为代码逻辑错误,需要编译两次,就能解决
你可以用这个编译插件

modmerger工具(osp整合工具)下载,附ai大修,整合ms增强
https://bbs.mountblade.com.cn/thread-2102018-1-1.html
'#python' 不是内部或外部命令,的话
2.6安装完成后请将安装目录的python.exe pythonw.exe python26.dll 移至ModuleSystem的bulidBat.bat目录下  
2.7安装完成后请将安装目录的python.exe pythonw.exe 移至ModuleSystem的bulidBat.bat目录下




评分

参与人数 1魅力 +1 收起 理由
英勇的苹果 + 1 乐于助人!

查看全部评分

鲜花鸡蛋

英勇的苹果  在2025-8-26 13:44  送朵鲜花  并说:乐于助人!

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-8-27 09:40:22 | 显示全部楼层
ggfgfgf 发表于 2025-8-26 07:38
不是加在id文件里,可以加在module_parties文件里 ,
因为有引用其他文件,所以不要单独编译
原版代码的编 ...

感谢大佬回复!
我这里似乎编译很多次也大概率没有修改ID文件(偶尔会修改,不知道为啥),但先改map_icons然后立即编译,然后再在parties中引用,再编译就不会报错正常运行了
请问是把这个modmerger里面的bat文件替代原来的就可以了吗?我试了下, 好像还是会报新加的map_icon没有定义,另外运行完header,id和process的py文件消失了,请问是为什么呀

请问“python.exe pythonw.exe 移至ModuleSystem的bulidBat.bat目录下”指的是和build_module.bat同一文件夹下吗,我试了一下似乎还是会报错,但用modmerger的bat编译就不会报错了,也许是因为16世纪本身似乎使用了modmerger之类的?我不太懂。。。

点评

移动到head里了不用管,map_icon应该先定义再引用  发表于 2025-8-27 14:30

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-8-27 09:43:23 | 显示全部楼层
战争傀儡阿格兰 发表于 2025-8-25 21:01
ID文件自动生成。如果是因为ID文件引起的报错,再编译一次试试。如果多次后 还是摆错ID,那就是写错了 ...

感谢大佬回复!
我感觉应该不是写错导致的?因为我这里多编译几次的话偶尔会正常,大概率还是不行,并且先改map_icons然后立即编译,然后再在parties中引用,再编译就不会报错正常运行了,很奇怪……

29

主题

791

回帖

586

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1758
精华
0
互助
68
荣誉
0
贡献
0
魅力
16
注册时间
2022-2-3
鲜花(59) 鸡蛋(0)
发表于 2025-8-27 11:17:03 来自手机 | 显示全部楼层
Kajotha 发表于 2025-8-27 09:43
感谢大佬回复!
我感觉应该不是写错导致的?因为我这里多编译几次的话偶尔会正常,大概率还是不行,并且 ...

报错截图发一下,我怀疑不是ID文件有什么问题,而是你改了原本就有map icon,导致其他地方用到它时就找不到这个ID了。来自: Android客户端

48

主题

710

回帖

517

积分

骑士

Rank: 4Rank: 4

UID
3398051
第纳尔
2031
精华
0
互助
48
荣誉
5
贡献
10
魅力
347
注册时间
2022-8-13
鲜花(60) 鸡蛋(0)
发表于 2025-8-27 14:31:58 | 显示全部楼层
Kajotha 发表于 2025-8-27 09:40
感谢大佬回复!
我这里似乎编译很多次也大概率没有修改ID文件(偶尔会修改,不知道为啥),但先改map_ico ...

解决了就行,modmerger改了编译的结构

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-8-29 13:13:44 | 显示全部楼层
本帖最后由 Kajotha 于 2025-8-29 13:15 编辑
112233lyh 发表于 2025-8-27 11:17
报错截图发一下,我怀疑不是ID文件有什么问题,而是你改了原本就有map icon,导致其他地方用到它时就找不 ...

感谢大佬回复!
报错截图:


我是在parties和map icons里各加了一行






1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-8-29 13:30:28 | 显示全部楼层
ggfgfgf 发表于 2025-8-27 14:31
解决了就行,modmerger改了编译的结构

啊,抱歉我之前只把modmerger的build_module给替换掉了16世纪原来的,没复制misc files文件夹,导致header文件什么的没了……
我现在安装了modmerger之后运行bat文件,出现报错说好多东西没有定义
这是16世纪安装了modmerger之后的报错
这是原版安装了modmerger之后的报错
这里除了module_info之外应该没有改别的东西,请问大佬为啥会报错呀 是我在安装modmerger的时候哪里弄错了吗

另外请问先定义再引用指的就是写了map_icons之后需要立刻编译,不能和parties一起写完后编译吗

29

主题

791

回帖

586

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1758
精华
0
互助
68
荣誉
0
贡献
0
魅力
16
注册时间
2022-2-3
鲜花(59) 鸡蛋(0)
发表于 2025-8-29 19:27:00 来自手机 | 显示全部楼层
Kajotha 发表于 2025-8-29 13:13
感谢大佬回复!
报错截图:

是啊,这里明显就只是这个叫town test k的icon被你改掉了,它找不到才报错的。你去module party里,把所有用到它的地方改成别的,就行了。来自: Android客户端

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-8-30 07:51:40 | 显示全部楼层
112233lyh 发表于 2025-8-29 19:27
是啊,这里明显就只是这个叫town test k的icon被你改掉了,它找不到才报错的。你去module party里,把所 ...

诶,town_test_K是我新加的呀,用到的地方理论上应该只有新加的town_24一个才对?

29

主题

791

回帖

586

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1758
精华
0
互助
68
荣誉
0
贡献
0
魅力
16
注册时间
2022-2-3
鲜花(59) 鸡蛋(0)
发表于 2025-8-30 18:30:10 来自手机 | 显示全部楼层
Kajotha 发表于 2025-8-30 07:51
诶,town_test_K是我新加的呀,用到的地方理论上应该只有新加的town_24一个才对? ...

那你不用管它,再编译一次就会发现好了。这东西原因是party编译得比map icon快,编译party时你这个新icon还没记录进id里,找不到。来自: Android客户端

点评

我记得merger的编译顺序已经改了  发表于 2025-8-30 19:16

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-8-31 18:41:21 | 显示全部楼层
112233lyh 发表于 2025-8-30 18:30
那你不用管它,再编译一次就会发现好了。这东西原因是party编译得比map icon快,编译party时你这个新icon ...

我这里的情况是编译很多次的话小概率会好,大概率还是会报未定义,但先改map_icons然后立即编译,然后再写parties就正常,感觉好奇怪

29

主题

791

回帖

586

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1758
精华
0
互助
68
荣誉
0
贡献
0
魅力
16
注册时间
2022-2-3
鲜花(59) 鸡蛋(0)
发表于 2025-9-1 11:02:20 来自手机 | 显示全部楼层
Kajotha 发表于 2025-8-31 18:41
我这里的情况是编译很多次的话小概率会好,大概率还是会报未定义,但先改map_icons然后立即编译,然后再 ...

涉及flag标签的东西有些会导致编译进行不下去。来自: Android客户端

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-9-1 20:07:15 | 显示全部楼层
本帖最后由 Kajotha 于 2025-9-1 21:32 编辑
112233lyh 发表于 2025-9-1 11:02
涉及flag标签的东西有些会导致编译进行不下去。

请问大佬我应该怎么解决这个问题呢

29

主题

791

回帖

586

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1758
精华
0
互助
68
荣誉
0
贡献
0
魅力
16
注册时间
2022-2-3
鲜花(59) 鸡蛋(0)
发表于 2025-9-2 08:39:21 来自手机 | 显示全部楼层
Kajotha 发表于 2025-9-1 20:07
请问大佬我应该怎么解决这个问题呢

很简单,多编译。加完先编译一遍,再去别的地方调用它,就和你自己解决这问题的办法一样。来自: Android客户端

1

主题

15

回帖

5

积分

平民

Rank: 1

UID
3575938
第纳尔
0
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-10-27
鲜花(0) 鸡蛋(0)
 楼主| 发表于 2025-9-2 18:35:16 | 显示全部楼层
112233lyh 发表于 2025-9-2 08:39
很简单,多编译。加完先编译一遍,再去别的地方调用它,就和你自己解决这问题的办法一样。 ...

好的,感谢大佬!
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2025-9-15 03:28 , Processed in 0.096979 second(s), 25 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表