菜单

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts 菜单

Messages - BlueSky

#46
古墓丽影自制关卡 /
2011 十月 13, 13:55:28
不行, 有的后面没有文字的, 这个一定不能选。

我全部选过, 除了空的, 程序会出错。

LARA_FIRE , 这个是开枪的声音,NG_Center 中选 Reference, 下拉框选Sound SFX indices list

这里可以试听音效。
#47
古墓丽影自制关卡 /
2011 十月 13, 01:13:17
http://tieba.baidu.com/p/1241617904

你的视频里没有枪声, lara 死亡声音, 拉开关的声音等, wadmeger 复制 wad 时会 丢失.

用wadmerger 左边的 load wad 打开, 然后选sound manager , 这个需要重新钩上.
用第2个 wmaderger 读取一个关卡编辑器自带的wad,  打开sound manager 然后比较一下.

一共有369个声音, 有些声音是lara必须用的, 后面会显示 .

还有一个体操动作似乎是在原地做的, 先备份你的wad文件.

1. 用 wadmerger 打开, 选lara,  进入animation editor
2. 选中 那个连接到体操动作的 动画 (这个你要找一下, 一般是跳起的那个, 看看state change 表, 里面是否有跳到这个动作变化).
3. 选择上面的  0101... 按纽 (animation commands)
4. 在下拉框里选Grap Position, 后面两个框分别输入-100, 75( -100 表示高度, 75 表示距离)
5. 点ADD 按纽, 然后保存.

用这个方式试试, 必须测试才知道, 如过不行, 删除这个指令 或恢复备份文件. (修改动作指令比较复杂, 这里涉及到三维坐标系)


ColAddHorizon= ENABLED

在脚本里加上这个, 天空和地平线会融合在一起。

[ 本帖最后由 BlueSky 于 2011-10-13 08:58 编辑 ]
#48
古墓丽影自制关卡 /
2011 十月 11, 15:58:34
引用原帖由 江户川小狼 于 2011-10-10 14:26 发表
还有呢,怎么做能推能拉又能站的箱子?
我把箱子改成OCB68能站了,但总觉得这方法不正规

NG_Center 中 有个工具 在 Tools2 里  OCB Calculator

这个工具 里 选 PUSHABLE_OBJECTS

这个可以计算 ocb.
#49
古墓丽影自制关卡 /
2011 十月 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 的名称.
#50
可以用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 会在旋转时横向移动.
#51
古墓丽影自制关卡 /
2011 十月 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 编辑 ]
#52
上次写的有2种方式, 用第2种.

第1种3个动画是连续的.
第2种462里有个状态变化. 461 与 462 是连续的, 462 循环.
#53
古墓丽影自制关卡 /
2011 十月 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
#54
古墓丽影自制关卡 /
2011 十月 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

两种方式的结果都正确, 后一种获许是游戏引擎的执行方式.
#55
古墓丽影自制关卡 /
2011 十月 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 编辑 ]
#56
脚本内容是什么?  1.2.2.3 是可以的.
#57
我在A位置放的是一个门的触发器, 你放4个就可以了.
#58
古墓丽影自制关卡 /
2011 十月 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 被激活了, 事实游戏引擎原理比这个复杂, 这个只是为了理解,并不是完成正确的。
#59
古墓丽影自制关卡 /
2011 十月 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个开关, 在走到门的触发器位置时, 门才会开.
#60
古墓丽影自制关卡 /
2011 十月 08, 20:50:55
这里有个问题, 家里的电脑就不行, 单位的电脑可以。我再看看.

[ 本帖最后由 BlueSky 于 2011-10-8 20:58 编辑 ]