Board logo

标题: cczR文件和S文件的研究 [打印本页]

作者: 幽人独往来    时间: 2005-1-31 20:05     标题: cczR文件和S文件的研究

把关于S和R剧本的一些研究成果搜罗了一下,其理论基础的Van太守的,而这里基本都是zengpoem兄的成果~~~加油加油~~

1、撤退台词和战利品的增加(幽人):八楼
2、战场上的单人动作(zengpoem):九楼
3、人物方向的控制(zengpoem):十一楼
4、放火和伏兵(幽人):十二楼
5、R剧本中的人物出场、移动、转向、动作,人物出场装备以及对话需要注意的几个方面(幽人):十二楼
6、CD音轨和延时:十二楼
7、城门的控制(zengpoem):十三楼
8、人物登场控制(Van):第二页第一楼
9、单挑控制(zengpoem):第二页第四楼
   单挑添加实例(幽人独往来):第二页第七楼
10、武将撤退区域的框定(無極):
http://www.xycq.net/forum/index.php?showtopic=43720
11、战场增加宝物库(兼说明在S中增加事件的方法,zengpoem):
http://www.xycq.net/forum/index.php?showto...pic=42867&st=15
12、R剧本修改实例(金圭子,Van):
http://www.xycq.net/forum/index.php?showtopic=43471
    R剧本修改实例2(zengpoem)
http://www.xycq.net/forum/index.php?showtopic=45140
13、袖珍汜水关(zengpoem)http://www.xycq.net/forum/index.php?showto...topic=42070&hl=
14、增添字节的一些研究(hubuchou):
http://www.xycq.net/forum/index.php?showtopic=40804
    增加事件:某回合援军登场的实例(幽人):
http://www.xycq.net/forum/index.php?showtopic=43796
15、Van太守的打造自己的曹操传
16、S文件的选择与音效的处理(zengpoem):第二页六楼
17、R文件增添字节的方法(幽人,未全面测试):第二页第八楼
18、武将状态变更事件(zengpoem):第三页
19、复活、头像和我军出场等(zengpoem):第四页
20、R中的背景显示(zengpoem):第四页


总结:曹操传事件代码详解(不断更新)
第四页http://www.xycq.net/forum/index.php?showto...pic=43067&st=45


各关详细解说(zengpoem):
S00~S10:第二页十楼


zengpoem的以刘备为主角的实例  
http://www.xycq.net/forum/index.php?showtopic=46111


红色为更新
蓝色为重要


已知事件代码(欢迎补充与指正):
  绝大部分事件的完整结构可以在Van太守的“打造自己的曹操传”和本帖跟帖中找到。
2   内部信息
5   变量测试
8   菜单处理
9   延时处理
A   初始化局部变量
B   变量赋值
10  许子将的指导
12  选择事件
14  对话
15  另一种说话方式
16  纯文字显示
17  另一种说话方式二
19  胜利条件
1A  显示胜利条件
1B  屏蔽我方撤退语录
1C  绘图
1D  调色板设置
23  音效设定
24  CD音轨
25  武将进入指定地点测试
26  武将进入指定区域测试
27  背景显示
29  三国地图中显示头像
2B  三国地图上头像消失
2C  三国地图上显示文字
2E  武将相邻测试
30  武将出现R
31  武将消失
32  武将移动R
33  武将转向R
34  武将动作R
36  武将撤退测试
39  人物升级
3A  得失钱S/忠奸度设置R
3B  武将加入R
3D  获得物品
3E  人物加入时所带装备R
3F  回合测试
41  战场人数测试
42  战斗胜利测试
43  战斗失败测试
45  战役全局变量控制
46  友军出场设定
47  敌军出场设定
48  特殊装备设定
4A  头像变化
4B  我军出场设定
4C  伏兵设置
4D  战力削弱
4E  武将状态测试
4F  战场对话转向
50  战场动作设定
51  所有人恢复未行动状态
53  战场撤退
58  城门控制
59  战利品
5A  战斗开始可操作
5B  战场高亮地点
5C  战场高亮人物
5D  最大回合数设定
5F  单挑结束
60  单挑武将出场设定
61  单挑“胜 负”字样
62  单挑阵亡
63  单挑时说话
64  单挑时动作
65  单挑特殊攻击动作
66  单挑特殊攻击动作二
68  单挑开始
6B  朱雀召唤


原帖:
1、我先把金火罐炮设置成棍类,然后在剧本里把一友军的驯虎出场装备设置成改后的金火罐炮,可出场后那人带的依然是普通棍。这个有办法解决么?
此问题现已解决。
2、修改对话的时候老是出现问题,如不分段一长串超出了对话框,如不断循环无法结束对话等等,请问有什么诀窍没有?(好像分段是A0,结束是不是4F0002?)
此问题现已解决
作者: ssbye    时间: 2005-1-31 20:26



QUOTE:
原帖由幽人独往来于2005-01-31, 20:05:46发表
1、我先把金火罐炮设置成棍类,然后在剧本里把一友军的驯虎出场装备设置成改后的金火罐炮,可出场后那人带的依然是普通棍。这个有办法解决么?

2、修改对话的时候老是出现问题,如不分段一长串超出了对话框,如不断循环无法结束对话等等,请问有什么诀窍没有?(好像分段是A0,结束是不是4F0002?)

多谢~~

这个棍子是怎么在剧本里设定的,是把那个友军当成特殊人物了吗?如果作为特殊人物应该是没有问题的。

第二个问题不清楚,我原来用FPE的时候是很少改对话的(改文字麻烦  ),等别人吧。
作者: 幽人独往来    时间: 2005-1-31 20:30



QUOTE:
原帖由ssbye于2005-01-31, 20:26:07发表

QUOTE:
原帖由幽人独往来于2005-01-31, 20:05:46发表
1、我先把金火罐炮设置成棍类,然后在剧本里把一友军的驯虎出场装备设置成改后的金火罐炮,可出场后那人带的依然是普通棍。这个有办法解决么?

2、修改对话的时候老是出现问题,如不分段一长串超出了对话框,如不断循环无法结束对话等等,请问有什么诀窍没有?(好像分段是A0,结束是不是4F0002?)

多谢~~

这个棍子是怎么在剧本里设定的,是把那个友军当成特殊人物了吗?如果作为特殊人物应该是没有问题的。

第二个问题不清楚,我原来用FPE的时候是很少改对话的(改文字麻烦  ),等别人吧。

我先在DATA里把金火罐炮的类别改成特殊棍,然后比如汜水关,陶谦改成驯虎,设置装备金火罐炮,可是运行游戏陶谦带的依然是普通棍~~~~我在想在DATA里的改的类别是不是和那些法术类别一样是换汤不换药的,所以系统认定金火罐炮仍然是“特殊炮车”类呢~~~不明白~~期待解决办法~~~
作者: ssbye    时间: 2005-1-31 20:47

你把陶谦改成炮车装备一下作个试验。
作者: hubuchou    时间: 2005-2-1 03:10

幽人你是在data里面设置的武器,还是在s_??.eex里面的个人装备设定里设的?前者不行,后者应该没问题的。
第二个问题,分段是用0x0A的吧,并且改动字数的话,要设置事件长度的。
作者: 幽人独往来    时间: 2005-2-1 11:55



QUOTE:
原帖由hubuchou于2005-02-01, 3:10:58发表
幽人你是在data里面设置的武器,还是在s_??.eex里面的个人装备设定里设的?前者不行,后者应该没问题的。
第二个问题,分段是用0x0A的吧,并且改动字数的话,要设置事件长度的。

第二个问题,分段是用0x0A的吧,并且改动字数的话,要设置事件长度的。

分段用0A,我找到了,关于改动字数要设置事件长度 能具体说一说么?我不懂~~  在哪里设呢?  

现在要么就是对话循环死,要么是对话略过~~~~痛苦啊~~~
作者: hubuchou    时间: 2005-2-1 13:53

http://www.xycq.net/forum/index.php?act=ST...t=0#entry516929

现在回家了,只能逛网吧,这个文件是前阵子的研究结果,我记得测试时通过了,你看一下有没有问题?
作者: 幽人独往来    时间: 2005-2-3 17:41

今天在S文件里增加了一个撤退的台词,方法如下:

xx xx      该事件的总字节数        该段2字节

02000500
3600
02 00 xx xx      武将Index
23000700
040000000000
24000200
05003500000035000100
xx 00 00 00      序号1
xx 00 14 00 05 00      序号2         该段47字节

26……00      对话,格式&人名.对话内容

5300
2C000000
02 00 xx 00      武将Index
040000000000
040000000000
040000000000
040000000000
0300FFFF
26 00 xx 00      01表示死亡,00表示离场        该段42字节

0B000400
xx 00 00 00      序号1
270001000000        该段14字节

然后在1beeH处+1,在12H+增加的字节总数

