海岛大亨3内置剧本编辑器(Challenge Editor)全面指导手册
因为1.0汉化版本的各方面的种种问题(翻译啊字体啊换行啊等等),我装回了英文原版。又听说编辑器(Challenge Editor)的汉化没做好,所以下面所有在编辑器里面出现的文字都是英文原文附上个人斟酌后的翻译。翻译有误的地方请大家指正,谢谢~

由于时间有限,编辑器少数选项未经本人亲自测试,难免会有说错的地方,也请大家指出,谢谢~


一、创建新剧本

游戏主菜单下面的“Challenge(挑战)”选项 - “Manage(管理)” - “New(创建)”,接下来的选项就和沙盒模式下的差不多了:选择一个岛屿或者随机生成一个,然后下一步设置一些全局参数。

请注意新剧本的概念和战役差不多,是无法预设好哪位总统的;同样如果你使用了随机生成的岛屿,每次玩或者测试这个剧本系统会基于你预设的岛屿参数重新生成随机岛屿,系统并不保存随机岛屿的具体形状到剧本文件中,只保存参数。


二、编辑器主界面

接下来系统进入主界面。所有的编辑选项都在“Conditions(剧本属性)”和“New(添加事件)”按钮中。其他都是些功能性按钮,包括保存,测试什么的。


三、Conditions(剧本属性目录)

你可以在这里设置地图的初始和全局参数:

-Starting year(开始年,最小为1900年)
-Ending year(结束年,最大为2050年,未测试游戏到了2050年还能不能继续玩下去)
-Population(初始人口,范围10~100人)
-Treasury(国库资金,$0~$2147483647)
-Percentage of high-school educated(初始高中文化人口比重,范围0~75%。注意这个比重只是定义了一个最大值,并不是确切值。比方说初始人口100,比重20%,那么每次重新玩这个剧本将随机生成0~20个高中生)
-Percentage of college educated(初始大学文化人口比重,范围0~50%。注意同上)
-Soil fertility(初始土壤肥力,范围0-150,对所有农作物都有效,无视湿度Humidity和海拔Elevation)
-Starting value of pollution(初始污染度,范围0-100,貌似此设置无效,也没有人愿意一上来就100污染的)
-Starting tourism rating(初始旅游业评级,范围0-80)

-Callenge Description(剧本描述)
-Language(剧本语言)


四、脚本编辑基础

这个脚本编辑器采用了按照程序员的行话说法是“基于事件(Event-oriented),时间驱动(Time-driven)”的脚本语言,通俗说法就是脚本完全只由各种各样的事件构成,而这些事件的触发只依赖于时间

三个术语:事件(Event),旗帜(Flag),标记(Label)

-事件:就是在剧本中特定条件特定时间发生的事件。剧本中充斥着事件,比如说在没有发布戒严令或者提前大选的条件下,4年一度举行例行大选、连续三年发生自然灾害等,这些都是事件。

-旗帜:其实就是逻辑变量,有两种值“raised”和“lowered”,分别代表逻辑值“真”和“假”,用来判断事件发生的条件。比方说上面的例子中发布了戒严令,那么4年一度的例行大选的条件就为假,就中止了大选事件的发生。虽然说改变旗帜的值这个动作是隐式的,是在后台发生改变的,玩家玩的时候感受不到,但它也是一个事件。

-标记:用来标注对象集合,将对象集合与特定的字串关联起来。可以是岛民,可以是建筑,也可以是游客。有些事件的发生会关联到某个或者某些对象,需要我们用标记指明是哪个或者哪些对象。比方说屠杀某个或者某批岛民事件,炸掉某个或者某种建筑事件。标记对象集合这个动作和改变旗帜一样也是事件。

可以说,每一个动作都是一个事件,所以我将主界面中的“New”按钮翻译成“添加事件”。

每种标准事件都具有的四个参数:条件(Condition Flag),激活日期(Date),重复次数(Repetitions),重复间隔(Month between)。这四个参数每种标准事件都有,后面详细说明标准事件的时候不再赘述。

-条件(Condition flag):绑定一个旗帜作为事件发生的条件(可以绑定为已有的旗帜,也可以在这里新建一个旗帜,新旗帜默认值为假)。如果绑定已有旗帜为真,而且事件已经激活,就触发事件发生

-日期(Date):于指定的年月日激活事件。如果没有绑定旗帜,该事件一旦激活立即发生

-重复次数(Repetitions):设置事件重复发生的次数,1代表不重复,0和负值都被视为1

