我的社区

自制关卡 => 古墓丽影自制关卡 => 主题发帖人为: 江户川小狼 于 2011 九月 23, 14:13:23

标题: 有些自制关卡问题
作者: 江户川小狼2011 九月 23, 14:13:23
我放了个TRAPDOOR,并在同一位置地下放上触发 预想是踩上TRAPDOOR就掉下去,但结果是木反应......跳到下面地下倒是开了
有什么方法能让触发的范围在TRAPDOOR上面?一踩上就开了掉下去?

我放了一横杆,抓住却是爬竖杆的动作,怎么弄?

有没有办法一个关卡同时有竖杆和横杆?
标题:
作者: BlueSky2011 九月 23, 20:55:09
引用原帖由 江户川小狼 于 2011-9-23 14:13 发表
我放了个TRAPDOOR,并在同一位置地下放上触发 预想是踩上TRAPDOOR就掉下去,但结果是木反应......跳到下面地下倒是开了
有什么方法能让触发的范围在TRAPDOOR上面?一踩上就开了掉下去?


trapdoor 必须放在一个房间的最高处, 比如有2个房间, A 和 B,  A房间的celling 有一个block 比其它的高出1个click(假设这个celling 是13), B房间和A房间对接同过这个block 对接, trapdoor 必须放在A房间的这个block 的最高处地方,必须celling 平行, 不能超高13click), trigger 需要设置在B房间里, 与A房间那个对接的block上。 trapdoor ocb = 0 时, lara 站上去trapdoor就会打开, 然后lara 就会掉下去。

[ 本帖最后由 BlueSky 于 2011-9-23 20:57 编辑 ]
标题: 回复 #2 BlueSky 的帖子
作者: 江户川小狼2011 九月 24, 13:25:35
我试试。。。。其他问题呢?
标题:
作者: maxchen2011 九月 24, 14:02:42
trapdoor请看这里
http://www.skribblerz.com/tuts/trapdoors.htm

Parallel-Bars,ngle的主页上就有例子,连项目文件都提供了
http://www.trlevelmanager.net/demos.htm

[ 本帖最后由 maxchen 于 2011-9-24 14:05 编辑 ]
标题: 回复 #4 maxchen 的帖子
作者: 江户川小狼2011 九月 25, 15:28:04
横杆哪个完全不理解......
标题:
作者: BlueSky2011 九月 25, 21:09:23
http://www.skribblerz.net/ngle/trngprojectparallelbars.zip

先下载这个文件。

第一种方法
1. 用wadmerger打开Cparbar.wad
2. 进入animation editor, 分别导出461, 462, 463三个动画
3. 用wadmerger打开自己的工程, 进入animation editor, 将动画增加到463。
4. 分别用导出的动画文件替换461, 462, 463
5. 选种461, 将next animation 改为462
6. 选种462, 将next animation 改为463
7. 保存.

在房间里加上parallel_bar, lara 跳的距离是根据这个物体的ocb, ocb越大, 跳的越远(只有1个方向由ocb控制, 另一个方向无效)

这个方法不能控制 LARA 旋转的圈数。

第二种方法

去掉第一种方法里的步骤6.


在animation editor 种选462动画, 点上方有1-2图标的按扭, 打开一个对话框, 下方有5个空, 分别输入129, 8, 9, 463, 0, 点add按钮. 保存wad.

这个方法可以控制 LARA 旋转圈数。 script 设置参照 文件里的, 具体说明参照ng_center中的reference.

[ 本帖最后由 BlueSky 于 2011-9-25 21:11 编辑 ]
标题: 回复 #6 BlueSky 的帖子
作者: 江户川小狼2011 九月 26, 14:13:51
噢,哪多少OCB分别是跳多少格?能给个表么
标题:
作者: BlueSky2011 九月 26, 20:19:29
这个没有表, 作者提供了一个贴图, 你把1-11导入到你的贴图里, 在地板上排列好, 用这个测试。
标题: 回复 #8 BlueSky 的帖子
作者: 江户川小狼2011 九月 27, 14:17:35
噢,哪如果简化点,我只要俩边荡都是两格半左右,怎么弄?
标题:
作者: maxchen2011 九月 27, 14:58:19
BlueSky已经写得很详细了
自己使用1-11的贴图测试

凡事先自己想,自己动手验证,不要想都不想就希望别人把答案告诉你
做伸手党,永远也学不到自己的东西
标题:
作者: BlueSky2011 九月 27, 23:45:36
在[level] 里增加
Customize=    CUST_PARALLEL_BARS, PB_DOUBLE_FACE, IGNORE, 1

script  中最后一个1是最大旋转圈数, 这里先忽略它。 parallel_bar 的ocb 大约在250-350左右. 每次以50增加或减少试试看. parallel_bar 与 LARA 落脚地面的高度差也有些关系。