如果有战利品产生,那么会在最后两部分之间插入下面一段
3D00
17 00 xx xx      物品代码
4900 xx xx      物品等级
2600010002000304
之后是一段58字节的东西,但看了看颖川拿太平清领道的时候没有这58个字节~~~
作者: 博雅张生    时间: 2005-2-3 18:22

战场上的单人动作,经常与对话连用:

50 00
02 00 XX XX 武将Index
46 00 XX XX 动作
26 00 XX XX 动作前延时
26 00 XX XX 动作后延时

动作:

00 一般
01 面向南将武器举过头顶(spc的最后一张图)
02 防御
03 被攻击
04 虚弱
05 准备攻击

06之后都是一系列动作
06 攻击
07 二次攻击
08 坐立不安(慢速转圈,有音效)
09 喘气
0a 晕倒
0b 快速转圈(无音效)
0c 中速转圈(无音效)

延时:

00 短 01 长
作者: 幽人独往来    时间: 2005-2-3 19:01

zengpoem兄,如果要添加动作的话应该怎么改?
我是在对话前的14000500前面加上你的上面那18个字节,然后把再前面的那个xx 00改成现在的字节数,12H处也改了。
然后无论1bee是否加一都不对。
在触发这个剧情的时候就“开始游戏”画面不断循环,不能继续了。

已解决。找到对话前的14000500。
在前面插入上述的18个字节。
然后刷新三个位置的值就可以了:12H的剧本总字节,改事件的总字节和该对话的总字节。
作者: 博雅张生    时间: 2005-2-4 12:41

人物方向的控制:

4F 00
02 00 XX XX 武将1 Index
02 00 XX XX 武将2 Index
2B 00 XX XX 方向
26 00 FF FF 一般不要改
26 00 XX XX 动作前延时
26 00 XX XX 动作后延时

有两种情况:

1. 武将2 Index是 FF FF
则2B后面指武将1的方向:
00 上
01 右
02 下
03 左

2. 武将2是某个具体的人
2B 后面接 FF FF
则武将1面向武将2

此时若将第一个26后面改成01,则
  若武将1在此之前面向武将2,则方向不变,否则武将1背向武将2。


部队移动:

32 00
40 00 00 00
02 00 XX XX 武将Index
04 00 00 00 00 00
04 00 XX XX 00 00  移动后横坐标
04 00 XX XX 00 00  移动后纵坐标
2B 00 XX XX  移动后方向
作者: 幽人独往来    时间: 2005-2-5 14:52

多谢zengpoem

下面帖一下我的成果。偶不懂程序,完全是依葫芦画瓢~~~

一、放火事件21
2100
0400 xxxx 0000    火的坐标X
0400 xxxx 0000    火的坐标Y
1000 0000
2600 0100
2600 0000

二、埋伏部队的出现4C
4C00
4000 0000
0200 xxxx    人物Index
0400 0000 0000

三、R剧本中人物的出场30
3000
0200 0000    人物Index
0400 xxxx 0000    坐标X
0400 xxxx 0000    坐标Y
2B00 xxxx    朝向
0D00 xxxx    动作

四、R剧本中人物的移动32
3200
4000 FFFF
0200 xxxx    人物Index
0400 xxxx 0000    不懂,似乎都是00
0400 xxxx 0000    坐标X
0400 xxxx 0000    坐标Y
2B00 xxxx    朝向

五、延时09
0900
0400 xxxx xxxx    延时时长

六、R剧本中武将的转向33
3300
0200 xxxx     武将Index
0D00 xxxx    人物动作形态*
2B00 xxxx    朝向

七、R剧本中武将的动作34
3400
0200 xxxx    武将Index
0D00 xxxx    武将动作形态*

八、CD音轨事件24
2400
0900 xxxx    音轨Index

九、R剧本中人物出场所带特殊装备
3E00
0200xxxx    武将Index
3B00xxxx    武器Index(和S中一样要加上2)
4900xxxx    等级
3C00xxxx    防具Index
4900xxxx    等级
3D00xxxx    辅助道具Index

十、人物对话的一些注意点
1、对话格式:1400050026人名0A说话内容00;
2、如果有多人连续说话,则最后的00变成0A,且对话之间必须紧密衔接(即一句话结束0A之后必须马上跟26);
3、对话的分段用0A控制;
4、人名中的半角数字和英文会被忽略掉,全角则不会;
5、单挑过程中的说话不需要如上格式,直接写内容即可(详见单挑事件)。

*人物动作形态,在太守的RPGViewer中可以看出来
00 普通
01 跪着
02 红脸
03 举手
04 哭
05 伸手
06 作揖
07 红着脸坐着
08 坐着举起手
09 坐着哭
0A 倒下
0B 单膝跪地
0C 被缚
0D 挥剑抬起
0E 挥剑招地
0F 似乎是许褚专有的,就是半个身子在图里的形象
10 坐起身(这张不知如何描述)
11 单手举起

所有人的形态都不全,如果做到不存在的形态就会消失。
作者: 博雅张生    时间: 2005-2-5 16:58

接着来…………

城门的控制是个很有意思的事情。

58 00
42 00 XX XX 城门编号
43 00 XX XX 关门是00,开门是01
44 00 XX XX 关门是11,开门是10
04 00 XX XX 00 00 横坐标
04 00 XX XX 00 00 纵坐标
26 00 XX XX 延时
26 00 XX XX 延时

城门编号:
00 火
01 船
02 火船
03 白框(地形是城门)

从04开始是真正的城门,用太守的RPGViewer看Gate.e5
每张图由从上到下9个格组成。此事件中设定的坐标是第五个格的坐标。一旦事件执行,设定的坐标及其周围8个格都会发生变化,变成Gate.e5相应图中那样。设Gate.e5图中9个格从上到下为1-9,则在游戏中对应的是:
123
456
789

事件里的城门编号与Gate.e5中图片序号对应关系:

关门:城门编号(十进制)=3+(图片序号+1)/2
开门:城门编号(十进制)=3+图片序号/2

游戏中,一个城门由两个格组成。因此,控制一个完整的城门要用两组事件代码。如果第一组代码的后一个26以及第二组代码的前一个26都设为00,则在事件执行时,游戏会自动发出开关门的声音。
作者: 金圭子    时间: 2005-2-5 17:16



QUOTE:
原帖由幽人独往来于2005-01-31, 20:05:46发表
2、修改对话的时候老是出现问题,如不分段一长串超出了对话框,如不断循环无法结束对话等等,请问有什么诀窍没有?(好像分段是A0,结束是不是4F0002?)

其实分段的0x0a就是换行(LF)
当然我们平时用的完全版本的是用的0x0d,0x0a(CRLF,回车换行)
其中的0x0d是回车(CR)
作者: 無極    时间: 2005-2-5 18:23

各位大侠,请教一下,武将加入是怎么控制的?在DATA里武将都是无归属的,这个在R剧本还是S剧本里怎么实现?
作者: 幽人独往来    时间: 2005-2-5 19:09

1、在DATA里把相应的FF改成00,或者用DATA修改器在“强行加入”打勾。

2、在R剧本里搜索3b000200
3B00
0200xxxx    武将Index
0E00xxxx    00表示登场,FF表示死亡
3E00xxxx   武将等级加成

在0200后面写上你要加入的武将Index,在0E00后面写上0000,在3E00后面写上你要他加入时的等级加成,ok。
作者: 無極    时间: 2005-2-5 19:32



QUOTE:
原帖由幽人独往来于2005-02-05, 19:09:31发表
1、在DATA里把相应的FF改成00,或者用DATA修改器在“强行加入”打勾。

2、在R剧本里搜索3b000200
3B00
0200xxxx    武将Index
0E00xxxx    00表示登场,FF表示死亡
3E00xxxx   武将等级加成

在0200后面写上你要加入的武将Index,在0E00后面写上0000,在3E00后面写上你要他加入时的等级加成,ok。

多谢幽人赐教,  偶去试试
作者: 博雅张生    时间: 2005-2-6 13:55

更正:
    单人动作的05是准备攻击的动作。
作者: 博雅张生    时间: 2005-2-6 16:08

单挑:

单挑是一个复杂事件,以6800开始,5F000000结束。在68之前,要用两个字节说明单挑事件的长度。

1. 开始

68 00
02 00 XX XX 武将A Index
02 00 XX XX 武将B Index

说明:不管武将A和武将B在这里顺序如何,在此之后说到武将Index,都是00表示敌方,01表示我方。

2. 出场

60 00
26 00 XX XX 武将Index
05 00 武将说的话 00
4C 00 XX XX 动作

说明:
  (1) 单挑过程中武将说活不用写武将的姓名,直接说即可。
  (2) 动作:
      00 无
      01 向后转
      02 向前移动(双方处于初始位置,若一方执行此指令,则恰好移动到另一方面前)
      03 向前移动(短)
      04 后退(短)
      05 将武器举过头顶
      06 防御
      07 被攻击
      08 准备攻击
      09 攻击
      0a 二次攻击
      0b 晕倒
      0c 喘气
      0d 撤退
      0e 跳舞1
         0f 跳舞2
   (3)动作发生在说话之前

