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

213 lines
8.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.

local Debris_ID = 70800060
local Debris_Option_ID = 68
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 = "Try_Add_Box", value = 0, no_refresh = false },
{ config_id=50000004,name = "ADD_Gallery_monster_count", value = 0, no_refresh = false },
{ config_id=50000005,name = "ADD_Gallery_box_count", value = 0, no_refresh = false },
{ config_id=50000006,name = "Gallery_fail_reason", value = 0, no_refresh = false },
{ config_id=50000007,name = "GalleryStart_Success", value = 0, no_refresh = false },
{ config_id=50000008,name = "GalleryEnd", value = 0, no_refresh = false },
}
local temp_Tirgger = {
{event = EventType.EVENT_VARIABLE_CHANGE, source = "Try_Start_Challenge", condition = "", action = "action_Try_Start_Challenge",trigger_count = 0},
{event = EventType.EVENT_SELECT_OPTION, source = "", condition = "", action = "action_EVENT_SELECT_OPTION",trigger_count = 0},
{event = EventType.EVENT_GADGET_CREATE, source = "", condition = "", action = "action_EVENT_GADGET_CREATE",trigger_count = 0},
{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)
LF_SetReason_UpdateParamTable_StopGallery(context,4)
ScriptLib.SetGroupVariableValue(context,"GalleryEnd",1)
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)
ScriptLib.SetGroupVariableValue(context,"GalleryEnd",0)
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 uid_list = ScriptLib.GetSceneUidList(context)
ScriptLib.PrintContextLog(context,"action_EVENT_GALLERY_STOP[uid_list[1]]="..uid_list[1])
local group_id = ScriptLib.GetContextGroupId(context)
ScriptLib.RefreshGroup(context, {group_id = group_id, suite = 1})
ScriptLib.SetTeamEntityGlobalFloatValue(context, {uid_list[1]}, "Try_Reset_Box", 1)
return 0
end
function action_EVENT_VARIABLE_CHANGE(context,evt)
if evt.source_name == "GalleryStart" and evt.param1 == 1 then
local uid_list = ScriptLib.GetSceneUidList(context)
ScriptLib.SetTeamEntityGlobalFloatValue(context, {uid_list[1]}, "Try_Mark_Skiff", 1) --向team发消息等SLC
end
if evt.source_name == "GalleryFinish" then
ScriptLib.StopGallery(context, defs.gallery_id, false)
end
if evt.source_name == "Try_Add_Box" then
local uid_list = ScriptLib.GetSceneUidList(context)
ScriptLib.SetTeamEntityGlobalFloatValue(context, {uid_list[1]}, "Try_Add_Box", 1)
end
if evt.source_name == "ADD_Gallery_box_count" then
LF_AddBox_UpdateParamTable(context)
end
if evt.source_name == "ADD_Gallery_monster_count" then
LF_AddMonster_UpdateParamTable(context)
end
if evt.source_name == "Gallery_fail_reason" then
LF_SetReason_UpdateParamTable_StopGallery(context,evt.param1)
ScriptLib.SetGroupVariableValue(context,"GalleryEnd",1)
end
return 0
end
function action_EVENT_GADGET_CREATE(context,evt)
ScriptLib.PrintContextLog(context,"fuc[action_EVENT_GADGET_CREATE]1")
if evt.param2 ~= Debris_ID then return 0 end
ScriptLib.SetWorktopOptionsByGroupId(context, ScriptLib.GetContextGroupId(context), evt.param1, {Debris_Option_ID})
return 0
end
function action_EVENT_SELECT_OPTION(context,evt)
ScriptLib.PrintContextLog(context,"fuc[action_EVENT_SELECT_OPTION]")
if ScriptLib.GetGadgetIdByEntityId(context, evt.source_eid) ~= Debris_ID then return 0 end --判断是否箱子
ScriptLib.PrintContextLog(context,"fuc[action_EVENT_SELECT_OPTION]suc")
--移除箱子
local group_id = ScriptLib.GetContextGroupId(context)
ScriptLib.DelWorktopOptionByGroupId(context, group_id, evt.param1, Debris_Option_ID)
ScriptLib.SetGroupGadgetStateByConfigId(context, group_id, evt.param1, 202)
return 0
end
function action_Try_Start_Challenge(context,evt)
ScriptLib.PrintContextLog(context,"fuc[action_Try_Start_Challenge]")
local uid = ScriptLib.GetSceneUidList(context)
ScriptLib.SetTeamEntityGlobalFloatValue(context, {uid[1]}, "Try_Start_Challenge", 1)
return 0
end
function SLC_Skiff_Die(context)
ScriptLib.PrintContextLog(context,"fuc[SLC_Skiff_Die]")
LF_SetReason_UpdateParamTable_StopGallery(context,2)
ScriptLib.SetGroupVariableValue(context,"Gallery_fail_reason",2)
return 0
end
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
--开始玩法重置paramtable
ScriptLib.SetGroupTempValue(context,"ParamTable_monster_count",0,{})
ScriptLib.SetGroupTempValue(context,"ParamTable_box_count",0,{})
ScriptLib.SetGroupTempValue(context,"ParamTable_fail_reason",0,{})
ScriptLib.SetPlayerStartGallery(context, defs.gallery_id,{context.uid})
LF_UpdateParamTable(context)
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/1122963631001308277
--通过竹筏在客户端成功创建后进行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 LF_SetReason_UpdateParamTable_StopGallery(context,v)
ScriptLib.SetGroupTempValue(context,"ParamTable_fail_reason",v,{})
LF_UpdateParamTable(context)
ScriptLib.StopGallery(context, defs.gallery_id, true)
return 0
end
function LF_AddBox_UpdateParamTable(context)
local v = ScriptLib.GetGroupTempValue(context,"ParamTable_box_count",{})
v = v + 1
ScriptLib.SetGroupTempValue(context,"ParamTable_box_count",v,{})
LF_UpdateParamTable(context)
return 0
end
function LF_AddMonster_UpdateParamTable(context)
local v = ScriptLib.GetGroupTempValue(context,"ParamTable_monster_count",{})
v = v + 1
ScriptLib.SetGroupTempValue(context,"ParamTable_monster_count",v,{})
LF_UpdateParamTable(context)
return 0
end
function LF_UpdateParamTable(context)
local uid_list = ScriptLib.GetSceneUidList(context)
local monster_count = ScriptLib.GetGroupTempValue(context,"ParamTable_monster_count",{})
local box_count = ScriptLib.GetGroupTempValue(context,"ParamTable_box_count",{})
local fail_reason = ScriptLib.GetGroupTempValue(context,"ParamTable_fail_reason",{})
local paramTable = {
["uid"]=uid_list[1],
["monster_count"]=monster_count,
["box_count"]=box_count,
["fail_reason"]=fail_reason,
["monster_count_max"]=defs.monsterTarget,
["box_count_max"]=defs.debrisTarget,
}
ScriptLib.UpdatePlayerGalleryScore(context, defs.gallery_id, paramTable)
return 0
end
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()