bark10 / barkhouse

Development of the Barkhouse Survival Server
GNU Lesser General Public License v2.1
0 stars 0 forks source link

No way to know who killed who #12

Closed bark10 closed 7 years ago

bark10 commented 7 years ago

death_messages can be tweaked to show who killed who. https://forum.minetest.net/viewtopic.php?f=11&t=8821&start=25

bark10 commented 7 years ago

Courtesy of bigfoot547

-- bigfoot547's death messages
minetest.register_on_punchplayer(function(player, hitter)
   if not (player or hitter) then
      return false
   end
   if not hitter:get_player_name() == "" then
      return false
   end
   minetest.after(0, function()
      if player:get_hp() == 0 and hitter:get_player_name() ~= "" and hitter:get_wielded_item() and hitter:get_wielded_item():get_name() and minetest.registered_tools[hitter:get_wielded_item():get_name()] then
         minetest.chat_send_all(player:get_player_name().." was killed by "..hitter:get_player_name().." with "..minetest.registered_tools[hitter:get_wielded_item():get_name()].description..".")
         return true
      elseif player:get_hp() == 0 and hitter:get_player_name() ~= "" and hitter:get_wielded_item() then
         minetest.chat_send_all(player:get_player_name().." was killed by "..hitter:get_player_name().." with fists of fury.")
      elseif hitter:get_player_name() == "" and player:get_hp() == 0 then
         minetest.chat_send_all(player:get_player_name().." was killed by "..hitter:get_luaentity().name..".")
      else
         return false
      end
   end)
end)
bark10 commented 7 years ago

Successfully implemented. Death messages now only appear when a player kills another player