注册 | 登录

游侠NETSHOW论坛





查看: 5557|回复: 22
打印 上一主题 下一主题

剧本编辑·一些命令的容量  关闭 [复制链接]

游侠剑阁工作组【制作】

剑阁工作组资深组员勋章

帖子
436
精华
2
积分
920
金钱
4225
荣誉
30
人气
23
评议
0
跳转到指定楼层
楼主
发表于 2009-4-15 08:27:24 |只看该作者 |倒序浏览
最近在做剧本,在往一个调查分歧里塞入3100多行后,终于挤爆了编译器。
考虑到以前没人提到过类似情况,所以特别提醒大家注意一下。

命令容量(不全):
     命令       容量(大概)
条件ブロック、条件ループ    2047字节
分岐            32767字节
ブロック、ループ      16777215字节

比如:
分岐:(真){
   //内容
}
则大括号“{”、“}”里面的内容不能超过32767字节(编译后)。

如果超过上限,编译器不会报错,但执行时会产生很明显的命令丢失(注意跟踪就能发现),甚至是莫名其妙的结果,比如出来一个和剧本完全无关的人说一些乱码的话。

遇到这种情况,就需要改写。比如将1个调查拆分为两个相同的调查,再将分歧里的内容拆分为两部分,这个很简单。但有时候分歧里的内容是无法拆分的,比如是个循环。解决方法就是使用ブロック

調査:(i)==(j)
分岐:(真){//分岐1
  ……
  //分岐1内容
  ……
}//分岐1结束
分岐:(偽){//分岐2
  ……
  //分岐2内容
  ……
}//分岐2结束

改写为:

ブロック開始:{//分岐1
  調査:(i)==(j)
  ブロック脱出:(偽)//当i等于j时才执行,否则跳过。
  ……
  //分岐1内容
  ……
}//分岐1结束

ブロック開始:{//分岐2
  調査:(i)!=(j)
  ブロック脱出:(偽)//当i不等于j时才执行,否则跳过。
  ……
  //分岐2内容
  ……
}//分岐2结束

[ 本帖最后由 五彩麒麟 于 2010-8-19 19:39 编辑 ]

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
沙发
发表于 2009-4-15 09:20:01 |只看该作者
支持技术贴。而且一个evm文件的字节数也有上限,我判断是4294967295个字节。我最近研究evm文件,已经搞清楚了它的大体结构。

分岐:(可){  //
            人物登用:(安東愛季,陪臣,安国寺恵瓊)
  
         }//
以上语句在evm中的代码为:

04 01 20 00 36 38 10 00 36 00 00 00 00 00 00 00

其中04表示“分岐”;
01表示“可”,
2000表示这个分歧的总字节数。这个分歧总共有16个字节,乘以2=32,换成4位数的16进制,就是0020,倒过来就得到2000。这样我们也可以算出一个分歧的最大字节数是FFFF/2,也就是32767个字节。估算下来,也就是大约能容纳3000行。
00000000表示结尾。

[ 本帖最后由 root重来 于 2009-4-15 11:02 编辑 ]

使用道具 举报

☆才华横溢之极限☆
游侠元老版主
游侠剑阁工作组【翻译】
GBC☆口袋妖怪 梦幻
魏 吏部尚书

★★★★★

元老版主勋章版主勋章资深版主勋章大头像勋章《三国志12》汉化贡献勋章特色头衔勋章勤劳之证剑阁工作组资深组员勋章

帖子
4634
精华
2
积分
4178
金钱
16096
荣誉
144
人气
202
评议
2

板凳
发表于 2009-4-15 09:54:20 |只看该作者
技术帖支持...
不过我估计我这辈子也不会挤爆编译器了

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
地板
发表于 2009-4-15 10:56:57 |只看该作者
分岐:(可){  //
            人物登用:(安東愛季,陪臣,安国寺恵瓊)
  
         }//
以上语句在evm中的代码为:

04 01 20 00 36 38 10 00 36 00 00 00 00 00 00 00

