此代码需要配合状态机使用,改一下状态ID即可!
local Script = {}
function Script:OnStart()
self:AddTriggerEvent(TriggerEvent.BlockDigEnd, self.f)
-- 组件启动时调用
end
local r
local toolTable1={11012,11011,11013,11014,11015,11016}
local toolTable2={11002,11001,11003,11004,11005}
local toolTable3={11022,11021,11023,11024,11025,11062}
local function ls(x, y, z, blockid)
for i = -r ,r do
for j = -r ,r do
for k = -r ,r do
local id = Block:GetBlockID(x+i,y+j,z+k)
if id==blockid then
Block:DestroyBlock(x+i,y+j,z+k,true)
end
end
end
end
end
function Script:f(event)
local id = Player:GetCurToolID(event.eventobjid)
local isHasBuff = Buff:HasBuff(event.eventobjid, "r5_7503177874696143450_23107")
if isHasBuff~=true then return end
for k ,v in pairs(toolTable1) do
if id == v then
r = k
ls(event.x, event.y, event.z, event.blockid)
break
end
end
for k ,v in pairs(toolTable2) do
if id == v then
r = k
ls(event.x, event.y, event.z, event.blockid)
break
end
end
for k ,v in pairs(toolTable3) do
if id == v then
r = k
ls(event.x, event.y, event.z, event.blockid)
break
end
end
end
return Script