Lua 函数 fire_portal_event 解释 - 游戏传送门事件
这是一个 Lua 函数,名为 'fire_portal_event'。它的作用是在游戏中触发一个传送门事件,并生成一些随机的物品,然后启用交易功能。
具体来说,这个函数首先定义了一个包含各种物品名称的列表,然后对该列表进行随机排序。接着使用一个循环,依次生成每个物品,并将其放置在游戏世界中。生成物品的时间间隔为 10 帧。(注意,在游戏中,1 秒 = 60 帧)
最后,该函数还会在所有物品生成完成后,再等待一段时间,然后启用交易功能。
以下是该函数的代码示例:
local function fire_portal_event(inst)
local portal_event_spawns = {
'cutgrass',
'cutgrass',
'dug_bananabush',
'dug_monkeytail',
'palmcone_seed',
'palmcone_seed',
'powder_monkey',
'rocks',
'rocks',
'twigs',
'twigs',
}
shuffleArray(portal_event_spawns)
-- Being explicit that we want to reference i after the loop, so we can
-- identify when all of the event objects have finished spawning.
local i = 1
while i <= #portal_event_spawns do
inst:DoTaskInTime(10*(i+1)*FRAMES, spawn_event_loot, portal_event_spawns[i])
i = i + 1
end
inst:DoTaskInTime(10*(i+2)*FRAMES, enable_trading)
end
该代码中,portal_event_spawns 数组定义了可能出现的物品,shuffleArray 函数用于对数组进行随机排序,DoTaskInTime 函数用于在指定时间后执行指定的函数。
该函数使用了循环,依次生成 portal_event_spawns 中定义的物品,每个物品生成的时间间隔为 10 帧。最后,在所有物品生成完成后,函数会执行 enable_trading 函数,启用交易功能。
原文地址: https://www.cveoy.top/t/topic/mLpb 著作权归作者所有。请勿转载和采集!