require("界面\\保护设置")
require("界面\\触发回城")
require("界面\\打怪设置")
require("界面\\辅助设置")
require("界面\\回城买卖")
require("界面\\基本设置")
require("界面\\脚本设置")
require("界面\\团队设置")
require("界面\\物品设置")
require("界面\\职业设置")
require("界面\\庄园设置")
require("用户\\CustomFun")

系统.当前地图是 = function(m1)
	local m2,m3 = 系统.当前地图()
	if m1 == m2 or m1 == m3 then
		return true
	end
	return false
end

系统.当前地图不是 = function(m1)
	local m2,m3 = 系统.当前地图()
	if m1 ~= m2 and m1 ~= m3 then
		return true
	end
	return false
end

_物品触发计数 = {}
我.两次判断物品数 = function(名称,数值)
	if 我.包中物品(名称,true) < 数值 then
		if _物品触发计数[名称]==nil then
			_物品触发计数[名称]=0
		else
			_物品触发计数[名称]=_物品触发计数[名称]+1
		end
		if _物品触发计数[名称] > 4 then --多判断几次,不然网速差的会误触发
			return true
		end
	else
		_物品触发计数[名称]=0
	end
end

系统.new载入持久数据 = function()
	local count = 0
	return function(filename, 重读)
		if 重读 or 系统.当前持久数据角色名 ~= filename or type(系统.持久data) ~= "table" or os.time() - count > 30 then
			count = os.time()
			local f = loadfile(filename, "t")
			if f then
				if not pcall(f) or type(系统.持久data) ~= "table" then
					系统.持久data = {}
				end
			else
				系统.持久data = {}
			end
			系统.当前持久数据角色名 = filename
		end
	end
end

系统.载入持久数据 = 系统.new载入持久数据()

系统.new载入持久数据 = nil

系统.读取数据 = function(v, def, 重读)
 	系统.载入持久数据(系统.角色配置文件夹() .. 我.角色名() .. "持久数据.txt", 重读)
	local lv = rawget(系统.持久data, v)
	return lv and lv or def
end

系统.保存数据 = function(key, val)
	local filename = 系统.角色配置文件夹() .. 我.角色名() .. "持久数据.txt"
	系统.载入持久数据(filename)
	local f = io.open(filename, "w")
	if f == nil then return end
	f:write("系统.持久data=\n{\n")
	rawset(系统.持久data, key, val)
	for k,v in pairs(系统.持久data) do  
		local t = type(v)
		if t == "number" then
			f:write("  " .. k .. " = " .. v .. ",\n")
		elseif t == "string" then
			f:write("  " .. k .. " = " .. string.format("%q", v) .. ",\n")
		elseif t == "boolean" then
			f:write("  " .. k .. " = " .. (v and "true" or "false") .. ",\n")
		end
	end  
    f:write("}")  
	f:close()
end

