2008-6-17 17:11
清青竹
各关宝物及其位置
第四关 双头的死神(欧姆村)
宝物:玻璃戒指、回复药、解毒药(656,560)。
第五关 遭遇(戈尔山道)
宝物:阔刃剑和回复药(496,464)、妖精之泉×2、御之源(176,464)。
第六关 巢窟(盗贼洞窟)
宝物:黄金首饰(624,368)。
第七关 猛狞(呼啸平原)
宝物:土之源(304,592)。
第八关 宣战(席达镇)
宝物:魔之源和黄金首饰(400,336)、烈炎戒指和力之源(816,688)。
第九关 寂寥(宁静之森)
宝物:银制发饰和解毒药(597,600或592,592)。凝气之环(784,368)。
第十关 哀怨(废墟帕尼西雅城)
宝物:水晶剑和琥珀水晶(816,240)。
第十一关 狙兵(菲纳斯河畔)
宝物:三叉戟(496,304)、风之源和水之源(1392,144)。
第十二关 失落(曼多力亚——废都)
宝物:黄金的圣杯(1296,560)。
第十三关 寻(艾瓦台地)
宝物:湛蓝水晶和土之源(624,144)、深红之瞳(432,560)。
第十四关 援救(艾瓦台地)
宝物:逆十字(624,144)、火红水晶和灵之源(432,560)。
第十六关 真理(利鲁玛山地)
宝物:如果克里夫未死,宝物有凝气之环(1488,208)、幸运缎带(48,80)、秘药和妖
精之泉(592,720)。如果克里夫死亡,宝物有凝气之环(48,80)、幸运缎带(1488,208)、奥义之
证(432,944)。
第十七关 怒涛(巴瀚纳海峡)
宝物:冥晦之轮(1360,1552)。
第十八关 异种(深渊之沼)
宝物:绿结晶(752,48)
第十九关 魔骑士(回音之谷)
宝物:刚岩之盔(144,48)、琥珀水晶(144,432)。
第二十关 狂砂(哈莫特沙漠)
宝物:如果在回音之谷打倒克罗蒂,女神之冠的位置为(592,912)。如果在回音之谷为脱
离,女神之冠的位置为(112,656)。
第二十一关 信念(约瑟河)
宝物:翠绿水晶和水之源(912,304)、极光护轮(144,624)。
第二十二关 离散(绝望之谷)
宝物:火之源和风之源(752,176)、大地之衣(336,48)。
第二十三关 奔逃(漆黑之神)
宝物:邪眼假面(176,560)、湛蓝水晶(592,496)。
第二十四关 解明(黄昏之丘——阴)
宝物:黑水晶(240,304)。
第二十五关 阻碍(拉格纳沼地)
宝物:翠绿水晶(336,688)。
第二十六关 虚实(沙罗尼亚近郊)
宝物:丈八蛇矛(576,704)、琥珀水晶(640,160)。
第二十七关 变节(萨鲁司海岸)
宝物:火红水晶(304,560)、奥义之证(112,1072)。
第二十八关 未知(古代神殿遗址)
宝物:黄金的圣杯(272,144)。
第二十九关 崩陷(黄昏之丘——阳)
宝物:隐密之轮(112,272)。
第三十一关 恶魔之翼(悲叹之湖)
宝物:圣骑士勋章(80,560)、支配者之杖(1200,880)。
第三十二关 猎杀(尼布鲁瀑布)
宝物:魔晶石(912,240)、追风之羽(1168,976)。
第三十三关 破浪(日没湾)
宝物:海龙之弓(80,496)。
第三十四关 遗产(众神的宫殿遗址)
宝物:白光之翼(880,752)、穹苍之链(528,1872)。
第三十五关 深邃之暗(幽暗坟场)
宝物:星尘之冠(272,656)。
第三十七关 辉煌(龙之息)
宝物:舞空之靴(48,816)。
第三十九关 残光(亚修顿大桥)
宝物:旭日之盔(1104,1008)。
二.秘技
在执行游戏主程序HSL.EXE的后面加不同的参数就可以启动不同的秘技:
-godset:开启秘技模式,此后:
F9:看开头的动画;
F10:看打倒魔神的动画;
Alt+Enter:全屏幕/视窗模式切换(1.01版以上);
F5:在战场上按可使HP、MP、ST全满;
F6:在战场上按可使HP为1,MP和ST为0,这时选择“移动”命令查看敌人的状态;
F7:每一次经验值等于升级经验值,以后每按一次加100经验值;
F8:每按一次加钱10000;
F9:看开头画面;
F10:看打倒魔神动画;
-nosfx:关闭音效;
-pos:显示光标的坐标,方便找宝物;
-random:读取战场存档后战斗结果,是随机数。
-walker n:设定大地图下走路的角色,n=0—8,其中0为雷欧纳德,1为缇娜,2为琥,3为汉克斯,5
为雷特,6为嚎,7为咕噜,8为克罗斯;
-window:以视窗模式进行游戏,但运行速度较慢。
神秘男子的物品
在玛哈亚镇酒馆中有个神秘男子(第一次进入一定有),他一开始会出售5000的随机物品,第一次可
重复买几次,碰碰运气,然后在其他城镇酒馆中可随机再遇见他(机率很低)。如果错过了,有点儿可惜
,下一次不一定能遇见。第一次卖价5000元,如果买东西下次遇见将会卖 7500元的东西(会较好)。
售价为5000元的物品有:炎魔剑、怨念血衣、兔耳朵、高跟鞋、水波戒指、烈炎戒指、地残戒指、妖
精戒指、诅咒戒指、女神之冠、翠绿水晶、暗黑水晶、火红水晶。
售价为7500元的物品有:雷神剑、地龙甲玄武、大地之衣、夕雾之袍、白霜之铠、刚岩之盔、兔耳朵
、泡泡袜、龙麟、隐密之轮、逆十字、冰心石、骑士勋章、圣骑士勋章、皇家骑士勋章。
售价为10000元的物品有:鬼友之枪、迅雷之弓、魔导杖风镰、虎啸、法王圣衣、极光护轮、疾风之
鞋、魔操玉、凝气之环、深红之瞳、虹之首饰、火红水晶、湛蓝水晶。
售价为15000元的物品有:圣纹之剑、奥汀特制T恤、地鸣、破晓、寂静之弓、贤者法杖、龙吟、苍空
之铠、邪眼假面、影杀之靴、黄金的圣杯、圣魔之像、至福之像、墨镜、学者眼镜、琥珀水晶。
售价为20000元的物品有:极光之剑、魔人之斧、丈八蛇矛、名弓幽鬼、守护者之杖、宿魔刀、影月
圣袍、星尘之冠、圣踏之鞋、幸运缎带、火红水晶、湛蓝水晶、琥珀水晶、翠绿水晶、暗黑水晶。
售价为30000元的物品有:魔剑天逝、圣炎灵斧、天马之枪、海龙之弓、制裁之杖、瞬杀之刀、圣帝
之铠、旭日之盔、魔将之靴、彩霞的圣石、蓝绿结晶、珀绿结晶、黑褐结晶、暗绿结晶。
售价为40000元的物品有:龙牙、镇魂之斧、黑水晶、天动、世界之枝、秘刀细雪、冥王之铠、至高
头巾、英雄之靴、追风之羽、赤蓝结晶、褐红结晶、火青结晶、黔红结晶、蓝褐结晶。
售价为60000元的物品有:暗绿结晶、珀绿结晶、黑蓝结晶、蓝绿结晶、制裁之杖、蓝褐结晶、武神
铠、圣兽之盔、舞空之靴、冥晦之轮、赤蓝结晶、褐红结晶、火青结晶、黔红结晶、透明天晶。
售价为99999元的物品有:圣剑希鲁达、鬼斧丧神、虚空之松、穿云弓、审判之杖、灵刃星夜、圣护
服天映、暗黑铠魔狱、奥汀特制T恤、鬼面、神之足、奥义之证、白光之翼、穹苍之练、透明天晶。
各人的魔法表
雷歐納德 :水﹕治愈之水、生命之水、女神之淚;
無﹕滅
緹娜 : 土﹕地精守護、地靈聖護、大地之愈、大地之惠;
水﹕水刹、水龍波、治愈之水、生命之水、女神之淚、驅毒;
火﹕灼熱波動、赤焰波動
心靈﹕封魔滅殺、咒靈縛刹、退魔、聖靈祝福;
無﹕滅、裁、極、魔障壁
雪拉 : 土﹕地裂、地龍震、天地鳴動、地靈縛
水﹕水刹、水龍波、烈蝕水彈、極零凍冰破、治愈之水、生命之水;
風﹕風刃、空鳴破、逆風裂空;
火﹕幻火、熾焰鳥、魔燒焚燼、怒炎魔獄燋
心靈﹕咒剎
雷特 : 風﹕風刃、空鳴破、逆風裂空、天滅崩雷破、酸蝕幻霧
克羅蒂 : 地﹕地裂、地龍震、天地鳴動、怒濤地崩裂、地靈縛;
風﹕酸蝕幻霧
心靈﹕咒剎、封魔滅剎、咒靈縛剎、死骸腐靈獄、魂體衰竭
註:琥、漢克斯和嚎沒有魔法
括号里的4组数字分别顺序对应(力量,反应,精神,体质)
雷欧納德
天雷猛袭剑: 8级(26,20,20,24)
转职为剑豪后习得:慌雨斩: (40,32,36, 40) 精神统一:26级(40,32,36,40) 皇龙闪:30级(52,44,46,60)
转职为终嫣剑使后:孤月斩: (58 ,50,50,60) 问莹蝶舞:42级(76,50,64,70) 无想冥杀:52级(100,60,72,80)
缇娜
万息集气法: 7级(22,22,26,16)
转职为祭司后习得:百花撩乱: (34,32 ,36,34) 万息降灵法:30级(40,40,60,44) 万息秘孔术:34级(42,45,72,50)
转职为公主后习得:妖华紅莲舞: (50,52,92,62) 万息临界法:44级(55,58,100,62) 天鸣觉醒:50级(65,64,110,70)
琥
影缠: 9级(28,24,12,25) 风狼葬天击: 20级(42,40,16,36)
转职为神射手后习得:弱体箭:28级(52,48,24,50) 流星降:32级(65,52,29,60) 星辰落牙破:36级(80,55,32,77)
汉克斯
逆刃: 5级(20,20,12,12) 金之手: 14级(28,30,24,32)
转职为暗杀者后习得:窃杀:26级(50,55,28,45) 殘影乱斩: 44级(65,62,34,65)
雷特
千羽风灵壁: 12级(29,28,22,24) 飞龙落: 21级(40,32,26,44)
转职为天行者后习得:百裂突刺:29级(48,46,32,61) 龙嘯天驱:36级(60,44,42,74) 翔天刃风击:47级(80,48,46,80)
嚎
激怒: 12级(30,24,8,28) 坏灭咆哮击: 18级(44,28,12,38)
转职为狂战士后习得:獅子吼:26级(57,34,18,50) 排山倒海:34级(65,36,20,67) 兽神怒号:48级(80,40,24,75)
克萝蒂
吸血劍:15级(30,30,34,32) 暗黑鬼灭杀: 21级(40,32,40,38)
转职为魍魉剑士后习得:鬼龙舞:34级(65,36,50,50) 血之宴:42级(75,40,60,56) 弒神渺杀断:52级(92,44,70,68)
咕嚕
神怒: 48级(80,40,28,45)
2008-6-29 23:11
ethos1001
[quote]原帖由 [i]失落的宇宙[/i] 于 2008-6-29 17:50 发表
还是改pak方便些,把人物属性中的item1(或item - n)的值设为你想恒定出现的道具编号,再在9town中把该编号从随机组中去掉。
例如:(我这是mod的数据,原版的懒得找了……)
原始数据为:
carry_item = ... [/quote]
这是个好办法,我愚昧了:wacko:
调动一下大家的胃口,先把改过后的物品列表放上来秀一下:
item = 116,长剑
item = 117,阔刃剑
item = 224,银剑
item = 225,水晶剑
item = 226,霸者之剑
item = 227,名剑狂岚
item = 241,死灵血刃
[color=red]item = 310,炎魔剑
item = 118,雷神剑[/color]
[color=red]item = 119,灵刃 星夜[/color]
item = 410,妖刀 鬼哭
[color=red]item = 411,天剑 流萤[/color]
item = 412,魔剑 天逝
item = 413,龙牙
item = 414,暗黑剑 忌魂
item = 415,圣剑 希鲁达
[color=red]item = 600,邪剑 不知火
item = 601,魔神剑 幻空[/color]
item = 417,钢斧
item = 418,战斧
item = 419,水晶斧
item = 420,狂战士之斧
[color=blue]item = 421,断狱斧[/color]
item = 422,地鸣
[color=blue]item = 423,圣炎
item = 424,龙爪破[/color]
[color=blue]item = 425,魔斧 镇魂[/color]
item = 426,鬼斧 丧神
item = 427,霸邪天煌
item = 428,长枪
item = 429,银之矛
item = 430,水晶之枪
item = 431,三叉戟
item = 432,逆风之矛
[color=red]item = 433,虚空之枪
item = 434,破晓[/color]
item = 435,丈八蛇矛
[color=red]item = 436,龙骑尖
item = 437,神枪 永恒[/color]
item = 438,魔枪 黑天使
item = 439,圣矛 炽天使
[color=red]item = 542,隆基努斯之枪[/color]
item = 440,长弓
item = 441,巨弓
item = 442,水晶弓
item = 443,猎杀弩
item = 444,迅雷之弓
[color=blue]item = 445,海龙之角[/color]
item = 446,名弓 幽鬼
[color=blue]item = 447,妖弓 噬魂
item = 448,圣弓 天劫
item = 449,霸弓 胧月
item = 450,失序弓 混沌[/color]
item = 451,木杖
item = 452,锡杖
item = 453,水晶杖
[color=blue][color=red]item = 454,仪式之权杖
item = 455,贤者法杖
item = 456,魔导杖 妖炎
item = 457,魔导杖 风镰
item = 458,信仰之光[/color]
[/color]item = 459,守护者之杖
[color=blue][color=red]item = 460,密器 罪与罚
item = 461,灵器 裁决[/color]
[/color]item = 462,世界树之枝
[color=red]item = 463,圣杖 光之羽[/color]
item = 464,支配者之杖
item = 465,匕首
item = 466,精钢匕首
item = 467,水晶短刀
item = 468,盗贼匕首
[color=blue]item = 469,瞬杀之刃
item = 470,宿魔刀[/color]
[color=blue][color=black]item = 471,虎啸
item = 472,龙吟[/color]
item = 473,血麒麟
[/color]item = 474,秘刀 细雪
[color=blue]item = 475,逆刃 残光
item = 476,天魔刃 血祭
item = 503,诸神之黄昏[/color]
;
item = 477,布衣
item = 478,袍
item = 479,皮铠
item = 480,锁子甲
item = 481,骑士铠甲
item = 482,水晶胸铠
item = 483,魔道之袍
item = 484,清心法衣
[color=red]item = 485,重装板甲[/color]
item = 486,皇家之铠
item = 487,隐忍黑衣
[color=red]item = 488,狱炎之铠
item = 489,白霜之铠[/color]
item = 490,夕雾之袍
item = 491,大地之衣
[color=red]item = 492,龙体圣甲[/color]
item = 493,法王圣衣
item = 494,苍空之铠
item = 495,影月圣袍
item = 496,圣帝之铠
item = 497,冥王之铠
item = 498,武神铠
item = 499,暗黑铠 魔狱
item = 500,圣护服 天映
item = 501,怨念血衣
[color=red]item = 502,神之衣[/color]
item = 505,头巾
item = 506,皮帽
item = 507,铁护轮
item = 508,钢铁头盔
item = 509,水晶头盔
item = 510,魔法帽子
item = 511,皇家之盔
item = 512,魔兽头骨
item = 513,司祭帽子
item = 514,誓言头巾
[color=blue]item = 515,精灵头环
item = 516,狂战士头盔
item = 517,圣女发带
item = 518,旭日之盔
[/color]item = 519,极光护轮
[color=blue]item = 520,龙假面
item = 521,女神之冠
item = 522,王者之冠
[/color]item = 523,邪眼鬼面
item = 524,圣兽之盔
item = 525,至高头巾
[color=blue]item = 526,圣冠 星尘[/color]
[color=blue]item = 541,神之冕[/color]
[color=#0000ff][/color]
[color=#000000]增加了一些物品,绝大部分高级装备改了属性,部分剑类和杖类武器改了适用职业。[/color]
2008-6-30 15:53
失落的宇宙
[color=Blue][/color][color=Red][/color][color=Red][/color][color=Red][/color][color=Blue][/color][color=Blue][/color]我把发在群侠的脚本修改方法转到这吧,虽然没有发完,但以后会更新的~
[b]先把入门教程贴出来[/b]
[b][url]http://tieba.baidu.com/f?kz=255061948[/url] [/b]
[b]此贴属于进阶篇,是以读者有一定修改基础为前提写的,因此建议没有看过入门篇的朋友先掌握基础知识,以免一头雾水。[/b]
剧情脚本分为两种,一种是在战场上使用的,前面都有个act;一种是在城镇中使用的,以te开头。虽然名称有差异,但功能基本上差不多,有的甚至完全一样(当然也有特有的)。
每一个脚本语句都有它的简化写法,即用整数代替(有点像常量),这样可以减少字节数,从而增加剧情。
[size=2]红色的字是参数,它是指令执行时必需的数值,使用时紧跟在指令后面[/size]
[size=2]范例中的斜体字就是关键字,前面的英文和后面的数字是一样的,写哪个都可以[/size]
[color=Blue]0.actOver[/color]
无实际用途,在原版脚本中一次也没出现过,可忽略
[color=Blue]1.actDelay[/color]
后接一个大于0的整数,如10。作用是延时XX(单位不明,猜测60为1秒),中间什么都不做,主要用来表示剧情中必要的停顿,控制节奏。
例: [i]actDelay[/i],10 -> [i]1[/i],10
[color=Blue]2.actWalk[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
使某个指定角色移动到指定地点,剧情中的人物移动(如敌人的出现和撤退)很多都是由它完成的。其中角色种类就是ENEMY或PLAYER,编号只对敌方非boss有效,因为他们通常都不止一个,注意每个敌人的编号并不是固定的,假如战场上有5个一般兵,编号1~5,当前4个阵亡时,5号一般兵就会变为1号。目的地坐标就是你想让该角色移动到的地方,想让他走到左上角,那么xy就为(0,0)。移动速度就是角色向目的地移动的快慢,有5个等级:0、1、2、4、8、16,0和4表示默认速度,1为最慢,16为最快,但从实际表现上看8和16似乎区别不大,为了修改时便于控制字节数,我一般都设为8。
例1: [i]actWalk[/i],SID_筽稼?纨,1,1088,640,0 -> [i]2[/i],SID_筽稼?纨,1,1088,640,0
例2: [i]actWalk[/i],SID_ENEMY023,1,1088,640,8 -> [i]2[/i],SID_ENEMY023,1,1088,640,8
[color=Blue]3.actWalkWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
功能和用法与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”的话,当雷开始移动后,一般兵会马上开始行动,两者几乎是同步的。
[color=Blue]4.actWalkAndDelete[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
参数和actWalk相同,但功能上要多一个,就是当角色走到目的地后,会自动从地图上消失,游戏中敌人的撤退剧情就是用的这个。
例: [i]actWalkAndDelete[/i],SID_ENEMY049,1,1024,320,8 -> [i]4[/i],SID_ENEMY049,1,1024,320,8
[color=Blue]5.actWalkAndDeleteWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
与actWalkAndDelete的区别就像actWalkWait和actWalk的区别一样,角色消失前下一个指令不会执行
例: [i]actWalkAndDeleteWait[/i],SID_ENEMY054,1,960,320,8 -> [i]5[/i],SID_ENEMY054,1,960,320,8
[color=Blue]6.actWalkDisp[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]移动速度[/color]]
也是移动角色,但和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
[color=Blue]7.actWalkDispWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]移动速度[/color]]
也是和actWalkDisp一样,区别不用多说了吧……
[color=Blue]8.actWalkPrevInsertObject[/color]
[[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
将新加入地图的单位移动到某地。这个也是移动用的,但他的移动目标仅限于刚刚出现在战场的增援,如果连续加入了2个单位,那么该命令控制的就是第二个(即最后一个),如果想让两个单位都移动,那么就要执行两次(详见18.actInsertObject)。
例: [i]actWalkPrevInsertObject[/i],480,480,0 -> [i]8[/i],480,480,0
[color=Blue]9.actWalkPrevInsertObjectWait[/color]
[[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
老声重谈了……跳过……
[color=Blue]10.actMessage[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]对话编号[/color]]
剧情对话指令,游戏中所有的对话都是用这个实现的,可以说是最常见的指令(剧情中没有战斗的地图出现过,没有对话的地图可没见到过…
…)。前两个参数决定说话的人,最后一个参数决定这个人说什么。在data1或star1文件的下半部有很多文字,前面写着item = xxx,这就是对话编号,后面的文字就是内容,当然不用南极星是看不出来的。在指令中根据你填的对话编号,游戏会自动将它对应的文字显示在对话框中。
直接修改文字也是可以的,这里的图就是这么做出来的。如果地图中没有该角色则不会执行。
[url]http://tieba.baidu.com/f?kz=341315864[/url]
例:[i]actMessage[/i],SID_筽稼?纨,1,975 -> [i]10[/i],SID_筽稼?纨,1,975
[color=Blue]11.actMessageIfExist[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]返回值为真时的对话编号[/color]][[color=Red]返回值为假时的对话编号[/color]][[color=Red]数量标准[/color]][[color=Red]检查的人物类型[/color]]
也是对话指令,但比actMessage要复杂一些,它在执行前要做一个判断。检查的人物类型就是一种角色种类,当地图中有这个类型的人物时,即为满足条件,数量标准是这个类型角色的数量,当地图中这个类型的人物数量与数量标准一致时,条件成立,返回值为真,否则返回值为假。(如果大与数量标准是否成立就不得而知了,毕竟这个指令用的机会太少,有兴趣的朋友可以试试)
根据返回值的不同,角色说的话就会产生变化,如果对话编号为0的话就是不说。
例:[i]actMessageIfExist[/i],SID_砾,1,2092,0,1,SID_〣翽 -> [i]11[/i],SID_砾,1,2092,0,1,SID_〣翽
(古代神殿遗迹前的剧情,当有咕噜时,琥会说“嗯,它怎么了?”否则他什么都不会说,就是因为“返回值为假时的对话编号”那里是0)
[color=Blue]12.actShowSectionName[/color]
[[color=Red]图片名称[/color]]
显示战役标题,就是每关开始之前出现的那个LOGO。参数只有一个,如果不知道各关对应的图片的话,可以用RV查看。
[color=Blue]13.actChangeShape[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]图片延迟[/color]][[color=Red]图片名字[/color]][[color=Red]图片编号[/color]]
说老实话,这个我也没用过- -| 游戏中MS也只有失落这关出现过,就是雷推开一般兵逃跑时那段,当时一般兵的图象发生过变化,用的就是这个。图片名字可以用RV查找,图片编号MS就是帧数……
例:[i]actChangeShape[/i],SID_ENEMY023,3,2,SHAPE\023-10001.SHP,6 -> [i]13[/i],SID_ENEMY023,3,2,SHAPE\023-10001.SHP,6
[color=Blue]14.actChangeShapeWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]图片延迟[/color]][[color=Red]图片名字[/color]][[color=Red]图片编号[/color]]
多个等待而已,不多说了……
[color=Blue]15.actPlaySound[/color]
[[color=Red]声音编号[/color]]
播放音效,失落这关雷推开一般兵,猎杀红龙从瀑布中飞出,用的都是这个。声音编号在对话集开头可以查到
[color=DarkOrchid]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[/color]
例:[i]actPlaySound[/i],WAV\WATERUP001.WAV -> [i]15[/i],WAV\WATERUP001.WAV
[color=Blue]16.actDeleteObject[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
让角色离开战场,和actWalkAndDelete的区别就是之前不移动,直接令角色消失
[color=Blue]17.actRestoreShape[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
使角色的动作恢复到初始状态。剧情中四魔将使用世界树之叶后,就是用这个使其恢复站立状态,否则他会一直在那里摆使用道具的pose,老版本的幻会有汉克斯抽疯的情况发生,很可能就是少了这句。另外古代神殿遗迹中没有按顺序打柱子的话会变回蓝色,也是用的这个。
[color=Blue]18.actInsertObject[/color]
[[color=Red]角色种类[/color]][[color=Red]x坐标[/color]][[color=Red]y坐标[/color]]
在战场中加入新角色,战场上的增援就是用这个实现的,x、y坐标就是角色出现的地点。大多数情况下角色都不是在战场中央突然出现的,而是从版边走进战场,因此要把他们的坐标设在地图之外,然后再配合actWalkPrevInsertObject或actWalkPrevInsertObjectWait让他们走进来
,这样就自然了。注意actWalkPrevInsertObject控制的是最后一个出现的角色,如果连用了两次以上的actInsertObject的话,就要在每一句后面都加上actWalkPrevInsertObject才有效。例如:
[i]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 [/i]
按照上面的脚本只有坐标为(320,-64)的角色会移动,而坐标为(288,-96)的角色仍会留在地图外,这样一来他虽然也在地图上,但无法作出任何行动,只能白白浪费内存(虽说也没几个字节……)。如果加入的是我方角色,那就是明显的bug了……
正确的写法:
[i]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[/i]
按照java的话说,就是new出了一个对象,而兵种就是一个类,每生成一个角色都是一次实例化,但我方角色和BOSS每个战场只能出现一个(莫非是静态的……)
[color=Blue]19.actScrollBGToPos[/color]
[[color=Red]x坐标[/color]][[color=Red]y坐标[/color]]
移动镜头,即将当前的屏幕移到地图中的制定位置。
例:[i]actScrollBGToPos[/i],544,480 -> [i]19[/i],544,480
[color=Blue]20.actScrollBGToObject[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
也是移动镜头,不同的是这个不是直接设定坐标,而是从指顶的角色身上获取坐标,即将镜头拉到他的身上。
例:[i]actScrollBGToObject[/i],SID_ENEMY048,1 -> [i]20[/i],SID_ENEMY048,1
[color=Blue]21.actSetBGToObject[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
也是以角色的坐标移动镜头,区别是actScrollBGToObject是滚动,而actSetBGToObject是即时切换。
例:[i]actSetBGToObject[/i],SID_ENEMY048,1 -> [i]21[/i],SID_ENEMY048,1
[color=Blue]22.actInsertWinStatus[/color]
[[color=Red]编号[/color]]
加入胜利条件,每关都会用到的语句。一般都是在战斗前使用,也有些会根据剧情中途出现,比如离散。编号指的是[win]下面的code,它调用的就是该[win]中的所有语句,有点类似函数。
例: [i]actInsertWinStatus[/i],0 -> [i]22[/i],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时执行后面的指令。
[color=Blue]23.actInsertFailStatus[/color]
加入失败条件,原理同上。
例: [i]actInsertFailStatus[/i],0 -> [i]23[/i],0
[fail]?
code = 0
message = SID_筽稼?纨,122
action = actCheckPlayer,1,SID_筽稼?纨
[color=Blue]24.actInsertEventStatus[/color]
[[color=Red]编号[/color]]
加入剧情,和前面两个差不多,只不过不影响胜负,事件用[event]表示
例:[i]actInsertEventStatus[/i],1 -> [i]24[/i],1
[event]
code = 1
………………
[color=Blue]25.actDeleteWinStatus[/color]
[[color=Red]编号[/color]]
消除胜利条件
例:[i]actDeleteWinStatus[/i],0 -> [i]25[/i],0
[color=Blue]26.actDeleteFailStatus[/color]
[[color=Red]编号[/color]]
消除失败条件
1.05之前的残光这关,即使缇娜撤退也会gameover,就是因为在事件中没有这个语句,所以失败条件仍然成立,缇娜消失后系统误以为她阵亡了。
例:[i]actDeleteFailStatus[/i],0 -> [i]26[/i],0
[color=Blue]27.actDeleteEventStatus[/color]
[[color=Red]编号[/color]]
消除剧情事件
[color=Blue]28.actReplaceWinStatus[/color]
[[color=Red]旧编号[/color]][[color=Red]新编号[/color]]
游戏中MS没有用过,不过从字面上不难看出是替换胜利条件的,同时具有actInsertFailStatus和actDeleteWinStatus的功能
[color=Blue]29.actReplaceFailStatus[/color]
替换失败条件
[color=Blue]30.actReplaceEventStatus[/color]
替换剧情事件
[color=Blue]31.actShowWinFailStatus[/color]
显示胜败条件,就是每次开场前出现的那个,一般跟在actShowSectionName后面,无任何参数
例:[i]actShowWinFailStatus[/i] -> [i]31[/i]
[color=Blue]32.actChangePrevInsertObjectID[/color]
[[color=Red]编号[/color]]
更改角色编号,用于锁定特殊角色。例如遗产这关,消灭特定守护者后对应的门会打开,但前面说过了,随着守护者的减少,它们的编号随时在发生变化,这样就无法准确判断了。使用actChangePrevInsertObjectID就可以解决这一问题,编号更改后,无论地图上有多少同类型单位,他的ID永远是你给定的数。注意:他和actWalkPrevInsertObject一样,只对最后一个有效。
例:[i]actChangePrevInsertObjectID[/i],10000 -> [i]32[/i],10000
[color=Blue]33.actSetPrevInsertObjectWaitRound[/color]
[[color=Red]整数[/color]]
令刚加入战场的单位等待n回合,n=输入的整数。同样只对最后加入的单位有效,使用后该单位会等待n回合后才开始行动,但如果这期间有敌人接近,待机会自动取消。
例:[i]actSetPrevInsertObjectWaitRound[/i],5 -> [i]33[/i],5
[color=Blue]34.actSetWaitRound[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]整数[/color]]
令特定角色待机
[color=Blue]35.actCheckEnemy[/color]
[[color=Red]类型数量[/color]][[color=Red]类型1[/color]][[color=Red]类型2[/color]][[color=Red]...[/color]]
判断语句,通常放在胜败条件、剧情事件的第二行(没有文字提示的话就是第一行)。类型数量是类型1~类型n的兵种数之和,后面的就是类型,当这些类型的单位数量均为0时条件达成,执行下面的指令。
例:[i]actCheckEnemy[/i],3,SID_ENEMY041,SID_ENEMY043,SID_ENEMY038 -> [i]35[/i],3,SID_ENEMY041,SID_ENEMY043,SID_ENEMY038
[color=Blue]36.actCheckEnemyNumber[/color]
[[color=Red]角色种类[/color]][[color=Red]数量[/color]]
检查某个兵种的数量,当实际数量小于给定的数量时,执行下面的指令。
例:[i]actCheckEnemyNumber[/i],SID_ENEMY041,3 -> [i]36[/i],SID_ENEMY041,3
[color=Blue]37.actCheckEnemyTotalNumber[/color]
[[color=Red]数量[/color]]
当敌人总数小于或等于该数量时,执行下面的指令。
例:[i]actCheckEnemyTotalNumber[/i],0 -> [i]37[/i],0 (一般为胜利条件,当敌人全灭时……)
[color=Blue]38.actCheckPlayer[/color]
[[color=Red]类型数量[/color]][[color=Red]类型1[/color]][[color=Red]类型2[/color]][[color=Red]...[/color]]
和actCheckEnemy类似,只不过检查的是我方角色。
例:[i]actCheckPlayer[/i],1,SID_筽稼?纨 -> [i]38[/i],1,SID_筽稼?纨 (失败条件,当雷阵亡时……)
[color=Blue]39.actCheckPlayerTotalNumber[/color]
[[color=Red]数量[/color]]
和actCheckEnemyTotalNumber类似,检查的是我方角色。
例:[i]actCheckPlayerTotalNumber[/i],0 -> [i]39[/i],0
[color=Blue]40.actCheckRoundNumber[/color]
[[color=Red]数量[/color]]
判断语句,当当前的回合数大于等于给定值时,执行下面的指令。
例:[i]actCheckRoundNumber[/i],10 -> [i]40[/i],10 (第10回合发生剧情)
[color=Blue]41.actCheckPlayerArrivePos[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]最小x坐标[/color]][[color=Red]最小y坐标[/color]][[color=Red]最大x坐标[/color]][[color=Red]最大y坐标[/color]]
判断某单位的位置。以最小xy坐标为起点、以最大xy坐标为终点画一个矩形,当指定角色的坐标处于这个矩形中时,执行下面的指令。决意、辉煌和离散的胜利条件都是这么判断的。
例:[i]actCheckPlayerArrivePos[/i],SID_筽稼?纨,1,224,0,448,0 -> [i]41[/i],SID_筽稼?纨,1,224,0,448,0
[color=Blue]42.actCheckPlayerAttacked[/color]
[[color=Red]攻击方兵种[/color]][[color=Red]被攻击方兵种[/color]]
判断战斗情况,当前面的人攻击后面的时,执行下面的指令。雷、克罗蒂与塔克斯交战后会发生对话,用的就是这个。至于塔克斯攻击雷或克罗蒂也会触发剧情,是因为脚本中写了两个判断,这两个判断其他地方都一样,只是攻击方和被攻击方调了个个,当一个被触发后,会用actDeleteEventStatus取消另一个。
例:[i]actCheckPlayerAttacked[/i],SID_筽稼?纨,SID_ENEMY066 -> [i]42[/i],SID_筽稼?纨,SID_ENEMY066
[color=Blue]43.actSetNextPlayLevelEvent[/color]
[[color=Red]地点[/color]][[color=Red]事件[/color]]
战斗结束后,在跳转回大地图时将队伍放到指定的地点。地点的代号可以到hsldata2(star2)查询,我之前没总结过,有时间的话再给出吧……事件的用法不大清楚,游戏中MS都是用gameBigMapLevel,照着写就是了……
例:[i]actSetNextPlayLevelEvent[/i],38,gameBigMapLevel -> [i]43[/i],38,gameBigMapLevel
[color=Blue]44.actDEMO[/color]
好像是播放动画,无参数,用法不明……
[color=Blue]45.actPlayLevelMusic[/color]
播放当前关对应的音乐,无参数。一般都是放在脚本的前几句。
[color=Blue]46.actPlayMusic[/color]
[[color=Red]音乐id[/color]]
播放指定的音乐,但战斗中一旦读取存档,音乐会自动切回“当前关对应的音乐”。
例:[i]actPlayMusic[/i],8 -> [i]46[/i],8
[color=Blue]47.actInsertStoryObject[/color]
[[color=Red]角色种类[/color]][[color=Red]x坐标[/color]][[color=Red]y坐标[/color]]
加入新效果,在指定地点添加特殊效果,比如崩陷的烟。
例:[i]actInsertStoryObject[/i],obj_Story_Level10_Fire,524,342 -> [i]47[/i],obj_Story_Level10_Fire,524,342
上面的x、y坐标并不像角色那样,以32为步长增长。角色坐标都是以32为一个单位的,写0和写31没有区别,估计是因为该函数运算之前除了一下32,这样在int类型的情况下(只取整)32以内的数就没有区别了。
[color=Blue]48.actDarkScreen[/color]
黑屏,没有参数。通关时缇娜和汉克斯的对话就是用的这个效果。
[color=Blue]49.actDeleteDarkScreen[/color]
顾名思义,取消黑屏……
[color=Blue]50.actWalkFollow[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目标种类[/color]][[color=Red]目标编号[/color]]
令指定单位跟随目标移动,雷与妖精王冲突时,重装兵押雷下殿用的就是这个。
例:[i]actWalkFollow[/i],SID_ENEMY023,3,SID_ENEMY029,1,0 -> [i]50[/i],3,SID_ENEMY029,1,0
[color=Blue]51.actWalkFollowWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目标种类[/color]][[color=Red]目标编号[/color]]
和actWalkFollow一样,多个等待功能
[color=Blue]52.actMove[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
移动的一种,我没用过,不过从游戏效果判断应该是“不切换移动图片的帧数,直接平移过去……”,游戏中只有失落一关用过,就是那个挨打的一般兵。
[color=Blue]53.actMoveWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目的地x坐标[/color]][[color=Red]目的地y坐标[/color]][[color=Red]移动速度[/color]]
还用再说吗- -|
例:[i]actMoveDispWait[/i],SID_ENEMY023,3,0,-64,8 -> [i]53[/i],SID_ENEMY023,3,0,-64,8
[color=Blue]54.actMoveDisp[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]移动速度[/color]]
相对平移,也不用多说了吧……
[color=Blue]55.actMoveDispWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]移动速度[/color]]
有一句话叫温故而知新……
[color=Blue]56.actSetPrevInsertObjectAdjustLevel[/color]
[[color=Red]等级上限[/color]][[color=Red]等级浮动值[/color]]
更改角色的等级上限和等级浮动值,这两个也是角色的属性,作用参照此贴。
[url]http://tieba.baidu.com/f?kz=255061948[/url]
例:[i]actSetPrevInsertObjectAdjustLevel[/i],1,0 -> [i]56[/i],1,0
此外这个也是只对最后加入的单位有效。
[color=Blue]57.actSetUseShapeWait[/color]
[code][serial]
游戏中没出现过,我也不知道干嘛用的……- -|
[color=Blue]58.actInsertShowPosObject[/color]
[[color=Red]x坐标[/color]][[color=Red]y坐标[/color]]
点亮地图中指定的某个格子,用来显示逃跑区域。
例:[i]actInsertShowPosObject[/i],416,288 -> [i]58[/i],416,288
当逃跑范围很大时,就多用几个-_-b
[color=Blue]59.actDeleteShowPosObject[/color]
消除点亮的坐标。显示完胜败条件,返回游戏时用来取消提示。如果不手动取消的话,读档后也会自动取消。
[color=Blue]60.actSetDeadMessage[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]对话1[/color]][[color=Red]对话2[/color]]
设定角色遗言-_-b 当角色死亡时,会说出对话1或对话2里的话,如果两个均为0,则没有遗言,如果都不是0,则随机说一句。只在本关有效。
例:[i]actSetDeadMessage[/i],SID_纙,1,1376,0 -> [i]60[/i],SID_纙,1,1376,0
[color=Blue]61.actWalkToPlayerDisp[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目标角色种类[/color]][[color=Red]目标编号[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]速度[/color]]
令角色移动到目标附近的某处,遭遇这关出现过(雷走到缇娜身边)。比如目标的坐标是(416,416),相对x坐标为-32,相对y坐标为32,则角色会移动到目标的左下方,即(384,448)。
例:[i]actWalkToPlayerDisp[/i],SID_筽稼?紈,1,SID_絳甊,1,32,0,8 -> [i]61[/i],SID_筽稼?紈,1,SID_絳甊,1,32,0,8
[color=Blue]62.actWalkToPlayerDispWait[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]目标角色种类[/color]][[color=Red]目标编号[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]速度[/color]]
参照actWalkToPlayerDisp
[color=Blue]63.actPlayDefaultLevelMusic[/color]
也是播放音乐用的,只是参数不明,加上读档后仍会还原,所以还是建议用actPlayMusic
例:[i]actPlayDefaultLevelMusic[/i],2 -> [i]63[/i],2
[color=Blue]64.actSetPlayerUndead[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]模式[/color]]
让某个角色不死,几乎所有boss都会用这个。模式也是一个数值型参数,0为取消该角色的不死特性,值为1时,当该角色的HP为0时,会自动变为1(大于1时会不会按非0算就不知道了,我不知道幻是用什么语言编的……)。boss被打败后不会立即阵亡就是这个道理。actSetPlayerUndead配合actUseItem就可以实现四魔将自动复活的功能了。(详见下文)
例:[i]actSetPlayerUndead[/i],SID_ENEMY053,1,1 -> [i]64[/i],SID_ENEMY053,1,1
[color=Blue]65.actCheckPlayerHPLow[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]百分比[/color]]
判断语句,当指定角色的HP低于给定的百分比时,条件成立。
例:[i]actCheckPlayerHPLow[/i],SID_ENEMY053,1,40 -> [i]65[/i],SID_ENEMY053,1,40
[color=Blue]66.actSetPlayerMode[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]模式[/color]][[color=Red]标志[/color]]
改变角色阵营,变节中的克罗蒂就用到过。说真的,这个我用的也不是很好,标志参数的意思到现在还不明白……MS还要和data2(star2)配合着用,总之很麻烦……
模式就是角色的阵营,参数有三种:pmEnemy、pmPlayer、pmNpc。
例:[i]actSetPlayerMode[/i],SID_?霉甫,1,pmPlayer,1 -> [i]66[/i],SID_?霉甫,1,pmPlayer,1
[color=Blue]67.actTRUE[/color]
判断语句,无参数。其实它和前面那些判断语句是一样的,只不过它是无条件返回TRUE值。(判断语句为真时返回TRUE,为假时返回FALSE)
例:action = [i]actTRUE[/i] -> action = [i]67[/i]
[color=Blue]68.actExecWinFailProcess[/color]
具体作用不明,只知道很多事件都用它结尾。但根据实验,去掉它们对游戏也没有影响-_-b 无参数
[color=Blue]69.actKeepPlayerST[/color]
用于关卡切换的一种语句,可以使角色的气力保留到下一关,比如第一、二关和克莱恩城的那几关。
[color=Blue]70.actSetTownExecEvent[/color]
[[color=Red]城镇编号[/color]][[color=Red]事件编号[/color]]
在指定城镇添加进入时的剧情。城镇编号是用town_ + 名字决定的,可以在data2(star2)中查到。事件编号可以在9town中查到,它也是由若干语句组成的指令集。事件编号为0的话表示取消事件,第一次进入玛哈亚、沙罗尼亚和亚雷比斯(居然都有“亚”-_-b)时出现的对话就是这么添加的,之后再将事件编号改为0取消,第二次进入就不会出现了。
例:[i]actSetTownExecEvent[/i],town_ㄈ筽ゑ吹,185 -> [i]70[/i],town_ㄈ筽ゑ吹,185
[color=Blue]71.actDeletePlayerCode[/color]
[[color=Red]角色种类[/color]][[color=Red]模式[/color]]
删除我方角色。当我方的角色在战斗中出现后,他就会自动加入队伍,之后查看人员状态时他都会被列出来。当参数“模式”为0时,就会把该角色从队伍中删除,就像他没加入过一样。如果参数为1,则他还会继续留在队中。决意这关缇娜出现过,而在双头的死神中查状态时没有她,就是用了这个(参数0);而在异种这关选择救咕噜的话,他不会离队(参数1)
例1:[i]actDeletePlayerCode[/i],SID_PLAYER1,0 -> [i]71[/i],SID_PLAYER1,0
例2:[i]actDeletePlayerCode[/i],SID_〣翽,1 -> [i]71[/i],SID_〣翽,1
[color=Blue]72.actSetPrevInsertObjectEquip[/color]
[[color=Red]武器编号[/color]][[color=Red]装备部位[/color]]
改变角色的装备。武器编号就在“文字堆”里,这里也有介绍
[url]http://tieba.baidu.com/f?kz=255061948[/url]
装备部位有6个,0代表武器, 1代表盔甲, 2代表头盔, 3代表鞋子, 4和5代表两个饰品。该指令只对最后出现的非我方单位有效。
例:[i]actSetPrevInsertObjectEquip[/i],2,0 -> [i]72[/i],2,0
[color=Blue]73.actAdjustAllPlayerLevel[/color]
应该和actSetPrevInsertObjectAdjustLevel是一样的,不过没有参数,不知道什么意思……
[color=Blue]74.actShapeMessage[/color]
[[color=Red]图片名称[/color]][[color=Red]名字[/color]][[color=Red]对话编号[/color]]
剧情对话的一种,和actMessage的区别是它不需要角色在地图中,而且对话框是在屏幕上方出现。图片名称是人物头象的图片名,可以用RV查找,或者在9player中查找人物的picture属性。名字就是显示在对话上方的说话人姓名,它和对话编号一样,都是整数,也是在文字定义处查找。宣战后妖精王和塔克斯、克罗蒂谈话,地图上并没有他们,确能显示他们的头象,用的就是这个,达人版最后雷能露脸也是拜它所赐。
例:[i]actShapeMessage[/i],SHAPE\FACE0054.SHP,306,1003 -> [i]74[/i],SHAPE\FACE0054.SHP,306,1003
[color=Blue]75.actScrollBGToPosSpeed[/color]
[[color=Red]x坐标[/color]][[color=Red]y坐标[/color]][[color=Red]速度[/color]]
滚动屏幕,作用和actScrollBGToPos一样,只是多了一个速度参数。速度包括1、2、4、8、16五个等级,数值越大屏幕滚动越快。
例:[i]actScrollBGToPosSpeed[/i],992,832,4 -> [i]75[/i],992,832,4
[color=Blue]76.actSetWalkSoundMode[/color]
[[color=Red]模式[/color]]
播放移动音效(脚步声)。参数“模式”其实就是一个布尔值,0表示停止,1表示播放。不过这个指令在失落和怒涛都出现过,一次是村民的脚步声,一次是海辉魔的,这两种音效是不一样的,游戏中却都是用的这个……唯一的解释就是它能根据移动的角色自动判断音效……(actSetWalkSoundMode之前有许多actWalk)
例1:[i]actSetWalkSoundMode[/i],1 -> [i]76[/i],1
例2:[i]actSetWalkSoundMode[/i],0 -> [i]76[/i],0
[color=Blue]77.actDeletePosObject[/color]
[[color=Red]x[/color]][[color=Red]y[/color]][[color=Red]range[/color]][[color=Red]proc code[/color]]
又是一条没用过的指令……应该是去除光影效果,辉煌这关雷拔剑时出现过。
[color=Blue]78.actInsertStoryObjectWait[/color]
[[color=Red]角色种类[/color]][[color=Red]x坐标[/color]][[color=Red]y坐标[/color]]
参照47.actInsertStoryObject
[color=Blue]79.actSelectInsertEvent[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]分支总数[/color]][[color=Red]第1个选项文字编号[/color]][[color=Red]选项1调用的事件编号[/color]][[color=Red]第2个选项文字编号[/color]][[color=Red]选项2调用的事件编号[/color]][[color=Red]....[/color]]
分支选择。异种选择是否救咕噜、失落选择战还是逃,以及达人版中是否和席德尔单挑,都是用的这个。[角色种类][编号]和actMessage没有区别,分支总数就是可以选择的选项数目,最大不得超过8(转职为8)。“选项文字编号”就是文字提示,目的是让玩家知道自己选的是什么,根据编号显示对应的语句。最后根据选择的事件编号调用对应的事件。
例:[i]actSelectInsertEvent[/i],SID_筽稼?纨,1,2,1810,3,1811,4 -> [i]79[/i],SID_筽稼?纨,1,2,1810,3,1811,4
[color=Blue]80.actAddTE[/color]
[[color=Red]城镇编号[/color]][[color=Red]父菜单编号[/color]][[color=Red]子菜单总数[/color]][[color=Red]子菜单1[/color]][[color=Red]...[/color]]
在指定城镇添加场所。城镇编号不用解释了,父菜单就是进入城镇后最先看到的场所,一般来说每个父菜单都包含若干子菜单。酒馆就是一个父菜单,而酒馆中又包含如酒馆老板、服务员这些子菜单。父菜单和子菜单的编号在9town中查找及定义,它们和event是一个道理。
例:[i]actAddTE[/i],town_璃蝴吹翠,41,3,133,131,132 -> [i]80[/i],town_璃蝴吹翠,41,3,133,131,132
[color=Blue]81.actDeleteTE[/color]
[[color=Red]城镇编号[/color]][[color=Red]父菜单编号[/color]][[color=Red]子菜单总数[/color]][[color=Red]子菜单1[/color]][[color=Red]...[/color]]
去除子菜单。正好和上面相反。
例:[i]actDeleteTE[/i],town_创笷?,172,1,174 -> [i]81[/i],town_创笷?,172,1,174
[color=Blue]82.actSetPrevInsertObjectST[/color]
[[color=Red]气力值[/color]]
更改刚加入角色的气力值,20为一格,最大60,只对最后加入的有效。兽剑士经常用。
例:[i]actSetPrevInsertObjectST[/i],15 -> [i]82[/i],15
[color=Blue]83.actSetPlayerExecMode[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]模式[/color]], = 0 player
改变我方角色控制方式。参数“模式”=0时为我方操控,=1时为电脑操控。救援(寻)这关嚎就用到了,达人版中变节的克罗蒂也是如此。
例:[i]actSetPlayerExecMode[/i],SID_纙,1,1 -> [i]83[/i],SID_纙,1,1
[color=Blue]84.actSetPlayerFixPos[/color]
[[color=Red]code[/color]][[color=Red]serial[/color]][[color=Red]x[/color]][[color=Red]y[/color]][[color=Red]distance[/color]]
不知道啥意思……
[color=Blue]85.actGetItem[/color]
[[color=Red]道具编号[/color]][[color=Red]数量[/color]]
在仓库中添加道具。玩过达人版的朋友应该不陌生,过关奖励就是这么来的,而原版中的三把剑也是如此。道具编号在9item中查找或定义。
例:[i]actGetItem[/i],17,1 -> [i]85[/i],17,1
[color=Blue]86.actRandomSetSysArrivePos[/color]
[[color=Red]数量[/color]][[color=Red]x坐标1[/color]][[color=Red]y坐标1[/color]][[color=Red]x坐标2[/color]][[color=Red]y坐标2[/color]][[color=Red]...[/color]]
在若干个坐标中随机生成一个“真”的坐标,也就是五选一。例如寻这关的通行证位置。
例:[i]actRandomSetSysArrivePos[/i],5,992,448,992,416,1024,416,1056,416,1088,416 -> [i]86[/i],5,992,448,992,416,1024,416,1056,416,1088,416
可以参照寻这关的攻略
[url]http://tieba.baidu.com/f?kz=252508100[/url]
[color=Blue]87.actCheckPlayerArriveSysPos[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
判断语句,检查角色是否处于随机出的“真”坐标。不用说,捡通行证自然是用这个。
例:[i]actCheckPlayerArriveSysPos[/i],SID_绛甊,1 -> [i]87[/i],SID_绛甊,1
[color=Blue]88.actWaitPlayer[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
等待角色行动完毕再执行下一条指令。
例:[i]actWaitPlayer[/i],SID_纙,1 -> [i]88[/i],SID_纙,1
[color=Blue]89.actSetPlayerName[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]名字[/color]][[color=Red]职业[/color]]
改变角色的名字和职业名称,名字和职业都是文字编号。梅尔、凯文哥俩就是这么诞生的。
例:[i]actSetPlayerName[/i],SID_ENEMY062,2,725,724 -> [i]89[/i],SID_ENEMY062,2,725,724
[color=Blue]90.actChangePlayerID[/color]
[[color=Red]角色种类[/color]][[color=Red]旧编号[/color]][[color=Red]新编号[/color]]
改变角色编号,和actChangePrevInsertObjectID差不多。
例:[i]actChangePlayerID[/i],SID_ENEMY023,2,1001 -> [i]90[/i],SID_ENEMY023,2,1001
[color=Blue]91.actSetPrevInsertObjectFly[/color]
[[color=Red]模式[/color]]
令刚出场的角色可以飞行。当参数为1时可以飞行,为0时不能飞行。怒涛的两栖族可以从海面走到甲板上,就是因为这条指令(到达后再设为0取消飞行)。只对最后出现的人有效。
例:[i]actSetPrevInsertObjectFly[/i],1 -> [i]91[/i],1
[color=Blue]92.actSetPlayerFly[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]模式[/color]]
和上一个差不多,可以对任何人用。
例:[i]actSetPlayerFly[/i],SID_ENEMY048,8,1 -> [i]92[/i],SID_ENEMY048,8,1
[color=Blue]93.actUseItem[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]道具编号[/color]]
让角色使用道具。最经典的例子就是四魔将复活(让他们使用世界树之叶),当然要实现这个还要和actSetPlayerUndead配合使用。
例:[i]actUseItem[/i],SID_ENEMY056,1,252 -> [i]93[/i],SID_ENEMY056,1,252
[color=Blue]94.actCheckRoundDisp[/color]
[[color=Red]整数[/color]]
相对回合数,即判断从该事件被调用起经过的回合数,达到数值后执行下面的指令。
例:[i]actCheckRoundDisp[/i],5 -> [i]94[/i],5
[color=Blue]95.actSetBMWalkToPoint[/color]
[[color=Red]起始点[/color]][[color=Red]终点[/color]]
大地图移动,离散后的几关都是用这个,地点编号在data2中。
例:[i]actSetBMWalkToPoint[/i],30,33 -> [i]95[/i],30,33
[color=Blue]96.actSetBMWalkerPlayerID[/color]
[[color=Red]角色种类[/color]]
设置大地图的领队(就是走路那个人),离散后琥就是用它带的队。
例:[i]actSetBMWalkerPlayerID[/i],SID_砾 -> [i]96[/i],SID_砾
[color=Blue]97.actSetBGToPos[/color]
[[color=Red]x坐标[/color]][[color=Red]y坐标[/color]]
将屏幕瞬间移动到某处。
例:[i]actSetBGToPos[/i],480,1120 -> [i]97[/i],480,1120
[color=Blue]98.actSetTownExitExecEvent[/color]
[[color=Red]城镇编号[/color]][[color=Red]事件编号[/color]]
在指定城镇添加离开时的剧情,和actSetTownExecEvent正好相反。在沙罗尼亚雷离开时会被琥发现,原因就是这个。
[color=Blue]99.actInsertStoryObjectWaitPos[/color]
[[color=Red]类型[/color]][[color=Red]坐标数量[/color]][[color=Red]x坐标1[/color]][[color=Red]y坐标1[/color]][[color=Red]x坐标2[/color]][[color=Red]y坐标2[/color]]...
比actInsertStoryObject多个停顿,此外坐标也是从多个中随机出一个,阻碍这关的毒气就是这么实现的。
例:[i]actInsertStoryObjectWaitPos[/i],obj_Story_Level_PoisonGas,9,672,128,288,288,64,384,480,544,640,576,576,800,288,800,96,896,224,1056
[color=Blue]100.actCheckNextSerialNumber[/color]
[[color=Red]num[/color]]
游戏中没见到过……
[color=Blue]101.actSetPlayerNoAttack[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]][[color=Red]模式[/color]]
使角色不能被攻击(有点类似魔兽的无敌),例如变节中摇摆不定的克罗蒂。模式值为班时有效,为0时还原。
例:[i]actSetPlayerNoAttack[/i],SID_?霉甫,1,1 -> [i]101[/i],SID_?霉甫,1,1
[color=Blue]102.actEarthQuake[/color]
[[color=Red]时间[/color]]
晃动屏幕,产生地震效果,例如崩陷。时间参数就是晃动的持续时间,单位和delay一样。
例:[i]actEarthQuake[/i],120 -> [i]102[/i],120
[color=Blue]103.actChangePosObjectProcCode[/color]
[[color=Red]x[/color]][[color=Red]y[/color]][[color=Red]range[/color]][[color=Red]proc code[/color]][[color=Red]new proc code[/color]]
作用不明……游戏中一次也没出现过,脚本中虽然出现过一次但被注释掉了……
[color=Blue]104.actDeletePosPlayerXRange[/color]
[[color=Red]x坐标[/color]][[color=Red]y坐标[/color]][[color=Red]x number[/color]][[color=Red]阵营[/color]]
取消可站立地形,崩陷用的就是这个。x number没研究过,好像是横向的延伸范围……阵营就是对哪方有效,defProcPlayer为我方,defProcEnemy为敌方。(游戏中是两个一起用)
例1:[i]actDeletePosPlayerXRange[/i],480,640,3,defProcPlayer -> [i]104[/i],480,640,3,defProcPlayer
例2:[i]actDeletePosPlayerXRange[/i],480,640,3,defProcEnemy -> [i]104[/i],480,640,3,defProcEnemy
[color=Blue]105.actInsertStoryObjectXRange[/color]
[[color=Red]类型[/color]][[color=Red]x坐标[/color]][[color=Red]y坐标[/color]][[color=Red]x number[/color]]
应该是填入某种东西,游戏中是紧跟在actDeletePosPlayerXRange后面使用的,而且坐标完全一样,推测是加入不能行走且无图象的地形。
例:[i]actInsertStoryObjectXRange[/i],obj_Story_Block,480,640,3 -> [i]105[/i],obj_Story_Block,480,640,3
[color=Blue]106.actSetRandomPos[/color]
[[color=Red]总数[/color]][[color=Red]x坐标1[/color]][[color=Red]y坐标1[/color]][[color=Red]x坐标2[/color]][[color=Red]y坐标2[/color]][[color=Red]....[/color]]
随机给5个坐标排序,用于未知出守护者。
例:[i]actSetRandomPos[/i],5,240,240,720,240,272,464,656,464,176,688 -> [i]106[/i],5,240,240,720,240,272,464,656,464,176,688
[color=Blue]107.actInsertObjectRandomPos[/color]
[[color=Red]角色种类[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]随机ID[/color]]
在指定ID的地点附近添加单位。相对xy坐标就是相对随机ID的坐标,随机ID是事先用actSetRandomPos生成的。
例:[i]actInsertObjectRandomPos[/i],obj_Story_Level_Enemy067,0,32,0 -> [i]107[/i],obj_Story_Level_Enemy067,0,32,0
(这是石柱的,之所以相对y坐标是32,就是因为它在守护者下方一格,而守护者的坐标就是随机坐标)
[color=Blue]108.actInsertStoryObjectRandomPos[/color]
[[color=Red]种类[/color]][[color=Red]相对x坐标[/color]][[color=Red]相对y坐标[/color]][[color=Red]随机ID[/color]]
和actInsertObjectRandomPos差不多,只不过加入的是白光。
例:[i]actInsertStoryObjectRandomPos[/i],obj_Story_Level_WhiteLight,0,0,0 -> [i]108[/i],obj_Story_Level_WhiteLight,0,0,0
[color=Blue]109.actSetPrevInsertObjectRandomID[/color]
[[color=Red]id[/color]]
没出现过,连脚本的注释都打上了“(......... NOT USE .......)”
[color=Blue]110.actCheckSerialPlayerAttacked[/color]
[[color=Red]被攻击者类型[/color]][[color=Red]编号[/color]]
判断语句,检查被攻击者是不是指定单位,如果是执行后面的指令。
例:[i]actCheckSerialPlayerAttacked[/i],SID_ENEMY067,1 -> [i]110[/i],SID_ENEMY067,1
[color=Blue]111.actScrollBGToRandomPos[/color]
[[color=Red]随机ID[/color]]
在守护者出现时用于将屏幕拉到它的位置,随机ID是事先用actSetRandomPos生成的。
例:[i]actScrollBGToRandomPos[/i],0 -> [i]111[/i],0
[color=Blue]112.actDeleteRandomPosObject[/color]
[[color=Red]id[/color]][[color=Red]range[/color]][[color=Red]proc code[/color]]
作用不明……和守护者出现的语句一同使用
[color=Blue]113.actFALSE[/color]
和actTRUE对应,值永远为假。未知用到过,作用是永远不执行该事件,使它的message永远有效。
[color=Blue]114.actCheckEventNotExist[/color]
[[color=Red]总数量[/color]][[color=Red]事件1[/color]][[color=Red]事件2[/color]][[color=Red]...[/color]]
检查事件是否被触发,是为真,不是为假,多个事件的情况下满足其一即可。未知用来检测攻击柱子的顺序。
例:[i]actCheckEventNotExist[/i],4,2,3,4,5 -> [i]114[/i],4,2,3,4,5
[color=Blue]115.actSetPlayerWalkShape[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
改变单位外形图片,未知用来改变被攻击柱子的颜色。
例:[i]actSetPlayerWalkShape[/i],SID_ENEMY067,2 -> [i]115[/i],SID_ENEMY067,2
[color=Blue]116.actCheckNotPlayerAttacker[/color]
[[color=Red]角色种类[/color]]
判断语句,如果攻击方不是某单位为真,否则为假。未知用来判断咕噜是否合体,这是不能合体的情况。合体的情况用actCheckPlayerAttacked判断。
例:[i]actCheckNotPlayerAttacker[/i],SID_〣翽 -> [i]116[/i],SID_〣翽
[color=Blue]117.actSetPlayerPosToRandom0[/color]
[[color=Red]player id[/color]][[color=Red]serial[/color]]
不知道干嘛用的……咕噜合体时用过两次
[color=Blue]118.actPlayerJobUpProcess[/color]
[[color=Red]角色种类[/color]][[color=Red]编号[/color]]
用途不明……
[color=Blue]119.actWaitPrevInsertPlayer[/color]
等待最后一个出现的援军行动完毕。
例:action = [i]actWaitPrevInsertPlayer[/i] -> action = [i]119[/i]
[color=Blue]120.actPlayMovie[/color]
[[color=Red]over delay[/color]]
播放结局动画,那个参数没整明白……
到100之后有很多我都不会用了……
[color=Blue]121.actInsertRandomObject [/color]
参数和effInsertRandomObject相同,区别不太清楚……终焉这关打败咕噜时出现过
[color=Blue]122.actSetDoublePageMode[/color]
[[color=Red]mode[/color]]
不明白,也是打败咕噜时出现的……
[color=Blue]123.actInsertLevelUpStar[/color]
[[color=Red]声音名称[/color]]
显示角色升级时的光影效果,并播放音效。遗产我方角色撤离时的效果就是这个。
例:[i]actInsertLevelUpStar[/i],WAV\EFF0010.WAV -> [i]123[/i],WAV\EFF0010.WAV
[color=Blue]124.actDetectRoundDispDisp[/color]
[[color=Red]回合数[/color]]
检查倒计时状况。例如还有两个回合,则actDetectRoundDispDisp,-2,遗产这关雷催促快些行动就是这么判断的。
例:[i]actDetectRoundDispDisp[/i],-2 -> [i]124[/i],-2
[color=Blue]125.actCheckProcObjectNotExist[/color]
[[color=Red]proc code[/color]]
游戏中MS没出现过……
[color=Blue]126.actCheckAnyPlayerArrivePos[/color]
[[color=Red]x坐标1[/color]][[color=Red]y坐标1[/color]][[color=Red]x坐标2[/color]][[color=Red]y坐标2[/color]]
检查我方是否有角色在指定坐标内,坐标范围是由4个坐标划出的矩形。和actCheckPlayerArrivePos的区别是,actCheckAnyPlayerArrivePos并没有特别针对的角色,任何我方角色都可以触发。例如忌之魂就是谁都可以拔。
例:[i]actCheckAnyPlayerArrivePos[/i],608,416,608,416 -> [i]126[/i],608,416,608,416
[color=Blue]127.actSetOverFlag[/color]
[[color=Red]方法[/color]]
切换结局决定方法,方法有两种,gameoverflagFreeEnemy和gameoverflagEnemyJobUp。gameoverflagFreeEnemy是由积分决定,gameoverflagEnemyJobUp是固定咕噜结局。咕噜变身时方法设法为gameoverflagEnemyJobUp,不杀席德尔的话又会变为gameoverflagFreeEnemy。
例:[i]actSetOverFlag,gameoverflagFreeEnemy[/i] -> [i]127[/i],gameoverflagFreeEnemy
[color=Blue]128.actAddOverScore[/color]
[[color=Red]结局编号[/color]][[color=Red]分数[/color]]
增加结局积分。结局编号有3个(废话……),gameoverID1是地劫神结局,gameoverID2是席德尔结局,gameoverID3是咕噜结局。这个积分表估计就是这么来的
[url]http://tieba.baidu.com/f?kz=268062791[/url]
例:[i]actAddOverScore,gameoverID1[/i],1 -> [i]128[/i],gameoverID1,1
[color=Blue]129.actSetNextPlayLevelGetOverEvent[/color]
[[color=Red]level[/color]]
只在打败塔克斯后出现过,个人猜测是读取结局积分,判断结局用的,但参数的作用不明……
例:[i]actSetNextPlayLevelGetOverEvent[/i],0 -> [i]129[/i],0
[color=Blue]130.actBMSetPointMode[/color]
[[color=Red]编号[/color]][[color=Red]模式[/color]]
设置大地图各地点的类型。编号就是地点的编号,模式有gameBMShowHidden、 gameBMShowSlow,、gameBMShow三种。不过这块我也是一知半解,以前做mod也是连蒙带猜-_-b 所以三种模式的作用不明……(游戏中也没出现过……)
[[i] 本帖最后由 失落的宇宙 于 2008-7-29 01:25 编辑 [/i]]