Files
hk4e/gdconf/game_data_config/lua/common/AttachChildChallenge.lua
2022-11-30 00:00:20 +08:00

89 lines
3.2 KiB
Go
Raw Permalink 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.
--------初始参数----------
local Enum ={
CatchKey = "catchKey",
}
local tempTrigger = {
{ config_id = 68886, name = "VARIABLE_CHANGE_68886", event = EventType.EVENT_VARIABLE_CHANGE,
source = Enum.CatchKey, condition = "condition_Check_Score", action = "",
trigger_count = 0 , tag = "666" }
}
--------初始化----------
function LF_Initialize_Level()
for k,v in pairs(tempTrigger) do
table.insert(triggers, v)
table.insert(suites[init_config.suite].triggers, v.name)
end
local var = { config_id=50000001,name = Enum.CatchKey, value = 0, no_refresh = false }
variables[var.name] = var
return 0
end
--------逻辑函数----------
function condition_Check_Score(context, evt)
ScriptLib.PrintContextLog(context, "## TD_AttachChildChallenge : Trigger" .. evt.param1)
if evt.param1 == evt.param2 then return false end
if evt.param1<=0 then
return false
end
return true
end
--------可调用函数--------
-- 定义父挑战信息
function DefineFatherIndex(context, prev_context, fatherIndex)
ScriptLib.SetGroupTempValue(context, "ChildChallenge_FatherIndex", fatherIndex, {})
ScriptLib.PrintContextLog(context, "## TD_AttachChildChallenge : fatherIndex" .. fatherIndex)
return 0
end
-- 定义子挑战的成功失败分数
function DefineChildChallengeScore(context, prev_context, success, fail)
ScriptLib.SetGroupTempValue(context, "ChildChallenge_Success", success, {})
ScriptLib.SetGroupTempValue(context, "ChildChallenge_Fail", fail, {})
ScriptLib.PrintContextLog(context, "## TD_AttachChildChallenge : success" .. success)
ScriptLib.PrintContextLog(context, "## TD_AttachChildChallenge : fail" .. fail)
return 0
end
--从其它Group调用该方法可以为该Group创建对应参数使用前请保证父挑战已经启动
function AttachChildChallengeFromDiffGroup(context, prev_context, childIndex, challengeId, targetCount)
--在特定时间内触发特定Trigger,paramTable => {time, 3, 666, targetCount} scoreTable => {success=1,fail=0}
local fatherIndex = ScriptLib.GetGroupTempValue(context, "ChildChallenge_FatherIndex",{})
local _success = ScriptLib.GetGroupTempValue(context, "ChildChallenge_Success",{})
local _fail = ScriptLib.GetGroupTempValue(context, "ChildChallenge_Fail",{})
ScriptLib.PrintContextLog(context, "## TD_AttachChildChallenge : fatherIndex/success/fail" .. fatherIndex .."/".. _success .."/".. _fail .."/")
if fatherIndex == 0 then
ScriptLib.PrintContextLog(context, "## TD_AttachChildChallenge : Need DefineFatherIndex")
return -1
end
local paramTable = {3, 666, targetCount, 1}
local scoreTable = {success = _success,fail = _fail}
ScriptLib.SetGroupVariableValue(context, Enum.CatchKey, 0)
ScriptLib.AttachChildChallenge(context, fatherIndex, childIndex, challengeId, paramTable,{}, scoreTable)
return 0
end
--挑战加分
function AddChildChallengeScore(context, prev_context, score)
local currentScore = ScriptLib.GetGroupVariableValue(context, Enum.CatchKey)
ScriptLib.SetGroupVariableValue(context, Enum.CatchKey, currentScore + score)
return 0
end
--终止特定子挑战
function StopChildChallengeFromDiffGroup(context, prev_context, childIndex, isWin)
-- isWin = 0 (失败) 1(完成)
ScriptLib.StopChallenge(context, childIndex, isWin)
return 0
end
LF_Initialize_Level()