-重复间隔(Month between):事件重复发生的最小间隔,单位为月,负值视为0,即无间隔。有两点需要注意:一是最小间隔,因为如果绑定的旗帜在间隔内发生变化,那么事件并不一定在指定间隔后准时发生。我们可以理解成在一定间隔后重新激活了这个事件;二是间隔从前一次该事件发生以后开始计算,而不是从事件激活的时刻开始

这四个参数的概念不好理解,我再举四年一度的大选为例:此事件条件绑定到我们新建的自定义的“没有颁布戒严令”旗帜,在游戏一开始就激活,重复2147483647次(即系统最大值21亿次,够你玩一辈子了),间隔为48个月。其实这是有问题的:如果初始没有戒严,即旗帜为真,那么剧本一开始就通知你今年大选了啊准备准备吧。搞笑么,脚跟都还没站稳,人都还不认识,而且正是艰难的创业阶段,一年后估计就落选Game Over了。所以要稍微过一阵子再开始,比方说先过两年再开始例行大选,那么一种简单的实现方法是把事件激活日期改为游戏开始后两年。这里我假设游戏开始是1900年,那么在1902年一月,四年一度的选举事件激活,如果总统没有戒严,立即举行大选,一年后结果公布:现任临时总统即使有舞弊行为还只是一票险胜。总统觉得太玄,立即颁布戒严令,也就是在1903年一月颁布了戒严令,把“没有颁布戒严令”旗帜设为了假,表面上中止了例行选举制度。而事实上事件没有中止,在四年后也就是1906年一月再次激活,但是由于戒严令,没有能够如期发生。事件一直等待总统取消戒严令。终于在总统选举获胜5周年纪念日的时候,也就是在1908年一月,总统自己觉得站稳了脚跟,想弄场选举玩玩,趁机在TNT广播里吼吼过把瘾,也可以看看人民到底对他有多爱戴,于是恢复了选举制度。那个早就激活了两年并苦等了两年的事件终于可以发生了,紧张的选举工作立即展开。于1909年一月公布结果总统获得了压倒性的胜利。关键问题来了:事件会不会在激活四年后也就是1910年再次激活呢?如果人民敬爱的总统得意忘形忘了颁布戒严令,那么如果事件果真在1910年再次激活,就立即发生。倒霉的总统刚连任了一年还没做过瘾,又要选举了……当然不可能,选举事件将在第二次选举发生后的四年再次激活,也就是在1912年的时候。据说选举如期举行,总统胸有成竹都不用发表演说了。衷心祝愿我们敬爱的总统能够继续连任……


五、事件目录

以下为标准事件:
-Messages(消息事件,即右边弹出对话框的事件)
-Label Buildings(标记建筑)
-Label Citizens(标记岛民)
-Label Tourists(标记游客)
-Affect Buildings(设置建筑)
-Affect Citizens(设置岛民)
-Affect Tourists(设置游客)

以下为非标准事件:
-Objectives(主要任务)
-Bonus Objectives(次要任务)
-Politics(政治事件)
-Flag Operations(操作旗帜)
-Other(其他事件)


六、Messages(消息事件)

1、Message(弹出消息对话框)
-Source(消息发送人,可以设置为总统自己,岛民,一个派系或者一段自定义的文字)
-Title(消息的标题)
-Text(消息的正文)

2、Choice(选项事件,参数不做说明即同上)
-Source
-Title
-Text
-Choice 1,2,3,4(最多有4个选项的文本说明)
-Flags 1,2,3,4(设置相应的旗帜为真,可以在这里新建旗帜)


七、Label Buildings(标记建筑)

1、Label buildings by type(以类型标记建筑)
-Operation(标记操作类型。与下面的标记名参数Label相关。有设置标记Set、添加该类型到已有标记Add、在已有标记中排除其他类型Restrict、在已有标记中排除该类型Exclude)
-Label(标记名。对应上面不同的操作类型或是填入新的标记名,或是已存在的标记名)
-Building Category(建筑大类)
-Building Type(大类中的某种建筑,或者这大类建筑。也有装饰物,雕塑,公路甚至拆除等)

2、Label buildings by parameter(以特定参数标记)
-Operation
-Label
-Parameter(参数有维护费,建造费用,服务质量,服务费,工作质量,现有员工数,最大员工数,建造时长供选择)
-Min Value(参数的最小整数值)
-Max Value(参数的最大整数值,和最小值形成一个范围。相应参数在这个范围内的建筑都将纳入标记)

3、Label buildings by proximity(以相对距离标记)
-Operation
-Label
-Distance to(参照物,可以是总统自己,建筑,岛民,总统府或者是你定义的标记)
-Maximum distance(最远距离。以参照物为圆心,最远距离为半径画圆,在圆内的一切建筑将纳入标记)

