让征服者的世界更精彩——制作《征服者》地图脚本
现在,启动你的《征服者》,进入游戏选单,点击“地图类型”的下拉选单,一般来说应该有两个选项:标准和真实的世界。退出游戏,将《征服者》根目录下Goodies子目录中的两个后缀为.rms的文件放到Random目录下。重新运行你的征服者,哈哈,“地图类型”的下拉选单出现了第三项:定制(custom)。现在“定制”类地图脚本里只有我们刚刚放进去的两个。我们就以这仅有的两个可编辑的地图脚本为模板,创造出新的地图脚本来。
先选择脚本Tradert进入游戏瞧瞧:哇,好多马车啊……这是一幅以陆地为主的地图。退出游戏,点选Traderts.rms,在“打开方式”中任选一种可以编辑文本文档的程序打开文件。开头一番废话后有这么一段:
create_player_lands
{
terrain_type grass
land_percent 100
……
}
现在,请你把100改为50,存盘,启动游戏,你看到了什么?已经不是以陆地为主的地图了,海洋占了一半!祝贺你,你的第一个地图脚本制作出来了!我们要做的第一步就是定义陆地<land_generation>在地图中所占的比例,很简单。
第二步是定义地面<terrain_generation>,即你希望在游戏中出现什么地面景观。使用过地图编辑器的朋友省心了,这里要定义的地面正是地图编辑器里“地形”包括的内容。请看其中的一段:
/* primary forest */
create_terrain pine_forest
{
base_terrain grass
land_percent 16
number_of_clumps 12
……
}
主要的森林类型被定义为松树林,林间空地是草地,一共有12片,占全部地图的16%。你爱怎么改就怎么改吧!这一步除了可以定义“主要森林”,还有“次要森林”、“主要点缀”、“次要点缀”等。
第三步是定义目标<objects_generation>,包括人类、资源、建筑等。其中首先要定义 player start objects游,进入游戏时玩家所处的状态。比如,你想让每个玩家在开始时都拥有10辆贸易马车,这些马车散布在城镇中心周围,最远距离是9格,最近距离是7格,就可以加这样一段字符
create_object trade_cart
{
number_of_objects 10
set_place_for_every_player
min_distance_to_players 7
max_distance_to_players 9
}
其他的定义方法和这个比较类似。这里有一个专为弑君游戏定义的选项,称为special stuff for regicide,定义特殊要求,比如一定要有国王、城堡等。除了在字符串开头添加if regicide外,其他的设置没什么不同。野生动物和资源类也是在这一部分定义的。比如要定义距离城镇中心比较近的黄金,要求黄金有7块,分为3堆,离城镇中心最近12格,最远16格,就可以这样
/*near gold */
create_object gold
{
number_of_objects 7
group_placement_radius 3
set_place_for_every_player
min_distance_to_players 12
max_distance_to_players 16
}
制作地图脚本的最后一步是定义连接<connection_generation>,比如你需要把所有玩家用路连在一起,就可以加入这样一串字符:
create_connect_all_players_land
{
replace_terrain grassroad
replace_terrain grass2 road
replace_terrain dirtroad
replace_terrain dirt3road
replace_terrain forestroad
……
制作地图脚本时要注意:一定要复制原来的脚本,然后在里面修改,因为脚本虽可用写字板打开却不是文本文档,不能新建;二是要注意脚本内的标点符号和句式结构,定义不同级别的内容有不同的符号和结构,莫去动它,只要改动要改的东西就行了。三是创建的目标英文名称一定要和游戏中的目标对应,比如grass和grass1、grass2就有区别,可从地图编辑器里了解。
利用这种方法制作的地图脚本,放在random目录下,进入游戏选单后在地图类型里选“定制”,就可以选择你自己做的地图脚本来玩了。