[文明6]減緩科技\文明研發速度
阿新 • • 發佈:2019-02-19
好像文明系列都是這樣,遊戲速度分為 馬拉松,史詩,標準,聯機
…(⊙_⊙;)… 我認為都有缺點,就是每個時代沒造多少兵就進入下一個時代了,讓人很頭疼!要是能讓科技研發時間延長,但是錘子不變就完美了…
好在文明6改起來很簡單,發現一個很簡單的方法:
找到 “X:\CivilizationVI\Base\Assets\Gameplay\Data\” 目錄
修改 Technologies.xml 和 Civics.xml 檔案 ,把每個科技\文明的花費值改變就好啦
ヽ(≧□≦)ノ
簡單來說:
改變 Technologies 所有子元素 Row 的 Cost 的值;
密密麻麻好多,能自動絕不手動的我想到個不算很完美的方法:
 ̄△ ̄ 程式操作字串不就得了
我選擇懶人C#控制檯:
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("輸入文字目錄:");
string directory = Console.ReadLine();
Console.WriteLine("輸入倍數:");
string multipleStr = Console.ReadLine();
int multiple = Convert.ToInt32(multipleStr);
string targetDirectory = Path.Combine(directory, "New");
Directory.CreateDirectory(targetDirectory);
foreach (var filePath in Directory.EnumerateFiles(directory))
{
string newText;
using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
using (var streamReader = new StreamReader(stream, Encoding.UTF8))
{
string text = streamReader.ReadToEnd();
newText = Replace(text, multiple).ToString();
}
}
string targetFilePath = Path.Combine(targetDirectory, Path.GetFileName(filePath));
using (var stream = new FileStream(targetFilePath, FileMode.Create, FileAccess.ReadWrite))
{
using (var streamWriter = new StreamWriter(stream, Encoding.UTF8))
{
streamWriter.Write(newText);
}
}
Console.WriteLine("操作成功:" + filePath);
}
Console.ReadKey();
}
private const string CostName = "Cost=\"";
/// <summary>
/// 改變所有類似此文字 Cost="x" x的值;
/// </summary>
private static StringBuilder Replace(string text, int multiple)
{
StringBuilder stringBuilder = new StringBuilder();
StringBuilder value = new StringBuilder();
int current = 0;
for (int i = 0; i < text.Length; i++)
{
var c = text[i];
if (current < CostName.Length)
{
if (c == CostName[current])
{
current++;
}
else
{
current = 0;
}
stringBuilder.Append(c);
}
else
{
if (c != '"')
{
value.Append(c);
}
else
{
int cost = Convert.ToInt32(value.ToString());
cost *= multiple;
stringBuilder.Append(cost);
stringBuilder.Append('"');
current = 0;
value.Clear();
}
}
}
return stringBuilder;
}
}
ヾノ≧∀≦)o 大功告成!又可以去文明6裡浪費時間了…