[ 本帖最后由 BlueSky 于 2011-9-28 00:07 编辑 ]
标题:
作者: 0w02011 九月 28, 01:31:04
来替BlueSky鼓掌~
max的观点+10086
对于小狼而言,首先必须肯定的是你对自制关卡的热情,其次英语能力是可以逐渐培养的,目前阶段求人翻译也无可厚非(前提是有人有时间有精力以及有足够耐心帮你),还有既然自视为洗衣粉,那就应该多多利用已知的线索,通过亲自验证来展示自己的推理能力吧,
唉...可是看到9楼貌似有点空有热情不假思索过多依赖的意味了...期待你日后的表现,干巴爹!
标题: 回复 #12 0w0 的帖子
作者: 江户川小狼2011 九月 28, 13:47:49
感谢小清新君,Max 和Blue 咱们是先搁下这个问题
我现在碰到一个相当巨大的问题
我,本来是在编辑一个door的开门动作速度的,因为门慢慢缓开感觉狠好0.0
改好以后当然要Save WAD啦,然后我一时手快居然覆盖到了我整个tut1.Wad 所有东西都变成了一个门!!!!!!!!!!!!0.0 我知道覆盖无法恢复,所以只好从不久前编译好的TR4从提取Wad 但不管TR2Prj还是WADMerger 的LoadTR都出错无法提取,我朋友也是就我这TR4提不了
怎么办,如果提不出原来的WAD我就无法继续做下去了0.0:Q

[ 本帖最后由 江户川小狼 于 2011-9-28 13:49 编辑 ]
标题:
作者: BlueSky2011 九月 28, 15:18:45
这个程序出错在读取对象信息时,  数组超范围了.

建议你把tr4 文件放网盘上让大家看一下,  如果没有办法, 就只能重新做了.

[ 本帖最后由 BlueSky 于 2011-9-28 16:12 编辑 ]
标题:
作者: maxchen2011 九月 28, 16:18:49
wadmerger要读tr文件是需要安装zlib的,先确认系统system32目录或者程序根目录上是否有zlib相关的dll文件
不过我以前试过,还是无法读自制关卡的tr4文件
标题: 回复 #15 maxchen 的帖子
作者: 江户川小狼2011 九月 28, 17:25:46
Zlib 有,其他关卡读取正常,就是这个不行
标题: 回复 #14 BlueSky 的帖子
作者: 江户川小狼2011 九月 28, 17:27:22
http://115.com/file/aqy9i7c2#
tut1.tr4

重做也太杯具了...... 我从劳拉的动作到各种模型都作了相当大的修改,有些一改就是一天呢0.0
标题:
作者: moon2011 九月 28, 17:31:51
:funk: 教训啊,所以工作之前每次做项目备份是多么的重要的事情。
标题: 回复 #18 moon 的帖子
作者: 江户川小狼2011 九月 28, 17:49:10
:L 上次的假日木备PRJ要重做......
现在备了PRJ却到WAD=] =
标题:
作者: moon2011 九月 28, 18:07:59
试了各种办法,使用TRViewer、TR2Prj224、tr2wad都没有修复成功,看了报错日志,看来是修改了贴图和动作太多而造成的问题。
标题:
作者: BlueSky2011 九月 28, 20:43:26
http://115.com/file/e6v4f9i4


去掉了3个pushable object , 现在可以了

[ 本帖最后由 BlueSky 于 2011-9-29 09:27 编辑 ]
标题: 回复 #20 moon 的帖子
作者: 江户川小狼2011 九月 29, 11:39:35
我每个模型基本都改过,基本上能用的都用256X256贴图0.0
标题:
作者: 江户川小狼2011 九月 30, 14:12:24
再来问一个问题吧
怎么改这里程序显示的名字呢?我看过个关卡改过的
标题:
作者: paparazzi2011 九月 30, 18:25:14
为啥我的关卡里没显示横杆呢
标题:
作者: paparazzi2011 十月 06, 08:46:15
为啥我抓住横杆的时候,LARA就抓一下就掉下去了,动作也弄了,代码也编译了,咋弄啊
标题:
作者: paparazzi2011 十月 06, 11:28:35
大家能不能回答一下,这个弄完了下午就放行了
标题:
作者: BlueSky2011 十月 06, 12:54:19
如果你的脚本里有 PB_MULTIPLE_ENDINGS, 把这个去掉.

这个标示是 lara 在 横竿上可以随时落地, 如果加了这个标示, 就要一直按着CTRL键, 在某个时刻松开, lara 就会跳出去.  用wadmerger 看一下 lara 的 462 动画, 在 第8, 9 帧时有个状态变化.
标题:
作者: paparazzi2011 十月 06, 13:06:43
没有那个,能加上么
标题:
作者: BlueSky2011 十月 06, 13:16:26
可以加上, 但必须安照这个方式, 否则 lara 不会跳出去.

你的wad文件如果是从 tr4 文件提取的, 或许会有些问题, 需要用 trupdate 修复, 如果不加  PB_MULTIPLE_ENDINGS, lara 是不会一抓就掉下去的.
标题:
作者: paparazzi2011 十月 06, 14:12:52
还有还有,我编译完脚本后,进入游戏一按ESC键就自动退出,内容:TRNG - Detected Unrecoverable Crash
Informations about current crash saved in following file:

 "D:\TRLE\Last_Crash_11.txt"

NOTE: you removed CRS (Crash Resume System). If you want avoid crashes you should enable newly CRS
怎么弄啊
标题:
作者: BlueSky2011 十月 06, 14:30:25
引用还有还有,我编译完脚本后,进入游戏一按ESC键就自动退出,内容:TRNG - Detected Unrecoverable Crash
Informations about current crash saved in following file:

"D:\TRLE\Last_Crash_11.txt"