其中04表示“分岐”;
01表示“可”,
2000表示这个分歧的总字节数。这个分歧总共有16个字节,乘以2=32,换成4位数的16进制,就是0020,倒过来就得到2000。这样我们也可以算出一个分歧的最大字节数是FFFF/2,也就是32767个字节。估算下来,也就是大约能容纳3000行。
00000000表示结尾。

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
5#
发表于 2009-4-15 10:59:07 |只看该作者
分岐:(可){  //
            人物登用:(安東愛季,陪臣,安国寺恵瓊)
  
         }//
以上语句在evm中的代码为:

04 01 20 00 36 38 10 00 36 00 00 00 00 00 00 00

其中04表示“分岐”;
01表示“可”,
2000表示这个分歧的总字节数。这个分歧总共有16个字节,乘以2=32,换成4位数的16进制,就是0020,倒过来就得到2000。这样我们也可以算出一个分歧的最大字节数是FFFF/2,也就是32767个字节。估算下来,也就是大约能容纳3000行。
00000000表示结尾。

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
6#
发表于 2009-4-15 10:59:51 |只看该作者
分岐:(可){  //
            人物登用:(安東愛季,陪臣,安国寺恵瓊)
  
         }//
以上语句在evm中的代码为:

04 01 20 00 36 38 10 00 36 00 00 00 00 00 00 00

其中04表示“分岐”;
01表示“可”,
2000表示这个分歧的总字节数。这个分歧总共有16个字节,乘以2=32,换成4位数的16进制,就是0020,倒过来就得到2000。这样我们也可以算出一个分歧的最大字节数是FFFF/2,也就是32767个字节。估算下来,也就是大约能容纳3000行。
00000000表示结尾。

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
7#
发表于 2009-4-15 11:00:07 |只看该作者
分岐:(可){  //
            人物登用:(安東愛季,陪臣,安国寺恵瓊)
  
         }//
以上语句在evm中的代码为:

04 01 20 00 36 38 10 00 36 00 00 00 00 00 00 00

其中04表示“分岐”;
01表示“可”,
2000表示这个分歧的总字节数。这个分歧总共有16个字节,乘以2=32,换成4位数的16进制,就是0020,倒过来就得到2000。这样我们也可以算出一个分歧的最大字节数是FFFF/2,也就是32767个字节。估算下来,也就是大约能容纳3000行。
00000000表示结尾。

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
8#
发表于 2009-4-15 11:00:37 |只看该作者
分岐:(可){  //
            人物登用:(安東愛季,陪臣,安国寺恵瓊)
  
         }//
以上语句在evm中的代码为:

04 01 20 00 36 38 10 00 36 00 00 00 00 00 00 00

其中04表示“分岐”;
01表示“可”,
2000表示这个分歧的总字节数。这个分歧总共有16个字节,乘以2=32,换成4位数的16进制,就是0020,倒过来就得到2000。这样我们也可以算出一个分歧的最大字节数是FFFF/2,也就是32767个字节。估算下来,也就是大约能容纳3000行。
00000000表示结尾。

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
9#
发表于 2009-4-15 11:01:13 |只看该作者
怎么发不出来呢202020202

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
10#
发表于 2009-4-15 11:01:52 |只看该作者
怎么无法回复?2020202020202002

使用道具 举报

游侠剑阁工作组 副组长
源氏长者 從一位 左大臣

精华勋章写手之证剑阁工作组资深组员勋章

帖子
2399
精华
13
积分
6154
金钱
25902
荣誉
235
人气
32
评议
0

11#
发表于 2009-4-15 12:04:31 |只看该作者
服务器设了延时?
另外,虽然也撑爆过编辑器,不过比起这个,更关心eventflag和eventID数有没有上限。

使用道具 举报

游侠光荣游戏工作组【剧本】
斋藤家当主 军师
冥界引路人·馬爾基諾

帖子
1156
精华
0
积分
1014
金钱
7125
荣誉
43
人气
55
评议
0

