This commit is contained in:
npx 2016-11-23 00:40:13 +01:00
parent 857a7a5b4b
commit f1872bb8b6
2 changed files with 88 additions and 109 deletions

View File

@ -1,5 +1,4 @@
local moreores local moreores
firstplayer = 0
if minetest.get_modpath("moreores") then if minetest.get_modpath("moreores") then
moreores=true moreores=true
end end
@ -794,7 +793,7 @@ minetest.register_abm({
}) })
]] ]]
minetest.register_abm({ minetest.register_abm({
nodenames = {"default:lava_source", "default:lava_flowing"}, nodenames = {"default:lava_source", "default:lava_flowing", "default:water_source", "default:water_flowing"},
neighbors = {"air"}, neighbors = {"air"},
interval = 1.0, interval = 1.0,
chance = 1, chance = 1,
@ -835,96 +834,91 @@ minetest.register_abm({
]] ]]
--Abm --Abm
function enableabms() minetest.register_abm({
minetest.after(180, function() nodenames = {"default:torch"},
minetest.register_abm({ neighbors = {"nssb:morentir","nssb:morkemen"},
nodenames = {"default:torch"}, interval = 1.0,
neighbors = {"nssb:morentir","nssb:morkemen"}, chance = 1,
interval = 1.0, action = function(pos, node)
chance = 1, minetest.set_node({x = pos.x, y = pos.y , z = pos.z}, {name = "nssb:mornar"})
action = function(pos, node) end
minetest.set_node({x = pos.x, y = pos.y , z = pos.z}, {name = "nssb:mornar"}) })
end
})
minetest.register_abm({ minetest.register_abm({
nodenames = {"nssb:morlote"}, nodenames = {"nssb:morlote"},
neighbors = {"air"}, neighbors = {"air"},
interval = 60, interval = 60,
chance = 100, chance = 100,
action = action =
function(pos, node) function(pos, node)
local pos1 = {x=pos.x, y=pos.y+1, z=pos.z} local pos1 = {x=pos.x, y=pos.y+1, z=pos.z}
local n = minetest.env:get_node(pos1).name local n = minetest.env:get_node(pos1).name
if n ~= "air" then if n ~= "air" then
return return
end end
minetest.add_entity(pos1, "nssm:morgre") minetest.add_entity(pos1, "nssm:morgre")
minetest.remove_node(pos) minetest.remove_node(pos)
end
})
minetest.register_abm({
nodenames = {"nssb:fall_morentir"},
neighbors = {"nssb:fall_morentir"},
interval = 1,
chance = 1,
action =
function(pos, node)
for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 7)) do
if obj:is_player() then
nodeupdate(pos)
end end
}) end
end
})
minetest.register_abm({
nodenames = {"nssb:fall_morentir"}, minetest.register_abm({
neighbors = {"nssb:fall_morentir"}, nodenames = {"nssb:boum_morentir"},
interval = 1, neighbors = {"nssb:morentir"},
chance = 1, interval = 1,
action = chance = 1,
function(pos, node) action =
for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 7)) do function(pos, node)
if obj:is_player() then for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 5)) do
nodeupdate(pos) if obj:is_player() then
end explosion(pos, 3, 0, 1)
end
end end
}) end
end
})
minetest.register_abm({ minetest.register_abm({
nodenames = {"nssb:boum_morentir"}, nodenames = {"nssb:mornen", "nssb:mornen_flowing"},
neighbors = {"nssb:morentir"}, neighbors = {"air"},
interval = 1, interval = 1.0,
chance = 1, chance = 5,
action = action =
function(pos, node) function (pos, node)
for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 5)) do minetest.add_particlespawner({
if obj:is_player() then amount = 1,
explosion(pos, 3, 0, 1) time = 2,
end minpos = {x=pos.x-0.5, y=pos.y+0.5, z=pos.z-0.5},
end maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5},
end minvel = {x=0, y=0.1, z=0},
}) maxvel = {x=0, y=0.3, z=0},
minacc = {x=0,y=0,z=0},
maxacc = {x=0,y=0,z=0},
minetest.register_abm({ minexptime = 1,
nodenames = {"nssb:mornen", "nssb:mornen_flowing"}, maxexptime = 1.2,
neighbors = {"air"}, minsize = 0.5,
interval = 1.0, maxsize = 0.7,
chance = 5, collisiondetection = false,
action = vertical = true,
function (pos, node) texture = "morparticle.png",
minetest.add_particlespawner({ })
amount = 1, end
time = 2, })
minpos = {x=pos.x-0.5, y=pos.y+0.5, z=pos.z-0.5},
maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5},
minvel = {x=0, y=0.1, z=0},
maxvel = {x=0, y=0.3, z=0},
minacc = {x=0,y=0,z=0},
maxacc = {x=0,y=0,z=0},
minexptime = 1,
maxexptime = 1.2,
minsize = 0.5,
maxsize = 0.7,
collisiondetection = false,
vertical = true,
texture = "morparticle.png",
})
end
})
minetest.chat_send_all("enableabms")
end)
end
minetest.register_abm({ minetest.register_abm({
nodenames = {"nssb:portal"}, nodenames = {"nssb:portal"},
@ -970,13 +964,6 @@ minetest.register_abm({
--minetest.chat_send_all("Posizione: "..minetest.pos_to_string(posp)) --minetest.chat_send_all("Posizione: "..minetest.pos_to_string(posp))
obj:setpos({x=5, y=pos1.y+2, z =5}) obj:setpos({x=5, y=pos1.y+2, z =5})
if firstplayer == 0 then
minetest.chat_send_all("Avvio il timer. firstplayer= "..firstplayer)
enablespawns()
minetest.chat_send_all("Tra le funzioni. firstplayer= "..firstplayer)
enableabms()
minetest.chat_send_all("Dopo le funzioni. Firstplayer= "..firstplayer)
end
meta:set_string("player"..obj:get_player_name(), minetest.pos_to_string(posp)) meta:set_string("player"..obj:get_player_name(), minetest.pos_to_string(posp))
timer_pos = {x=os.time(), y = 0, z = 0} timer_pos = {x=os.time(), y = 0, z = 0}
meta:set_string("player_timer"..obj:get_player_name(), minetest.pos_to_string(timer_pos)) meta:set_string("player_timer"..obj:get_player_name(), minetest.pos_to_string(timer_pos))

View File

@ -1,17 +1,9 @@
local mm = nssm.multimobs local mm = nssm.multimobs
mobs:spawn_specific("nssm:morbat1", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0)
function enablespawns() mobs:spawn_specific("nssm:morbat2", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0)
minetest.after(180, function() mobs:spawn_specific("nssm:morbat3", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0)
mobs:spawn_specific("nssm:morbat1", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) mobs:spawn_specific("nssm:morvy", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 120, 18000000/mm, 1, -31000, -93)
mobs:spawn_specific("nssm:morbat2", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) mobs:spawn_specific("nssm:morlu", {"nssb:morentir"}, {"nssb:mornen"}, 0, 20, 80, 1200000/mm, 1, -31000, -93)
mobs:spawn_specific("nssm:morbat3", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) mobs:spawn_specific("nssm:morde", {"nssb:morenrir"}, {"nssb:mornar"}, 0, 20, 50, 350000/mm, 1, -31000, -93)
mobs:spawn_specific("nssm:morvy", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 120, 18000000/mm, 1, -31000, -93) mobs:spawn_specific("nssm:mordain", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 90, 15000000/mm, 1, -31000, .93)
mobs:spawn_specific("nssm:morlu", {"nssb:morentir"}, {"nssb:mornen"}, 0, 20, 80, 1200000/mm, 1, -31000, -93) mobs:spawn_specific("nssm:morgut", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 50, 15000000/mm, 1, -31000, -93)
mobs:spawn_specific("nssm:morde", {"nssb:morenrir"}, {"nssb:mornar"}, 0, 20, 50, 350000/mm, 1, -31000, -93)
mobs:spawn_specific("nssm:mordain", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 90, 15000000/mm, 1, -31000, .93)
mobs:spawn_specific("nssm:morgut", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 50, 15000000/mm, 1, -31000, -93)
firstplayer=1
minetest.chat_send_all("Enablespawns")
end
)
end