mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-08-03 10:20:12 +03:00
melon
This commit is contained in:
15
soggy_resources/lua/Scene/1002/scene1002.lua
Normal file
15
soggy_resources/lua/Scene/1002/scene1002.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
-- 地图配置
|
||||
scene_config = {
|
||||
begin_pos = { x = -2500, z = -2500 }, -- 地图开始的坐标
|
||||
size = { x = 5000, z = 5000 }, -- 地图大小
|
||||
born_pos = { x = 672, y = 56, z = 624 }, -- 出生点
|
||||
born_rot = { x = 0, y = 0, z = 0 } -- 出生朝向
|
||||
}
|
||||
|
||||
blocks = { }
|
||||
|
||||
-- 所有的group
|
||||
groups = {
|
||||
|
||||
}
|
109
soggy_resources/lua/Scene/1002/scene1002_group10001.lua
Normal file
109
soggy_resources/lua/Scene/1002/scene1002_group10001.lua
Normal file
@@ -0,0 +1,109 @@
|
||||
--================================================================
|
||||
--
|
||||
-- 配置
|
||||
--
|
||||
--================================================================
|
||||
|
||||
-- 怪物
|
||||
monsters = {
|
||||
{ config_id = 1, monster_id = 20103001, level = 10, pos = { x = 705, y = 64, z = 659 }, rot = { x = 0, y = 0, z = 0 } },
|
||||
{ config_id = 2, monster_id = 20103001, level = 10, pos = { x = 703, y = 64, z = 659 }, rot = { x = 0, y = 0, z = 0 } }
|
||||
}
|
||||
|
||||
-- NPC
|
||||
npcs = {
|
||||
{ config_id = 1, npc_id = 1, pos = { x = 674, y = 57, z = 635 }, rot = { x = 0, y = 0, z = 0 } },
|
||||
{ config_id = 2, npc_id = 2, pos = { x = 699, y = 57, z = 649 }, rot = { x = 0, y = 0, z = 0 } }
|
||||
}
|
||||
|
||||
-- 地图物件
|
||||
gadgets = {
|
||||
{ config_id = 1, gadget_id = 1, level = 10, pos = { x = 711, y = 64, z = 659 }, rot = { x = 0, y = 0, z = 0 } },
|
||||
{ config_id = 2, gadget_id = 2, level = 10, pos = { x = 721, y = 64, z = 659 }, rot = { x = 0, y = 0, z = 0 } },
|
||||
}
|
||||
|
||||
-- 触发器
|
||||
triggers = {
|
||||
{ name = "WAIT_MONSTER_DIE", event = EventType.EVENT_ANY_MONSTER_DIE, source = "", condition = "condition_WAIT_MONSTER_DIE", action = "action_WAIT_MONSTER_DIE" },
|
||||
{ name = "EVENT_VARIABLE_CHANGE", event = EventType.EVENT_VARIABLE_CHANGE, source = "var_MONSTER_NUM", condition = "condition_WAIT_MONSTER_NUM_ZERO", action = "action_WAIT_MONSTER_NUM_ZERO" },
|
||||
{ name = "ENTER_REGION", event = EventType.EVENT_ENTER_REGION, source = "", condition = "condition_EVENT_ENTER_REGION", action = "action_EVENT_ENTER_REGION" },
|
||||
}
|
||||
|
||||
-- 变量
|
||||
variables = {
|
||||
{ name = "var_MONSTER_NUM", value = 1 }
|
||||
}
|
||||
|
||||
--================================================================
|
||||
--
|
||||
-- 初始化配置
|
||||
--
|
||||
--================================================================
|
||||
|
||||
-- 初始化时创建
|
||||
init_config = {
|
||||
monsters = { 1, 2 },
|
||||
npcs = { 1, 2 },
|
||||
gadgets = { },
|
||||
triggers = { "WAIT_MONSTER_DIE", "EVENT_VARIABLE_CHANGE", "ENTER_REGION" }
|
||||
}
|
||||
|
||||
--================================================================
|
||||
--
|
||||
-- 触发器
|
||||
--
|
||||
--================================================================
|
||||
|
||||
function condition_WAIT_MONSTER_DIE(context, evt)
|
||||
-- 判断触发死亡事件的怪是不是100001
|
||||
if ScriptLib.GetMonsterIdByEntityId(evt.source) == 20103001 then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
function action_WAIT_MONSTER_DIE(context)
|
||||
-- var_MONSTER_NUM = var_MONSTER_NUM - 1
|
||||
if 0 ~= ScriptLib.ChangeGroupVariableValue(context, "var_MONSTER_NUM", -1) then
|
||||
return -1
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
function condition_WAIT_MONSTER_NUM_ZERO(context, evt)
|
||||
-- 判断 var_MONSTER_NUM 是不是0
|
||||
if ScriptLib.GetGroupVariableValue(context, "var_MONSTER_NUM") == 0 then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function action_WAIT_MONSTER_NUM_ZERO(context)
|
||||
-- 所有新创建的Entity都要保存
|
||||
if 0 ~= ScriptLib.CreateGadget(context, 1) then -- (临时)根据配置ID创建宝箱
|
||||
return -1
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
function condition_EVENT_ENTER_REGION(context, evt)
|
||||
-- 判断触发死亡事件的区域是不是1
|
||||
if ScriptLib.GetGadgetIdByEntityId(evt.source) == 1 then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function action_EVENT_ENTER_REGION(context)
|
||||
-- var_MONSTER_NUM = var_MONSTER_NUM - 1
|
||||
if 0 ~= ScriptLib.CreateMonster(context, 2) then
|
||||
return -1
|
||||
end
|
||||
ScriptLib.PrintLog(LogLevel.DEBUG, "CreateMonster succeed")
|
||||
return 0
|
||||
end
|
101
soggy_resources/lua/Scene/1002/scene1002_group10002.lua
Normal file
101
soggy_resources/lua/Scene/1002/scene1002_group10002.lua
Normal file
@@ -0,0 +1,101 @@
|
||||
--================================================================
|
||||
--
|
||||
-- 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
|
22
soggy_resources/lua/Scene/1002/scene1002_point.json
Normal file
22
soggy_resources/lua/Scene/1002/scene1002_point.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"1": {
|
||||
"$type": "SceneTransPoint",
|
||||
"gadgetId": 1001,
|
||||
"pos": {
|
||||
"x": 674,
|
||||
"y": 57,
|
||||
"z": 635
|
||||
},
|
||||
"unlocked": 0
|
||||
},
|
||||
"2": {
|
||||
"$type": "SceneTransPoint",
|
||||
"gadgetId": 1001,
|
||||
"pos": {
|
||||
"x": 699,
|
||||
"y": 57,
|
||||
"z": 649
|
||||
},
|
||||
"unlocked": 0
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user