-
Notifications
You must be signed in to change notification settings - Fork 6
Mapping(zh)
Gamepiaynmo edited this page Aug 7, 2020
·
2 revisions
这一节将讲述如何使用BML来简化Ballance地图制作。
目前在地图内插入脚本的方法是使用一个脚本插入模板。MapScripts这个自带模组简化了这一流程,它将在特定的时间激活拥有特定名字的脚本。例如,在BML演示关卡内有一个名为BML_OnPostLoadLevel的脚本:
如同在模组中监听消息一样,这些脚本会在特定的消息被发送时触发。例如BML_OnPostLoadLevel这一脚本将在关卡加载完毕时激活。此脚本的功能是设置部分贴图的内存格式以恢复自制图中的柱子和灯笼外观。
这里列出了所有会被激活的脚本名称:
BML_OnPostLoadLevel
BML_OnStartLevel
BML_OnPreResetLevel
BML_OnPostResetLevel
BML_OnPauseLevel
BML_OnUnpauseLevel
BML_OnPreExitLevel
BML_OnPreNextLevel
BML_OnDead
BML_OnPreEndLevel
BML_OnPostEndLevel
BML_OnCounterActive
BML_OnCounterInactive
BML_OnBallNavActive
BML_OnBallNavInactive
BML_OnCamNavActive
BML_OnCamNavInactive
BML_OnBallOff
BML_OnPreCheckpointReached
BML_OnPostCheckpointReached
BML_OnLevelFinish
BML_OnGameOver
BML_OnExtraPoint
BML_OnPreSubLife
BML_OnPostSubLife
BML_OnPreLifeUp
BML_OnPostLifeUp
这些脚本激活的时机请参考API文档。
在2020/7/24,Zzq_203发布了第一张使用脚本实现双球操作的地图:All-We-Know。不是同时操作两个球,而是轮流操作两个球。
自带模组DualBallControl即为受这张地图启发而制作,其简化了双球操作的实现流程,并且实现了一些脚本所无法实现的功能:顺畅的摄像机切换,和支持变球。双球地图制作过程如下:
-
像普通地图一样构建路面和机关,除了给每个出生点或盘点预留两个位置。
-
导出到Virtools之后,将每个PS_FourFlames、PC_TwoFlames和PR_ResetPoints复制一份,并在其名字后加上“_dual”后缀,但不要将其归组:
-
然后调整它们的位置到第二个球出生点/盘点:
双球地图就完成了。你可以现在加载地图查看是否工作正常。BML的演示关卡也使用了这个mod实现双球操作,可供参考。