| 
		    			
				
														 
				     こはね发表于 2020-3-15 01:46:01 				
			
					 
							
											| @POLICE1994反馈,圣典的地图教程没有写怎样添加宝藏。作者对此表示,你不提醒我,我短时间内也发现不了这个问题。(其实已经过去半年了) 
 不说废话了,创建宝藏跟创建单位差不多(在地图添加单位教程自行参考https://www.aooebbs.net/Age_of_Empires_III_Modding_Tutorial/13-04-IICreateUnit.htm),下面为创建单位模板
 
 int Unit1ID = rmCreateObjectDef("Unit1");
 
 rmAddObjectDefItem(Unit1ID, "protoname",1,5.0);
 
 rmSetObjectDefMinDistance(Unit1ID,0.0);
 
 rmSetObjectDefMaxDistance(Unit1ID,30.0);
 
 rmPlaceObjectDefAtLoc(Unit1ID,0,0.50,0.50,1);
 
 创建宝藏就是放置宝藏这个单位,调用名为"Nugget",然后还多了一句rmSetNuggetDifficulty设定宝藏等级,宝藏等级由databar里面的nuggets.xml定义(地图会出现哪些类型的宝藏也是在这个文件定义,具体参考https://www.aooebbs.net/Age_of_Empires_III_Modding_Tutorial/10-04nuggets.htm),命令表语句如下:
 
 [(      )] rmSetNuggetDifficulty(int minLevel, int maxLevel): Sets the min/max difficulty levels for placing nuggets.
 
 如果设定rmSetNuggetDifficulty(1,1),那么放置宝藏只会出现nuggets.xml定义的1级宝藏;如果设定rmSetNuggetDifficulty(2,2),那么放置宝藏只会出现nuggets.xml定义的2级宝藏;如果设定rmSetNuggetDifficulty(1,4),那么放置宝藏应该会随机出现1-4级宝藏。(作者猜测的,没有试过)
 
 下面放置(1级)宝藏模板:
 
 int NuggetID = rmCreateObjectDef("Nugget");
 
 rmAddObjectDefItem(NuggetID, "Nugget", 1, 0.0);
 
 rmSetNuggetDifficulty(1, 1));
 
 rmSetObjectDefMinDistance(NuggetID,0.0);
 
 rmSetObjectDefMaxDistance(NuggetID,30.0);
 
 rmPlaceObjectDefAtLoc(NuggetID,0,0.50,0.50,1);
 
 设定1级宝藏后,可以更改宝藏等级
 
 int Nugget2ID = rmCreateObjectDef("Nugget2");
 
 rmAddObjectDefItem(Nugget2ID, "Nugget", 1, 0.0);
 
 rmSetNuggetDifficulty(2, 2);
 
 rmSetObjectDefMinDistance(Nugget2ID,0.0);
 
 rmSetObjectDefMaxDistance(Nugget2ID,30.0);
 
 rmPlaceObjectDefAtLoc(Nugget2ID,0,0.50,0.50,1);
 
 1级宝藏为初级宝藏,例如没有守护者的40、50钱币,由1只狼守护的40食物。
 
 2级宝藏为中级宝藏,例如两只狼守护的60、90食物,两个亡命步枪兵守护的80食物;另外还有些不高的属性加成科技。
 
 3级宝藏为高级宝藏,例如3个亡命步枪兵守护的225食物,3个海盗守护的235黄金;另外还有些不高的属性加成科技。
 
 4级宝藏为超级宝藏,通常为+100%属性科技,或者是400+以上的食物、黄金、经验宝藏;另外两辆哨所马车也是超级宝藏。
 
 5级宝藏为海洋宝藏,海洋宝藏没有等级之分,全部为随机,如果需要分等级只能自己去nuggets.xml修改。
 
 98级宝藏为为一个蒙古斥候,这是为了固定蒙古地图的斥候宝藏而设定的。
 
 最后补充:如果给地图类型添加scenario,那么会出现剧情宝藏,部分剧情宝藏只能由剧情英雄捡取,普通探险家不行。
 
 
 | 
 |