3. 武将出场之后,屏幕中央出现“胜负”两个字

61 00  

4. 武将变成灰色。

62 00
26 00 XX XX  胜方Index(这里要特别注意)

5. 说话

63 00
26 00 XX XX 武将Index
05 00 说话的内容 00
26 00 XX XX 延时 00短 01长

6. 动作
64 00
26 00 XX XX 武将Index
4C 00 XX XX 动作

说明:动作代码与出场时相同

7. 攻击1
65 00
26 00 XX XX 攻方Index
4D 00 XX XX 攻击方式
26 00 XX XX 00表示普通攻击,01表示致命一击攻击

攻击方式:
  00 攻击命中
  01 攻击被对方挡住
  02 攻击被对方挡住且对方后退
  03 对方向后闪躲
  04 对方闪躲到攻方身后

8. 攻击2
66 00
26 00 XX XX 攻方Index
4E 00 XX XX 攻击方式
26 00 XX XX 00表示攻击命中,01表示没有命中

攻击方式:
   00 原地攻击
   01 向前移动攻击。(若攻方在守方面前,用此指令则可冲过守方)
   02 双方互相冲击

9. 延时
09 00
04 00 XX XX 00 00 数越大时间越长

10. 单挑结束
5F 00 00 00
作者: 夜游魂    时间: 2005-2-6 19:14

zengpoem

越来越强了~期待你的剧本编辑器~~~
作者: 博雅张生    时间: 2005-2-8 14:48

S文件中的选择事件:

12 00 05 00 选项1 0A 选项2 0A 选项3 00
02 00 XX XX 武将Index

01 00 13 00 04 00 01 00 00 00
XX XX 事件1长度(包括后面的0000)
事件1 00 00

01 00 13 00 04 00 02 00 00 00
XX XX 事件2长度(包括后面的0000)
事件2 00 00

01 00 13 00 04 00 03 00 00 00
XX XX 事件3长度(包括后面的0000)
事件3 00 00

R文件中的选择事件代码结构似乎与S文件近似,但并不完全相同。



音效:

23 00
1e 00 XX XX 音效类型
04 00 XX XX 00 00重复次数

音效类型:
00 选择某个部队
01 取消选择
02 试图移动敌方部队
03 策略Miss
04 出现黑底白字战役名称的音效
05 战斗前曹操喊“出发”的音效
06 转身
07 挥舞武器
08 准备攻击
09 换装备
0a 卖东西
0b 升级
0c 转职
0d 转职
0e 得宝物
0f 出兵时点选武将
10 被打退
11 主动撤退
12 开关门
13 放火
14 敲锣
15 口哨
16 死亡
17 步兵移动
18 骑兵移动
19 炮车移动
1a 雪地移动
1b 树林移动
1c 浅滩移动
1d 船移动
1e 攻击没命中
1f 强攻击没命中
20 准备攻击(骑兵)
21 准备强攻击
22 准备攻击(步兵)
23 攻击命中
24 强攻击命中
25 准备攻击(弓兵)
26 很奇怪的声音,不记得在那里出现。
27 准备用策略
28 战斗失败
29 吃豆
2a 木人复活

由于很多其它事件自带音效,因此这个音效代码用得不多。


硬性测试条件的补充:

40 00 48 00 XX 00

XX为00表示我方行动结束之前(不起丝毫作用)
01表示我方行动结束之后,友方行动之前
02表示友方行动结束之后,敌方行动之前
作者: 幽人独往来    时间: 2005-2-10 13:19

添加事件里我想最吸引大家的就是单挑的添加了,而zengpoem兄又给出了代码,所昨天就照着zengpoem兄的代码自己添加了一个简单的单挑,下面说说这个完整的过程吧。

xxxx    整个事件的长度
02000500
战中处置00    这个似乎就是用来使得看得更清楚的,在前几关都没有这些字,要注意的是
             “战中处置”这四个字把两个00分在了两边

2E00    从这里开始是武将相邻测试,单挑的发生总要相邻吧~~
0200xxxx
0200xxxx
26000000

050035000000
35000100xx000000    这里就是事件的序列,与其他事件不能重复
xxxx    这里是从下面到整个事件结束的字节数

4F00    武将转向,发生单挑的时候两个人总要面朝一起吧。一般有两个4F。
0200xxxx
0200xxxx
2B00xxxx
2600xxxx
26000000
26000100

1400050026人名0A说话内容00    单挑之前说的话

010002000500
单挑处置00    和那个“战中处置”一样,看得清楚一些。
xxxx    注意这里是整个单挑事件的长度。从6800开始到5F000000结束。

6800    单挑开始了
0200xxxx
0200xxxx

6000    单挑武将出场设定,一般是两个
2600xxxx    zengpoem说得很清楚,这里00表示敌方,01是我方
0500说话内容00    同样zengpoem说得很清楚,不要加26人名0A,直接说内容
4C00xxxx

6100    出现“胜 负”那两个字

6400    单挑时使用的动作
2600xxxx
4C00xxxx

6300    单挑时说话,与动作通常连用,在游戏中是先说话在做动作
2600xxxx
0500说话内容00
2600xxxx    延时设定,这个我老是忘记  

注意以上的6400/6300反复使用可以创造出丰富多彩的动作和语言

6600    特殊攻击方式通常用这些来做单挑的收尾动作
2600xxxx
4E00xxxx
2600xxxx

6500    与6600一样
2600xxxx
4D00xxxx
2600xxxx

这里要注意,我发现在几个6600/6500之间总会出现0900040005000000,我想这些是不是用来区分回合数的。

6200    单挑失败的一方变成灰色,挂掉了
2600xxxx

5F000000    单挑事件结束

5300    以下是人死后的战利品设置或者是撤退设置
2C000000
0200xxxx
040000000000
040000000000
040000000000
040000000000
0300FFFF
26000100    01表示死亡;00表示离场,且没有下面的18个字节
3D00
1700xxxx
4900xxxx
26000100
02000300

0B000400xx000000    事件序列,与前面的要一致
270001000000    整个事件终结

最后把事件个数和12H处的总字节数刷新一下,就行了。
作者: 幽人独往来    时间: 2005-2-11 19:02

这个帖子什么时候被加了推荐和讨论了?  zengpoem兄,大家要加油了HOHO~~


今天为了搞人物加入,顺便看了看R文件,发现R文件里似乎没有什么字节数的控制,只有每一部分的地址控制(偶不会说术语  )
以R05为例:
0h~9h:
45455800010200000000    这是R文件的开始,所有R似乎都是一样的

Ah~25h:各部分的地址控制
26000000    表示第一部分从26H开始
9F050000    表示第二部分从59FH开始
73090000    表示第三部分从973H开始
74110000    表示第四部分从1174H开始
5D180000    表示第五部分从185DH开始
171C0000    表示第六部分从1C17H开始
841D0000    表示第七部分从1D84H开始

    也就是说,如果你在某一部分变化了字节数,只要把从此之后的每部分地址位置刷新一下就可以了。

26h~20D7h(文件末尾):各部分事件
第一部分:“郭嘉、程昱出场”
第二部分:“曹嵩  曹使前来出迎”
第三部分:“出兵徐州  陈宫再次出场”
第四部分:“刘备援军”
第五部分:“吕布与陈宫(攻击濮阳)”
第六部分:“军事会议,徐州杀戮战前”
第七部分:战前整备(玩家切换)

    可以看出,每一部分是以场景的变换为区分的。
作者: ssbye    时间: 2005-2-11 19:08



QUOTE:
这个帖子什么时候被加了推荐和讨论了?

去看置顶帖,嘿嘿,大家加油啊,早日成精华
作者: 博雅张生    时间: 2005-2-12 18:58

S文件中大段的代码已经研究地差不多了,接下来我开始逐关研究,查缺补漏:(本贴不断更新)

第0关:颖川:

1. 纯文字显示:

16 00
05 00 文字 00

2. 人物高亮显示:

5C 00
02 00 XX 00 人物Index

3. 所有人变成未行动状态。常在战斗结束后的人物动作之前使用,因为人物的动作(50)只有在未行动时才能持续。

51 00

4. 战斗开始(指玩家可以开始操纵)

5a 00 (没有也没关系)

5. 与战斗结束有关的代码

(1) 战斗胜利的一般格式:

59 00
04 00 00 00 00 00 17 00 FF FF 49 00 FF FF 17 00 FF FF 49 00 FF FF 17 00 FF FF 49 00 FF FF 26 00 FF FF
49 00
0B 00 04 00 00 00 00 00 27 00 01 00
0B 00 04 00 XX XX 00 00 27 00 01 00 (颖川是5802,汜水关是5902…………)
0D 00

(2)战斗失败的一般格式:

49 00
0E 00
0B 00 04 00 01 00 00 00 27 00 01 00
0D 00

