tweak color add a few more mnessages

master
maikerumine 2017-08-06 12:20:58 -04:00
parent 599d8eb6f6
commit 81848d01fc
1 changed files with 102 additions and 125 deletions

227
init.lua
View File

@ -29,9 +29,6 @@ dofile(minetest.get_modpath("death_messages").."/settings.txt")
-- A table of quips for death messages. The first item in each sub table is the
-- default message used when RANDOM_MESSAGES is disabled.
local messages = {}
-- Toxic death messages
@ -119,10 +116,14 @@ messages.pvp = {
" deader than ded ded ded",
" CHOSEN to be the ONE",
" all kinds of messed up",
" smoked like a Neuport",
" smoked like a Newport",
" hurted",
" ballistic-ed",
" jostled",
" messed-da-frig-up",
" lanced",
" shot",
" knocked da heck out",
" pooped on"
}
@ -138,6 +139,7 @@ messages.player = {
" for not being good at PVP.",
" because they are a n00b.",
" for reasons uncertain.",
" for using a tablet.",
" with the quickness.",
" while texting."
}
@ -167,163 +169,138 @@ function get_message(mtype)
end
minetest.register_on_dieplayer(function(player, hitter)
local player_name = player:get_player_name()
local node = minetest.registered_nodes[minetest.get_node(player:getpos()).name]
local pos = player:getpos()
local death = {x=0, y=23, z=-1.5}
minetest.sound_play("player_death", {pos = pos, gain = 1})
pos.x = math.floor(pos.x + 0.5)
pos.y = math.floor(pos.y + 0.5)
pos.z = math.floor(pos.z + 0.5)
local param2 = minetest.dir_to_facedir(player:get_look_dir())
local player_name = player:get_player_name()
if minetest.is_singleplayer() then
player_name = "You"
end
-- Death by lava
if node.name == "default:lava_source" then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("lava"))
if player:get_hp() == 0 then end
--player:setpos(death)
elseif node.name == "default:lava_flowing" then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("lava"))
if player:get_hp() == 0 then end
--player:setpos(death)
-- Death by drowning
elseif player:get_breath() == 0 then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("water"))
if player:get_hp() == 0 then end
--player:setpos(death)
-- Death by fire
elseif node.name == "fire:basic_flame" then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("fire"))
if player:get_hp() == 0 then end
--player:setpos(death)
-- Death by Toxic water
elseif node.name == "es:toxic_water_source" or node.name == "es:toxic_water_flowing" or node.name == "groups:radioactive" then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("toxic"))
minetest.after(1.5, function() return
player:setpos(death) --gamebreaker?
end)
if player:get_hp() == 0 then return end
--player:setpos(death)
-- Death by something else
else
--minetest.chat_send_all(
--string.char(0x1b).."(c@#ffffff)"..player_name ..
--string.char(0x1b).."(c@#ff0000)"..get_message("other")) --toospammy
--minetest.after(1.5, function() return
--player:setpos(death) --gamebreaker?
--end)
--if player:get_hp() == 0 then end
--player:setpos(death)
--minetest.sound_play("pacmine_death", { gain = 0.35}) NOPE!!!
end
--=====================
--=====================
minetest.chat_send_all(string.char(0x1b).."(c@#000000)".."[DEATH COORDINATES] "..string.char(0x1b).."(c@#ffffff)" .. player_name .. string.char(0x1b).."(c@#000000)".." left a corpse full of diamonds here: " ..
minetest.pos_to_string(pos) .. string.char(0x1b).."(c@#aaaaaa)".." Come and get them!")
--=====================
--=====================
end)--after
minetest.register_on_dieplayer(function(player)
local player_name = player:get_player_name()
local node = minetest.registered_nodes[minetest.get_node(player:getpos()).name]
local pos = player:getpos()
local death = {x=0, y=23, z=-1.5}
minetest.sound_play("player_death", {pos = pos, gain = 1})
pos.x = math.floor(pos.x + 0.5)
pos.y = math.floor(pos.y + 0.5)
pos.z = math.floor(pos.z + 0.5)
local param2 = minetest.dir_to_facedir(player:get_look_dir())
local player_name = player:get_player_name()
if minetest.is_singleplayer() then
player_name = "You"
end
-- Death by lava
if node.name == "default:lava_source" then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("lava"))
--player:setpos(death)
elseif node.name == "default:lava_flowing" then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("lava"))
--player:setpos(death)
-- Death by drowning
elseif player:get_breath() == 0 then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("water"))
--player:setpos(death)
-- Death by fire
elseif node.name == "fire:basic_flame" then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("fire"))
--player:setpos(death)
-- Death by Toxic water
elseif node.name == "es:toxic_water_source" then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("toxic"))
--player:setpos(death)
elseif node.name == "es:toxic_water_flowing" then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("toxic"))
--player:setpos(death)
elseif node.name == "groups:radioactive" then
minetest.chat_send_all(
string.char(0x1b).."(c@#00CED1)"..player_name ..
string.char(0x1b).."(c@#ff0000)"..get_message("toxic"))
--player:setpos(death)
-- Death by something else
else
--minetest.chat_send_all(
--string.char(0x1b).."(c@#ffffff)"..player_name ..
--string.char(0x1b).."(c@#ff0000)"..get_message("other")) --toospammy
--minetest.after(0.5, function(holding)
--player:setpos(death) --gamebreaker?
--end)
end
--minetest.chat_send_all(string.char(0x1b).."(c@#000000)".."[DEATH COORDINATES] "..string.char(0x1b).."(c@#ffffff)" .. player_name .. string.char(0x1b).."(c@#000000)".." left a corpse full of diamonds here: " ..
--minetest.pos_to_string(pos) .. string.char(0x1b).."(c@#aaaaaa)".." Come and get them!")
--player:setpos(death)
--minetest.sound_play("pacmine_death", { gain = 0.35}) NOPE!!!
end)
--=====================
--=====================
--=====================
--bigfoot code
-- bigfoot547's death messages
-- hacked by maikerumine
-- get tool/item when hitting get_name() returns item name (e.g. "default:stone")
minetest.register_on_punchplayer(function(player, hitter)
-- local pos = player:getpos()
-- local death = {x=0, y=23, z=-1.5}
if not (player or hitter) then
return false end
if not hitter:get_player_name() == "" then
return false end
minetest.after(0, function(holding)
local hp = 1
if player:get_hp() >= 0.01 and hitter:get_player_name() ~= "" and holding == hitter:get_wielded_item() ~= "" then
local pos = player:getpos()
local death = {x=0, y=23, z=-1.5}
if not (player or hitter) then
return false
end
if not hitter:get_player_name() == "" then
return false
end
minetest.after(0, function(holding)
if player:get_hp() == 0 and hitter:get_player_name() ~= "" and holding == hitter:get_wielded_item() ~= "" then
local holding = hitter:get_wielded_item()
if holding:to_string() ~= "" then
local weap = holding:get_name(holding:get_name())
--if holding and player:get_hp() == 0 then
if holding then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player:get_player_name()..
string.char(0x1b).."(c@#00CED1)"..player:get_player_name()..
string.char(0x1b).."(c@#ff0000)".." was"..
string.char(0x1b).."(c@#ff0000)"..get_message("pvp")..
string.char(0x1b).."(c@#ff0000)".." by "..
string.char(0x1b).."(c@#ffffff)"..hitter:get_player_name()..
string.char(0x1b).."(c@#00CED1)"..hitter:get_player_name()..
string.char(0x1b).."(c@#ffffff)".." with "..
string.char(0x1b).."(c@#00bbff)"..weap..
string.char(0x1b).."(c@#FF8C00)"..weap..
string.char(0x1b).."(c@#00bbff)"..get_message("player")) --TODO: make custom mob death messages
--end
end
end
if player=="" or hitter=="" then return end -- no killers/victims
return true
elseif hitter:get_player_name() == "" and player:get_hp() == 0 then
minetest.chat_send_all(
string.char(0x1b).."(c@#ffffff)"..player:get_player_name()..
string.char(0x1b).."(c@#00CED1)"..player:get_player_name()..
string.char(0x1b).."(c@#ff0000)".." was"..
string.char(0x1b).."(c@#ff0000)"..get_message("pvp")..
string.char(0x1b).."(c@#ff0000)".." by "..
string.char(0x1b).."(c@#ffffff)"..hitter:get_luaentity().name.. --too many mobs add to crash
string.char(0x1b).."(c@#FF8C00)"..hitter:get_luaentity().name.. --too many mobs add to crash
string.char(0x1b).."(c@#00bbff)"..get_message("mobs")) --TODO: make custom mob death messages
if player=="" or hitter=="" or hitter=="*" then return end -- no mob killers/victims
else
if player:get_hp() == 0 then end
return false
end --if player and and
end) --after
return false
end
end)
--[[
while player:get_hp() == 0 and hitter:get_player_name() ~= "" and holding == hitter:get_wielded_item() ~= "" --make more specific
do
if player:get_hp() == 0 then
break
end
end
]] -- example dowhile
end) --hitter func
end)
-----------------------------------------------------------------------------------------------
print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...")