NOTE: you removed CRS (Crash Resume System). If you want avoid crashes you should enable newly CRS
怎么弄啊

你要把 原来的 wad 都重新编译一次, 原来的是trle 编译的, 现在用的 是 trng. 用 ng_Tom2Pc.exe, 编译所有的 wad. 用原来的script.txt 试 试自带的 关卡.

[ 本帖最后由 BlueSky 于 2011-10-6 15:05 编辑 ]
标题: 回复 #31 BlueSky 的帖子
作者: 江户川小狼2011 十月 06, 14:35:30
。。。。。。。说错了````

[ 本帖最后由 江户川小狼 于 2011-10-6 14:37 编辑 ]
标题:
作者: BlueSky2011 十月 06, 15:18:28
引用原帖由 江户川小狼 于 2011-10-6 14:35 发表
。。。。。。。说错了````


动作问题在另一个贴子, 你的修复步骤没有问题.
标题:
作者: paparazzi2011 十月 06, 15:49:38
咋样吧wav格式的音乐转换成MP3格式的?用TRNG
标题:
作者: paparazzi2011 十月 07, 08:18:07
现在不仅我的TRNG关卡报错,就连别人的TRNG关卡一按ESC键也弹回桌面报错
标题:
作者: paparazzi2011 十月 07, 09:13:40
bulesky大恩大德,快来帮帮我呀!!!!!
标题:
作者: BlueSky2011 十月 07, 09:16:08
你的 script 有修改过吗? script 语法正确 不表示 逻辑也是正确的。 逻辑错误也会导致程序出错.
标题:
作者: maxchen2011 十月 07, 09:43:30
其实,只要去TRNG的网站下载一个demo关卡下来,如果编译运行没问题,就是你原来编译的关卡文件或者脚本有问题,如果连TRNG提供的demo都不行,就是你的编译运行环境有问题
标题: 回复 #34 paparazzi 的帖子
作者: 江户川小狼2011 十月 07, 14:21:03
用OGG比较好,格式工厂
标题: 回复 #29 BlueSky 的帖子
作者: 江户川小狼2011 十月 08, 14:20:33
PB_MULTIPLE_ENDINGS

这个在脚本加不上,会提示编译失败
为什么?
标题:
作者: 江户川小狼2011 十月 08, 14:24:12
同时再问一个复杂点的问题
最近学到一种叫"控触发"的东西,就是如果应用在门的触发器上必须先踩上控触发 门触发才会生效

我现在有4道门,全放在一块地上,然后我想用两个开关来控触发地上的4道门触发的效果

就是想先拉了俩机关再踩地,门才会开,能做到么?0.0
标题:
作者: BlueSky2011 十月 08, 16:40:05
引用原帖由 江户川小狼 于 2011-10-8 14:20 发表
PB_MULTIPLE_ENDINGS

这个在脚本加不上,会提示编译失败
为什么?

PB_DOUBLE_FACE+PB_MULTIPLE_ENDINGS 中间要有加号, 你是否漏掉?

引用我现在有4道门,全放在一块地上,然后我想用两个开关来控触发地上的4道门触发的效果

就是想先拉了俩机关再踩地,门才会开,能做到么?

我试的是一个门 2个开关.

1. 先放门的trigger在 地板的 A 位置.
2. 选中 A 位置, 在编辑器左边中间climb 四个按纽的下面有个 T 按纽, 点一次, 左上角地板的颜色会带有紫色的边框.
3. 在物品里选择TRIGGER_TRIGGERER(如果没有, 创建一个, 是nullmesh), 把它放到A 位置.
4. 选中TRIGGER_TRIGGER, 再拖2个连续的地板B1, B2,  在这2块地板上放置trigger.
5. 放置2个switch物件, obj1, obj2.
6. 选中obj1, 再选中地板B1, 打开触发器的选项框, 把类型选为switch, 在下面有个按纽, 1, 2, 3, 4, 5, 随机反选(例如1, 2), 把这个触发器放到了B1地板上.
7. 选中obj2, 再选中地板B2,  打开触发器的选项框, 把类型选为switch, 在下面有个按纽, 1, 2, 3, 4, 5, 反选(3, 4, 5) , 把这个触发器放到了B2地板上.

这样就可以先打开2个开关, 在走到门的触发器位置时, 门才会开.

[ 本帖最后由 BlueSky 于 2011-10-8 16:57 编辑 ]
标题: 回复 #42 BlueSky 的帖子
作者: 江户川小狼2011 十月 08, 17:19:24
第一个理解了,第二个好像狠复杂,只要重复第二个的全部步骤4次应该就行了吧?只要反选顺序不同?
标题: 回复 #42 BlueSky 的帖子
作者: 江户川小狼2011 十月 08, 17:22:10
4,选中TRIGGER_TRIGGER, 再拖2个连续的地板B1, B2,  在这2块地板上放置trigger

这个不太理解,拖2个连续地板,这2个连续地板要在哪拖?
标题: 回复 #42 BlueSky 的帖子
作者: 江户川小狼2011 十月 08, 17:23:13
我在23L的问题您知道怎么修改么?0.0
标题: 回复 #42 BlueSky 的帖子
作者: 江户川小狼2011 十月 08, 19:06:18
还有反选12是按下345么?
标题:
作者: BlueSky2011 十月 08, 20:18:18
引用原帖由 江户川小狼 于 2011-10-8 17:23 发表
我在23L的问题您知道怎么修改么?0.0