(3)具体分析
a. 一般的S文件胜利事件的变量是00,失败事件的变量是01,因此有0B000400……
b. 0E表示失败。实验表明,有了0E,即使没有49和0D,也可正常失败。
c. 49和0D都不能单独使用。

6. 朱雀的召唤:
需要两段代码:
6B00
04 00 XX 00 00 00 横坐标
04 00 XX 00 00 00 纵坐标
4b 00 XX 00 第一段为69,第二段为6D
26 00 00 00

7. 指导
10 00
后面的31与53类似,是撤退代码。

第2关:虎牢关:

这关的吕布撤退事件是个复杂事件,借此总结一下01的用法:

1 用于战前事件
  战前事件可以由很多段组成,每一段的结构是:
  01 00 02 00 05 00 文字说明 00 XX XX {事件0000} XXXX表示该段事件长度
2 用于战中事件
  有些战中事件比较长,通常要分段。每一段的结构于战前事件相同
3 用于在事件中引入测试条件
  可以是硬性测试条件,也可以是事件测试条件,结构是:
  01 00 {测试条件} XX XX {子事件0000} XXXX表示子事件长度
  在这之后还可以用01 00 03 00 再接一段代码,表示不满足测试条件时发生的事件。
  01 00 03 00 XX XX {子事件0000} XXXX表示子事件长度
  例:第4关最后战利品的获得
4 用于选择事件
  前面贴中已有描述。

总之,01可以认为是子事件开始的标志。由01标志的子事件一定有长度说明。

第3关 董卓追击

地点高亮显示:
5B 00
04 00 XX XX 00 00
04 00 XX XX 00 00
04 00 XX XX 00 00
04 00 XX XX 00 00 划定一个矩形
26 00 FF FF

这关的241bH处有个54,不知道做什么用的。

第4关 黄巾讨伐

人物升级:

39 00
02 00 XX XX 武将Index
04 00 XX XX 00 00 等级上升数
值得注意的是,用此方法升级,等级可以超过上限(我方人员如果等级超过上限,会自动变为上限,但能力为超过等级上限的能力)。如果升级后等级超过255,会减去256。
作者: 幽人独往来    时间: 2005-2-12 19:18

zengpoem兄能不能把许子将指导的那一段分析一下,我在想能不能把这一段放到其他关去(包括解说、加等级、给钱和给宝物几个部分)。
作者: 無極    时间: 2005-2-12 19:33



QUOTE:
原帖由幽人独往来于2005-02-12, 19:18:54发表
zengpoem兄能不能把许子将指导的那一段分析一下,我在想能不能把这一段放到其他关去(包括解说、加等级、给钱和给宝物几个部分)。

我记得那一段是在EXE里面吧。。。
作者: 幽人独往来    时间: 2005-2-12 19:48



QUOTE:
原帖由無極于2005-02-12, 19:33:50发表
我记得那一段是在EXE里面吧。。。

对,说话的内容是在exe里,我现在就想,这段指导能不能放在其他关里?如果能的话那么Mod就不必把颖川作为第一关了,这样一来关卡的安排就自由多了。
但是我试了一下,似乎没有摸到门道,简单的添加似乎不对。
作者: 無極    时间: 2005-2-12 19:54



QUOTE:
原帖由幽人独往来于2005-02-12, 19:48:22发表
对,说话的内容是在exe里,我现在就想,这段指导能不能放在其他关里?如果能的话那么Mod就不必把颖川作为第一关了,这样一来关卡的安排就自由多了。
但是我试了一下,似乎没有摸到门道,简单的添加似乎不对。

许子将那个人物是特殊的
替换掉人物就可以啊,他不出场就不会噜嗦了
作者: 幽人独往来    时间: 2005-2-12 20:24

不是的,我的意思是比如我想在第二关再让他出来指导并且给钱加等级送宝物等等。
作者: 博雅张生    时间: 2005-2-12 20:39



QUOTE:
原帖由幽人独往来于2005-02-12, 19:18:54发表
zengpoem兄能不能把许子将指导的那一段分析一下,我在想能不能把这一段放到其他关去(包括解说、加等级、给钱和给宝物几个部分)。

指导这个事件在S文件中只有两个字节,就是:
10 00

如果要加到其它关里,那么那关一定要有许子将出场,并且许子将与曹操、刘备的相对位置最好与颖川相同。
作者: 幽人独往来    时间: 2005-2-15 11:50

发现这个帖子沉了,来顶一下。其实zengpoem兄一直在更新的,我的首帖也会随时更新方便查找。同时希望有更多的人加入到这个队伍里来。谢谢。
作者: 幽人独往来    时间: 2005-2-15 13:26



QUOTE:
原帖由zengpoem于2005-02-12, 20:39:21发表
指导这个事件在S文件中只有两个字节,就是:
10 00

如果要加到其它关里,那么那关一定要有许子将出场,并且许子将与曹操、刘备(可换成其他人)的相对位置最好与颖川相同。

我在汜水关添加了许子将的出场指导,
1、许子将必须在友军中设置出场;
2、许子将在DATA里改名不影响指导事件的发生;
3、许子将、刘备、曹操的坐标对应关系为(0,0)——(0,7)——(1,7),最好按此位置关系设置;

4、我的疑惑:好像另一个人必须是刘备?如果是刘备,无论是我军、友军还是敌军都没有问题,而我换成其他的人到那里就会说非法操作,而我把exe里的那段对话中的“刘备”改成相应的别的人名后问题依旧。不知是怎么回事。
作者: 博雅张生    时间: 2005-2-15 19:29



QUOTE:
原帖由幽人独往来于2005-02-15, 13:26:00发表
4、我的疑惑:好像另一个人必须是刘备?如果是刘备,无论是我军、友军还是敌军都没有问题,而我换成其他的人到那里就会说非法操作,而我把exe里的那段对话中的“刘备”改成相应的别的人名后问题依旧。不知是怎么回事。  

原来是这样。我也没有具体试验,现在看来另一个人必须是刘备。
作者: 博雅张生    时间: 2005-2-15 19:34

第5关 徐州复仇

另一种说话方法:

15 00
02 00 XX XX 武将A Index
02 00 XX XX 武将B Index
05 00 话 00 不用写姓名

若武将A在战场上,则由武将A说话,否则由武将B(可以不在战场上)说话。

第8关 濮阳3

得失钱

3A 00
28 00 00 00
34 00 XX XX  01为得钱,02为失钱
04 00 XX XX 00 00 钱数

另一种文字显示:

17 00
05 00 文字 00

与16不同的是,17的文字只允许一行,且文本框的大小根据文字长度而定。

第9关 献帝救出

2333H 有个 6A 作用未知

第10关 张绣讨伐

屏蔽我方武将撤退时的说话:

1B 00
02 00 XX XX 武将Index
27 00 00 00

第11关 袁术讨伐

最大回合数设定:

5D 00
34 00 00 00
04 00 XX XX 00 00 最大回合数
作者: 金圭子    时间: 2005-2-16 08:39



QUOTE:
原帖由幽人独往来于2005-02-15, 13:26:00发表

QUOTE:
原帖由zengpoem于2005-02-12, 20:39:21发表
指导这个事件在S文件中只有两个字节,就是:
10 00

如果要加到其它关里,那么那关一定要有许子将出场,并且许子将与曹操、刘备(可换成其他人)的相对位置最好与颖川相同。

我在汜水关添加了许子将的出场指导,
1、许子将必须在友军中设置出场;
2、许子将在DATA里改名不影响指导事件的发生;
3、许子将、刘备、曹操的坐标对应关系为(0,0)——(0,7)——(1,7),最好按此位置关系设置;

4、我的疑惑:好像另一个人必须是刘备?如果是刘备,无论是我军、友军还是敌军都没有问题,而我换成其他的人到那里就会说非法操作,而我把exe里的那段对话中的“刘备”改成相应的别的人名后问题依旧。不知是怎么回事。  

如果保留刘备、曹操的代码不变,名字改掉可以么?
作者: 幽人独往来    时间: 2005-2-16 12:09

回金圭子

完全可以的
2、许子将在DATA里改名不影响指导事件的发生;
刘备也是一样的。而且姓名的字数、人物外观等等都是可以的改的。也就是说应该只有代码在起作用吧。
作者: 幽人独往来    时间: 2005-2-17 13:32

今天在做“反叛”这个事件(类似于邺城之战那两个开城门的小伏兵)的时候偶然发现一个使用通配符0104的问题。

两个0200xxxx相邻,通配符似乎只能放在后面一个0200里,否则0104只相当于0000,也就是曹操。
例如:
2E000200010402007E0126000000……做出来后只有曹操与7E01(熊1)相邻才会有效果,其余的一概无效。
而2E0002007E010200010426000000……做出来却是任一我军或友军与熊1相邻都会有效果。

不知道这是不是一个普遍的现象。
作者: 博雅张生    时间: 2005-2-17 18:34

32 既可用于R剧本,也可用于S剧本

3A的另一个功能是设定忠奸度

