(01-21-2016, 06:44 AM)NiLSPACE Wrote: [ -> ]Could you show us our code?
The mcBlockRespawn function gets called by a HOOK_PLAYER_BREAKING_BLOCK (so i can prevent block breaking in creative), otherwise the mcLeft function is called by HOOK_PLAYER_LEFT_CLICK. This is because HOOK_PLAYER_LEFT_CLICK is not registered in creative.
Here are the files if you want to try it yourself:
http://a.pomf.cat/xvwliy.7z
mcMetaTool = 280
mcBiomeTool = 369
function mcLeft(Player, BlockX, BlockY, BlockZ, BlockFace, Action)
if (Player:GetEquippedItem().m_ItemType == mcMetaTool) then
mcMetaLeft(Player, BlockX, BlockY, BlockZ, BlockFace, Action)
elseif (Player:GetEquippedItem().m_ItemType == mcBiomeTool) then
mcBiomeLeft(Player, BlockX, BlockY, BlockZ, BlockFace, Action)
end
end
function mcRight(Player, BlockX, BlockY, BlockZ)
if (Player:GetEquippedItem().m_ItemType == mcMetaTool) then
mcMetaRight(Player, BlockX, BlockY, BlockZ)
elseif (Player:GetEquippedItem().m_ItemType == mcBiomeTool) then
mcBiomeRight(Player, BlockX, BlockY, BlockZ)
end
end
--
function mcMetaLeft(Player, BlockX, BlockY, BlockZ, BlockFace, Action)
if (Action == 1) then
local meta = Player:GetWorld():GetBlockMeta(BlockX, BlockY, BlockZ)
if (meta == 0) then
meta = 16
else
meta = meta - 1
end
Player:SendMessage(meta)
Player:GetWorld():SetBlockMeta(BlockX, BlockY, BlockZ, meta)
end
end
function mcMetaRight(Player, BlockX, BlockY, BlockZ)
local meta = Player:GetWorld():GetBlockMeta(BlockX, BlockY, BlockZ)
if (meta == 16) then
meta = 0
else
meta = meta + 1
end
Player:SendMessage(meta)
Player:GetWorld():SetBlockMeta(BlockX, BlockY, BlockZ, meta)
end
function mcBiomeLeft(Player, BlockX, BlockY, BlockZ, BlockFace, Action)
if (Action == 1) then
local biome = Player:GetWorld():GetBiomeAt(BlockX, BlockZ)
biome = biome - 1
Player:SendMessage(biome)
Player:GetWorld():SetAreaBiome(BlockX, BlockX, BlockZ, BlockZ, biome)
end
end
function mcBiomeRight(Player, BlockX, BlockY, BlockZ)
local biome = Player:GetWorld():GetBiomeAt(BlockX, BlockZ)
biome = biome + 1
Player:SendMessage(biome)
Player:GetWorld():SetAreaBiome(BlockX, BlockX, BlockZ, BlockZ, biome)
end
--
function mcBlockRespawn(Player, BlockX, BlockY, BlockZ, BlockFace, Action)
if (Player:GetEquippedItem().m_ItemType == mcMetaTool) or (Player:GetEquippedItem().m_ItemType == mcBiomeTool) then
if (Player:GetGameMode() == 1) then
mcLeft(Player, BlockX, BlockY, BlockZ, BlockFace, 1)
end
return true
end
end