如果作者没有脚本支持, 这个就是别人修改exe文件,  超范围了, 不在关卡制作范围内.
而且, 如果是全屏, 根本看不到.

引用4,选中TRIGGER_TRIGGER, 再拖2个连续的地板B1, B2,  在这2块地板上放置trigger

这个不太理解,拖2个连续地板,这2个连续地板要在哪拖?

地板随便在哪里, 空白的地方就可以了,  那些字母是我做的标示.

引用还有反选12是按下345么?

触发器下面是有5个按纽, 默认情况是同时按下的. 反选的意思是取消它.
现在因为有2个开关,  必须同时按下 (保证 1, 2, 3, 4, 5 按纽被执行过), 这样TRIGGER_TRIGGERER才会被触发. 所以我用了2块地板.
5个按纽随便怎么选择都可以. 只要保证1, 2, 3, 4, 5按纽被用过就可以了.

举个例子, 假设 b1, b2 地板 是个boss,  要怎么击败它?

先拉开关1, 开关1中执行了3, 4, 5,  再拉开关2, 开关2中执行了1, 2

1, 2, 3, 4, 5 都执行了, boss 被击败了.

这样好理解吗?
标题:
作者: BlueSky2011 十月 08, 20:50:55
这里有个问题, 家里的电脑就不行, 单位的电脑可以。我再看看.

[ 本帖最后由 BlueSky 于 2011-10-8 20:58 编辑 ]
标题:
作者: BlueSky2011 十月 08, 22:15:46
之前有些错误, 现在修正过.

1. 先放门的trigger在 地板的 A 位置.
2. 选中 A 位置, 在编辑器左边中间climb 四个按纽的下面有个 T 按纽, 点一次, 左上角地板的颜色会带有紫色的边框.
3. 在物品里选择TRIGGER_TRIGGERER(如果没有, 创建一个, 是nullmesh), 把它放到A 位置.
4. 放置2个switch物件, obj1(位置为B1), obj2(位置为B2)
5. 选TRIGGER_TRIGGERER, 放trigger 在 B1.
6. 选TRIGGER_TRIGGERER, 放trigger 在 B2.
7. 选中obj1, 再选中地板B1, 打开触发器的选项框, 把类型选为switch, 在下面有个按纽, 1, 2, 3, 4, 5, 随机反选(例如1, 2), 把这个触发器放到了B1地板上.
8. 选中obj2, 再选中地板B2,  打开触发器的选项框, 把类型选为switch, 在下面有个按纽, 1, 2, 3, 4, 5, 反选(3, 4, 5) , 把这个触发器放到了B2地板上.

这样就可以先打开2个开关, 在走到门的触发器位置时, 门才会开.
标题: 回复 #49 BlueSky 的帖子
作者: 江户川小狼2011 十月 09, 11:25:04
这样清晰多了,如果是4门,是不是只要
1门,反12,反345
2门,反13,反245
3门,反14,反235
4门,反15,反234
呢?
实验下先0.0
标题:
作者: BlueSky2011 十月 09, 13:33:52
引用原帖由 江户川小狼 于 2011-10-9 11:25 发表
这样清晰多了,如果是4门,是不是只要
1门,反12,反345
2门,反13,反245
3门,反14,反235
4门,反15,反234
呢?
实验下先0.0

这个不正确, 先说明几一些.

T 按扭

这个作用是锁住当前地板上的触发器, 只有TRIGGER_TRIGGERER才可以解锁.

TRIGGER_TRIGGERER

用与解锁地面上的触发器

Code Bit

这个是在触发器对话框下面的5个按扭, 按下表示1, 没有按下表示0. 默认是 1 1 1 1 1.  (先理解成这样)
物体的ocb框中也有5个按扭,  默认是 0 0 0 0 0
我猜测游戏引擎是这样执行的, 将 trigger  code bit ocb code bit 做 XOR 比较. ( 1 xor 1 = 0, 1 xor 0 = 1, 0 xor 0 =

0, 0 xor 1 = 1)

举个例子 1 1 0 0 1 xor 0 1 0 1 0 -> 1 0 0 1 1

TRIGGER_TRIGGERER 简称 TT

第一个开关执行后, code bit 为 0 0 1 1 1(开关) xor 0 0 0 0 0(TT) -> 0 0 1 1 1 (TT)
第二个开关执行后, code bit 为 1 1 0 0 0(开关) xor 0 0 1 1 1(TT) -> 1 1 1 1 1 (TT)

TT 被激活了, 事实游戏引擎原理比这个复杂, 这个只是为了理解,并不是完成正确的。
标题: 回复 #51 BlueSky 的帖子
作者: 江户川小狼2011 十月 09, 14:59:11
...........

