陷阱型传送法阵(以逍遥WoW 3.3.5版为例);
就是那种靠近后直接被传送的,不用再点击什么的,能“连人带坐骑”一起传送至目的地。
一、在 gameobject_template表 添加静物模型(传送法阵)
先做个传送法阵的静物,如选个法阵找出它的“displayId”,然后记录下来再新建时就用它;
entry:#### 模型id(新建1个)
type:6 模板类型(6=陷阱、捕捉器)
displayId:### 模型显示id(找个自己喜欢的法阵;如沙塔斯城传送门脚下的符文圈:7035)
name: #### 传说法阵名称(因为是陷阱型的,所以名字什么不重要、随便取个吧)
faction:#### 静物的阵营(参考FactionTemplate.dbc;0=无限制)
size:## 静物模型尺寸(即上面选的法阵大小,按需调整即可)
data0-23:这些数据根据类型不同而不同(类型已选了6=陷阱);
data0: 12 打开 (参考Lock.dbc,解除陷阱)
data2: 1 陷阱大小 (0=无有效范围,但数值大小对应实际区别不大)
data3: #### 触发技能 (传送技能编号,对应 Spell.dbc)
data4: 0 类型 (0=表示施放后不刷新, 1=表示施放后刷新, 2=表示刷新时爆炸)
二、在 gameobject表 添加刷新静物模型位置(布置传送法阵)
接着确定要把这个传送法阵放置在何处,可直接用GM命令试试添加“.gobject add 静物ID”,或者在 gameobject表添加1条刷新位置记录数据;
guid:###### 静物的唯一的ID(guid不能重复的,选个未占用的较大值来新建)
id:#### 静物id,对应 gameobject_template表的entry
map:### 地图编号(布置陷阱传送法阵的地图id)
spawnMask:1 静物刷新的难度(0=不刷新、1=只在10人普通难度刷新、15=所有难度都刷新)
phaseMask:1 相位/镜像(一般情况下=1)
position_x:### 布置点的x坐标
position_y:### 布置点的y坐标
position_z:### 布置点的z坐标
orientation:## 布置点法阵的朝向
spawntimesecs:300 刷新时间(单位:秒)
animprogress:100 不确定这个参数的作用,一般设置为100
PS:因为是陷阱类型的传送,所以建议布置在相对角落的地方,避免无意路过也被传送走
三、在 spell_target_position表 添加传送法术目的地坐标信息(被传送后的目的地坐标)
补充1条传说法术的传说目的地的坐标信息数据;
id:#### 传送技能编号 (对应 Spell.dbc)
target_map:### 传送目的地图编号,参考map.dbc;
target_positionX:### 传送目的地的x坐标;
target_positionY:### 传送目的地y坐标;
target_positionZ:### 传送目的地z坐标;
target_orientation:## 传送目的地后玩家的朝向;
PS:注意设置的“传送目的地位置”和“陷阱传送法阵的布置位置”别太靠近,否则有可能会循环传送。
四、在 spell.dbc库 添加传送法术(对应 gameobject_template.data3 和 spell_target_position.id)
新建1条配合陷阱法阵的传送法术(或者复制1条原有的其它传送法术做适当修改);
[1]列.法术id:#####(对应 gameobject_template.data3 和 spell_target_position.id)
[5]列.属性:0x100(战斗时可使用)
[29]列.施法时间索引:1(瞬发)
[36]列.发动几率:101(100%)
[47]列.施放距离索引:96(2码)
[72]列.效果1:5(传送单位)
[87]列.施放目标A1:25(任意目标)
[90]列.施放目标B1:17(数据库中的目的地.用于传送技能)
[132]列.视觉效果1:681(传送的法术视觉效果)
[141]列.技能名:####(传送的法术名称)
五、完成客户端的MPQ补丁更新
最后惯例将更新的“spell.dbc”覆盖到服务端并打包进客户端最新的.MPQ补丁中去,以完成更新。
|