3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 8510|回复: 6
打印 上一主题 下一主题

[分享] 告诉你如何修改摧毁城市不受战争狂惩罚,AI完全无视你的行为

[复制链接]

6

主题

512

帖子

634

积分

超级玩家

Rank: 5Rank: 5

贡献度
75
金元
3943
积分
634
精华
0
注册时间
2009-12-21
跳转到指定楼层
主题
发表于 2016-12-26 19:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前在版面看到有朋友说明怎么修改摧毁首都的方法,这个帖子http://bbs.3dmgame.com/thread-5311910-1-5.html里面,5#的朋友shwone有说明。

不过推城惩罚太高,只要推掉一座城就被AI认为是战狂,被全体谴责。

自己研究了下,在RazeCity.lua文件里面有保留城市和摧毁城市的惩罚计算公式。
修改路径Sid Meier's Civilization VI\Base\Assets\UI\Popups\RazeCity.lua

首先这个是不推掉城市的
szWarmongerString = Locale.Lookup("LOC_RAZE_CITY_KEEP_WARMONGER_EXPLANATION", localPlayer:GetDiplomacy():GetWarmongerLevel(-iWarmongerPoints));
下面这个是推掉城市的
szWarmongerString = Locale.Lookup("LOC_RAZE_CITY_RAZE_WARMONGER_EXPLANATION", localPlayer:GetDiplomacy():GetWarmongerLevel(-iWarmongerPoints * 3));

修改最后的乘数* 3* 0,这样就可以随便的夷为平地而面惩罚了。如果想打下城市也是没有惩罚,给上面最后也加上* 0
szWarmongerString = Locale.Lookup("LOC_RAZE_CITY_KEEP_WARMONGER_EXPLANATION", localPlayer:GetDiplomacy():GetWarmongerLevel(-iWarmongerPoints * 0));

szWarmongerString = Locale.Lookup("LOC_RAZE_CITY_RAZE_WARMONGER_EXPLANATION", localPlayer:GetDiplomacy():GetWarmongerLevel(-iWarmongerPoints * 0));

改过之后试了下,连续推掉2个国家的城市没有被谴责,其他AI完全无视了。
不知道会不会出错,修改之前备份
回复

使用道具 举报

0

主题

260

帖子

383

积分

高级玩家

Rank: 4

贡献度
0
金元
3834
积分
383
精华
0
注册时间
2016-4-30
舒服的沙发
发表于 2016-12-27 22:19 | 只看该作者
我试了一下怎么没用啊,开新游戏,古典摧毁一个城市就被2家AI谴责了
回复 支持 反对

使用道具 举报

6

主题

512

帖子

634

积分

超级玩家

Rank: 5Rank: 5

贡献度
75
金元
3943
积分
634
精华
0
注册时间
2009-12-21
硬硬的板凳
 楼主| 发表于 2016-12-29 09:11 | 只看该作者
snake_xqh 发表于 2016-12-27 22:19
我试了一下怎么没用啊,开新游戏,古典摧毁一个城市就被2家AI谴责了

我认为有效。被谴责很多种原因。但是这样修改过后不会因为摧毁城市被所有的AI讨厌。
好比我修改了宣战不加战争狂人的点数,但是还是有国家跑来谴责我。好比甘地和美国佬。离我老远,刚遇到,几回合后就过来谴责,但和摧毁城市没关系的。
回复 支持 反对

使用道具 举报

0

主题

260

帖子

383

积分

高级玩家

Rank: 4

贡献度
0
金元
3834
积分
383
精华
0
注册时间
2016-4-30
冰凉的地板
发表于 2016-12-29 10:20 | 只看该作者
panzhengdong 发表于 2016-12-29 09:11
我认为有效。被谴责很多种原因。但是这样修改过后不会因为摧毁城市被所有的AI讨厌。
好比我修改了宣战不 ...

我懂你意思了,我还以为完全不会被谴责呢,感谢你的分享
回复 支持 反对

使用道具 举报

3

主题

91

帖子

155

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1545
积分
155
精华
0
注册时间
2016-5-9
5#
发表于 2020-1-28 11:53 | 只看该作者
楼主这里
szWarmongerString = Locale.Lookup("LOC_RAZE_CITY_KEEP_WARMONGER_EXPLANATION", localPlayer:GetDiplomacy():GetWarmongerLevel(-iWarmongerPoints));
通过变量命名为xxString可得知,这里应该只是赋值了一个字符串,并非数值。
这里更改的结果应该只是修改了弹出款警告你的数值,真正的数值并没有改动。
我拆了几座城之后发现根本不管用,战争狂点数还是在狂加。
这里的真是数值应该是在data文件夹下,而并非在ui
回复 支持 反对

使用道具 举报

0

主题

52

帖子

112

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1117
积分
112
精华
0
注册时间
2015-12-28
6#
发表于 2023-2-21 16:31 | 只看该作者
lkw2010 发表于 2020-1-28 11:53
楼主这里
szWarmongerString = Locale.Lookup("LOC_RAZE_CITY_KEEP_WARMONGER_EXPLANATION", localPlayer:G ...

大佬能不能教教我,我想和平但是AI总是谴责我
回复 支持 反对

使用道具 举报

3

主题

91

帖子

155

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1545
积分
155
精华
0
注册时间
2016-5-9
7#
发表于 2023-9-18 07:53 | 只看该作者
6666啊 发表于 2023-2-21 16:31
大佬能不能教教我,我想和平但是AI总是谴责我

都多少年了 我早忘了 文明6也更新了好几版了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-25 11:51 , Processed in 0.116274 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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