跳转至

战斗

自动挂机

野外自动挂机

在固定范围内寻找敌人战斗,用于野外场景。一些无特殊挂机要求的副本也能使用该模式,支持配置。副本要对以下配置进行设置:

AutoFight.lua
local CopyTypeUseAutoFight = {
    [false] = true, -- 野外场景(不是副本的)
    [ECopyType.ECopyMgWorldBoss] = true,
    [ECopyType.ECopyMgNewPlayerCopy] = true,
    -- ...
}
MapIdConfig.lua
-- 挂机3D范围(副本默认是0,表示不限制范围; 非副本默认是10米)
config.AutoFightRange = {
    -- [mapId] = (距离)
    [570099] = 16,      -- 测试地图 
    [100013] = 999,     -- 新手副本
    -- ...
}

索敌头像框

可控制是否需要显示

PlayerEntity.lua
local NOTSHOW_ROLEAVATAR_COPYTYPES = {
    [ECopyType.ECopyMgWesternStyleWeddingCopy] = true,
    [ECopyType.ECopyMgDesperateBattle] = true
}

出生点镜头

以场景为 key 在 t_scene_camera.lua 配置。对于一个场景多个镜头方向的,需要策划出多套镜头配置,并由客户端补充进 CustomSceneCameraCfg.lua

可参考:公会战,帝国战场

t_scene_camera.lua
-- 配置表
CustomSceneCameraCfg.lua
-- 特殊设置的场景相机配置,某些场景多个镜头配置
local cfg = {
-- 公会战
    -- 红方
    ["GuildPromotion_1"] = { offsetMax = -2030, previewOverTime = 0, rotateY = -8966, previewFov = 0, previewRotateY = 0, isLockRotate = 0, previewTime = 0, previewRotate = 0, offset = -2030, mapId = 83001, passPointY = "", offsetMin = -425, previewOffset = 0, fov = 35, rotateMin = 2220, offsetY = -33, isPreview = 0, rotate = 2430, },
    -- 蓝方
    ["GuildPromotion_2"] = { offsetMax = -2030, previewOverTime = 0, rotateY = 8966, previewFov = 0, previewRotateY = 0, isLockRotate = 0, previewTime = 0, previewRotate = 0, offset = -2030, mapId = 83001, passPointY = "", offsetMin = -425, previewOffset = 0, fov = 35, rotateMin = 2220, offsetY = -33, isPreview = 0, rotate = 2430, },
}

Tip

配置由需要让策划提供

观战

由于服务器无法针对观战状态区分推送消息,观战屏蔽功由客户端实现。

SEntityInfo.force 值 255 表示观战状态。客户端 ECmdBroadCast.ECmdBroadcastEntityInfo 收到创建 force 255 的实体会直接抛弃,该实体的更新推送也自然屏蔽(因为找不到实体)

可参考:荒沙绝境

SEntityInfo
force = 255

Warning

观战状态只允许进场景随实体创建的消息推送,且不允许在同场景恢复。由于实现方式是丢弃实体,所以观战间的状态变更客户端是不记录的。原地取消观战状态,实体的数据会是残缺的。