3A 00
28 00 02 00
34 00 XX XX        00:直接设定  01 :奸度上升  02:忠度上升
04 00 XX XX 00 00  数值

1D 00 是个很有用的代码,用来重新设置调色板。在切换场景时必须用此指令,否则新场景的颜色可能不正常。

29是在三国地图上显示头像:

29 00
02 00 XX XX 武将Index
04 00 XX XX 00 00 横坐标
04 00 XX XX 00 00 纵坐标

2C是在三国地图上显示文字:

2C 00
05 00 文字 00
26 00 XX XX        00表示文字前换页,01表示不换页
26 00 XX XX        00表示文字前不换行,01表示换行
26 00 XX XX        00表示文字后没有停顿,01表示有(需要点鼠标)

2B是三国地图上头像消失:

2B 00
02 00 XX XX 武将Index
作者: 幽人独往来    时间: 2005-2-18 20:14

zengpoem兄,能不能解说一下武将状态测试4E?

4E00
2C00xxxx    0000或FFFF
0200xxxx    武将Index
040000000000
040000000000
040000000000
040000000000
0300    0000或FFFF
0700xxxx    只见过01或者06
0200FFFF
0400xxxx0000
0400xxxx0000    这两段应该是武将奔向的坐标

那个0700后面跟的代码是什么含义?
还有4E具体该怎么用,多谢。
作者: 幽人独往来    时间: 2005-2-18 20:20

麻烦斑主帮忙删一下帖,网络不好,连续重复发了好几遍。
对不起…………
作者: ssbye    时间: 2005-2-18 21:17

现在论坛总是出毛病,可能不是你的问题,我现在忙,不能总是在线,也说声对不起了。
作者: 博雅张生    时间: 2005-2-19 00:10



QUOTE:
原帖由幽人独往来于2005-02-18, 20:14:39发表
zengpoem兄,能不能解说一下武将状态测试4E?

4E00
2C00xxxx    0000或FFFF
0200xxxx    武将Index
040000000000
040000000000
040000000000
040000000000
0300    0000或FFFF
0700xxxx    只见过01或者06
0200FFFF
0400xxxx0000
0400xxxx0000    这两段应该是武将奔向的坐标

那个0700后面跟的代码是什么含义?
还有4E具体该怎么用,多谢。

武将状态测试?不对吧。
4E应该是用来改变部队方针的。
作者: 幽人独往来    时间: 2005-2-19 19:33

to zengpoem
麻烦帮我详细解说一下4E的这个事件好么?多谢了。
作者: 博雅张生    时间: 2005-2-20 16:49

幽人兄:

我最近一直在赶以刘备为主角的S剧本样本,因此没有时间试验代码。只能写出大致的意思。

4E 00
2C 00 XX XX 00(或FFFF)表示针对单人 01表示针对范围
02 00 XX XX 武将 Index (若是针对范围,则这里是FFFF)
04 00 XX XX 00 00
04 00 XX XX 00 00
04 00 XX XX 00 00
04 00 XX XX 00 00 划定一个矩形 (若是针对单人,则这里都是0000)
03 00 XX XX  01 友军 02 敌军 (猜的)
07 00 XX XX 方针
02 00 XX XX 跟随武将Index
04 00 XX XX 00 00
04 00 XX XX 00 00 奔向的坐标

部队方针:

00 若一回合内能攻击,则移动,否则原地不动
01 出击
02 坚守
03 跟随
04 奔向某坐标

残留问题:
    1 你说的06应该也是奔向某坐标,但和04有什么区别?(例:仓亭中计的袁绍是04,长坂坡的刘备是06)
    2 03是跟随,但仓亭袁绍中计后,袁绍的兵的方针设为跟随袁绍,实际效果确是撤向某地(袁绍还没撤)。为什么?
    3 05是什么?07,08……有没有?
作者: BT土偶    时间: 2005-2-20 17:54

zengpoem 兄:
会不会是有不同的剧情?
作者: 無極    时间: 2005-2-21 23:20

补充一个
R剧本中,三国大地图上人物头像移动
2A00
0200xxxx人物代码
0400XXXX0000横坐标
0400XXXX0000纵坐标
作者: 博雅张生    时间: 2005-2-22 18:46

55:复活的控制

55 00
40 00 XX XX         00:根据武将Index,01:根据我方武将出场顺序
02 00 XX XX 武将Index
04 00 XX XX 00 00 我方武将出场顺序
04 00 XX XX 00 00 横坐标
04 00 XX XX 00 00 纵坐标
2B 00 XX XX 方向

复活对象:只要战场设定中有这个人,就可以复活。如果此指令执行时该武将仍在战场上,则状态不变,否则该武将重新出现在设定的坐标)

剑阁之战,许褚等人绕到下面就是用此代码实现的。  

头像的变化是20,不是4A

20 00
4A 00 XX XX

而4A是控制我方出场人员的。(这个代码可把我害苦了。不论我在R_00.eex中怎样设定,第0关我方总是曹操一个人,后来才发现在S_00.eex的开头有这样一段)

4A 00
04 00 XX XX 00 00
38 00 XX XX (5段)
39 00 XX XX (5段)

而在R剧本中,控制我方出场人员的代码是06,用法比较固定:

第一段在玩家切换之前,在06之前必然有08 00 2E 00 01 00

06 00
2E 00 01 00
04 00 XX XX 00 00 最大人数
38 00 XX XX (5段,必出场人物)
39 00 XX XX (5段,必不出场人物)

第二段在玩家切换当中,在06之前必然有08 00 2E 00 00 00

06 00
2E 00 00 00
04 00 00 00 00 00
38 00 FF FF (5段)
38 00 FF FF (5段)

参量不要改

介绍一下R剧本中的玩家切换

一般是在最后一部分,其形式与S剧本的第二部分类似。

一开始有一个总事件数

每个事件也都有硬性测试条件,硬性测试条件有:

点出兵按钮:07 00

点某个武将:
  2D 00
   02 00 XX XX 武将Index
作者: 幽人独往来    时间: 2005-2-24 22:22

曹操传事件代码详解

2  内部信息
5  变量测试
6   我方出场人数控制R
0600
2E00 0100
0400 xxxx xxxx   出场最大人数,最大为15
3800 xxxx   强制出场的武将Index
3800 xxxx
3800 xxxx
3800 xxxx
3800 xxxx
3900 xxxx   无法出场的武将Index
3900 xxxx
3900 xxxx
3900 xxxx
3900 xxxx

7   点“出兵”按钮
8  菜单处理
9  延时处理
0900
0400 xxxx xxxx   时长

A  初始化局部变量
B  变量赋值
10 许子将的指导
10 00
注意人物代码必须是许子将、曹操、刘备三个人,名字等可以换

12 选择事件
  R剧本中的选择事件
    1200 0500选项1 0A 选项2 0A 选项3 00
0200 xxxx   武将Index
0100 1300 0400 0100 0000
xxxx   事件1长度(包括后面的0000)
事件1 0000
0100 1300 0400 0200 0000
xxxx   事件2长度(包括后面的0000)
事件2 0000
0100 1300 0400 0300 0000
xxxx   事件3长度(包括后面的0000)
事件3 0000

14 对话
1400
0500
26对话内容00
★对话需要注意的问题:
1、如果有多人连续说话,则最后的00变成0A,且对话之间必须紧密衔接(即
一句话结束0A之后必须马上跟26);
2、对话的分段用0A控制;
3、人名中的半角数字和英文会被忽略掉,全角则不会;
4、单挑过程中的说话不需要如上格式,直接写内容即可(详见单挑事件)。

15 另一种说话方式
    1500
0200 xxxx   武将A Index
0200 xxxx   武将B Index
0500话00   不用写姓名
若武将A在战场上,则由武将A说话,否则由武将B(可以不在战场上)说话

16 纯文字显示
    1600
0500文字00

17 另一种说话方式二
    1700
0500文字00
与16不同的是,17的文字只允许一行,且文本框的大小根据文字长度而定。

19 胜利条件
1A 显示胜利条件
1B 屏蔽我方撤退语录
    1B00
0200 xxxx   武将Index
2700 0000

1C 绘图
1D 调色板设置
20  头像变化
    2000
4A00 xxxx

21  放火
2100
0400 xxxx 0000   火的坐标X
0400 xxxx 0000   火的坐标Y
1000 0000
2600 xxxx   一开始就有火为0000,后来放火为0100
2600 0000

23 音效设定
    2300
1E00 xxxx   音效类型
0400 xxxx 0000   重复次数
由于很多其它事件自带音效,因此这个音效代码用得不多

24 CD音轨
    2400
0900 xxxx   音轨Index

25 武将进入指定地点测试
2500
0200 xxxx   武将Index,可跟通配符
0400 xxxx xxxx   坐标X
0400 xxxx xxxx   坐标Y

26 武将进入指定区域测试
2600
0200 xxxx   武将Index,可跟通配符
0400 xxxx xxxx   坐标框定一个方块
0400 xxxx xxxx
0400 xxxx xxxx
0400 xxxx xxxx

