UGCProjects/GZJ/Script/Blueprint/AI/BTT_SelectSkill.lua
2025-01-08 22:46:12 +08:00

23 lines
837 B
Lua

---@class BTT_SelectSkill_C:BTTask_LuaBase
---@field SkillIndex FBlackboardKeySelector
---@field SkillPercentage TArray<int32>
--Edit Below--
local BTT_SelectSkill = {}
-- -- entry point, task will stay active until FinishExecute is called
function BTT_SelectSkill:ReceiveExecuteAI(OwnerController, ControlledPawn)
local randskill = math.random(1, 100)
local skillindex = 0
local TamePercentage = 0
for index, SkillPercentage in pairs(self.SkillPercentages) do
if randskill > TamePercentage and randskill <= TamePercentage + SkillPercentage then
skillindex = index - 1
break
end
TamePercentage = TamePercentage + SkillPercentage
end
BTFunctionLibrary.SetBlackboardValueAsInt(self, self.SkillIndex, skillindex)
self:FinishExecute(true)
end
return BTT_SelectSkill