Compare commits
5 Commits
926beb9617
...
e50f04e132
Author | SHA1 | Date |
---|---|---|
Tai @ Flex | e50f04e132 | |
James Stevenson | e456b14094 | |
James Stevenson | 7e2b90e0f8 | |
James Stevenson | b5f694b686 | |
James Stevenson | 58f470573f |
44
init.lua
44
init.lua
|
@ -1,32 +1,30 @@
|
||||||
local die = {}
|
local death_kick = {}
|
||||||
|
|
||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_joinplayer(function(player)
|
||||||
die[player:get_player_name()] = 0
|
death_kick[player:get_player_name()] = nil
|
||||||
end)
|
end)
|
||||||
|
|
||||||
minetest.register_on_leaveplayer(function(player)
|
minetest.register_on_leaveplayer(function(player)
|
||||||
die[player:get_player_name()] = nil
|
death_kick[player:get_player_name()] = nil
|
||||||
end)
|
|
||||||
|
|
||||||
minetest.register_on_dieplayer(function(player)
|
|
||||||
local name = player:get_player_name()
|
|
||||||
if not die[name] then
|
|
||||||
die[name] = 0
|
|
||||||
end
|
|
||||||
die[name] = die[name] + 1
|
|
||||||
if die[name] == 5 then
|
|
||||||
minetest.kick_player(name, "You died.")
|
|
||||||
end
|
|
||||||
minetest.after(10, function()
|
|
||||||
if not player then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
if player:get_hp() == 0 then
|
|
||||||
player:set_hp(player:get_hp() - 20)
|
|
||||||
end
|
|
||||||
end, player)
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
minetest.register_on_respawnplayer(function(player)
|
minetest.register_on_respawnplayer(function(player)
|
||||||
die[player:get_player_name()] = 0
|
death_kick[player:get_player_name()] = nil
|
||||||
|
end)
|
||||||
|
|
||||||
|
minetest.register_on_dieplayer(function(player)
|
||||||
|
if not death_kick[player:get_player_name()] then
|
||||||
|
death_kick[player:get_player_name()] = minetest.get_us_time()
|
||||||
|
end
|
||||||
|
|
||||||
|
if minetest.get_us_time() - death_kick[player:get_player_name()] < 120 * 1000000 then
|
||||||
|
minetest.after(10, function()
|
||||||
|
if (not player) or player:get_hp() ~= 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
player:set_hp(0)
|
||||||
|
end, player)
|
||||||
|
else
|
||||||
|
minetest.kick_player(player:get_player_name(), "You died.")
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|
Loading…
Reference in New Issue