27 背景显示
2700
2D00 xxxx   图片Index
0C00 FFFF
1A00 FFFF
1C00 FFFF
1500 0100

29 三国地图中显示头像
    2900
0200 xxxx   武将Index
0400 xxxx 0000   坐标X
0400 xxxx 0000   坐标Y

2A  三国地图中头像移动
    2A00
0200 xxxx   武将Index
0400 xxxx xxxx   坐标X
0400 xxxx xxxx   坐标Y

2B 三国地图上头像消失
    2B00
0200 xxxx   武将Index

2C 三国地图上显示文字
    2C00
0500文字00
2600 xxxx   00表示文字前换页,01表示不换页
2600 xxxx   00表示文字前不换行,01表示换行
2600 xxxx   00表示文字后没有停顿,01表示有(需要点鼠标)

2D  点击武将
    2D00
0200 xxxx   武将Index

2E 武将相邻测试
2E00
0200 xxxx   武将1Index
0200 xxxx   武将2Index,可跟通配符
2600 0000

30 武将出现R
3000
0200 xxxx   武将Index
0400 xxxx xxxx   坐标X
0400 xxxx xxxx   坐标Y
2B00 xxxx   朝向
0D00 xxxx   动作形态Index

31 武将消失
3100
2C00 xxxx   如0200后是武将代码,则这里是0000;如0200后是FFFF,则这里是0100
0200 xxxx   武将Index,或FFFF
0400 xxxx xxxx   以下框定一个方块
0400 xxxx xxxx
0400 xxxx xxxx
0400 xxxx xxxx
0300 FFFF

32 武将移动
3200
4000 FFFF
0200 xxxx   武将Index
0400 xxxx 0000   人物出场编号,否则为0000
0400 xxxx xxxx   坐标X
0400 xxxx xxxx   坐标Y
2B00 xxxx   朝向

33 武将转向R
    3300
0200 xxxx   武将Index
0D00 xxxx   动作形态Index
2B00 xxxx   朝向

34 武将动作R
    3400
0200 xxxx   武将Index
0D00 xxxx   动作形态Index

36 武将撤退测试
3600
0200 xxxx   武将Index
2300 0700
0400 0000 0000
2400 0200

39 人物升级
3900
0200 xxxx   武将Index
0400 xxxx 0000   等级上升数
注意等级可以超过上限(我方人员如果等级超过上限,会自动变为上限,但能力为超过
等级上限的能力)。如果升级后等级超过255,会减去256。

3A 得失钱S/忠奸度设置R
S
3A00
2800 0000
3400 xxxx   01为得钱,02为失钱
0400 xxxx 0000   钱数

R
3A00
2800 0200
3400 xxxx    00直接设定,01奸度上升,02忠度上升
0400 xxxx 0000   数值

3B 武将加入R
3B00
0200 xxxx   武将Index
0E00 xx00   00表示登场,FF表示死亡
3E00 xxxx   等级加成

3D 获得物品
3D00
1700 xxxx   物品代码
4900 xxxx   物品等级
2600 0100
0200 xxxx

3E 人物加入时所带装备R
3E00
0200 xxxx   武将Index
3B00 xxxx   武器Index+2,不设置为0000
4900 xxxx   武器等级,0000表示不设置或依武将等级而定
3C00 xxxx   防具Index+2,不设置为0000
4900 xxxx   防具等级,0000表示不设置或依武将等级而定
3D00 xxxx   辅助物品Index+2,不设置为0000

3F 回合测试
3F00
0400 xxxx xxxx   回合数
2400 xxxx   0表示大于等于,1表示小于,2表示等于

40  行动顺序
4000
4800 xx00   00表示我方行动结束之前(无作用),01表示我方行动结束之后,友方行动之前,02表示友方行动结束之后,敌方行动之前

41 战场人数测试
4100
0300 xxxx   要统计的人物属性,00我军,01友军,02敌军
0400 xxxx xxxx   人数
2400 xxxx   0表示大于等于,1表示小于,2表示等于
3F00 xxxx   00表示统计全场,否则为01
0400 xxxx xxxx   要统计的区域,框定一个方块
0400 xxxx xxxx
0400 xxxx xxxx
0400 xxxx xxxx

42 战斗胜利测试
43 战斗失败测试
45 战役全局变量控制
4500
2600 0000
2600 0000
0400 xxxx xxxx   回合数
3E00 xxxx   小兵等级加成,<50则等级加上50,>50则减去的等级为X-50
3200 0000
0200 xxxx   胜利条件击退xx的武将Index
3200 0100
0200 xxxx   失败条件xx撤退的武将Index
4700 0000
2200 0100

46 友军出场设定
4600
0200 xxxx   武将Index
2600 xxxx   初始出场为0000,控制出场为0100
0400 xxxx xxxx   出场坐标X
0400 xxxx xxxx   出场坐标Y
2B00 xxxx   朝向
3E00 xxxx   等级加成
4500 FFFF
0700 xxxx   行动趋势
0200 FFFF
0400 0000 0000
0400 0000 0000
一共20个,之后的不要4600

47 敌军出场设定
4700
0200 xxxx   武将Index
2600 xxxx   初始出场为0000,控制出场为0100
2600 0000
0400 xxxx xxxx   出场坐标X
0400 xxxx xxxx   出场坐标Y
2B00 xxxx   朝向
3E00 xxxx   等级加成
4500 FFFF
0700 xxxx   行动趋势
0200 FFFF
0400 0000 0000
0400 0000 0000
一共80个,之后的不要4700

48 特殊装备设定
4800
0200 xxxx   武将Index
3B00 xxxx   武器Index+2,不设置为FFFF
4900 xxxx   武器等级,FFFF为不设置或依武将等级而定
3C00 xxxx   防具Index+2,同上
4900 xxxx   防具等级,同上
3D00 xxxx   辅助物品Index

4A  我方出场人员控制
4A00
0400 xxxx xxxx   出场最大人数,最大为15
3800 xxxx   强制出场的武将Index
3800 xxxx
3800 xxxx
3800 xxxx
3800 xxxx
3900 xxxx   无法出场的武将Index
3900 xxxx
3900 xxxx
3900 xxxx
3900 xxxx

4B 我军出场设定
4B00
0400 xxxx xxxx   出场武将编号
0400 xxxx xxxx   出场坐标X
0400 xxxx xxxx   出场坐标Y
2B00 xxxx   朝向
2600 xxxx   初始出场为0000,控制出场为0100

4C 伏兵设置
4C00
4000 0000
0200 xxxx  武将Index
0400 0000 0000

4D 战力削弱
4D00
4100 xxxx   00由ID决定武将,01由出场顺序决定,02框定区域
0200 xxxx   41后为00此处为武将Index,否则FFFF
0400 xxxx xxxx   我方武将出场顺序
0300 xxxx   00我军,01友军,02敌军
2F00 xxxx   00攻,01防,02精,03爆,04士,05移
1800 xxxx   00下降,01上升
3000 xxxx   异常状态代码
0400 xxxx xxxx   减少HP量
0400 xxxx xxxx   减少MP量

4E 武将状态测试
    4E00
2C00 xxxx   0000或FFFF表示针对单人,01表示针对范围
0200 xxxx   武将 Index,若是针对范围,则这里是FFFF
0400 xxxx xxxx   框定一个矩形,若是针对单人,则这里都是0000
0400 xxxx xxxx
0400 xxxx xxxx
0400 xxxx xxxx
0300 xxxx   00我军,01友军,02敌军
0700 xxxx   部队方针代码
0200 xxxx   跟随武将Index
0400 xxxx xxxx   奔向的坐标X
0400 xxxx xxxx   坐标Y

4F 战场对话转向
4F00
0200 xxxx   武将1Index
0200 xxxx   武将2Index,如为FFFF,则2B00后面跟朝向,否则2B00后面跟FFFF
2B00 xxxx   朝向
2600 xxxx   一般为FFFF,若为0100,则若武将1在此之前面向武将2,则方向不变,
否则武将1背向武将2
2600 xxxx   动作前延时
2600 xxxx   动作后延时

50 战场动作设定
    5000
0200 xxxx   武将Index
4600 xxxx   动作Index
2600 xxxx   动作前延时
2600 xxxx   动作后延时

51 所有人恢复未行动状态
    5100

53 战场撤退
55        复活控制
    5500
4000 xxxx   00根据武将Index,01根据我方武将出场顺序
0200 xxxx   武将Index
0400 xxxx xxxx   我方武将出场顺序
0400 xxxx xxxx   坐标X
0400 xxxx xxxx   坐标Y
2B00 xxxx   朝向
    复活对象:只要战场设定中有这个人,就可以复活。如果此指令执行时该武将仍在战场
上,则状态不变,否则该武将重新出现在设定的坐标,剑阁之战,许褚等人绕到
下面就是用此代码实现的。

58 城门控制
    5800
