Generate a YGOPro Lua script for the following Yu-Gi-Oh card effect:
Fusion Summon 1 "Metalfoes" Fusion Monster from your Extra Deck, using up to 1 monster each from your hand, field, and/or face-up Extra Deck as Fusion Material. You can only activate 1 "Parametalfoes Fusion" per turn.
--混錬装融合
--Parametalfoes Fusion
--Scripted by edo9300
local s,id=GetID()
function s.initial_effect(c)
	--Activate
	local e1=Fusion.CreateSummonEff({handler=c,fusfilter=aux.FilterBoolFunction(Card.IsSetCard,SET_METALFOES),extrafil=s.extrafil})
	e1:SetCountLimit(1,id,EFFECT_COUNT_CODE_OATH)
	c:RegisterEffect(e1)
end
s.listed_series={SET_METALFOES}
function s.check(tp,sg,fc)
	return sg:GetClassCount(function(c) return c:GetLocation()&~(LOCATION_ONFIELD) end)==#sg
end
function s.extrafil(e,tp,mg)
	return Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_EXTRA,0,nil),s.check
end