赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 204614 |
最后登录 | 2019-11-20 |
在线时间 | 1046 小时 |
- 梦石
- 0
- 星屑
- 79
- 在线时间
- 1046 小时
- 注册时间
- 2020-1-1
- 帖子
- 1741
|
2楼
楼主 |
发表于 2010-12-15 14:46:39
|
只看该作者
0.actOver
无实际用途,在原版脚本中一次也没出现过,可忽略
1.actDelay
后接一个大于0的整数,如10。作用是延时XX(单位不明,猜测60为1秒),中间什么都不做,主要用来表示剧情中必要的停顿,控制节奏。
例: actDelay,10 -> 1,10
2.actWalk
[角色种类][编号][目的地x坐标][目的地y坐标][移动速度]
使某个指定角色移动到指定地点,剧情中的人物移动(如敌人的出现和撤退)很多都是由它完成的。其中角色种类就是ENEMY或PLAYER,编号只对敌方非boss有效,因为他们通常都不止一个,注意每个敌人的编号并不是固定的,假如战场上有5个一般兵,编号1~5,当前4个阵亡时,5号一般兵就会变为1号。目的地坐标就是你想让该角色移动到的地方,想让他走到左上角,那么xy就为(0,0)。移动速度就是角色向目的地移动的快慢,有5个等级:0和4表示默认速度,1为最慢,16为最快,但从实际表现上看8和16似乎区别不大,为了修改时便于控制字节数,我一般都设为8。
例1: actWalk,SID_筽稼纨,1,1088,640,0 -> 2,SID_筽稼纨,1,1088,640,0
例2: actWalk,SID_ENEMY023,1,1088,640,8 -> 2,SID_ENEMY023,1,1088,640,8
3.actWalkWait
[角色种类][编号][目的地x坐标][目的地y坐标][移动速度]
功能和用法与actWalk几乎一样,唯一的差别就是用actWalkWait移动角色时,在角色到达目的地之前后面的指令是不会执行的,比如在“actWalkWait,SID_筽稼纨,1,1088,640,0”之后还有一个“actWalk,SID_ENEMY023,1,1056,640,8”,那么在雷走到(1088,640)之后,一般兵才会向(1056,640)移动;而用“actWalk,SID_筽稼纨,1,1088,640,0”的话,当雷开始移动后,一般兵会马上开始行动,两者几乎是同步的。
4.actWalkAndDelete
[角色种类][编号][目的地x坐标][目的地y坐标][移动速度]
参数和actWalk相同,但功能上要多一个,就是当角色走到目的地后,会自动从地图上消失,游戏中敌人的撤退剧情就是用的这个。
例: actWalkAndDelete,SID_ENEMY049,1,1024,320,8 -> 4,SID_ENEMY049,1,1024,320,8
5.actWalkAndDeleteWait
[角色种类][编号][目的地x坐标][目的地y坐标][移动速度]
与actWalkAndDelete的区别就像actWalkWait和actWalk的区别一样,角色消失前下一个指令不会执行
例: actWalkAndDeleteWait,SID_ENEMY054,1,960,320,8 -> 5,SID_ENEMY054,1,960,320,8
6.actWalkDisp
[角色种类][编号][相对x坐标][相对y坐标][移动速度]
也是移动角色,但和actWalk不同的是,坐标参数是相对值,而不是绝对值。例如雷的当前坐标是(320,320),执行“actWalkDisp,SID_筽稼纨
,1,128,64,8”后,雷会向坐标(448,384)移动,即x = 320 + 128,y = 320 + 64。如果要向左或上走的话就用负值。
例: actWalkDisp,SID_筽稼纨,1,256,256,16 -> 6,SID_筽稼纨,1,256,256,16
7.actWalkDispWait
[角色种类][编号][相对x坐标][相对y坐标][移动速度]
也是和actWalkDisp一样,区别不用多说了吧……
8.actWalkPrevInsertObject
[目的地x坐标][目的地y坐标][移动速度]
将新加入地图的单位移动到某地。这个也是移动用的,但他的移动目标仅限于刚刚出现在战场的增援,如果连续加入了2个单位,那么该命令控制的就是第二个(即最后一个),如果想让两个单位都移动,那么就要执行两次(详见18.actInsertObject)。
例: actWalkPrevInsertObject,480,480,0 -> 8,480,480,0
9.actWalkPrevInsertObjectWait
[目的地x坐标][目的地y坐标][移动速度]
老声重谈了……跳过……
10.actMessage
[角色种类][编号][对话编号]
剧情对话指令,游戏中所有的对话都是用这个实现的,可以说是最常见的指令(剧情中没有战斗的地图出现过,没有对话的地图可没见到过…
…)。前两个参数决定说话的人,最后一个参数决定这个人说什么。在data1或star1文件的下半部有很多文字,前面写着item = xxx,这就是对话编号,后面的文字就是内容,当然不用南极星是看不出来的。在指令中根据你填的对话编号,游戏会自动将它对应的文字显示在对话框中。
直接修改文字也是可以的,这里的图就是这么做出来的。如果地图中没有该角色则不会执行。
http://tieba.baidu.com/f?kz=341315864
例:actMessage,SID_筽稼纨,1,975 -> 10,SID_筽稼纨,1,975
11.actMessageIfExist
[角色种类][编号][返回值为真时的对话编号][返回值为假时的对话编号][数量标准][检查的人物类型]
也是对话指令,但比actMessage要复杂一些,它在执行前要做一个判断。检查的人物类型就是一种角色种类,当地图中有这个类型的人物时,即为满足条件,数量标准是这个类型角色的数量,当地图中这个类型的人物数量与数量标准一致时,条件成立,返回值为真,否则返回值为假。(如果大与数量标准是否成立就不得而知了,毕竟这个指令用的机会太少,有兴趣的朋友可以试试)
根据返回值的不同,角色说的话就会产生变化,如果对话编号为0的话就是不说。
例:actMessageIfExist,SID_砾,1,2092,0,1,SID_〣翽 -> 11,SID_砾,1,2092,0,1,SID_〣翽
(古代神殿遗迹前的剧情,当有咕噜时,琥会说“嗯,它怎么了?”否则他什么都不会说,就是因为“返回值为假时的对话编号”那里是0)
12.actShowSectionName
[图片名称]
显示战役标题,就是每关开始之前出现的那个LOGO。参数只有一个,如果不知道各关对应的图片的话,可以用RV查看。
13.actChangeShape
[角色种类][编号][图片延迟][图片名字][图片编号]
说老实话,这个我也没用过- -| 游戏中MS也只有失落这关出现过,就是雷推开一般兵逃跑时那段,当时一般兵的图象发生过变化,用的就是这个。图片名字可以用RV查找,图片编号MS就是帧数……
14.actChangeShapeWait
[角色种类][编号][图片延迟][图片名字][图片编号]
多个等待而已,不多说了……
15.actPlaySound
[声音编号]
播放音效,失落这关雷推开一般兵,猎杀红龙从瀑布中飞中,用的都是这个。声音编号在对话集开头可以查到
WAV\ACCEPT01.WAV
WAV\TAKEUP01.WAV
WAV\PUT00003.WAV
WAV\LEVELUP2.WAV
WAV\MHEAL001.WAV
WAV\CAST001.WAV
WAV\HIT00001.WAV
WAV\HIT00004.WAV
WAV\HIT00016.WAV
WAV\HIT00012.WAV
WAV\HIT00007.WAV
WAV\HIT00007.WAV
WAV\GAMEOVER.WAV
WAV\WALK0014.WAV
WAV\WALK0021.WAV
WAV\GOLD001.WAV
WAV\EFF0014.WAV
例:actPlaySound,WAV\WATERUP001.WAV -> 15,WAV\WATERUP001.WAV
16.actDeleteObject
[角色种类][编号]
让角色离开战场,和actWalkAndDelete的区别就是之前不移动,直接令角色消失
17.actRestoreShape
[角色种类][编号]
使角色的动作恢复到初始状态。剧情中四魔将使用世界树之叶后,就是用这个使其恢复站立状态,否则他会一直在那里摆使用道具的pose,老版本的幻会有汉克斯抽疯的情况发生,很可能就是少了这句。另外古代神殿遗迹中没有按顺序打柱子的话会变回蓝色,也是用的这个。
18.actInsertObject
[角色种类][x坐标][y坐标]
在战场中加入新角色,战场上的增援就是用这个实现的,x、y坐标就是角色出现的地点。大多数情况下角色都不是在战场中央突然出现的,而是从版边走进战场,因此要把他们的坐标设在地图之外,然后再配合actWalkPrevInsertObject或actWalkPrevInsertObjectWait让他们走进来
,这样就自然了。注意actWalkPrevInsertObject控制的是最后一个出现的角色,如果连用了两次以上的actInsertObject的话,就要在每一句后面都加上actWalkPrevInsertObject才有效。例如:
action = actInsertObject,obj_Story_Level_Enemy33,288,-96
action = actInsertObject,obj_Story_Level_Enemy34,320,-64
action = actWalkPrevInsertObject,352,160,0
action = actWalkPrevInsertObject,256,128,0
按照上面的脚本只有坐标为(320,-64)的角色会移动,而坐标为(288,-96)的角色仍会留在地图外,这样一来他虽然也在地图上,但无法作出任何行动,只能白白浪费内存(虽说也没几个字节……)。如果加入的是我方角色,那就是明显的bug了……
正确的写法:
action = actInsertObject,obj_Story_Level_Enemy33,288,-96
action = actWalkPrevInsertObject,352,160,0
action = actInsertObject,obj_Story_Level_Enemy34,320,-64
action = actWalkPrevInsertObject,256,128,0
按照java的话说,就是new出了一个对象,而兵种就是一个类,每生成一个角色都是一次实例化,但我方角色和BOSS每个战场只能出现一个(莫非是静态的……)
19.actScrollBGToPos
[x坐标][y坐标]
移动镜头,即将当前的屏幕移到地图中的制定位置。
例:actScrollBGToPos,544,480
20.actScrollBGToObject
[角色种类][编号]
也是移动镜头,不同的是这个不是直接设定坐标,而是从指顶的角色身上获取坐标,即将镜头拉到他的身上。
例:actScrollBGToObject,SID_ENEMY048,1 -> 20,SID_ENEMY048,1
21.actSetBGToObject
[角色种类][编号]
也是以角色的坐标移动镜头,区别是actScrollBGToObject是滚动,而actSetBGToObject是即时切换。
例:actSetBGToObject,SID_ENEMY048,1 -> 21,SID_ENEMY048,1
22.actInsertWinStatus
[编号]
加入胜利条件,每关都会用到的语句。一般都是在战斗前使用,也有些会根据剧情中途出现,比如离散。编号指的是[win]下面的code,它调用的就是该[win]中的所有语句,有点类似函数。
例: actInsertWinStatus,0 -> 22,0
[win]
code = 0
message = -1,121
action = actCheckEnemyTotalNumber,0
action = actSetNextPlayLevelEvent,21,gameBigMapLevel
“code = 0”表示编号为0,胜利条件为多个时用来区分,“message = -1,121”就是查看胜败条件时显示的面版,-1和121都是对话编号,游戏中两个是连在一起显示的,-1表示前半部没有文字信息。“action = actCheckEnemyTotalNumber,0”就是判断条件,即当敌人数量为0时执行后面的指令。
23.actInsertFailStatus
加入失败条件,原理同上。
例: actInsertFailStatus,0 -> 23,0
[fail]
code = 0
message = SID_筽稼纨,122
action = actCheckPlayer,1,SID_筽稼纨
24.actInsertEventStatus
[编号]
加入剧情,和前面两个差不多,只不过不影响胜负,事件用[event]表示
例:actInsertEventStatus,1 -> 24,1
[event]
code = 1
………………
25.actDeleteWinStatus
[编号]
消除胜利条件
例:actDeleteWinStatus,0 -> 25,0
26 actDeleteFailStatus
[编号]
消除失败条件
1.05之前的残光这关,即使缇娜撤退也会gameover,就是因为在事件中没有这个语句,所以失败条件仍然成立,缇娜消失后系统误以为她阵亡了。
27 actDeleteEventStatus
[编号]
消除剧情事件
28 actReplaceWinStatus
[旧编号][新编号]
游戏中MS没有用过,不过从字面上不难看出是替换胜利条件的,同时具有actInsertFailStatus和actDeleteWinStatus的功能
29.actReplaceFailStatus
替换失败条件
30.actReplaceEventStatus
替换剧情事件
31.actShowWinFailStatus
显示胜败条件,就是每次开场前出现的那个,一般跟在actShowSectionName后面,无任何参数
例:actShowWinFailStatus -> 31
32.actChangePrevInsertObjectID
[编号]
更改角色编号,用于锁定特殊角色。例如遗产这关,消灭特定守护者后对应的门会打开,但前面说过了,随着守护者的减少,它们的编号随时在发生变化,这样就无法准确判断了。使用actChangePrevInsertObjectID就可以解决这一问题,编号更改后,无论地图上有多少同类型单位,他的ID永远是你给定的数。注意:他和actWalkPrevInsertObject一样,只对最后一个有效。
例:actChangePrevInsertObjectID,10000 -> 32,10000
33.actSetPrevInsertObjectWaitRound
[整数]
令刚加入战场的单位等待n回合,n=输入的整数。同样只对最后加入的单位有效,使用后该单位会等待n回合后才开始行动,但如果这期间有敌人接近,待机会自动取消。
例:actSetPrevInsertObjectWaitRound,5 -> 33,5
34.actSetWaitRound
[角色种类][编号][整数]
令特定角色待机
35.actCheckEnemy
[类型数量][类型1][类型2][...]
判断语句,通常放在胜败条件、剧情事件的第二行(没有文字提示的话就是第一行)。类型数量是类型1~类型n的兵种数之和,后面的就是类型,当这些类型的单位数量均为0时条件达成,执行下面的指令。
例:actCheckEnemy,3,SID_ENEMY041,SID_ENEMY043,SID_ENEMY038 -> 35,3,SID_ENEMY041,SID_ENEMY043,SID_ENEMY038
36.actCheckEnemyNumber
[角色种类][数量]
检查某个兵种的数量,当实际数量小于给定的数量时,执行下面的指令。
例:actCheckEnemyNumber,SID_ENEMY041,3 -> 36,SID_ENEMY041,3
37.actCheckEnemyTotalNumber
[数量]
当敌人总数小于或等于该数量时,执行下面的指令。
例:actCheckEnemyTotalNumber,0 -> 37,0 (一般为胜利条件,当敌人全灭时……)
38.actCheckPlayer
[类型数量][类型1][类型2][...]
和actCheckEnemy类似,只不过检查的是我方角色。
例:actCheckPlayer,1,SID_筽稼纨 -> 38,1,SID_筽稼纨 (失败条件,当雷阵亡时……)
39.actCheckPlayerTotalNumber
[数量]
和actCheckEnemyTotalNumber类似,检查的是我方角色。
例:actCheckPlayerTotalNumber,0 -> 39,0
40.actCheckRoundNumber
[数量]
判断语句,当当前的回合数大于等于给定值时,执行下面的指令。
例:actCheckRoundNumber,10 -> 40,10 (第10回合发生剧情)
41.actCheckPlayerArrivePos
[角色种类][编号][最小x坐标][最小y坐标][最大x坐标][最大y坐标]
判断某单位的位置。以最小xy坐标为起点、以最大xy坐标为终点画一个矩形,当指定角色的坐标处于这个矩形中时,执行下面的指令。决意、辉煌和离散的胜利条件都是这么判断的。
例:actCheckPlayerArrivePos,SID_筽稼纨,1,224,0,448,0 -> 41,SID_筽稼纨,1,224,0,448,0
42.actCheckPlayerAttacked
[攻击方兵种][被攻击方兵种]
判断战斗情况,当前面的人攻击后面的时,执行下面的指令。雷、克罗蒂与塔克斯交战后会发生对话,用的就是这个。至于塔克斯攻击雷或克罗蒂也会触发剧情,是因为脚本中写了两个判断,这两个判断其他地方都一样,只是攻击方和被攻击方调了个个,当一个被触发后,会用actDeleteEventStatus取消另一个。
例:actCheckPlayerAttacked,SID_筽稼纨,SID_ENEMY066 -> 42,SID_筽稼纨,SID_ENEMY066
43.actSetNextPlayLevelEvent
[地点][事件]
战斗结束后,在跳转回大地图时将队伍放到指定的地点。地点的代号可以到hsldata2(star2)查询,我之前没总结过,有时间的话再给出吧……事件的用法不大清楚,游戏中MS都是用gameBigMapLevel,照着写就是了……
例:actSetNextPlayLevelEvent,38,gameBigMapLevel -> 43,38,gameBigMapLevel
44.actDEMO
好像是播放动画,无参数,用法不明……
45.actPlayLevelMusic
播放当前关对应的音乐,无参数。一般都是放在脚本的前几句。
46.actPlayMusic
[音乐id]
播放指定的音乐,但战斗中一旦读取存档,音乐会自动切回“当前关对应的音乐”。
例:actPlayMusic,8 -> 46,8
47.actInsertStoryObject
[角色种类][x坐标][y坐标]
加入新效果,在指定地点添加特殊效果,比如崩陷的烟。
例:actInsertStoryObject,obj_Story_Level10_Fire,524,342 -> 47,obj_Story_Level10_Fire,524,342
上面的x、y坐标并不像角色那样,以32为步长增长。角色坐标都是以32为一个单位的,写0和写31没有区别,估计是因为该函数运算之前除了一下32,这样在int类型的情况下(只取整)32以内的数就没有区别了。
48.actDarkScreen
黑屏,没有参数。通关时缇娜和汉克斯的对话就是用的这个效果。
49.actDeleteDarkScreen
顾名思义,取消黑屏……
50.actWalkFollow
[角色种类][编号][目标种类][目标编号]
令指定单位跟随目标移动,雷与妖精王冲突时,重装兵押雷下殿用的就是这个。
例:actWalkFollow,SID_ENEMY023,3,SID_ENEMY029,1,0 -> 50,3,SID_ENEMY029,1,0
51.actWalkFollowWait
[角色种类][编号][目标种类][目标编号]
和actWalkFollow一样,多个等待功能
52.actMove
[角色种类][编号][目的地x坐标][目的地y坐标][移动速度]
移动的一种,我没用过,不过从游戏效果判断应该是“不切换移动图片的帧数,直接平移过去……”,游戏中只有失落一关用过,就是那个挨打的一般兵。
53.actMoveWait
[角色种类][编号][目的地x坐标][目的地y坐标][移动速度]
还用再说吗- -|
例:actMoveDispWait,SID_ENEMY023,3,0,-64,8 -> 53,SID_ENEMY023,3,0,-64,8
54.actMoveDisp
[角色种类][编号][相对x坐标][相对y坐标][移动速度]
相对平移,也不用多说了吧……
55.actMoveDispWait
[角色种类][编号][相对x坐标][相对y坐标][移动速度]
有一句话叫温故而知新……
56.actSetPrevInsertObjectAdjustLevel
[等级上限][等级浮动值]
更改角色的等级上限和等级浮动值,这两个也是角色的属性,作用参照此贴。
http://tieba.baidu.com/f?kz=255061948
例:actSetPrevInsertObjectAdjustLevel,1,0 -> 56,1,0
此外这个也是只对最后加入的单位有效。
57.actSetUseShapeWait
[code][serial]
游戏中没出现过,我也不知道干嘛用的……- -|
58.actInsertShowPosObject
[x坐标][y坐标]
点亮地图中指定的某个格子,用来显示逃跑区域。
例:actInsertShowPosObject,416,288 -> 58,416,288
当逃跑范围很大时,就多用几个-_-b
59.actDeleteShowPosObject
消除点亮的坐标。显示完胜败条件,返回游戏时用来取消提示。如果不手动取消的话,读档后也会自动取消。
60.actSetDeadMessage
[角色种类][编号][对话1][对话2]
设定角色遗言-_-b 当角色死亡时,会说出对话1或对话2里的话,如果两个均为0,则没有遗言,如果都不是0,则随机说一句。只在本关有效。
例:actSetDeadMessage,SID_纙,1,1376,0 -> 60,SID_纙,1,1376,0
61.actWalkToPlayerDisp
[角色种类][编号][目标角色种类][目标编号][相对x坐标][相对y坐标][速度]
令角色移动到目标附近的某处,遭遇这关出现过(雷走到缇娜身边)。比如目标的坐标是(416,416),相对x坐标为-32,相对y坐标为32,则角色会移动到目标的左下方,即(384,448)。
例:actWalkToPlayerDisp,SID_筽稼纨,1,SID_绛甊,1,32,0,8 -> 61,SID_筽稼纨,1,SID_绛甊,1,32,0,8
62.actWalkToPlayerDispWait
[角色种类][编号][目标角色种类][目标编号][相对x坐标][相对y坐标][速度]
参照actWalkToPlayerDisp
63.actPlayDefaultLevelMusic
也是播放音乐用的,只是参数不明,加上读档后仍会还原,所以还是建议用actPlayMusic
例:actPlayDefaultLevelMusic,2 -> 63,2
64.actSetPlayerUndead
[角色种类][编号][模式]
让某个角色不死,几乎所有boss都会用这个。模式也是一个数值型参数,0为取消该角色的不死特性,值为1时,当该角色的HP为0时,会自动变为1(大于1时会不会按非0算就不知道了,我不知道幻是用什么语言编的……)。boss被打败后不会立即阵亡就是这个道理。actSetPlayerUndead配合actUseItem就可以实现四魔将自动复活的功能了。(详见下文)
例:actSetPlayerUndead,SID_ENEMY053,1,1 -> 64,SID_ENEMY053,1,1
65.actCheckPlayerHPLow
[角色种类][编号][百分比]
判断语句,当指定角色的HP低于给定的百分比时,条件成立。
例:actCheckPlayerHPLow,SID_ENEMY053,1,40 -> 65,SID_ENEMY053,1,40
66.actSetPlayerMode
[角色种类][编号][模式][标志]
改变角色阵营,变节中的克罗蒂就用到过。说真的,这个我用的也不是很好,标志参数的意思到现在还不明白……MS还要和data2(star2)配合着用,总之很麻烦……
模式就是角色的阵营,参数有三种:pmEnemy、pmPlayer、pmNpc。
例:actSetPlayerMode,SID_霉甫,1,pmPlayer,1 -> 66,SID_霉甫,1,pmPlayer,1
67.actTRUE
判断语句,无参数。其实它和前面那些判断语句是一样的,只不过它是无条件返回TRUE值。(判断语句为真时返回TRUE,为假时返回FALSE)
例:action = actTRUE -> action = 67
68.actExecWinFailProcess
具体作用不明,只知道很多事件都用它结尾。但根据实验,去掉它们对游戏也没有影响-_-b 无参数
69.actKeepPlayerST
用于关卡切换的一种语句,可以使角色的气力保留到下一关,比如第一、二关和克莱恩城的那几关。
70.actSetTownExecEvent
[城镇编号][事件编号]
在指定城镇添加进入时的剧情。城镇编号是用town_ + 名字决定的,可以在data2(star2)中查到。事件编号可以在9town中查到,它也是由若干语句组成的指令集。事件编号为0的话表示取消事件,第一次进入玛哈亚、沙罗尼亚和亚雷比斯(居然都有“亚”-_-b)时出现的对话就是这么添加的,之后再将事件编号改为0取消,第二次进入就不会出现了。
例:actSetTownExecEvent,town_ㄈ筽ゑ吹,185 -> 70,town_ㄈ筽ゑ吹,185
71.actDeletePlayerCode
[角色种类][模式]
删除我方角色。当我方的角色在战斗中出现后,他就会自动加入队伍,之后查看人员状态时他都会被列出来。当参数“模式”为0时,就会把该角色从队伍中删除,就像他没加入过一样。如果参数为1,则他还会继续留在队中。决意这关缇娜出现过,而在双头的死神中查状态时没有她,就是用了这个(参数0);而在异种这关选择救咕噜的话,他不会离队(参数1)
例1:actDeletePlayerCode,SID_PLAYER1,0 -> 71,SID_PLAYER1,0
例2:actDeletePlayerCode,SID_〣翽,1 -> 71,SID_〣翽,1
72.actSetPrevInsertObjectEquip
[武器编号][装备部位]
改变角色的装备。武器编号就在“文字堆”里,这里也有介绍
http://tieba.baidu.com/f?kz=255061948
装备部位有6个,0代表武器, 1代表盔甲, 2代表头盔, 3代表鞋子, 4和5代表两个饰品。该指令只对最后出现的非我方单位有效。
例:actSetPrevInsertObjectEquip,2,0 -> 72,2,0
73.actAdjustAllPlayerLevel
应该和actSetPrevInsertObjectAdjustLevel是一样的,不过没有参数,不知道什么意思……
74.actShapeMessage
[图片名称][名字][对话编号]
剧情对话的一种,和actMessage的区别是它不需要角色在地图中,而且对话框是在屏幕上方出现。图片名称是人物头象的图片名,可以用RV查找,或者在9player中查找人物的picture属性。名字就是显示在对话上方的说话人姓名,它和对话编号一样,都是整数,也是在文字定义处查找。宣战后妖精王和塔克斯、克罗蒂谈话,地图上并没有他们,确能显示他们的头象,用的就是这个,达人版最后雷能露脸也是拜它所赐。
例:actShapeMessage,SHAPE\FACE0054.SHP,306,1003 -> 74,SHAPE\FACE0054.SHP,306,1003
75.actScrollBGToPosSpeed
[x坐标][y坐标][速度]
滚动屏幕,作用和actScrollBGToPos一样,只是多了一个速度参数。速度包括1、2、4、8、16五个等级,数值越大屏幕滚动越快。
例:actScrollBGToPosSpeed,992,832,4 -> 75,992,832,4
76.actSetWalkSoundMode
[模式]
播放移动音效(脚步声)。参数“模式”其实就是一个布尔值,0表示停止,1表示播放。不过这个指令在失落和怒涛都出现过,一次是村民的脚步声,一次是海辉魔的,这两种音效是不一样的,游戏中却都是用的这个……唯一的解释就是它能根据移动的角色自动判断音效……(actSetWalkSoundMode之前有许多actWalk)
例1:actSetWalkSoundMode,1 -> 76,1
例2:actSetWalkSoundMode,0 -> 76,0
77.actDeletePosObject
[x][y][range][proc code]
又是一条没用过的指令……应该是去除光影效果,辉煌这关雷拔剑时出现过。
78.actInsertStoryObjectWait
[角色种类][x坐标][y坐标]
参照47.actInsertStoryObject
79.actSelectInsertEvent
[角色种类][编号][分支总数][第1个选项文字编号][选项1调用的事件编号][第2个选项文字编号][选项2调用的事件编号][....]
分支选择。异种选择是否救咕噜、失落选择战还是逃,以及达人版中是否和席德尔单挑,都是用的这个。[角色种类][编号]和actMessage没有区别,分支总数就是可以选择的选项数目,最大不得超过8(转职为8)。“选项文字编号”就是文字提示,目的是让玩家知道自己选的是什么,根据编号显示对应的语句。最后根据选择的事件编号调用对应的事件。
例:actSelectInsertEvent,SID_筽稼纨,1,2,1810,3,1811,4 -> 79,SID_筽稼纨,1,2,1810,3,1811,4
80.actAddTE
[城镇编号][父菜单编号][子菜单总数][子菜单1][...]
在指定城镇添加场所。城镇编号不用解释了,父菜单就是进入城镇后最先看到的场所,一般来说每个父菜单都包含若干子菜单。酒馆就是一个父菜单,而酒馆中又包含如酒馆老板、服务员这些子菜单。父菜单和子菜单的编号在9town中查找及定义,它们和event是一个道理。
例:actAddTE,town_璃蝴吹翠,41,3,133,131,132 -> 80,town_璃蝴吹翠,41,3,133,131,132
81.actDeleteTE
[城镇编号][父菜单编号][子菜单总数][子菜单1][...]
去除子菜单。正好和上面相反。
例:actDeleteTE,town_创笷,172,1,174 -> 81,town_创笷,172,1,174
82.actSetPrevInsertObjectST
[气力值]
更改刚加入角色的气力值,20为一格,最大60,只对最后加入的有效。兽剑士经常用。
例:actSetPrevInsertObjectST,15 -> 82,15
83.actSetPlayerExecMode
[角色种类][编号][模式], = 0 player
改变我方角色控制方式。参数“模式”=0时为我方操控,=1时为电脑操控。救援(寻)这关嚎就用到了,达人版中变节的克罗蒂也是如此。
例:actSetPlayerExecMode,SID_纙,1,1 -> 83,SID_纙,1,1
84.actSetPlayerFixPos
[code][serial][x][y][distance]
不知道啥意思……
85.actGetItem
[道具编号][数量]
在仓库中添加道具。玩过达人版的朋友应该不陌生,过关奖励就是这么来的,而原版中的三把剑也是如此。道具编号在9item中查找或定义。
例:actGetItem,17,1 -> 85,17,1
86.actRandomSetSysArrivePos
[数量][x坐标1][y坐标1][x坐标2][y坐标2][...]
在若干个坐标中随机生成一个“真”的坐标,也就是五选一。例如寻这关的通行证位置。
例:actRandomSetSysArrivePos,5,992,448,992,416,1024,416,1056,416,1088,416 -> 86,5,992,448,992,416,1024,416,1056,416,1088,416
可以参照寻这关的攻略
http://tieba.baidu.com/f?kz=252508100
87.actCheckPlayerArriveSysPos
[角色种类][编号]
判断语句,检查角色是否处于随机出的“真”坐标。不用说,捡通行证自然是用这个。
例:actCheckPlayerArriveSysPos,SID_绛甊,1 -> 87,SID_绛甊,1
88.actWaitPlayer
[角色种类][编号]
等待角色行动完毕再执行下一条指令。
例:actWaitPlayer,SID_纙,1 -> 88,SID_纙,1
89.actSetPlayerName
[角色种类][编号][名字][职业]
改变角色的名字和职业名称,名字和职业都是文字编号。梅尔、凯文哥俩就是这么诞生的。
例:actSetPlayerName,SID_ENEMY062,2,725,724 -> 89,SID_ENEMY062,2,725,724
90.actChangePlayerID
[角色种类][旧编号][新编号]
改变角色编号,和actChangePrevInsertObjectID差不多。
例:actChangePlayerID,SID_ENEMY023,2,1001 -> 90,SID_ENEMY023,2,1001
91.actSetPrevInsertObjectFly
[模式]
令刚出场的角色可以飞行。当参数为1时可以飞行,为0时不能飞行。怒涛的两栖族可以从海面走到甲板上,就是因为这条指令(到达后再设为0取消飞行)。只对最后出现的人有效。
例:actSetPrevInsertObjectFly,1 -> 91,1
92.actSetPlayerFly
[角色种类][编号][模式]
和上一个差不多,可以对任何人用。
例:actSetPlayerFly,SID_ENEMY048,8,1 -> 92,SID_ENEMY048,8,1
93.actUseItem
[角色种类][编号][道具编号]
让角色使用道具。最经典的例子就是四魔将复活(让他们使用世界树之叶),当然要实现这个还要和actSetPlayerUndead配合使用。
例:actUseItem,SID_ENEMY056,1,252 -> 93,SID_ENEMY056,1,252
94.actCheckRoundDisp
[整数]
相对回合数,即判断从该事件被调用起经过的回合数,达到数值后执行下面的指令。
例:actCheckRoundDisp,5 -> 94,5
95.actSetBMWalkToPoint
[起始点][终点]
大地图移动,离散后的几关都是用这个,地点编号在data2中。
例:actSetBMWalkToPoint,30,33 -> 95,30,33
96.actSetBMWalkerPlayerID
[角色种类]
设置大地图的领队(就是走路那个人),离散后琥就是用它带的队。
例:actSetBMWalkerPlayerID,SID_砾 -> 96,SID_砾
97.actSetBGToPos
[x坐标][y坐标]
将屏幕瞬间移动到某处。
例:actSetBGToPos,480,1120 -> 97,480,1120
98.actSetTownExitExecEvent
[城镇编号][事件编号]
在指定城镇添加离开时的剧情,和actSetTownExecEvent正好相反。在沙罗尼亚雷离开时会被琥发现,原因就是这个。
99.actInsertStoryObjectWaitPos
[类型][坐标数量][x坐标1][y坐标1][x坐标2][y坐标2]...
比actInsertStoryObject多个停顿,此外坐标也是从多个中随机出一个,阻碍这关的毒气就是这么实现的。
例:actInsertStoryObjectWaitPos,obj_Story_Level_PoisonGas,9,672,128,288,288,64,384,480,544,640,576,576,800,288,800,96,896,224,1056
100.actCheckNextSerialNumber
[num]
游戏中没见到过……
101.actSetPlayerNoAttack
[角色种类][编号][模式]
使角色不能被攻击(有点类似魔兽的无敌),例如变节中摇摆不定的克罗蒂。模式值为班时有效,为0时还原。
例:actSetPlayerNoAttack,SID_霉甫,1,1 -> 101,SID_霉甫,1,1
102.actEarthQuake
[时间]
晃动屏幕,产生地震效果,例如崩陷。时间参数就是晃动的持续时间,单位和delay一样。
例:actEarthQuake,120 -> 102,120
103.actChangePosObjectProcCode
[x][y][range][proc code][new proc code]
作用不明……游戏中一次也没出现过,脚本中虽然出现过一次但被注释掉了……
104.actDeletePosPlayerXRange
[x坐标][y坐标][x number][阵营]
取消可站立地形,崩陷用的就是这个。x number没研究过,好像是横向的延伸范围……阵营就是对哪方有效,defProcPlayer为我方,defProcEnemy为敌方。(游戏中是两个一起用)
例1:actDeletePosPlayerXRange,480,640,3,defProcPlayer -> 104,480,640,3,defProcPlayer
例2:actDeletePosPlayerXRange,480,640,3,defProcEnemy -> 104,480,640,3,defProcEnemy
105.actInsertStoryObjectXRange
[类型][x坐标][y坐标][x number]
应该是填入某种东西,游戏中是紧跟在actDeletePosPlayerXRange后面使用的,而且坐标完全一样,推测是加入不能行走且无图象的地形。
例:actInsertStoryObjectXRange,obj_Story_Block,480,640,3 -> 105,obj_Story_Block,480,640,3
106.actSetRandomPos
[总数][x坐标1][y坐标1][x坐标2][y坐标2][....]
随机给5个坐标排序,用于未知出守护者。
例:actSetRandomPos,5,240,240,720,240,272,464,656,464,176,688 -> 106,5,240,240,720,240,272,464,656,464,176,688
107.actInsertObjectRandomPos
[角色种类][相对x坐标][相对y坐标][随机ID]
在指定ID的地点附近添加单位。相对xy坐标就是相对随机ID的坐标,随机ID是事先用actSetRandomPos生成的。
例:actInsertObjectRandomPos,obj_Story_Level_Enemy067,0,32,0 -> 107,obj_Story_Level_Enemy067,0,32,0
(这是石柱的,之所以相对y坐标是32,就是因为它在守护者下方一格,而守护者的坐标就是随机坐标)
108.actInsertStoryObjectRandomPos
[种类][相对x坐标][相对y坐标][随机ID]
和actInsertObjectRandomPos差不多,只不过加入的是白光。
例:actInsertStoryObjectRandomPos,obj_Story_Level_WhiteLight,0,0,0 -> 108,obj_Story_Level_WhiteLight,0,0,0
109.actSetPrevInsertObjectRandomID
[id]
没出现过,连脚本的注释都打上了“(......... NOT USE .......)”
110.actCheckSerialPlayerAttacked
[被攻击者类型][编号]
判断语句,检查被攻击者是不是指定单位,如果是执行后面的指令。
例:actCheckSerialPlayerAttacked,SID_ENEMY067,1 -> 110,SID_ENEMY067,1
111.actScrollBGToRandomPos
[随机ID]
在守护者出现时用于将屏幕拉到它的位置,随机ID是事先用actSetRandomPos生成的。
例:actScrollBGToRandomPos,0 -> 111,0
112.actDeleteRandomPosObject
[id][range][proc code]
作用不明……和守护者出现的语句一同使用
113.actFALSE
和actTRUE对应,值永远为假。未知用到过,作用是永远不执行该事件,使它的message永远有效。
114.actCheckEventNotExist
[总数量][事件1][事件2][...]
检查事件是否被触发,是为真,不是为假,多个事件的情况下满足其一即可。未知用来检测攻击柱子的顺序。
例:actCheckEventNotExist,4,2,3,4,5 -> 114,4,2,3,4,5
115.actSetPlayerWalkShape
[角色种类][编号]
改变单位外形图片,未知用来改变被攻击柱子的颜色。
例:actSetPlayerWalkShape,SID_ENEMY067,2 -> 115,SID_ENEMY067,2
116.actCheckNotPlayerAttacker
[角色种类]
判断语句,如果攻击方不是某单位为真,否则为假。未知用来判断咕噜是否合体,这是不能合体的情况。合体的情况用actCheckPlayerAttacked判断。
例:actCheckNotPlayerAttacker,SID_〣翽 -> 116,SID_〣翽
117.actSetPlayerPosToRandom0
[player id][serial]
不知道干嘛用的……咕噜合体时用过两次
118.actPlayerJobUpProcess
[角色种类][编号]
用途不明……
119.actWaitPrevInsertPlayer
等待最后一个出现的援军行动完毕。
例:action = actWaitPrevInsertPlayer -> action = 119
120.actPlayMovie
[over delay]
播放结局动画,那个参数没整明白……
到100之后有很多我都不会用了……
121.actInsertRandomObject
参数和effInsertRandomObject相同,区别不太清楚……终焉这关打败咕噜时出现过
122.actSetDoublePageMode
[mode]
不明白,也是打败咕噜时出现的……
123.actInsertLevelUpStar
[声音名称]
显示角色升级时的光影效果,并播放音效。遗产我方角色撤离时的效果就是这个。
例:actInsertLevelUpStar,WAV\EFF0010.WAV -> 123,WAV\EFF0010.WAV
124.actDetectRoundDispDisp
[回合数]
检查倒计时状况。例如还有两个回合,则actDetectRoundDispDisp,-2,遗产这关雷催促快些行动就是这么判断的。
例:actDetectRoundDispDisp,-2 -> 124,-2
125.actCheckProcObjectNotExist
[proc code]
游戏中MS没出现过……
126.actCheckAnyPlayerArrivePos
[x坐标1][y坐标1][x坐标2][y坐标2]
检查我方是否有角色在指定坐标内,坐标范围是由4个坐标划出的矩形。和actCheckPlayerArrivePos的区别是,actCheckAnyPlayerArrivePos并没有特别针对的角色,任何我方角色都可以触发。例如忌之魂就是谁都可以拔。
例:actCheckAnyPlayerArrivePos,608,416,608,416 -> 126,608,416,608,416
127.actSetOverFlag
[方法]
切换结局决定方法,方法有两种,gameoverflagFreeEnemy和gameoverflagEnemyJobUp。gameoverflagFreeEnemy是由积分决定,gameoverflagEnemyJobUp是固定咕噜结局。咕噜变身时方法设法为gameoverflagEnemyJobUp,不杀席德尔的话又会变为gameoverflagFreeEnemy。
例:actSetOverFlag,gameoverflagFreeEnemy-> 127,gameoverflagFreeEnemy
128.actAddOverScore
[结局编号][分数]
增加结局积分。结局编号有3个(废话……),gameoverID1是地劫神结局,gameoverID2是席德尔结局,gameoverID3是咕噜结局。这个积分表估计就是这么来的
http://tieba.baidu.com/f?kz=268062791
例:actAddOverScore,gameoverID1,1 -> 128,gameoverID1,1
129.actSetNextPlayLevelGetOverEvent
[level]
只在打败塔克斯后出现过,个人猜测是读取结局积分,判断结局用的,但参数的作用不明……
例:actSetNextPlayLevelGetOverEvent,0 -> 129,0
130.actBMSetPointMode
[编号][模式]
设置大地图各地点的类型。编号就是地点的编号,模式有gameBMShowHidden、 gameBMShowSlow,、gameBMShow三种。不过这块我也是一知半解,以前做mod也是连蒙带猜-_-b 所以三种模式的作用不明……(游戏中也没出现过……)
第28句打错了,应该是“同时具有actInsertWinStatus和actDeleteWinStatus的功能”…… |
|