12#
发表于 2009-4-15 12:35:50 |只看该作者
一般來說如果代碼超過32767的行數上線的話
編輯器在編譯時會自動將超出的給忽視掉……
遇到這種情況多數也只有無奈修改代碼……
將一些非必要或非核心的判斷流程進行簡化
或單獨提取出來
樓主這種情況,還是先整理下思路和結構
看看還有沒有可以優化的地方

使用道具 举报

正五位下 民部大輔

剑阁工作组资深组员勋章

帖子
310
精华
2
积分
1047
金钱
5076
荣誉
49
人气
19
评议
0
13#
发表于 2009-4-15 12:49:38 |只看该作者
上限是有的。它们最多用4个字节储存,所以,最大的eventid不超过65535。eventflag的情况要复杂一些,初步估计是73535

使用道具 举报

游侠剑阁工作组 副组长
源氏长者 從一位 左大臣

精华勋章写手之证剑阁工作组资深组员勋章

帖子
2399
精华
13
积分
6154
金钱
25902
荣誉
235
人气
32
评议
0

14#
发表于 2009-4-15 13:55:07 |只看该作者
不错,有6W的上限还能让偶大手大脚一阵子。

使用道具 举报

游侠剑阁工作组【制作】

剑阁工作组资深组员勋章

帖子
436
精华
2
积分
920
金钱
4225
荣誉
30
人气
23
评议
0
15#
发表于 2009-4-16 07:23:10 |只看该作者
发现了更简便的办法,就是用:

ブロック開始:{
  調査:()==()
  ブロック脱出:(真)  
  ……
  //内容
  ……
}

使用道具 举报

游侠剑阁工作组【制作】

剑阁工作组资深组员勋章

帖子
2695
精华
4
积分
3816
金钱
10551
荣誉
166
人气
77
评议
0

16#
发表于 2009-4-17 09:55:07 |只看该作者
友情提醒、古道热肠
五彩麒麟老大的帖子必定

使用道具 举报

游侠剑阁工作组【制作】
正六位下 权大学助

剑阁工作组资深组员勋章

帖子
382
精华
0
积分
291
金钱
2073
荣誉
10
人气
1
评议
0
17#
发表于 2010-2-12 08:45:08 |只看该作者
支持,我怎么直到现在才看到编文章呀。
想想编写 组建军校 子女系统 发卡补丁 大名自动评定时的莫名其妙的问题,真是不堪回首呀,一句话胜过读百年书呀,
坚决地把本文顶起,让广大剧本编辑爱好者知道这些问题,不要犯和我一样的错误。
同时鄙视KOEI,搞这个不完整版的东东给我们用。
做个自已喜欢的剧本,真的好累呀。

使用道具 举报

帖子
2008
精华
0
积分
1015
金钱
2184
荣誉
1
人气
13
评议
0
18#
发表于 2010-2-12 12:34:11 |只看该作者
顶,虽然看不懂,但终于知道有这么回事了。

使用道具 举报

游侠光荣游戏工作组【顾问】
從五位上 中務少輔 名丞相

帖子
799
精华
2
积分
1180
金钱
3747
荣誉
38
人气
1
评议
0
19#
发表于 2010-2-12 19:33:26 |只看该作者
始终有个问题,令我疑惑了数年……
最后编出来的事件文件总是只有ECF00001.TE5和ECF00001.TS5两个文件
可是,有一次不知道为什么,就是编出了两套文件,还有ECF00002.TE5和ECF00002.TS5这两个文件,只出现过一次……
新的剧本得到了友人的支持,估计近一段时间内可以开工了!

使用道具 举报

游侠剑阁工作组【制作】
正六位下 权大学助

剑阁工作组资深组员勋章

帖子
382
精华
0
积分
291
金钱
2073
荣誉
10
人气
1
评议
0
20#
发表于 2010-2-12 20:20:21 |只看该作者
那两个剧本能同时运行吗。
做个自已喜欢的剧本,真的好累呀。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-4-25 21:44 , Processed in 0.404528 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到