【百度网盘】做了第一版修改器,大家可以下载使用
millennia吧
全部回复
仅看楼主
level 1
链接:百度网盘
提取码:5tvc
首先说明下这版修改器的功能
1、加钱,加革新进度,加文化和领域经验
2、选中城市后加人口
3、修改地形(注:修改资源有bug,我没研究出来,所以没加这个功能)
**提醒**
1、一定要开启对局后按F5呼出修改菜单,再按一次F5关闭菜单,菜单固定在左上角,字和颜色我没时间调,如果看不清的话可以进入城市建造页面,深色背景看的清楚些。
2、这个修改器是调用游戏自身方法达到的效果,所以版本没有大更新或是其他原因,理论是一直生效的
使用说明:
把BepInEx文件夹以及其余3个文件直接丢到有millnnia.exe文件的目录下,可以参考下图。
下面是使用效果说明
F5呼出菜单后,除科技外都是点一下按钮就加点数,钱是加一百万,领域经验是全部加一百。
金钱修改完UI不会及时更新,可以进入城市建造页面或者科技页面后再退出,就会刷新了。
科技是单选,开启后去科技页面,按Shift+鼠标左键点击想要解锁的科技,进入时代的科技还是要过回合研发的。
领域经验增加的同时,也会解锁,但要到下回合才能看见
城市一定要进入建造或者下图这个工人界面,才会出现+人口的选项
修改地形也是,要选中地形后,再选择你想变成的地形,如下两图所示,我把草原修改成了沙漠
城市人口修改是可以超上限的
下图可以看到第一回合我就全解锁科技,进入青铜时代,但是时代还是要过回合的
第一回合领域经验修改后,需要过回合才可以显示其他领域。
这是我尝试修改资源,但是有问题,相应的改进设施没有出现,所以还需要研究
2024年03月31日 01点03分 1
level 1
二楼说明下我使用的工具BepInEx,这是专用于开发unity插件的东西
下面贴代码,后续可以在此基础上继续开发新功能
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BepInEx;
using BepInEx.Configuration;
using CPrompt;
using HarmonyLib;
using Steamworks.Ugc;
using UnityEngine;
namespace Millennia_Cheat {
[BepInPlugin("aoe.top.plugins.Millennia_Cheat", "千年作弊", "1.0.0.0")]
public class Main : BaseUnityPlugin {
public static bool switchDisplayingWindow = false; // gui作弊窗口开关
public Dictionary<KeyCode, KeyboardShortcut> keyMapping = new Dictionary<KeyCode, KeyboardShortcut> ();
public APlayer player = null;
public ADomainManager domainManager = null;
public AGameData data = null;
public ALocation aLocation = null;
// 在插件启动时会直接调用Awake()方法
void Awake() {
}
// 在所有插件全部启动完成后会调用Start()方法,执行顺序在Awake()后面;
void Start() {
this.regKey(KeyCode.F5);
terrainList.Add("草地", "TT_GRASSLAND");
terrainList.Add("灌木丛林地", "TT_SCRUBLAND");
terrainList.Add("沙漠", "TT_DESERT");
terrainList.Add("冰川", "TT_GLACIER");
terrainList.Add("沼泽", "TT_SWAMP");
terrainList.Add("热带丛林", "TT_JUNGLE");
terrainList.Add("苔原", "TT_TUNDRA");
terrainList.Add("密林", "TT_DEEPFOREST");
terrainList.Add("森林", "TT_FOREST");
terrainList.Add("近海", "TT_WATER");
terrainList.Add("深海", "TT_DEEPWATER");
terrainList.Add("山地", "TT_MOUNTAIN");
terrainList.Add("丘陵", "TT_HILLS");
//MT_RICE "稻米"
terrainText = terrainList.Keys.ToArray();
}
// 插件启动后会一直循环执行Update()方法,可用于监听事件或判断键盘按键,执行顺序在Start()后面
void Update() {
if (AGame.Instance.CurrPlayer == null) return;
if (this.keyMapping[KeyCode.F5].IsDown()) {
switchDisplayingWindow = !switchDisplayingWindow;
player = AGame.Instance.CurrPlayer;
data = player.GetComponent<AGameData>();
domainManager = player.GetComponent<ADomainManager>();
}
aEntityTile = AInputHandler.Instance.SelectedCity;
aLocation = AInputHandler.Instance.SelectedLocation;
//aLocation.AddEntity(AEntity.CreateEntity(), false);
}
// 在插件关闭时会调用OnDestroy()方法
void OnDestroy() { }
private Rect windowRect = new Rect(0, 0, 500, 500);
private void OnGUI() {
if (Main.switchDisplayingWindow) {
// 定义窗口位置 x y 宽 高
// 创建一个新窗口
// 注意:第一个参数(20210218)为窗口ID,ID尽量设置的与众不同,若与其他Mod的窗口ID相同,将会导致窗口冲突
if(Time.time % 0.2 < 1) windowRect = GUI.Window(20210218, windowRect, CheatWindow, "千年Millennia 辅助功能窗口");
}
}
private int currentGridIndex = 0;
private string[] gridText = { "基础", "城市", "地块" };
private bool toggleTechShiftClick = false;
private Dictionary<string, string> terrainList = new Dictionary<string, string>();
private string[] terrainText = { };
private int currentTerrainIndex = 0;
private AEntityTile aEntityTile = null;
public void CheatWindow(int winId) {
GUILayout.BeginArea(new Rect(10, 20, 480, 450)); {
currentGridIndex = GUILayout.Toolbar(currentGridIndex, gridText);
switch(currentGridIndex) {
case 0:
{
GUILayout.Label("金钱");
if (GUILayout.Button("+1000k")) data.AdjustBaseValue(APlayer.cResCoin, 1000000); // 金钱
GUILayout.Label("文化");
if (GUILayout.Button("+100")) data.AdjustBaseValue(APlayer.cResCulture, 100); // 文化
GUILayout.Label("革新");
if (GUILayout.Button("+100")) data.AdjustBaseValue(APlayer.cResInnovation, 100); // 革新
GUILayout.Label("领域经验");
if (GUILayout.Button("全+100"))
{
data.AdjustBaseValue("ResDomainArts", 100); // 艺术领域
data.AdjustBaseValue("ResDomainDiplomacy", 100); // 外交领域
data.AdjustBaseValue("ResDomainEngineering", 100); // 工程领域
data.AdjustBaseValue("ResDomainExploration", 100); // 探索领域
data.AdjustBaseValue("ResDomainGovernment", 100); // 政府领域
data.AdjustBaseValue("ResDomainWarfare", 100); // 战争领域
data.AdjustBaseValue("DomainUnlock-DomainArts", 0); // 艺术领域
data.AdjustBaseValue("DomainUnlock-DomainDiplomacy", 0); // 外交领域
data.AdjustBaseValue("DomainUnlock-DomainEngineering", 0); // 工程领域
data.AdjustBaseValue("DomainUnlock-DomainExploration", 0); // 探索领域
data.AdjustBaseValue("DomainUnlock-DomainWarfare", 0); // 政府领域
}
toggleTechShiftClick = GUILayout.Toggle(toggleTechShiftClick, "Shift+单击 解锁科技");
GUILayout.Label("在科技界面,按住Shift+鼠标左键点击想要解锁的科技!注:进入新时代的科技仍需研发");
if (GUI.changed) ADevConfig.EnableTechShiftClick = toggleTechShiftClick;
} break;
case 1:
{
GUILayout.Label("当前选择的城市:" + (aEntityTile != null && aEntityTile.IsCity(false) ? aEntityTile.GetDisplayName() : "无"));
GUILayout.Label("注:进入城市建造与工人页面才算选中城市!");
if (aEntityTile != null && aEntityTile.IsCity(false))
{
ACity city = aEntityTile.GetCity();
GUILayout.BeginHorizontal();
if (GUILayout.Button("人口+5")) city.AddPopulation(5);
if (GUILayout.Button("人口+1")) city.AddPopulation(1);
GUILayout.EndHorizontal();
}
} break;
case 2:
{
if (aLocation != null)
{
GUILayout.Label("当前选中的:" + aLocation.ID);
currentTerrainIndex = GUILayout.SelectionGrid(currentTerrainIndex, terrainText, 5);
if (GUI.changed)
{
if (terrainList.GetValueSafe(terrainText[currentTerrainIndex]) != "")
aLocation.ChangeTerrain(terrainList.GetValueSafe(terrainText[currentTerrainIndex]));
}
}
} break;
default: break;
}
}
GUILayout.EndArea();
}
private void regKey(KeyCode keyCode) {
this.keyMapping.Add(keyCode, new BepInEx.Configuration.KeyboardShortcut(keyCode));
}
}
}
2024年03月31日 01点03分 2
领域xp可以用ADomainManage.AddDomainXP,会当回合刷新,不用等下一回合
2024年03月31日 15点03分
level 1
前天跟昨天白天我去俄罗斯的几个论坛翻了,还是小众了点,都只有正式版资源。
翻代码的时候,官方是把地图编辑器类跟控制台类的代码全清空了,挺可惜,有地图编辑器其实更好玩,不知道官方为啥删了[汗]
2024年03月31日 01点03分 3
很明显是卖dlc,按最新的官方说明是他们会加载一个专门的mod编辑器来取代过去的个人翻代码写文本的模式。但以p社拿mod当dlc卖的光荣传统来看,这是想直接和mod作者合作卖付费mod了[汗]
2024年05月03日 18点05分
留着DLC[阴险]
2024年04月01日 02点04分
level 1
牛逼
2024年03月31日 01点03分 4
用着有什么问题没?
2024年03月31日 01点03分
@传奇草方块 还没回家,回家试试看
2024年03月31日 02点03分
@传奇草方块 使用体验很不错
2024年03月31日 11点03分
level 1
真的牛逼,感谢大佬![玫瑰]
2024年03月31日 01点03分 5
level 1
真正的互联网大佬!
2024年03月31日 01点03分 6
level 1
但是佬,小小建议一下
游戏本身的ui就很屎了,能不能把修改器的ui调整到屏幕的左下角,这样互不干扰
然后颜色对比相对更显眼一些
4k看着字太小了
再次感谢
2024年03月31日 02点03分 7
level 1
大佬你好,能不能加个功能可以拖拉修改器的UI,这个左上角的UI真的是又小又看不见,我是2k的屏幕。主要是字有点小,而且很淡,有点看不清楚。我觉得楼上说的挺好的,在左下角确实不错。3dm看见的特地来贴吧回复
2024年03月31日 02点03分 8
level 1
感谢您!!!!!
2024年03月31日 02点03分 9
level 1
大佬牛逼,多谢大佬[欢呼][欢呼][欢呼]
2024年03月31日 04点03分 11
level 5
谢谢大佬!
2024年03月31日 04点03分 12
level 1
真大佬![真棒]厉害
2024年03月31日 04点03分 13
level 6
wc大佬牛逼[真棒]这才发售几天就让大佬研究明白了
顺便问一下这游戏不像其他4X,后期莫名其妙非常卡就是什么操作不做原地挂机帧数都会很低(其他4X至少是走时间的时候才会卡)不知道大聪明制作组设置了什么奇妙的运算,我看了一下硬件占用都不高CPU内存显卡都没超过50%,也没有祖传的单核,感觉就像是故意把后期做的很卡的一样
2024年03月31日 04点03分 14
按一些玩家扒代码的猜测,貌似是因为生产力等数据每帧单算。这消息不知真假,但确实是p社绿皮程序员能干出来的[阴险]
2024年05月03日 18点05分
level 3
大神,受我一拜
2024年03月31日 04点03分 15
level 1
感谢大佬
求大佬添加改良工具的点数和分来各类领域经验
2024年03月31日 06点03分 16
1 2 3 4 尾页