1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-07-17 23:20:23 +02:00

[pclasses] Remove active detection, introduce class switch orbs

This commit is contained in:
Wouters Dorian
2015-07-31 21:47:55 +02:00
parent fbfc43fc63
commit 9e359f7fcd
12 changed files with 58 additions and 128 deletions

View File

@ -28,8 +28,37 @@ pclasses.data.reserved_items = {}
pclasses.data.hud_ids = {} -- HUD maybe?
dofile(minetest.get_modpath("pclasses") .. "/api.lua")
dofile(minetest.get_modpath("pclasses") .. "/nodes.lua")
function pclasses.data.load()
local file = io.open(minetest.get_worldpath().."/quests", "r")
if file then
local loaded = minetest.deserialize(file:read("*all"))
file:close()
pclasses.data.players = loaded.players or pclasses.data.players
minetest.log("action", "[PClasses] Loaded data")
end
end
function pclasses.data.save()
local file, err = io.open(pclasses.conf.datafile, "w")
if file then
file:write(minetest.serialize({
players = pclasses.data.players,
}))
file:close()
minetest.log("action", "[PClasses] Saved data")
else
minetest.log("error", "[PClasses] Data save failed: open failed: " .. err)
end
end
local function data_save_loop()
minetest.after(save_interval, data_save_loop)
pclasses.data.save()
end
pclasses.data.load()
------------------
-- Default class
@ -39,18 +68,10 @@ if pclasses.conf.default_class then
dofile(minetest.get_modpath("pclasses") .. "/" .. pclasses.conf.default_class .. ".lua")
if pclasses.api.get_class_by_name(pclasses.conf.default_class) then
minetest.register_on_joinplayer(function(player)
pclasses.api.assign_class(player)
local pname = player:get_player_name()
if pclasses.api.get_player_class(pname) == nil then
pclasses.api.set_player_class(pname, pclasses.conf.default_class)
end
end)
end
end
------------
-- Classes
--
dofile(minetest.get_modpath("pclasses") .. "/warrior.lua")
dofile(minetest.get_modpath("pclasses") .. "/hunter.lua")
dofile(minetest.get_modpath("pclasses") .. "/admin.lua")