相当的复杂%...... 哪4个门到底可行不呢
标题: 回复 #52 江户川小狼 的帖子
作者: BlueSky2011 十月 09, 15:11:49
我在A位置放的是一个门的触发器, 你放4个就可以了.
标题: 回复 #53 BlueSky 的帖子
作者: 江户川小狼2011 十月 09, 15:45:42
:L 原来如此
话说哪荡杆脚本 加了+号还是失败,是不是我NG太低了?我是1.2.2.3
标题: 回复 #54 江户川小狼 的帖子
作者: BlueSky2011 十月 09, 16:40:47
脚本内容是什么?  1.2.2.3 是可以的.
标题: 回复 #55 BlueSky 的帖子
作者: 江户川小狼2011 十月 09, 17:36:38
PB_DOUBLE_FACE+PB_MULTIPLE_ENDINGS
标题: 回复 #55 BlueSky 的帖子
作者: 江户川小狼2011 十月 09, 17:40:40
还有,WAD里的名字是SKY什么什么的不是飘云的形状么,我换了一个怎么游戏里毫无变化?
标题:
作者: BlueSky2011 十月 09, 22:49:39
横杆的脚本是什么?  这样有点简单.

SKY_GRAPHIC 是 云层, 如果  HORIZON 是 六边形的,  游戏中看不到云层. 我试了几个, 不显示云层, 被遮挡了.  这个物件替换似乎没有用, 但可以通过脚本改变颜色.

LAYER1= r, g, b, s

r = 0 - 255 红色
g = 0 - 255 绿色
b = 0 - 255 蓝色
s 是 云层的移动速度,  -16 - 16

LAYER1似乎已经被淘汰了, 现在的关卡基本没有LAYER1, 用的是 HORIZON.

用TRview 工具打开 tr4 文件, 选 font & sky, 可以看到 天空的贴图.
在wad 中 找一个 raw格式的文件, 修改这个文件的贴图.  再用ng_tom2pc.exe 转换后, 天空的贴图就替换了.

http://115.com/file/clsxu92t#
iview430_setup.exe

http://115.com/file/bhisx7dy#
irfanview_plugins_430_setup.exe

这个工具可以打开 raw 文件, raw 文件 为 256 * 256,  24bit.

SKY_GRAPHICS 还没有看出什么作用.

[ 本帖最后由 BlueSky 于 2011-10-10 10:53 编辑 ]
标题:
作者: BlueSky2011 十月 10, 12:30:36
引用我猜测游戏引擎是这样执行的, 将 trigger  code bit 与 ocb code bit 做 XOR 比较. ( 1 xor 1 = 0, 1 xor 0 = 1, 0 xor 0 =

0, 0 xor 1 = 1)

举个例子 1 1 0 0 1 xor 0 1 0 1 0 -> 1 0 0 1 1

TRIGGER_TRIGGERER 简称 TT

第一个开关执行后, code bit 为 0 0 1 1 1(开关) xor 0 0 0 0 0(TT) -> 0 0 1 1 1 (TT)
第二个开关执行后, code bit 为 1 1 0 0 0(开关) xor 0 0 1 1 1(TT) -> 1 1 1 1 1 (TT)

turbo pascal 的说法是 trigger code bit 与 ocb code bit 做 加法.


code bit 为 0 0 1 1 1(开关1) + 1 1 0 0 0(开关2) + 0 0 0 0 0(TT) -> 1 1 1 1 1

结果必须是1 1 1 1 1.  

1 + 1 = 0
1 + 0 = 1
0 + 1 = 1
0 + 0 = 0

    0 0 1 1 1
 + 1 1 0 0 0
--------------------
    1 1 1 1 1

两种方式的结果都正确, 后一种获许是游戏引擎的执行方式.
标题: 回复 #58 BlueSky 的帖子
作者: 江户川小狼2011 十月 10, 14:12:12
颜色和飘云都能正常显示,因为我改了HORIZON贴图 使上面变成透明
就是改云层哪没理解......算了= =
我这关的脚本是这样

[Level]
Name=      Peru-Mountain Caves
Snow= SNOW_SINGLE_ROOM
Horizon=   ENABLED
Layer1=      128,128,128,-8
ColAddHorizon=    ENABLED
Animation= 445, KEY1_JUMP, IGNORE , IGNORE, ENV_FRAME_NUMBER, 21, IGNORE, -96 ;ledge jump up*
Animation= 450, KEY1_DOWN, IGNORE , FAN_SET_FREE_HANDS, ENV_FRAME_NUMBER, 21, IGNORE, -96 ;ledge jump backwards*
Animation= 242, KEY1_UP, KEY2_Duck, FAN_KEEP_NEXT_STATEID + FAN_SET_FREE_HANDS_TEMP, ENV_MULT_CONDITION, 1, IGNORE, 1, 1
MultEnvCondition= 1 ,ENV_NO_BLOCK_IN_FRONT, 256, IGNORE, ENV_NON_TRUE + ENV_HOLE_FLOOR_IN_FRONT, 512, IGNORE
Animation= 499, KEY1_DOWN, KEY2_Duck, FAN_KEEP_NEXT_STATEID + FAN_SET_FREE_HANDS_TEMP, ENV_MULT_CONDITION, 1, IGNORE, 1, 1
Animation= 500, KEY1_UP, KEY2_Use_Flare, FAN_KEEP_NEXT_STATEID + FAN_SET_FREE_HANDS_TEMP, ENV_MULT_CONDITION, 1, IGNORE, 1, 1
Customize=    CUST_PARALLEL_BARS, PB_DOUBLE_FACE, IGNORE, 1
Customize= CUST_FLARE, FFL_ADD_GLOW_LIGHT, IGNORE, 128, 128, 128, 20
PuzzleCombo=   3,1,Cartouche Piece 1,   $0000,$0400,$0000,$0000,$0000,$0002
PuzzleCombo=   3,2,Cartouche Piece 2,   $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=      3,Ba Cartouche,      $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=      5,Eye Of Horus,      $0017,$0500,$0000,$0000,$0000,$0002
PuzzleCombo=   5,1,Eye Piece,      $0017,$0500,$0000,$0000,$0000,$0002
PuzzleCombo=   5,2,Eye Piece,      $0017,$0500,$0000,$0000,$0000,$0002
Puzzle=      6,The Hand Of Orion,   $0000,$0400,$8000,$c000,$0000,$0002
Puzzle=      8,The Hand Of Sirius,   $0000,$0400,$8000,$c000,$0000,$0002
LoadCamera=   64971,-14857,33155,64679,-14519,31897,37
Level=      DATA\TUT1,010
ReseTHUB=2
FMV=            1,1
FMV=            2,1
标题:
作者: 江户川小狼2011 十月 10, 14:26:23
还有呢,怎么做能推能拉又能站的箱子?
我把箱子改成OCB68能站了,但总觉得这方法不正规
标题:
作者: BlueSky2011 十月 10, 14:32:33
Customize=    CUST_PARALLEL_BARS, PB_DOUBLE_FACE+PB_MULTIPLE_ENDINGS, IGNORE, 1