4200 xxxx   城门编号
4300 xxxx   关门是00,开门是01
4400 xxxx   关门是11,开门是10
0400 xxxx 0000   坐标X
0400 xxxx 0000   坐标Y
2600 xxxx   前延时
2600 xxxx   后延时
    游戏中,一个城门由两个格组成。因此,控制一个完整的城门要用两组事件代码。如果第一组代码的后一个26以及第二组代码的前一个26都设为00,则在事件执行时,游戏会自动发出开关门的声音。

59 战利品
5900
0400 0000 0000
1700 xxxx   战利品1代码,无为FFFF
4900 xxxx   战利品1等级,不设置为FFFF
1700 xxxx   战利品2
4900 xxxx   战利品2等级
1700 xxxx   战利品3
4900 xxxx   战利品3等级
2600 FFFF

5A 战斗开始可操作
    5A00   不要也是一样的

5B 战场高亮地点
    5B00
0400 xxxx 0000   框定一个矩形
0400 xxxx 0000
0400 xxxx 0000
0400 xxxx 0000
2600 FFFF

5C 战场高亮人物
    5C00
0200 xx00   武将Index

5D 最大回合数设定
    5D00
3400 0000
0400 xxxx 0000   最大回合数

5F 单挑结束
    5F00 0000

60 单挑武将出场设定
    6000
2600 xxxx   敌我代码,00表示敌方,01表示我方
0500武将说的话00
4C00 xxxx   单挑动作代码1

61 单挑“胜 负”字样
    6100

62 单挑阵亡
    6200
2600 xxxx 胜方敌我代码,00表示敌方,01表示我方

63 单挑时说话
    6300
2600 xxxx   敌我代码
0500说话的内容00
2600 xxxx   延时

64 单挑时动作
6400
2600 xxxx   敌我代码
4C00 xxxx   单挑动作代码1

65 单挑特殊攻击动作
6500
2600 xxxx   攻方敌我代码
4D00 xxxx   攻击方式代码2
2600 xxxx   00表示普通攻击,01表示致命一击攻击

66 单挑特殊攻击动作二
6600
2600 xxxx   攻方敌我代码
4E00 xxxx   攻击方式代码3
2600 xxxx   00表示攻击命中,01表示没有命中

68 单挑开始
    6800
0200 xxxx   武将1Index
0200 xxxx   武将2Index

6B 朱雀召唤
    6B00
0400 xxxx xxxx   坐标X
0400 xxxx xxxx   坐标Y
4b00 xxxx   第一段为69,第二段为6D
2600 0000
需要两段代码


附录:
一、武将Index
二、物品Index
三、朝向
00 上    01 右    02 下    03 左

四、人物动作形态代码

00 普通
01 跪着
02 红脸
03 举手
04 哭
05 伸手
06 作揖
07 红着脸坐着
08 坐着举起手
09 坐着哭
0A 倒下
0B 单膝跪地
0C 被缚
0D 挥剑抬起
0E 挥剑招地
0F半个身子在土里(许褚)
10 坐起身(不知如何描述)
11 单手举起

五、战场单人动作代码

00 一般
01 面向南将武器举过头顶
02 防御
03 被攻击
04 虚弱
05 准备攻击
06之后都是一系列动作
06 攻击
07 二次攻击
08慢速转圈,有音效
09 喘气
0A 晕倒
0B 快速转圈(无音效)
0C 中速转圈(无音效)

六、城门编号
00 火    01 船    02 火船    03 白框(地形是城门)
从04开始是真正的城门,用太守的RPGViewer看Gate.e5
每张图由从上到下9个格组成。此事件中设定的坐标是第五个格的坐标。一旦事件执行,设定的坐标及其周围8个格都会发生变化,变成Gate.e5相应图中那样。设Gate.e5图中9个格从上到下为1-9,则在游戏中对应的是:
123
456
789
事件里的城门编号与Gate.e5中图片序号对应关系:
关门:城门编号(十进制)=3+(图片序号+1)/2
开门:城门编号(十进制)=3+图片序号/2

七、单挑动作代码1

00 无
01 向后转
02 向前移动(双方处于初始位置,若一方执行此指令,则恰好移动到另一方面前)
03 向前移动(短)
04 后退(短)
05 将武器举过头顶
06 防御
07 被攻击
08 准备攻击
09 攻击
0A 二次攻击
0B 晕倒
0C 喘气
0D 撤退
0E 跳舞1
0F 跳舞2

单挑动作代码2
00 攻击命中
01 攻击被对方挡住
02 攻击被对方挡住且对方后退
03 对方向后闪躲
04 对方闪躲到攻方身后
单挑动作代码3
00 原地攻击
01 向前移动攻击(若攻方在守方面前,用此指令则可冲过守方)
02 双方互相冲击

八、异常状态代码
00、01代表正常
02、03是麻痹
04、05是禁咒
06、07是麻痹加禁咒
08、09是混乱
0a、0b是麻痹加混乱
0c、0d是禁咒加混乱
0e、0f是混乱加麻痹加禁咒
10、11是中毒
12、13是麻痹加中毒
14、15是禁咒加中毒
16、17是麻痹加禁咒加中毒
18、19是混乱加中毒
1a、1b是麻痹加混乱加中毒
1c、1d是禁咒加混乱加中毒
1e、1f是禁咒加麻痹加混乱加中毒

九、音效类型

00 选择某个部队
01 取消选择
02 试图移动敌方部队
03 策略Miss
04 出现黑底白字战役名称05 战前曹操喊“出发”
06 转身
07 挥舞武器
08 准备攻击
09 换装备
0a 卖东西
0b 升级
0c 转职
0d 转职
0e 得宝物
0f 出兵时点选武将
10 被打退
11 主动撤退
12 开关门
13 放火
14 敲锣
15 口哨
16 死亡
17 步兵移动
18 骑兵移动
19 炮车移动
1a 雪地移动
1b 树林移动
1c 浅滩移动
1d 船移动
1e 攻击没命中
1f 强攻击没命中
20 准备攻击(骑兵)
21 准备强攻击
22 准备攻击(步兵)
23 攻击命中
24 强攻击命中
25 准备攻击(弓兵)
26不记得在哪里出现过
27 准备用策略
28 战斗失败
29 吃豆
2a 木人复活

十、行动趋势
00 撤退型    01 猛冲型    02 固守型    03 稳守型

部队方针的改变
00 若一回合内能攻击,则移动,否则原地不动
01 出击
02 坚守
03 跟随
04 奔向某坐标
05~?
作者: 博雅张生    时间: 2005-2-24 22:47

27 背景显示:

2700
2D00 XXXX   
0C00 XXXX
1A00 XXXX
1C00 XXXX
1500 XXXX

2D00 后面的数是图片种类:
  00表示外场景,对应Mmap.e5 1-40图 (用Van太守的RpgViewer可以看)
  01表示三国地图。(Mmap.e5 最后一张图)
  02表示内场景,对应Mmap.e4 41-114图 (目前用RpgViewer无法正常显示,我在后面给出各代码对应的图)
  03表示战场地图,对应Hmxx.e5

00,01,02,03分别与后面的0c,1A,1C,15对应。(比如要显示外场景,就要将2D后面设为00,0C后面设为场景序号,1A,1C,15后面为FFFF)

场景序号都是从0开始排的。

附:1C后面各场景序号:

0 官邸1
1 官邸2
2 官邸3
3 官邸4
4 官邸5
5 官邸6
6 议事厅1
7 议事厅2
8 议事厅3
9 议事厅4
A 议事厅5
B 议事厅6
C 议事厅7
D 议事厅8
E 宫殿1
F 宫殿2
10 宫殿3(最后的建业)
11 营帐1
12 营帐2
13 营帐3
14 营帐4
15 营帐5
16 营帐6
17 路
18 地下祭坛
19 花园
1A 宫门前
1B 府门前1
1C 府门前2
1D 府门前3
1E 村落
1F 路(两边都是树)
20 山崖
21 墓前
22 桥前
23 河边

24-47与0-23场景相同,方向相反

48 49 也是河边
作者: 幽人独往来    时间: 2005-2-26 21:09

补充一下,音效里的26是R剧本里人死倒在地上的音效,很有用。
作者: ssbye    时间: 2005-3-5 19:54

该帖子去推荐,加精华,请大家继续讨论。
作者: 幽人独往来    时间: 2005-3-5 21:36

受之不武啊…………其实都是zengpoem兄的功劳啊!不过这里讨论的应该差不多了,代码只有几个还没有弄明白了。编辑器出来就方便了。
作者: ssbye    时间: 2005-3-6 00:26



QUOTE:
原帖由幽人独往来于2005-03-05, 21:36:13发表
受之不武啊…………其实都是zengpoem兄的功劳啊!不过这里讨论的应该差不多了,代码只有几个还没有弄明白了。编辑器出来就方便了。

没什么受之不武的,zengpoem兄的精华点数追加太常寺在审议呢。
作者: 幽人独往来    时间: 2005-3-12 10:09

