设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 3536|回复: 10

[疑问] 如何有效的修改文明4里的自动生成的地图尺寸

[复制链接]
发表于 2011-12-1 17:53:05 | 显示全部楼层 |阅读模式
修改CIV4WorldInfo.xml里面的Igridwidth参数是没有用的,我测试过了,改的是极大图里的参数。求大侠们指导!
发表于 2011-12-1 18:16:44 | 显示全部楼层
修改地图脚本, 即PublicMaps目录下那些py文件.

搜索

  1. def getGridSize(argsList):
复制代码



比如Terra.py对应类地

  1. def getGridSize(argsList):
  2.         "Enlarge the grids! According to Soren, Earth-type maps are usually huge anyway."
  3.         grid_sizes = {
  4.                 WorldSizeTypes.WORLDSIZE_DUEL:                (13,8),
  5.                 WorldSizeTypes.WORLDSIZE_TINY:                (16,10),
  6.                 WorldSizeTypes.WORLDSIZE_SMALL:                (21,13),
  7.                 WorldSizeTypes.WORLDSIZE_STANDARD:        (26,16),
  8.                 WorldSizeTypes.WORLDSIZE_LARGE:                (32,20),
  9.                 WorldSizeTypes.WORLDSIZE_HUGE:                (38,24)
  10.         }

  11.         if (argsList[0] == -1): # (-1,) is passed to function on loads
  12.                 return []
  13.         [eWorldSize] = argsList
  14.         return grid_sizes[eWorldSize]
复制代码


Pangaea.py对应盘古

  1. def getGridSize(argsList):
  2.         # Reduce grid sizes by one level.
  3.         grid_sizes = {
  4.                 WorldSizeTypes.WORLDSIZE_DUEL:                (8,5),
  5.                 WorldSizeTypes.WORLDSIZE_TINY:                (10,6),
  6.                 WorldSizeTypes.WORLDSIZE_SMALL:                (13,8),
  7.                 WorldSizeTypes.WORLDSIZE_STANDARD:        (16,10),
  8.                 WorldSizeTypes.WORLDSIZE_LARGE:                (21,13),
  9.                 WorldSizeTypes.WORLDSIZE_HUGE:                (26,16)
  10.         }

  11.         if (argsList[0] == -1): # (-1,) is passed to function on loads
  12.                 return []
  13.         [eWorldSize] = argsList
  14.         return grid_sizes[eWorldSize]
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 18:40:49 | 显示全部楼层
哦,受教了,py用IDLE编辑,直接修改后面的参数对吗?晚上回去研究
回复 支持 反对

使用道具 举报

发表于 2011-12-1 18:53:20 | 显示全部楼层

回复 #3 bj9371 的帖子

CIV4WorldInfo.xml给的是默认GridSize, 但一般来说地图脚本都会提供自己的GridSize, 所以你修改CIV4WorldInfo.xml就不起作用. 当然也有例外, 比如Big_and_Small.py这个地图就用的是默认的GridSize.

IDLE作为IDE或是编辑器都太简陋了, 建议你换个别的吧. 轻量级的PyScripter, Notepad++都很不错.
主要是Firaxis的程序员在py文件中喜欢使用tab缩进, 有时还tab空格混排, 太坑人了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 19:18:10 | 显示全部楼层
py文件怎么编辑?刚才研究了下IDLE,中毒不好用啊
回复 支持 反对

使用道具 举报

发表于 2011-12-1 19:45:21 | 显示全部楼层

回复 #5 bj9371 的帖子

不用TXT么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 20:03:11 | 显示全部楼层
下载了PyScripter,不能启动呀?Python can not be properly initialized. We must quit!
是什么情况,缺少了Python的环境?怎么搞?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 20:04:34 | 显示全部楼层

回复 #6 沙漠胡杨 的帖子

用写字板也可以打开Py文件吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 20:20:30 | 显示全部楼层
Notepad++搞了个,可以运行,回去打开Py文件看看
回复 支持 反对

使用道具 举报

发表于 2011-12-1 20:23:24 | 显示全部楼层

回复 #7 bj9371 的帖子

你既然有了IDLE, 我想已经装了Python, 不应该啊.
你的Python是2.x还是3.x? 32位还是64位, 印象中PyScripter应该同时支持2.x和3.x, 但32位和64位的版本不同.

.py是纯文本文件, 所以记事本都可以打开编辑, 不过效率就太差了.
所以文本编辑器我推荐notepad++, 至少有语法高亮.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-1 22:55:46 | 显示全部楼层
搞定了,简单的。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-5-5 16:22

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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