这样没有问题.

raw 是个图片文件, 大小为 256 * 256,  每个像素 24bit.

编辑器自带的,  例如 tut1.raw,

用 infanview 打开, 有个对话框, 下面选24bit, 上面填 widht = 256, height =256. 改完后保存.

然后把文件名改为当前使用的wad名称就可以了, 文件名为xxxx.raw.  和当前wad放在一起, 关卡转换时, 这个帖图会自动被加载进去.

LAYER1的作用是改变天空帖图的颜色, 也可以移动它.

SKY_GRAPHICS 这个物件 资料上写目前没有任何作用.

引用- SKY_GRAPHICS: a bit mysterious object. It seems it has nothing to do with the sky (or maybe anything) at all
标题: 回复 #62 BlueSky 的帖子
作者: 江户川小狼2011 十月 10, 16:36:47
噢,哪61L的问题?
标题: 回复 #62 BlueSky 的帖子
作者: 江户川小狼2011 十月 10, 17:03:59
Customize=    CUST_PARALLEL_BARS, PB_DOUBLE_FACE+PB_MULTIPLE_ENDINGS, IGNORE, 1


加了这个也编译成功了,为什么劳拉还是一抓杆荡一圈就自动跳出去了?
标题: 回复 #64 江户川小狼 的帖子
作者: BlueSky2011 十月 10, 22:00:50
上次写的有2种方式, 用第2种.

第1种3个动画是连续的.
第2种462里有个状态变化. 461 与 462 是连续的, 462 循环.
标题:
作者: BlueSky2011 十月 11, 09:31:38
引用原帖由 paparazzi 于 2011-10-6 14:12 发表
还有还有,我编译完脚本后,进入游戏一按ESC键就自动退出,内容:TRNG - Detected Unrecoverable Crash
Informations about current crash saved in following file:

 "D:\TRLE\Last_Crash_11.txt&quo ...

单位里的电脑也出现了这个问题, trng 和 trle 程序只要按ESC就退出,  日志写

Version=1.2.2.6
CRS=Disabled
Last diagnostic mexage:DXCreateSurface
Last directX error:
START_P1:1002D0D7
END_P1:10071FDD
START_P2:10083677
END_P2:100A8DD6
START_P3:100B2487
END_P3:100E3BF2
START_P4:10007207
END_P4:1000FDC4
............... QUICK DIAGNOSTIC LOG ...............
WARNING: missing Header NG in  "TITLE.TR4" level file
WARNING: missing Header NG in  "TUT1.TR4" level file
....................................................
CRASH REASON: EXCEPTION_ACCESS_VIOLATION
The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
EXTRA_INFO: VIOLATION ON READ AT OFFSET 0x649960C
RECOVERABLE : YES
CRASH OFFSET: 0x477B06
REGISTERS:
EAX=631560C
EBX=0
ECX=649960C
EDX=0
ESI=0
EDI=301FFBC
EBP=184000
EIP=477B06
ESP=328FDA4
DYNAMIC POINTER LIST:
------------------------------------------
00000000:Camera_Room
00000000:Camera_TargetRoom
0012FF4C:BaseSalvaStack1
0484FFB4:BaseSalvaStack2
0318FFB0:BaseSalvaStack3
------------------------------------------
        MEMORY USAGE
