GSServer-CBT/soggy_resources/lua/Scene/1002/scene1002_group10002.lua

101 lines
2.8 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--================================================================
--
-- Variables
--
--================================================================
group = {}
variables =
{
-- 这里需要事先声明好所有会用到的变量
var_MONSTER_NUM = null,
-- 如果Entity或Trigger会被别的Action或Event用到也需要事先声明好名称
trigger_WAIT_MONSTER_DIE = null,
trigger_WAIT_MONSTER_NUM_ZERO = null,
}
group.create_all_variables = function(context)
variables.var_MONSTER_NUM = ScriptLib.CreateVariable(context, "int", 3) -- 创建一个初始值为3的int的变量
end
--================================================================
--
-- Entities
--
--================================================================
group.create_all_entities = function(context)
group.create_all_monsters(context)
group.create_all_regions(context)
end
group.create_all_monsters = function(context)
-- initialize all preset monsters
-- 这里会初始化从编辑器里拖到场景里的怪
-- 所有新创建的Entity都要保存
--
ScriptLib.CreateMonster(context, { id = 100001, level = 10, pos = {x = 0, y = 0, z = 10}, rot = { x = 0, y = 0, z = 0 } })
end
group.create_all_regions = function(context)
-- initialize all preset regions
-- 这里会初始化所有从编辑器里拖到场景里的陷阱
end
--================================================================
--
-- Triggers
--
--================================================================
group.create_all_triggers = function(context)
-- initialize all preset triggers
-- 这里会初始化从编辑器里拖到场景里的触发器
-- 所有新创建的Trigger都要保存
--
variables.trigger_WAIT_MONSTER_DIE = ScriptLib.CreateGroupTrigger()
end
group.trigger_conditions_WAIT_MONSTER_DIE = function(context)
-- 判断触发死亡事件的怪是不是100001
if ScriptLib.GetMonsterID(evt.source) == 100001 then
return true
end
return false
end
group.trigger_actions_WAIT_MONSTER_DIE = function(context)
-- var_MONSTER_NUM = var_MONSTER_NUM - 1
ScriptLib.SetVariableValue(var_MONSTER_NUM, ScriptLib.GetVariableValue(var_MONSTER_NUM) - 1)
end
group.trigger_conditions_WAIT_MONSTER_NUM_ZERO = function(context)
-- 判断 var_MONSTER_NUM 是不是0
if ScriptLib.GetVariableValue(evt.var_MONSTER_NUM) == 0 then
return true
end
return false
end
group.trigger_actions_WAIT_MONSTER_NUM_ZERO = function(context)
-- 所有新创建的Entity都要保存
ScriptLib.CreateChest(context, {id = 10002}) -- (临时)根据ID创建宝箱
end
--================================================================
--
-- Group 初始化(第一次进入玩家的视野)
--
--================================================================
group.init = function(context)
group.create_all_entities(context)
group.create_all_triggers(context)
return 0
end