新增 Tag 无法正常工作? 到底哪里不行呢?
我瞄了一眼, 觉得你的xml修改还未完全转轨至文明5.
比如你在Improvements.xml中采用的是
- <Improvement_Yields>
- ......
- <Row>
- <ImprovementType>IMPROVEMENT_ACADEMY</ImprovementType>
- <YieldType>YIELD_SCIENCE</YieldType>
- <Yield>7</Yield>
- </Row>
- ......
- </Improvement_Yields>
复制代码
我觉得以下这种方式更恰当
- <Improvement_Yields>
- ......
- <Update>
- <Where ImprovementType="IMPROVEMENT_ACADEMY" YieldType="YIELD_SCIENCE" />
- <Set Yield="7" />
- </Update>
- ......
- </Improvement_Yields>
复制代码
你的做法相当于数据库增加了一条数据, 而你的本意是改变原来的数据.
虽然判断产出时增加的数据会覆盖旧数据, 得到的是正确的结果 但文明百科却把新旧两项全显示出来了, 这就不对了.
文明5自己的xml文件中的数据基本上都相当于增加. 对于modder, 则会遇到增加, 更新和删除三种情形.
所以应更新数据时就应该使用更新的语法, 用<Update>......</Update>而不是<Row>...</Row>
相应地, 删除时用<Delete ... />
其实我现在很喜欢用sql来操纵, 就拿你的灯塔的修改做例子.
- UPDATE Building_SeaPlotYieldChanges SET 'Yield' = 1 WHERE BuildingType = 'BUILDING_LIGHTHOUSE' and YieldType = 'YIELD_FOOD';
- INSERT INTO Building_SeaPlotYieldChanges (BuildingType, YieldType, Yield) VALUES ('BUILDING_LIGHTHOUSE', 'YIELD_GOLD', 1);
- UPDATE Language_en_US SET 'TEXT' = '+1 [ICON_FOOD] Food, +1 [ICON_GOLD] Gold from Water Tiles.' WHERE Tag = 'TXT_KEY_BUILDING_LIGHTHOUSE_HELP';
复制代码
简简单单的3句, 连文本也修正了.
最后抱怨一下, 4代中都可以让数值自动显示到文本中, 5代这种地方竟然还得手动修改.
[ 本帖最后由 Khyron 于 2010-9-29 08:11 编辑 ] |