------------------------------------------
VetNemiciPunta           memory
StructEnemyArray         memory
ZonaFXBulbNemici         memory
VettorePerFogBulb        memory
ZonaDynamicLights        memory is full at 6.12 (Used 0xBC bytes)
ZonaSceneMemory          memory is full at 21.28 (Used 0x5A764 bytes)
VetEditObjects           memory is full at 21.19 (Used 0x590 bytes)
Mex_savegame_Argd        memory is full at 3.13 (Used 0x8 bytes)
ZonaParticelle           memory
ZonaGameStruttureMesh    memory is full at 0.65 (Used 0x9F84 bytes)
ZonaPuntatoriGameStruttureMesh memory is full at 0.17 (Used 0x28C bytes)
VetMexNomiWav            memory is full at 99.66 (Used 0x3FC8 bytes)
ZonaFogBulbs             memory
ZonaDebris               memory
ZonaItemInStanza         memory
ZonaUsataPerFireSpark    memory is full at 39.50 (Used 0x13C bytes)
ZonaDiSmokeSpark         memory
ZonaRecordGunShell       memory
ZonaQuattroSample        memory
RecordSpriteSangue       memory
RecordSpriteEsplosione   memory
SpritePerFuoco           memory is full at 6.05 (Used 0x7C bytes)
ZonaTextureAnimate       memory
SaveGame_220_DatiMoveables memory
VettoreAttivaFlipMaps    memory
VettoreFlagFlipMaps      memory
ZonaFlyCameras           memory is full at 7.40 (Used 0x5EC bytes)
VetByteFlyCamera         memory
VetFlyCameraByteAltro    memory
VetItemCombinabili       memory is full at 24.78 (Used 0xE4 bytes)
Ptr_MemBufferLivello     memory is full at 37.41 (Used 0x722CC4 bytes)


------------------------------------------
Lara:  x=11776  y=-256  z=33280  StateId=2  NextId=2  AnimNow=103  Room=0

Stack=0x328FDA4  pContesto=0x328FAD8  pInfoEccezione=0x328FABC
PRIMARY_STACK:
ESP=0x328FDA4
STACK_TRACE:
0x477F87
0x1000C200
0x1000C200
0x4780F2
0x43B13B
0x100A5964
0x100A435D
0x451FB3
0x451166
0x45EC81
0x475155
0x49E67C
0x49DF08
0x49E61D
END_STACK_TRACE

SECONDARY_STACK:
ESP=0x12B12C
STACK_TRACE:
0x460020
0x490056
0x490044
0x43003B
0x490057
0x43003B
0x490057
0x44004E
0x460020
0x42005C
0x440049
0x43003B
0x440049
0x410065
0x43003B
0x42005C
0x43003B
0x44005C
0x42005C
0x43003B
0x41005C
0x450061
0x43004F
0x45004D
0x410050
0x480054
0x430000
0x480215
0x480215
0x480215
0x49005C
0x460020
0x4A6FE0
0x48D323
0x4A6FE0
0x48D323
0x4A6FE0
0x4A6FE0
0x4A6FE0
0x4A6FE0
0x48CC6B
0x48CACE
0x49F26B
END_STACK_TRACE

OTHER_STACK:
ESP=0x484B194
STACK_TRACE:

END_STACK_TRACE


原因还不知道.

我把trle 全部删除了, 然后重新按装trle 和 trng, 问题不在出现.  这个问题为什么会出现还不知道.

[ 本帖最后由 BlueSky 于 2011-10-11 10:40 编辑 ]
标题: 回复 #65 BlueSky 的帖子
作者: 江户川小狼2011 十月 11, 13:51:25
第2种不是不能用OCB控制距离么?
标题: 回复 #62 BlueSky 的帖子
作者: 江户川小狼2011 十月 11, 14:14:13
infanview完全不会用......
标题: 回复 #67 江户川小狼 的帖子
作者: BlueSky2011 十月 11, 14:37:33
可以用ocb 控制的.

引用Customize=    CUST_PARALLEL_BARS, PB_DOUBLE_FACE+PB_MULTIPLE_ENDINGS, IGNORE, 1

最后一个1是用来计算用的, ocb value * turn = power,  power 是 出去跳出去的力量大小, turn 就是 脚本最后的1, 最大值为10, 如果需要用这个公式, 需要加上 PB_PROGRESSIVE_CHARGE.

作者用的 ocb 值 在 50左右,  如果旋转2圈, 就是100.

如果要显示 进度条和记数器, 要加上PB_SHOW_CHARGE_BAR, PB_SHOW_CHARGE_COUNTER
这个两个可以同时或分开使用, 如果加了 PB_SHOW_CHARGE_COUNTER, 需要在脚本了把
[PSXStrings]
LOADING 改为 xxx "%02d"  例如作者用的是 Turn "%02d".
LOADING 字符串可以在NG_Center->String->Section 里选PSXStrings  id 为 220
这个可以更改.

PB_LARA_CAN_SLIDE 是 lara 在 横杆上旋转时, 按左或右方向键, lara 会在旋转时横向移动.
标题: 回复 #69 BlueSky 的帖子
作者: 江户川小狼2011 十月 11, 15:06:41
:Q 哇哇哇,一堆堆数据瞬间灌进我脑子要死机了 = =还是用自动化算了。。。。
标题:
作者: BlueSky2011 十月 11, 15:43:34
引用原帖由 江户川小狼 于 2011-10-11 14:14 发表
infanview完全不会用......


其它绘图工具也可以, 创建一个 256 * 256 的 图片, 如果可以保存raw 格式的, 就直接保存.  24bit. 如果没有, 保存为jpg, bmp....

用infanview 打开, 选 File->Save As ,  下拉框里格式选raw, 会有一个对话框,  flip image vertically 不要钩选, 下面选 Color order: RGB, Interleaved: (RGB RGB...)

