-- 基础信息 local base_info = { group_id = 111102024 } --================================================================ -- -- 配置 -- --================================================================ -- 怪物 monsters = { { config_id = 24001, monster_id = 28020801, pos = { x = 1244.283, y = 314.704, z = -1998.429 }, rot = { x = 0.000, y = 120.707, z = 0.000 }, level = 1, drop_tag = "走兽", pose_id = 1 } } -- NPC npcs = { } -- 装置 gadgets = { -- 这个点是狸猫的第一个闪现点,它的MarkFlag要配成1 { config_id = 24002, gadget_id = 70360273, pos = { x = 1247.520, y = 314.318, z = -2009.991 }, rot = { x = 0.000, y = 0.000, z = 0.000 }, level = 1, mark_flag = 1 }, -- 可以增删,按顺序配MarkFlag即可 { config_id = 24003, gadget_id = 70360273, pos = { x = 1251.966, y = 315.059, z = -2007.034 }, rot = { x = 0.000, y = 0.000, z = 0.000 }, level = 1, mark_flag = 2 }, -- 所有的过程点和终点的MarkFlag要从1开始按照狸猫走的顺序来配 { config_id = 24004, gadget_id = 70360274, pos = { x = 1253.438, y = 315.100, z = -2013.063 }, rot = { x = 0.000, y = 0.000, z = 0.000 }, level = 1, mark_flag = 3 }, { config_id = 24006, gadget_id = 70210101, pos = { x = 1254.570, y = 315.531, z = -2012.281 }, rot = { x = 0.000, y = 287.912, z = 0.000 }, level = 11, drop_tag = "搜刮点解谜遗物蒙德", persistent = true }, -- 狸子终点、狸子特效和变成的物件需要放在同一个position { config_id = 24007, gadget_id = 70360276, pos = { x = 1252.962, y = 315.116, z = -2012.535 }, rot = { x = 0.000, y = 0.000, z = 0.000 }, level = 1 }, { config_id = 24011, gadget_id = 70211001, pos = { x = 1253.438, y = 315.100, z = -2013.063 }, rot = { x = 0.000, y = 0.000, z = 0.000 }, level = 11, drop_tag = "战斗低级蒙德", isOneoff = true, persistent = true } } -- 区域 regions = { } -- 触发器 triggers = { { config_id = 1024008, name = "GADGET_STATE_CHANGE_24008", event = EventType.EVENT_GADGET_STATE_CHANGE, source = "", condition = "condition_EVENT_GADGET_STATE_CHANGE_24008", action = "action_EVENT_GADGET_STATE_CHANGE_24008" }, { config_id = 1024009, name = "ANY_MONSTER_DIE_24009", event = EventType.EVENT_ANY_MONSTER_DIE, source = "", condition = "condition_EVENT_ANY_MONSTER_DIE_24009", action = "action_EVENT_ANY_MONSTER_DIE_24009" }, -- 物件被激活时触发这个Trigger { config_id = 1024010, name = "GADGET_STATE_CHANGE_24010", event = EventType.EVENT_GADGET_STATE_CHANGE, source = "", condition = "condition_EVENT_GADGET_STATE_CHANGE_24010", action = "action_EVENT_GADGET_STATE_CHANGE_24010" } } -- 变量 variables = { } --================================================================ -- -- 初始化配置 -- --================================================================ -- 初始化时创建 init_config = { io_type = 1, suite = 1, end_suite = 0, rand_suite = false } --================================================================ -- -- 小组配置 -- --================================================================ suite_disk = { [1] = { gadgets = { { config_id = 24002, state = 0 }, { config_id = 24003, state = 0 }, { config_id = 24004, state = 0 } }, monsters = { { config_id = 24001 } }, regions = { }, triggers = { "ANY_MONSTER_DIE_24009" }, npcs = { }, variables = { } }, [2] = { gadgets = { { config_id = 24007, state = 0 }, { config_id = 24011, state = 0 } }, monsters = { }, regions = { }, triggers = { "GADGET_STATE_CHANGE_24010" }, npcs = { }, variables = { } }, [3] = { gadgets = { { config_id = 24006, state = 0 } }, monsters = { }, regions = { }, triggers = { "GADGET_STATE_CHANGE_24008" }, npcs = { }, variables = { } }, [4] = { gadgets = { }, monsters = { }, regions = { }, triggers = { }, npcs = { }, variables = { } } } --================================================================ -- -- 触发器 -- --================================================================ -- 触发条件 function condition_EVENT_GADGET_STATE_CHANGE_24008(context, evt) if 24006 ~= evt.param2 or GadgetState.ChestOpened ~= evt.param1 then return false end return true end -- 触发操作 function action_EVENT_GADGET_STATE_CHANGE_24008(context, evt) -- 将指定group的suiteIndex设为指定suite ScriptLib.SetFlowSuite(context, 111102024, 4) return 0 end -- 触发条件 function condition_EVENT_ANY_MONSTER_DIE_24009(context, evt) --判断死亡怪物的死亡类型是否为1,0为普通死亡(比如被击杀),1为普通地被killself杀死,2为消失(比如小动物逃跑消失,北风狼脱战消失) if evt.param2 ~= 1 then return false end return true end -- 触发操作 function action_EVENT_ANY_MONSTER_DIE_24009(context, evt) -- 添加某个flowSuite里的要素,不会更改当前场上已存在的物件/怪物状态 ScriptLib.AddExtraFlowSuite(context, 111102024, 2, FlowSuiteOperatePolicy.DEFAULT) -- 将指定group的suiteIndex设为指定suite ScriptLib.SetFlowSuite(context, 111102024, 2) return 0 end -- 触发条件 function condition_EVENT_GADGET_STATE_CHANGE_24010(context, evt) if 24011 ~= evt.param2 or GadgetState.GearStart ~= evt.param1 then return false end return true end -- 触发操作 function action_EVENT_GADGET_STATE_CHANGE_24010(context, evt) -- 运营数据埋点,匹配LD定义的规则使用 if 0 ~= ScriptLib.MarkPlayerAction(context, 6016, 3, 1) then ScriptLib.PrintContextLog(context, "@@ LUA_WARNING : mark_playerAction") return -1 end -- 永久关闭CongfigId的Gadget,需要和Groups的RefreshWithBlock标签搭配 if 0 ~= ScriptLib.KillEntityByConfigId(context, { config_id = 24007 }) then ScriptLib.PrintContextLog(context, "@@ LUA_WARNING : kill_entity_by_configId") return -1 end -- 永久关闭CongfigId的Gadget,需要和Groups的RefreshWithBlock标签搭配 if 0 ~= ScriptLib.KillEntityByConfigId(context, { config_id = 24011 }) then ScriptLib.PrintContextLog(context, "@@ LUA_WARNING : kill_entity_by_configId") return -1 end -- 将指定group的suiteIndex设为指定suite ScriptLib.SetFlowSuite(context, 111102024, 3) -- 添加某个flowSuite里的要素,如果当前与目标suite属性不一样,会纠正为目标属性,同时触发相应Trigger ScriptLib.AddExtraFlowSuite(context, 111102024, 3, FlowSuiteOperatePolicy.COMPLETE) return 0 end