这个教程描述怎样添加游戏原本没有的数值,以及整理了游戏原有的UI变量代码。 所有数值都有一个相同点,都是使用下面的语句<gadget name="自己定义名称" type="formatText" anchortooltiptopright="" size1024="XY大小" donthighlight="" datarefreshrate="100" textcolor="RGB颜色" textfont="StatText" textfontsize="16" textcentervert="" z="2" background="" mouseovertext="鼠标移动到该UI上显示的注释">显示值,具体看下表</gadget>
currentUnitid | 单位ID,外挂必备,也可以用来看出部分外挂操作。搞触发程序也非常需要这个东西。 |
currentUnitScenarioName | 单位剧情名,编写触发程序可能会用上。 |
currentUnitname | 单位名称 |
currentUnitHPFloat | 单位当前生命值 |
currentUnitMaximumHPFloat | 单位最大生命值(受到光环影响不会改变) |
currentUnitCapacity | 驻守单位数量/可驻守单位数量 |
currentUnitLOSFloat | 单位视野(受到光环影响不会改变) |
currentUnitMaxVelocityFloat | 单位行走速度(受到光环影响不会改变) |
currentUnitBuildingWorkRateFloat | 训练单位、研究科技倍率 |
currentUnitTrainPointsFloat | 单位训练时间(选中建筑时,该数值会显示为30) |
currentUnitBuildPointsFloat | 建筑建造时间(选中单位时,该数值会显示为10) |
currentUnitLimberPercent | 按钮切换的百分比数值 |
currentUnitOwnerID | 当前选中单位的玩家ID |
currentUnitInv | |
totalpop | 当前占用人口数 |
popcap | 总人口数 |
populationHelp | 详细人口数量(例如:1城镇中心=10人口,2村庄=40人口,最大人口=50) |
gameVersion | 游戏版本 |
productID | 产品ID |
gametime | 游戏已开始时间 |
gamespeed | 游戏运行速度(慢速、标准、快速) |
aiDifficulty | AI难度 |
numDancers | 跳舞农民数量 |
danceDescription | 跳舞详细效率数值或效果数值 |
danceQuickValue | 跳舞效率数值或效果数值 |
numTradePostsNeeded | 贸易垄断所需贸易站数量 |
numTradePostSites | 地图贸易站总数 |
numTradePostsControlled | 已控制贸易站数量 |
{resource(XXXX)} | 资源数量,XXXX为资源 |
{numUnits(XXXXX)} | 单位数量,XXXXX为单位标签或调用名 |
{numIdle(XXXXX)} | 空闲单位数量,XXXXX为单位标签或调用名 |
{numGatherers(XXXX)} | 采集XXXX的单位数量,XXXX为资源 |
{marketBuy(XXXX)} | 市场购买XXXX所需钱币数量,XXXX为资源 |
{marketSell(XXXX)} | 市场出售XXXX可换钱币数量,XXXX为资源 |
{playerColor(X)} | 玩家X颜色【X值:0为大自然,1为玩家1,2为玩家2,3为玩家3,…,8为玩家8】 |
{playerAge(X)} | 玩家X的时代 |
{playerScore(X)} | 玩家X的分数,1资源=1分 |
{playerTeamScore(X)} | 玩家X所在的队伍分数,1资源=1分 |
{playerTeam(X)} | 玩家X所在的队伍 |
{playerCivilization(X)} | 玩家X的文明 |
{playerName(X)} | 玩家X的昵称 |
{playerCulture(X)} | 玩家X的文化 |
{playerHomeCityLevel(X)} | 玩家X的主城等级 |
{playerHomeCityName(X)} | 玩家X的主城名称 |
{XPShipmentProgressionString(X)} | 玩家X的经验槽(您还需要 %1d 经验值才能运送第 %2d 批支援。) |
xpProgressionString | (还需要 %2d 的经验值即可达到等级 %3d 的主城。) |
例如我要显示单位的视野,可以这样写:传送门
<gadget name="LOS" type="formatText" anchortooltiptopright="" size1024="XY坐标大小自己定" donthighlight="" datarefreshrate="100" textcolor="0 255 255" textfont="StatText" textfontsize="16" textcentervert="" z="2" background="" mouseovertext="The current unit's Line of Sight."> LOS:currentUnitLOSFloat</gadget>
表格的代码还可以写在stringtabley.xml与randommapstringsy.xml里面。至于能不能作为单位名称出现,我还没试过。
randommapstringsy.xml - 记事本 | ____ | □ | X | ||
文件(F) 编辑(E) 格式(O) 查看(V) 帮助(H) | |||||
|
|||||
如果想让不同国家写上不同颜色,可以使其套上该玩家的颜色,例如下面的截图 写出截图效果的语句如下:红色字就是套用了玩家X的颜色,也可以采用另一种格式(直接使用转义字符表示“<”与“>”),例如:
<gadget name="Score1" type="gadget" size1024="870 350 1024 495" z="5" background="" transparent="" textcentervert="" textmarkup="" formattextusedatareplace="" datarefreshrate="200">
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 350 1024 365" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><![CDATA[ <color={playerColor(1)}>Team{playerTeam(1)} {playerCivilization(1)} {playerName(1)}</color>
]]></gadget>
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 365 1024 380" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><![CDATA[ <color={playerColor(1)}>{playerAge(1)}:{playerScore(1)}/{playerTeamScore(1)}</color>
]]></gadget>
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 380 1024 395" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><![CDATA[ <color={playerColor(1)}>{XPShipmentProgressionString(1)}</color>
]]></gadget>
</gadget>
<gadget name="Score2" type="gadget" size1024="870 395 1024 440" z="5" background="" transparent="" textcentervert="" textmarkup="" formattextusedatareplace="" datarefreshrate="200">
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 395 1024 410" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><![CDATA[ <color={playerColor(2)}>Team{playerTeam(2)} {playerCivilization(2)} {playerName(2)}</color>
]]></gadget>
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 410 1024 425" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><![CDATA[ <color={playerColor(2)}>{playerAge(2)}:{playerScore(2)}/{playerTeamScore(2)}</color>
]]></gadget>
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 425 1024 440" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><![CDATA[ <color={playerColor(2)}>{XPShipmentProgressionString(2)}</color>
]]></gadget>
</gadget>
传送门
<gadget name="Score" type="formatText" transparent="" background="" textcentervert="" size1024="870 425 1024 440" textfont="NumbersFont" textfontsize="12" textmarkup="" formattextusedatareplace="" datarefreshrate="200" z="10"><color={playerColor(2)}>{XPShipmentProgressionString(2)}</color> </gadget>
我设定了这些变量都镶嵌一个带有hidden=""元素的gadget里面,所以这些变量需要利用gadgetReal(<stringName>) 或gadgetToggle(<stringName>)打开。