和你的wad放在同一个目录, 文件名为xxx.raw,  xxx 是 wad 的名称.
标题:
作者: BlueSky2011 十月 11, 15:58:34
引用原帖由 江户川小狼 于 2011-10-10 14:26 发表
还有呢,怎么做能推能拉又能站的箱子?
我把箱子改成OCB68能站了,但总觉得这方法不正规

NG_Center 中 有个工具 在 Tools2 里  OCB Calculator

这个工具 里 选 PUSHABLE_OBJECTS

这个可以计算 ocb.
标题: 回复 #72 BlueSky 的帖子
作者: 江户川小狼2011 十月 11, 17:53:54
不理解
没听明白
标题:
作者: maxchen2011 十月 11, 20:07:14
其实我本来不想出声打乱这栋楼的

请问,哪句不明白呢?试过没有?想过没有?
难道经常使用NGLE的,不打开NG_Center工具?
打开了NG_Center工具后,对那几个tab的功能熟视无睹?

就算不知道有OCB Calculator这个东东,但别人已经告诉你"NG_Center 中 有个工具 在 Tools2 里  OCB Calculator"
起码能到NG_Center工具里找找,研究研究,如果研究不明白了,才说说自己怎么研究,哪里不明白,别人才乐意帮助

小狼,我很欣赏你的积极性,很高兴能看到有人对自制关卡如此热爱
但不加思考的提问,除了自己没有学到东西,还会打击别人帮你的积极性
标题: 回复 #74 maxchen 的帖子
作者: 江户川小狼2011 十月 12, 14:42:29
>_<面壁思过去......

不过NG Center的工具的确没怎么用过......
而且不会英文也不明白各种按钮用途
标题:
作者: moon2011 十月 12, 14:48:03
才一个国庆没上来,这贴的楼就盖那么高啦。。。。。:L
标题: 回复 #75 江户川小狼 的帖子
作者: potato2011 十月 12, 14:51:51
装个电子词典, 如沪江, 金山词霸 等。 ;P
标题: 回复 #76 moon 的帖子
作者: 江户川小狼2011 十月 12, 15:20:58
:lol 因为我太强大了0.0
标题: 回复 #72 BlueSky 的帖子
作者: 9532311252011 十一月 10, 20:49:25
引用原帖由 BlueSky 于 2011-10-11 15:58 发表


NG_Center 中 有个工具 在 Tools2 里  OCB Calculator

这个工具 里 选 PUSHABLE_OBJECTS

这个可以计算 ocb.


你说的是这样?
标题: 回复 #79 953231125 的帖子
作者: BlueSky2011 十一月 10, 22:52:09
是的, 这个是用来计算箱子的ocb值。

引用Remark: you can compute the ocb value for this object using the OCB Calculator you find in Tools2 panel of NG_Center program. Using that tool is very easy compute the correct OCB value.

You can get all pushable objects treadable and climbable just set correct value in OCB field in the Object window of object. (Key 'O' in NGLE while the object is selected)

0-31 = height of object collision. 1 click = 1 unit, so to set a pushable height 1 sector (4 clicks) you have to type 4
You can create pushable height upto 7 sectors in this way.

Then you can add one or more of following values to set corresponding feature:

32 = The pushable obejcts with value 32 could be throwed in the empty.
Usage of this features requires some attention:
For technical reason the engine requires to rotate (in immediate way) the facing of pushable to have always correct orienting (facing) of pushable in according with moving direction.

You'll have no problems if your pushable has same textures on its sides and a simmetrical texture on top, while in other cases, when lara was pushing the object in the empty the pushable will change orienting to have correct facing in according with direction.

You have two ways to solve this problem:
- Texturixe the pushable to have same texture on 4 sides and place on top texture an image that remaing always the same rotaing it in 90 degrees steps.
- Enable ocb values 512 or 1024 to forbid movements in some direction (east-west or south-north), and then place the pushable in the level with correct facing, looking the border where it could be throwed down.
Remark: when pushable object is falling down it will destroy shatter objects and kill mortal creatures but it will not kill the semigods.

64 = ENABLE new trng features for current pushable. WARNING, it's very important,  because ONLY if you add also the value 64 the special ocb features will work.
When the value 64 is missing, next generation engine will ignore the ocb values of current pushable.
This method to work it is necessary to allow compatibily with Planet Effect you see in Lost Library.
When you want use pushables for planet effect, you have to type in ocb only nunber between  1 and 5 in different five pushables, since in ocb value typed the value 64 is missing, trng will ignore the ocb values for pushales of planet effects.
Differently, when you want use new special features for next generation pushables , you have ALWAYS to add value 64 to other ocb values.
128 = forbid pulling
256 = forbid pushing
512 = forbid east-west
1024 = forbid south-north
2048 = climb west
4096 = climb north
8192 = climb east
16384 = climb south

About climb feature it should be used only for pushable height al least 8 clicks (8 clicks = 32 units as value to set in ocb for height)

Remarks:

*If you want have a tradition pushable (tomb4 old style) just you omit to add the value 64 in your ocb.
*If you want have some special features like forbid pushing/pulling or some direction, but you don't want that the pushable object was walkable, just you type like height the value 0 (zero) and then add only other ocb values to set the wished features.

这个是NG_CENTER里 箱子的 说明。 你也可以手动计算。