--> Services local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerStorage = game:GetService("ServerStorage") --> Dependencies local Utils = require(ReplicatedStorage.Tools.Utils) local TypeList = require(ServerStorage.Base.TypeList) local Rune = require(ServerStorage.Base.Rune) local RuneWeaponTag = require(ReplicatedStorage.Data.RuneWeaponTag) local RuneWearGenWeapon = {} RuneWearGenWeapon.__index = RuneWearGenWeapon setmetatable(RuneWearGenWeapon, {__index = Rune}) function RuneWearGenWeapon:Init(PlayerAI, Character: TypeList.Character) local self = Rune:Init(PlayerAI, Character, script.Name) setmetatable(self, RuneWearGenWeapon) return self end function RuneWearGenWeapon:Check(index: number, AttributesData: table, BehaviorNameList: table) return true end function RuneWearGenWeapon:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) local pDataFolder = ReplicatedStorage:FindFirstChild("PlayerData") if not pDataFolder then return nil end local pData = pDataFolder:FindFirstChild(self.PlayerAI.Player.UserId) if not pData then return nil end local equipmentFolder = pData:FindFirstChild("Equipment") if not equipmentFolder then return nil end local equipmentList = equipmentFolder:GetChildren() if #equipmentList == 0 then return nil end -- 找到自己穿戴的装备所有类型 local wearingTypeList = {} for _, equipment in equipmentList do local equipmentSubType = equipment:GetAttribute("subType") local equipmentWearing = equipment:GetAttribute("wearing") if equipmentWearing > 0 and not table.find(wearingTypeList, RuneWeaponTag[equipmentSubType]) then table.insert(wearingTypeList, RuneWeaponTag[equipmentSubType]) end end -- 如果没有对应类型就加在ShareData中 for _, wearingType in RuneWeaponTag do if not table.find(wearingTypeList, wearingType) then self.PlayerAI:SetSharedData(wearingType, 1) end end return nil end return RuneWearGenWeapon