4、Combine Building Labels(合并建筑标记)
-Combination(可以选择将两个建筑标记合并、挑出两个标记中共有的建筑或者去除第二个标记中已有的建筑,概念相当于数学中集合的并集、交集或者两个集合的差)
-Label(第一个标记,第一个标记将被修改为运算后的新值)
-Label to combine(第二个标记)

5、Choose random buildings(随机筛选出一批建筑留在标记中,落选的全部删除)
-Label(筛选范围,筛选事件完成后将只保存中选的建筑)
-Percentage limit(中选建筑的最大值在原有标记中占的比重)
-Count limit(中选建筑的最大值,如果和比重一起设置的话,取结果较小的值)

6、Choose buildings by distance(以相对距离大小筛选建筑)
-Label
-Percentage limit
-Count limit
-Limit by(有两种选择方法,一种Shortest是选择范围内距离参照物最近的N个建筑,一种longest是范围内距离参照物最远的N个建筑)
-Distance to

7、Choose buildings by parameter(以特定建筑参数筛选建筑)
-Label
-Percentage limit
-Count limit
-Limit by(也有两种方法,取相应参数值最大的或者取最小的)
-Parameter(参数有维护费,建造费用,服务质量,服务费,工作质量,现有员工数,最大员工数,建造时长供选择)


八、Label Citizens(标记岛民)

1、Label citizen by type(以类型标记)
-Operation(标记操作类型。与下面的标记名参数Label相关。有设置标记Set、添加该类型到已有标记Add、在已有标记中排除其他类型Restrict、在已有标记中排除该类型Exclude)
-Label(标记名。对应上面不同的操作类型或是填入新的标记名,或是已存在的标记名)
-Class(岛民身份,除了各种职业以外还包括母亲,男孩女孩,男失业者,女失业者,退休人员,造反派等)
-Gender(性别。any是指男女不限,不要想歪)
-Birth Place(出生地。是土著人还是外国人还是不限等等选项)
-Education(文化程度。不限,文盲,高中或者大学)
-Family status(家庭状况。有单身,已婚,有没有孩子等选项)

2、Label citizen by parameter(以特定参数标记)
-Operation
-Label
-Parameter(参数有总幸福指数,各项幸福度,年龄,工资,工作质量,智商,勇气,子女数,文化水平等)
-Min Value(参数的最小整数值)
-Max Value(参数的最大整数值,和最小值形成一个范围。相应参数在这个范围内的岛民都将纳入标记)

3、Label citizen by proximity(以相对距离标记,同建筑一样)
-Operation
-Label
-Distance to(参照物,可以是总统自己,建筑,岛民,总统府或者是你定义的标记)
-Maximum distance(最远距离。以参照物为圆心,最远距离为半径画圆,在圆内的一切市民将纳入标记)

4、Label citizen by faction(以政治派别标记)
-Operation
-Label
-Faction(派别。不限或者七大派别中的一个)
-Level of Support(派别忠诚度。有不限,派别领导,死忠,强力支持,和一般支持等)

5、Label citizen by family(以家庭关系标记)
-Operation
-Label
-Related to(和谁有关)
-Relation(什么关系,夫妻关系还是亲子关系等)

6、Label workers(标记在职员工)
-Operation
-Label
-Buildings(在哪里供职)

7、Label customers(标记顾客)
-Operation
-Label
-Buildings(正在哪里消费)

8、Combining citizen labels(合并标记)
-Combination(可以选择将两个岛民标记合并、挑出两个标记中共有的人或者去除第二个标记中已有的人,概念相当于数学中集合的并集、交集或者两个集合的差)
-Label(第一个标记,第一个标记将被修改为运算后的新值)
-Label to combine(第二个标记)

9、Choose random citizens(随机筛选岛民)
-Label(筛选范围,筛选事件完成后将只保存中选的岛民)
-Percentage limit(中选岛民的最大值在原有标记中占的比重)
-Count limit(中选岛民的最大值,如果和比重一起设置的话,取结果较小的值)

10、Choose citizen by distance(以相对距离大小筛选岛民,同建筑一样)
-Label
-Percentage limit
-Count limit
-Limit by(有两种选择方法,一种Shortest是选择范围内距离参照物最近的N个岛民,一种longest是范围内距离参照物最远的N个岛民)
-Distance to

11、Choose citizen by parameter(以特定参数筛选)
-Label
-Percentage limit
-Count limit
-Limit by(也有两种方法,取相应参数值最大的或者取最小的)
-Parameter(参数有年龄,工资,工作质量,智商,勇气,领导力,子女数,文化水平等)