minetest-quake/player_manager.lua

46 lines
1.4 KiB
Lua

minetest.register_on_newplayer(function(ObjectRef)
local p_name = ObjectRef:get_player_name()
quake.players[p_name] = {LV = 0, XP = 0, KILLS = 0, TIME_PLAYING = 0, ACHVMTS = {}}
quake.add_player_to_storage(p_name)
quake.update_storage(p_name)
end)
minetest.register_on_joinplayer(function(player)
local p_name = player:get_player_name()
-- lo aggiungo allo storage se era un giocatore che si era già connesso in precedenza,
-- quando la mod ancora non esisteva
if not quake.is_player_in_storage(player:get_player_name()) then
quake.players[p_name] = {LV = 0, XP = 0, KILLS = 0, TIME_PLAYING = 0, ACHVMTS = {}}
quake.add_player_to_storage(p_name)
end
-- genero la HUD per gli achievement
--TODO|DOUBT gestione in hub_manager se c'è?
quake.generate_achievements_slot(p_name)
player:get_meta():set_int("quake_weap_delay", 0)
player: set_physics_override({
speed = 1,
jump = 1,
gravity = 1,
})
local inv = player:get_inventory()
-- non è possibile modificare l'inventario da offline. Se sono crashati o hanno chiuso il gioco in partita,
-- questo è l'unico modo per togliergli l'arma
inv:remove_item("main", ItemStack("quake:railgun"))
inv:remove_item("main", ItemStack("quake:rocket_launcher"))
inv:remove_item("main", ItemStack("quake:match_over"))
end)