thanks i can now rollback people
the only problem is that it is realy realy slow. becouse for each block it does this:
the only problem is that it is realy realy slow. becouse for each block it does this: if Block:FindKey("X: " .. X .. "Y: " .. Y .. "Z: " .. Z .. " World: " .. Player:GetWorld():GetName()) ~= -1 then
local Target = Block:GetValue("X: " .. X .. "Y: " .. Y .. "Z: " .. Z .. " World: " .. Player:GetWorld():GetName() , "Player")
if Target == Split[2] then
if Block:GetValue("X: " .. X .. "Y: " .. Y .. "Z: " .. Z .. " World: " .. Player:GetWorld():GetName() , "PlacedOrBroken") == "Placed" then
World:SetBlock(X, Y, Z, 0, 0)
else
BlockType = Block:GetValue("X: " .. X .. "Y: " .. Y .. "Z: " .. Z .. " World: " .. Player:GetWorld():GetName() , "BlockType")
BlockID = tonumber(BlockType)
BlockMeta = Block:GetValue("X: " .. X .. "Y: " .. Y .. "Z: " .. Z .. " World: " .. Player:GetWorld():GetName() , "BlockMeta")
World:SetBlock(X, Y, Z, BlockID, BlockMeta)
end
Block:DeleteKey("X: " .. X .. "Y: " .. Y .. "Z: " .. Z .. " World: " .. Player:GetWorld():GetName())
end
end
any ideas how i could make it work faster?