关于跳关代码:
记得Ssbye兄说过在内存里的跳关号是2*N+1,由此启发,我想尝试了解一下跳关代码是否与此有关。

跳关代码的出现关卡(括号内为剧情说明和3700后面的变量值):
R03(董卓追击战之前,7)
R07(濮阳2之前,11)
R08(濮阳3之前,11)
R27(有郭嘉赤壁,37)
S27/S28(赤壁战役,3B,39)
R32(马超迎击战后,剧情分歧处,5B)
R36(汉水之前,4B)

那么N的值分别是
R03——3(S3董卓追击战,跳过此关)
R07——8*
R08——8(S8濮阳3,跳过此关)
R27——27(S27有郭嘉赤壁,跳过此关)
S27/S28——29,28(S29赤壁突围,跳过此关;S28无郭嘉赤壁,跳过此关)
R32——45(S45红建业,跳过S32到S45)
R36——37(S37斜谷,跳过此关)

也就是大体上跳关的变量值=(要跳过的最后一关的剧本编号-1)/2
但是有两点不懂,一个是濮阳2,怎么和濮阳3一样?另一个是跳过汉水之战的代码在哪里?另外还需要具体添加一个实例看看到底对不对。

实例添加成功。我在S03末尾加了一段,变量是97(十进制),战斗结束跳到了红色祭坛(赤壁2之前)。
作者: 博雅张生    时间: 2005-3-12 10:29

濮阳应该没问题。如果濮阳1过了,那么会跳过濮阳2和濮阳3;而濮阳2过了,也会跳过濮阳3。
作者: 幽人独往来    时间: 2005-3-12 10:32



QUOTE:
原帖由zengpoem于2005-03-12, 10:29:26发表
濮阳应该没问题。如果濮阳1过了,那么会跳过濮阳2和濮阳3;而濮阳2过了,也会跳过濮阳3。

哦。对的。想岔了  
那么汉水呢?再找找~~~
另外我添加了一个实例成功了,说明应该就是这样的。
还有就是如果是偶数的话那么就不要减1,效果是一样的。
作者: 幽人独往来    时间: 2005-3-17 18:49

事件参数(蓝色为最新成果  )

09延时:Para4-时长

0F结局设定:Para18-0:红鸟
                     1:金鸟
                     2:蓝鸟

1B屏蔽我方撤退台词:Para39-好像都是00,不知如何描述

1F视角中心变更(画面晃动):两个Para4-横纵座标

20头像变化:Para74-未知。很奇怪,并不是完全按照FACE来排的。

21战场物体添加:Para16-好像都是00,写成其他的没有效果,但也不报错。
                Para38-应该是前后延时

22动画:(*太守已给出)0:Logo/1:Open/2:End/3:Press

23音效设定:(*太守已给出对应文件名,具体描述中)Para4-重复次数

24CD音轨:(*太守已给出对应文件名)

27背景显示:(*太守已给出用RPGViewer察看的对应序号)

28:Para54-未知

2E武将相邻测试:Para38-相邻判定,0由攻击范围限制,1无攻击范围限制(hubuchou)

30武将出现/33武将转向/34武将动作:(*太守已给出用RPGViewer察看的对应序号)
  武将动作形态:1:普通
                2:坐着
                3:发怒(红脸举手)
                4:举手(穿甲的举单手,穿袍的举双手)
                5:哭
                6:摊手
                7:作揖
                8:坐着发怒(坐着红脸举手)
                9:坐着举手(穿甲的举单手,穿袍的举双手;诸葛亮是爬着喘气,邹氏是弹琴)
                10:坐着哭或伏地(貂蝉是脸朝下躺着)
                11:倒地(一般是脸朝下,郭嘉刘备是死前躺在床上的上半身,貂蝉诸葛亮是脸朝上)
                12:单膝跪地(诸葛亮是拿扇子掩面)
                13:被缚(背着双手,诸葛亮是举着扇子跪着)
                14:挥剑举起(383镜台是刘备的脚)
                15:挥剑落地(383镜台是郭嘉的脚)
                16:许褚半个身子在土里
                17:跪着摊手(有的动作像是立定跳远的准备动作  ,有个别是站着说话时的弯举着一只手臂)
                18:喊“出发”的动作


32武将移动:Para4-我军出场顺序(疑问:在很多“武将”中的都有“我军”和“敌军”是什么意思?)

35武将形象改变:Para19-没找到…………  

36武将状态测试:Para4-数值

37/3A剧本跳转等:Para4-数值

38:从没见过,Para4-应该也是数值吧

39等级提升:Para-等级提升数量

3C:从没见过

3D获得物品:Para38-好像都是01,不知如何描述

3F回合测试:Para4-回合数

41战场人数测试:Para4-人数

45战役全局控制:Para38-好像两个都是00;Para4-回合数;Para50-好像第一个都是00,第二个都是01;Para71-好像都是00;Para34-好像都是01

4A我军强制出场:Para4-人数;Para56-强制出场;Para57-强制不出场

4B我军出场设定:Para-我军出场编号;Para38-00初始登场,01控制登场

4C隐藏武将出现:Para4-我军出场编号

4D武将状态调整:第一个Para4-我军出场编号;第二个Para4-减少HP量;第三个Para4-减少MP;Para38-异常状态,太守的编辑器里觉得少啊。
      00、01代表正常
      02、03是麻痹
      04、05是禁咒
      06、07是麻痹加禁咒
      08、09是混乱
      0a、0b是麻痹加混乱
      0c、0d是禁咒加混乱
      0e、0f是混乱加麻痹加禁咒
      10、11是中毒
      12、13是麻痹加中毒
      14、15是禁咒加中毒
      16、17是麻痹加禁咒加中毒
      18、19是混乱加中毒
      1a、1b是麻痹加混乱加中毒
      1c、1d是禁咒加混乱加中毒

4E武将方针变更:AI描述(0-4已知,5-6未知)

4F战场武将转向:第一个Para38-一般为FFFF,若为0100,则若武将1在此之前面向武将2,则方向不变,否则武将1背向武将2;后两个para38-动作前后延时

50战场动作设定:两个Para38-动作前后延时
                武将动作:00 一般
                          01 面向南将武器举过头顶
                          02 防御
                          03 被攻击
                          04 虚弱
                          05 准备攻击
                          06 攻击
                          07 二次攻击
                          08慢速转圈,有音效
                          09 喘气
                          0A 晕倒(跳起)
                          0B 快速转圈(无音效)
                          0C 中速转圈(无音效)

52兵种改变:(疑问:这个代码是做什么用的?)

55战场复活:Para4-我军出场编号

56:Para71-没见过

57:Para34-也没见过

58战场障碍设置:Para66-障碍物编号;Para67-开门是01,关门是00;Para68-开门是10,关门是11;两个Para38-事件前后延时

59战利品:Para4-好像都是00;Para38-好像都是FF

60单挑出场动作:

62单挑阵亡:Para38-胜方代码,00敌方,01我方

63单挑说话:两个Para38-00敌方,01我方

64单挑动作:Para38-00敌方,01我方

65单挑动作1:第一个Para38-00敌方,01我方;第二个Para38-00普通攻击,01致命一击攻击

66单挑动作2:第一个Para38-00敌方,01我方;第二个Para38-00攻击命中,01没有命中

6B法术:Para38-好像都是00。
作者: hubuchou    时间: 2005-3-17 20:07

2E武将相邻测试:Para38-未知,只有0和1两种,延时长短?

这个应该是攻击范围限制,如果是1,表示忽略攻击范围,贴身或斜角都可以触发;0则要考虑攻击范围,主要用于判断斜角时能否触发,似乎是要求双方物理攻击都能攻击到对方才可以触发事件。
作者: 幽人独往来    时间: 2005-3-17 20:10

1F是视角中心的变化,很多个组合起来就是画面的“晃动”。
作者: 博雅张生    时间: 2005-3-17 21:06

38有可能是武将状态设置。用来设置攻防等数值。

4F的第一个Para38能不能更简洁地描述?

21战场物体添加是否只能添加火?6B是否只能放朱雀?
作者: 幽人独往来    时间: 2005-3-17 21:19



QUOTE:
4F的第一个Para38能不能更简洁地描述?

这个………………

QUOTE:
21战场物体添加是否只能添加火?6B是否只能放朱雀?

21:如果Para16是0,那么是火,如果是其他的,没有任何效果(也没有火),好奇怪。
6B:可以放任何法术(可是只是一张图而已,并不能添加实际的效果)
作者: 神源拓也    时间: 2007-9-25 18:17

问下,岱大大是怎么做自由R剧本和单条的,能发个贴讲一下吗?
作者: mayulei2007    时间: 2007-9-27 12:21

不看不知道,一看吓一跳,sousou已经被各位破解到了如此地步。
看看楼帖2005-1-31 ,天,今日是2007-7-27,我感慨之余,发觉自己是不是在火星上过了2年?
了不起,学习ing。




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0