こはね发表于 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,那么会出现剧情宝藏,部分剧情宝藏只能由剧情英雄捡取,普通探险家不行。
|
|