0
0
mirror of https://gitlab.com/YuukiPS/GC-Resources.git synced 2025-04-28 09:05:26 +00:00
GC-Resources/Resources/Scripts/Common/V2_5/RecircleChallenge.lua
Yuuki b09934e7b9 Revert "remove local in defs"
This reverts commit 7e0a645ef33da87ddd5c402c6a64180001c6b03d.
2023-11-23 23:27:47 +08:00

156 lines
5.1 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.

--ServerUploadTool Save to [/root/env/data/lua/common/V2_5]
--[[
=====================================================================================================================
|| Filename || RecircleChallenge
|| RelVersion || 2.5
|| Owner || xudong.sun
|| Description || 2.5版本,黑色剑气循环挑战
|| LogName || ## RC_LOG
|| Protection || 挑战成功、失败group卸载时清空怪物所有玩家出圈时设置挑战失败
=====================================================================================================================
-- local defs = {
-- --groupID
-- groupID = 177006001,
-- --挑战操作台
-- challenge_gadget = 1006,
-- --挑战时间
-- duration = 240,
-- --出范围失败region
-- regionID = 1008,
-- --挑战ID
-- challengeID = 111195,
-- --怪物列表
-- monster_array = {1001,1002,1003,1004,1005},
-- monster_min = 5,
-- monster_max = 5,
-- monster_count = 5
-- }
=======================================================================================]]
local extrTriggers = {
initialtrigger = {
["Interact_Dwon"] = { config_id = 80000002, name = "Interact_Dwon", event= EventType.EVENT_MICHIAE_INTERACT, source = "", condition = "", action = "action_InteractDwon", trigger_count = 0 },
["Challenge_Success"] = { config_id = 80000003, name = "Challenge_Success", event= EventType.EVENT_CHALLENGE_SUCCESS, source = "233", condition = "", action = "action_ChallengeSuccess", trigger_count = 0 },
["Challenge_Fail"] = { config_id = 80000004, name = "Challenge_Fail", event= EventType.EVENT_CHALLENGE_FAIL, source = "233", condition = "", action = "action_ChallengeFail", trigger_count = 0 },
["Group_Unload"] = { config_id = 80000005, name = "Group_Unload", event= EventType.EVENT_GROUP_WILL_UNLOAD, source = "", condition = "", action = "action_GroupUnload", trigger_count = 0 },
["Leave_Region"] = { config_id = 80000006, name = "Leave_Region", event= EventType.EVENT_LEAVE_REGION, source = "", condition = "", action = "action_LeaveRegion", trigger_count = 0,forbid_guest = false },
["Group_Refresh"] = { config_id = 80000007, name = "Group_Refresh", event= EventType.EVENT_GROUP_REFRESH, source = "", condition = "", action = "action_GroupRefresh", trigger_count = 0 },
}
}
--local challengeID = 0
--local groupID = 1
--local switchGadgetID = 1
local challengeRange = 50
function LF_GetPointDistance(x1,y1,x2,y2)
return math.sqrt(math.pow((y2-y1),2)+math.pow((x2-x1),2))
end
function action_LeaveRegion( context, evt)
if ScriptLib.GetRegionEntityCount(context, { region_eid = evt.source_eid, entity_type = EntityType.AVATAR })~=0 then
return 0
end
ScriptLib.KillMonsterTide(context, defs.groupID, 1)
ScriptLib.StopChallenge(context, 233, 0)
return 0
end
function action_GroupRefresh( context, evt )
ScriptLib.PrintContextLog(context,"RC_LOG: Group Refresh")
ScriptLib.SetGroupTempValue(context, "ChallengeMode", 0, {})
return 0
end
function action_GroupUnload( context, evt)
ScriptLib.PrintContextLog(context,"RC_LOG: Group Unload")
ScriptLib.SetGroupTempValue(context, "ChallengeMode", 0, {})
if ScriptLib.GetGadgetStateByConfigId(context, defs.groupID, defs.challenge_gadget) == 202 then
return 0
end
ScriptLib.SetGadgetStateByConfigId(context, defs.challenge_gadget, 0)
ScriptLib.KillMonsterTide(context, defs.groupID, 1)
return 0
end
function action_InteractDwon( context, evt )
ScriptLib.PrintContextLog(context,"RC_LOG: ChallengeMode = "..ScriptLib.GetGroupTempValue(context, "ChallengeMode", {}))
if evt.param1 ~= 2 then
return 0
end
if ScriptLib.GetGroupTempValue(context, "ChallengeMode", {}) ~=0 then
return 0
end
ScriptLib.PrintContextLog(context,"RC_LOG: Start Challenge")
ScriptLib.StartChallenge(context, 233, defs.challengeID,{defs.duration,defs.groupID,defs.monster_count})
--ScriptLib.ActiveChallenge(context, 233, defs.challengeID, defs.duration, defs.groupID, defs.monster_count, 0 )
ScriptLib.SetGadgetStateByConfigId(context, defs.challenge_gadget, 201)
ScriptLib.AutoMonsterTide(context, 1, defs.groupID, defs.monster_array, defs.monster_count, defs.monster_min, defs.monster_max)
ScriptLib.SetGroupTempValue(context, "ChallengeMode", 1, {})
return 0
end
function action_ChallengeSuccess( context, evt )
ScriptLib.SetGroupTempValue(context, "ChallengeMode", 0, {})
ScriptLib.KillMonsterTide(context, defs.groupID, 1)
ScriptLib.updateBundleMarkShowStateByGroupId(context, defs.groupID, false)
ScriptLib.SetGadgetStateByConfigId(context, defs.challenge_gadget, 202)
return 0
end
function action_ChallengeFail( context, evt )
ScriptLib.SetGroupTempValue(context, "ChallengeMode", 0, {})
ScriptLib.SetGadgetStateByConfigId(context, defs.challenge_gadget, 0)
ScriptLib.KillMonsterTide(context, defs.groupID, 1)
return 0
end
function LF_Initialize_Group()
for k,v in pairs(extrTriggers.initialtrigger) do
table.insert(triggers, v)
table.insert(suites[init_config.suite].triggers, v.name)
end
return 0
end
LF_Initialize_Group()