目录
通过设置GameObject交互实现传送
gameobject_template
- displayId:模型显示id
- faction:阵营编号,取值参考 FactionTemplate.dbc;0=无限制
- size:模型尺寸
- data0-23:根据类型不同而不同
- type = 6 (GAMEOBJECT_TYPE_TRAP)时,靠近后直接传送
- data0(参考 Lock.dbc,12为解除陷阱)
- data2(陷阱有效范围,0表示无有效范围)
- data3(传送技能编号,对应 Spell.dbc)
- data4(0表示施放后不刷新,1表示施放后刷新,2表示刷新时爆炸)
- type = 10 (GAMEOBJECT_TYPE_GOOBER)时,右键后传送
- data10(传送技能编号,对应 Spell.dbc)
- type = 22 (GAMEOBJECT_TYPE_SPELLCASTER)时,右键后传送
- data0(传送技能编号,对应 Spell.dbc)
- data1(最大使用次数,0为不限次数)
- type = 10 或 22 两选一即可
spell_target_position
- id:传送技能编号 (对应 Spell.dbc)
- target_map:传送目的地图编号,参考 map.dbc;
- target_positionX:传送目的地的x坐标;
- target_positionY:传送目的地y坐标;
- target_positionZ:传送目的地z坐标;
- target_orientation:传送目的地后玩家的朝向;
注意:gameobject_template.type = 6 时,设置的“传送目的地位置”和“传送目的地位置”切勿设置太靠近,否则有可能会循环传送。
spell.dbc(以WLK335为例)
- [1]列.法术id:与 gameobject_template.data3 和 spell_target_position.id 一致
- [29]列.施法时间索引:1(瞬发)
- [47]列.施放距离索引:96(2码)
- [87]列.施放目标A1:25(任意目标)
- [90]列.施放目标B1:17(数据库中的目的地,用于传送技能)
- [132]列.视觉效果1:681(传送的法术视觉效果)
- [141]列.技能名:传送的法术名称
注意:修改好 spell.dbc 数据后需给服务器跟客户端打补丁,以完成更新
通过走到预设位置触发传送
AreaTrigger.DBC(区域触发坐标的位置,范围)
- ID:区域触发器ID,应与 areatrigger_teleport 的 ID 一致
- ContinentID:地图编号
- X:区域触发器的X坐标
- Y:区域触发器的Y坐标
- Z:区域触发器的Z坐标
- Radius:区域触发器的半径
- Box_Length:区域触发器长度
- Box_Width:如果未指定半径,区域触发器宽度
- Box_Height:如果未指定半径,区域触发器高度
- Box_Yaw:区域触发器方向
areatrigger_teleport (触发后传送的位置)
- ID:应与 AreaTrigger.DBC 的 ID 一致
- Name:区域触发器的名称
- target_map:传送目标的地图编号
- target_position_x:传送目标的X坐标
- target_position_y:传送目标的Y坐标
- target_position_z:传送目标的Z坐标
- target_orientation:传送后的朝向
注意:修改好 AreaTrigger.DBC 触发器数据后需给服务器跟客户端打补丁,后重启服务器即可。
通过设置SAI实现
smart_script
- action_type = 62 (SMART_ACTION_TELEPORT)