0
0
mirror of https://gitlab.com/YuukiPS/GC-Resources.git synced 2025-04-29 09:35:48 +00:00
GC-Resources/Resources/Scripts/Common/V2_4/QunyugeDebris_Stop_Balloon.lua
KingRainbow44 b77f8d326e
Revert "The Great De-Local'ifying of Lua Scripts"
This reverts commit 54223c3d4857544a2cc9b94a9e10377596e367e4.
2023-08-29 21:33:58 -04:00

166 lines
6.6 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.

--score_per_monster_count = 100, --LD配置
--score_per_distance = 1, --LD配置
--gallery_id = 14001, --LD配置
local paramTable_temp={
distance = 0,
monster_count = 0,
final_score = 0,
fail_reason = 0, --[[0无原因 1挑战成功 2气球抵达终点 3主动放弃 4离开区域 5团灭 6离气球太远]]
}
local temp_Variables = {
{ config_id=50000001,name = "GalleryStart", value = 0, no_refresh = false },
{ config_id=50000002,name = "GalleryFinish", value = 0, no_refresh = false },
{ config_id=50000003,name = "ADD_Gallery_monster_count", value = 0, no_refresh = false },
{ config_id=50000004,name = "Gallery_fail_reason", value = 0, no_refresh = false },
{ config_id=50000005,name = "GalleryStart_Success", value = 0, no_refresh = false },
}
local temp_Tirgger = {
{event = EventType.EVENT_VARIABLE_CHANGE, source = "", condition = "", action = "action_EVENT_VARIABLE_CHANGE",trigger_count = 0},
{event = EventType.EVENT_GALLERY_STOP, source = "", condition = "", action = "action_EVENT_GALLERY_STOP",trigger_count = 0},
{event = EventType.EVENT_GROUP_LOAD, source = "", condition = "", action = "action_EVENT_GROUP_LOAD",trigger_count = 0},
{event = EventType.EVENT_GROUP_WILL_UNLOAD, source = "", condition = "", action = "action_EVENT_GROUP_WILL_UNLOAD",trigger_count = 0},
}
function action_EVENT_GROUP_WILL_UNLOAD(context,evt)
ScriptLib.SetGroupTempValue(context,"fail_reason",3,{})
LF_updateScore(context)
ScriptLib.StopGallery(context, defs.gallery_id, true)
return 0
end
function action_EVENT_GROUP_LOAD(context,evt)
ScriptLib.PrintContextLog(context,"action_EVENT_GROUP_LOAD")
--初始化变量
ScriptLib.SetGroupVariableValue(context,"GalleryStart_Success",0)
ScriptLib.SetGroupVariableValue(context,"GalleryStart",0)
return 0
end
function action_EVENT_VARIABLE_CHANGE(context,evt)
if evt.source_name == "Gallery_fail_reason" then
ScriptLib.SetGroupTempValue(context,"fail_reason",evt.param1,{})
LF_updateScore(context)
ScriptLib.StopGallery(context, defs.gallery_id, true)
elseif evt.source_name == "GalleryStart" and evt.param1 == 1 then
local uid_list = ScriptLib.GetSceneUidList(context)
ScriptLib.SetTeamEntityGlobalFloatValue(context, {uid_list[1]}, "Try_Detect_Skiff", 1) --向team发消息等SLC
--[[ ScriptLib.SetPlayerStartGallery(context, defs.gallery_id,{uid_list[1]})
ScriptLib.SetGroupTempValue(context,"distance",0,{})
ScriptLib.SetGroupTempValue(context,"monster_count",0,{})
ScriptLib.SetGroupTempValue(context,"final_score",0,{})
ScriptLib.SetGroupTempValue(context,"fail_reason",0,{}) ]]
elseif evt.source_name == "GalleryFinish" then
LF_updateScore(context)
ScriptLib.StopGallery(context, defs.gallery_id, false)
elseif evt.source_name == "ADD_Gallery_monster_count" then
ScriptLib.SetGroupTempValue(context,"monster_count", evt.param1 + ScriptLib.GetGroupTempValue(context,"monster_count",{}),{})
LF_updateScore(context)
end
return 0
end
function action_EVENT_GALLERY_STOP(context,evt)
ScriptLib.PrintContextLog(context,"action_EVENT_GALLERY_STOP[is_fail]="..evt.param2.."[reason]="..evt.param3)
local group_id = ScriptLib.GetContextGroupId(context)
ScriptLib.RefreshGroup(context, {group_id = group_id, suite = 1})
return 0
end
function LF_calculateScore(context)
local fs = ScriptLib.GetGroupTempValue(context,"distance",{}) * defs.score_per_distance + ScriptLib.GetGroupTempValue(context,"monster_count",{}) * defs.score_per_monster_count
ScriptLib.SetGroupTempValue(context,"final_score",fs,{})
return 0
end
function LF_updateScore(context)
local l_monster_count = ScriptLib.GetGroupTempValue(context,"monster_count",{})
local l_fail_reason = ScriptLib.GetGroupTempValue(context,"fail_reason",{})
ScriptLib.PrintContextLog(context,"LF_updateScore[monster_count]="..l_monster_count.."[fail_resion]="..l_fail_reason)
uid = ScriptLib.GetSceneUidList(context)
local paramTable = {
["uid"]=uid[1],
["monster_count"]=l_monster_count,
["fail_reason"]=l_fail_reason,
}
ScriptLib.UpdatePlayerGalleryScore(context, defs.gallery_id, paramTable)
return 0
end
--以下为SLC
function SLC_Mark_Skiff_Suc(context)
ScriptLib.PrintContextLog(context,"fuc[SLC_Mark_Skiff_Suc]context.uid="..context.uid)
if ScriptLib.GetGroupVariableValue(context,"GalleryStart") == 1 then
--开始玩法重置计分tempValue
ScriptLib.SetPlayerStartGallery(context, defs.gallery_id,{context.uid})
ScriptLib.SetGroupTempValue(context,"distance",0,{})
ScriptLib.SetGroupTempValue(context,"monster_count",0,{})
ScriptLib.SetGroupTempValue(context,"final_score",0,{})
ScriptLib.SetGroupTempValue(context,"fail_reason",0,{})
--通知LD 玩法启动成功
ScriptLib.SetGroupVariableValue(context, "GalleryStart_Success", 1)
ScriptLib.SetGroupVariableValue(context,"GalleryStart",0)
end
return 0
end
function SLC_Mark_Skiff_Fail(context)
ScriptLib.PrintContextLog(context,"fuc[SLC_Mark_Skiff_Fail]")
ScriptLib.SetGroupVariableValue(context,"GalleryStart",0)
return 0
end
--专项补丁:开始
--【【11.25修复】【2.4】【飞彩镌流年】打气球挑战 性能较差的设备,开启挑战后怪物会比竹筏先创建】
--https://www.tapd.cn/22963631/bugtrace/bugs/view/1122963631001308274
--通过竹筏在客户端成功创建后进行ServerLuaCall来通知lua侧创建怪物
function SLC_Raft_Created(context)
local cfgid = ScriptLib.GetGadgetConfigId(context, {gadget_eid = context.source_entity_id})
ScriptLib.PrintContextLog(context,"fuc[SLC_Raft_Created] | cfgid = " .. cfgid)
if Raft_Monster_List ~= nil then
for k , v in pairs(Raft_Monster_List) do
if k == cfgid then
for i = 1 , #v do
ScriptLib.CreateMonster(context, {config_id = v[i], delay_time = 0})
end
end
end
end
return 0
end
function Set_Raft_SGV()
--使玩法内的竹筏自带sgv防止非玩法布设的竹筏也进行SLC
if Raft_Monster_List ~= nil then
for k,v in pairs(Raft_Monster_List) do
for k2,v2 in pairs(gadgets) do
if v2.config_id == k then
v2.server_global_value_config = {["SGV_Need_SLC"]= 1}
end
end
end
end
return 0
end
Set_Raft_SGV()
--专项补丁:结束
function Initialize()
--加触发器
for k,v in pairs(temp_Tirgger) do
v.name = k..""
v.config_id = 9000000 + k
table.insert(triggers, v)
table.insert(suites[init_config.suite].triggers, v.name)
end
--加变量
for k,v in pairs(temp_Variables) do
table.insert(variables,v)
end
return 0
end
Initialize()