我编写了这些代码,你先看下有没有低级错误。。。:L
local targetlist = aiBrain:GetUnitsAroundPoint( categories.SELECTABLE, position, self.range, 'ENEMY' )
local validtargetlist
local vnum = 0
if targetlist[1] then
for i, n in targetlist do
if (GetCurrentLayer(n) = LAYER_AIR) then
vnum = vnum + 1
validtargetlist[vnum] = n
end
end
end
if validtargetlist[1] then
self:SetNewTarget(validtargetlist[1])
for k, v in validtargetlist do
if not v.IncommingDamage then
第一句没改过,后面为了方便起见,再创建一个validtargetlist,并且逐个判断是否为可攻击的目标,将这些集中在validtargetlist列表里面。
if (GetCurrentLayer(n) = LAYER_AIR) then
现在仅仅只是判断是否为飞机,不过我不知道怎么判断武器本身是对潜的还是对空的还是对地的,如果你知道请告诉我,那样可以用多重逻辑判断来处理。