-- 可直接新增对应服务器类型扩充
local MissionIni = {
-- servertype
-- 普通服务
    [0] = "ini/Questinfo.ini",
-- 激情服
    [16] = "ini/QuestinfoPassionServer.ini",
}
GodBeastRankInfo = {
    ["OrderBg"] = {
        "LXLJX_pic21",
        "LXLJX_pic22",
        "LXLJX_pic23",
    },
}

--觉醒转世配置
local Awake_Info = {
	[1]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[2]={
    ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
	},
	[4]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[5]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[6]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[7]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[8]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[9]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
	[10]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_1",
		},
		
    --职业:水道士
    [13]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_2",
        -- 觉醒等级
        [0] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 0,--技能对应的等级
        },
        [1] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 1,--技能对应的等级
        },
        -- 觉醒等级
        [2] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 0,--技能对应的等级
        },
		-- 觉醒等级
        [3] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 3,--技能对应的等级
        },
		-- 觉醒等级
        [4] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 4,--技能对应的等级
        },
		-- 觉醒等级
        [5] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 5,--技能对应的等级
        },
		-- 觉醒等级
        [6] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 6,--技能对应的等级
        },
		-- 觉醒等级
        [7] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 7,--技能对应的等级
        },
		-- 觉醒等级
        [8] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 8,--技能对应的等级
        },
		-- 觉醒等级
        [9] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 9,--技能对应的等级
        },
		-- 觉醒等级
        [10] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 10,--技能对应的等级
        },
		-- 觉醒等级
        [11] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 11,--技能对应的等级
        },
		[12] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 12,--技能对应的等级
        },
		[13] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 13,--技能对应的等级
        },
		[14] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 14,--技能对应的等级
        },
		[15] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 15,--技能对应的等级
        },
		[16] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 16,--技能对应的等级
        },
		[17] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 17,--技能对应的等级
        },
		[18] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 18,--技能对应的等级
        },
		[19] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 19,--技能对应的等级
        },
		[20] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 20,--技能对应的等级
        },
		[21] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 21,--技能对应的等级
        },
		[22] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 22,--技能对应的等级
        },
		[23] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 23,--技能对应的等级
        },
		[24] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 24,--技能对应的等级
        },
		[25] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 25,--技能对应的等级
        },
		[26] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 26,--技能对应的等级
        },
		[27] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 27,--技能对应的等级
        },
		[28] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 28,--技能对应的等级
        },
		[29] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 29,--技能对应的等级
        },
		[30] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 30,--技能对应的等级
        },
    },
     --职业:火道士
    [14]={
        ["AwakeTip"]="STR_INI_LUA_INFO_AWAKEINFO_TIP_2",
        -- 觉醒等级
        [0] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 0,--技能对应的等级
        },
        [1] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 1,--技能对应的等级
        },
        -- 觉醒等级
        [2] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 0,--技能对应的等级
        },
		-- 觉醒等级
        [3] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 3,--技能对应的等级
        },
		-- 觉醒等级
        [4] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 4,--技能对应的等级
        },
		-- 觉醒等级
        [5] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 5,--技能对应的等级
        },
		-- 觉醒等级
        [6] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 6,--技能对应的等级
        },
		-- 觉醒等级
        [7] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 7,--技能对应的等级
        },
		-- 觉醒等级
        [8] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 8,--技能对应的等级
        },
		-- 觉醒等级
        [9] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 9,--技能对应的等级
        },
		-- 觉醒等级
        [10] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 10,--技能对应的等级
        },
		-- 觉醒等级
        [11] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 11,--技能对应的等级
        },
		[12] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 12,--技能对应的等级
        },
		[13] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 13,--技能对应的等级
        },
		[14] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 14,--技能对应的等级
        },
		[15] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 15,--技能对应的等级
        },
		[16] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 16,--技能对应的等级
        },
		[17] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 17,--技能对应的等级
        },
		[18] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 18,--技能对应的等级
        },
		[19] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 19,--技能对应的等级
        },
		[20] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 20,--技能对应的等级
        },
		[21] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 21,--技能对应的等级
        },
		[22] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 22,--技能对应的等级
        },
		[23] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 23,--技能对应的等级
        },
		[24] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 24,--技能对应的等级
        },
		[25] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 25,--技能对应的等级
        },
		[26] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 26,--技能对应的等级
        },
		[27] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 27,--技能对应的等级
        },
		[28] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 28,--技能对应的等级
        },
		[29] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 29,--技能对应的等级
        },
		[30] = {
            ["Id"] = 21190,--技能id
            ["Skill"] = "STR_INI_LUA_INFO_AWAKEINFO_SKILL_1",--增加的技能
            ["Level"] = 30,--技能对应的等级
        },
    },
}


--取得觉醒转世信息
local function GetAwakeInfo(nProf, awakeLev, key)
	local info = Awake_Info[nProf]
	if info == nil then
		return ""
	end

	local ret = ""
	if awakeLev == -1 then
		ret = Awake_Info[nProf][key]
	else
		-- 判断等级范围
		local level = 0
		if awakeLev < 10 then
			level = 1
		elseif awakeLev < 20 then
			level = 2
		elseif awakeLev < 30 then
			level = 3
		elseif awakeLev < 40 then
			level = 4
		elseif awakeLev < 50 then
			level = 5
		elseif awakeLev < 60 then
			level = 6
		elseif awakeLev < 70 then
			level = 7
		elseif awakeLev < 80 then
			level = 8
		elseif awakeLev < 90 then
			level = 9
		elseif awakeLev < 100 then
			level = 10
		elseif awakeLev < 110 then
			level = 11
		elseif awakeLev < 120 then
			level = 12
		elseif awakeLev < 130 then
			level = 13
		elseif awakeLev < 140 then
			level = 14
		elseif awakeLev < 150 then
			level = 15
		elseif awakeLev < 160 then
			level = 16
		elseif awakeLev < 170 then
			level = 17
		elseif awakeLev < 180 then
			level = 18
		elseif awakeLev < 190 then
			level = 19
		elseif awakeLev < 200 then
			level = 20
		elseif awakeLev < 210 then
			level = 21
		elseif awakeLev < 220 then
			level = 22
		elseif awakeLev < 230 then
			level = 23
		elseif awakeLev < 240 then
			level = 24
		elseif awakeLev < 250 then
			level = 25
		elseif awakeLev < 260 then
			level = 26
		elseif awakeLev < 270 then
			level = 27
		elseif awakeLev < 280 then
			level = 28
		elseif awakeLev < 290 then
			level = 29
		else
			level = 30
		end
		info = Awake_Info[nProf][level]
		if info ~= nil then
			ret = Awake_Info[nProf][level][key]
			if key == "Skill" and ret ~= nil then				
				ret = LuaUIMgr_LocalCnRes(ret)
			end
		end
	end

	if ret == nil then
		ret = ""
	end

	return ret
end
--水火道的编号全部转为13
local function GetDaoShiProf(nProf)
	if nProf == 14 then
		nProf = 13
	end
	return nProf
end

-- 取得转世失去的技能
--nNowProf：现在职业
--nNowLevel：现在职业觉醒等级
--nRebornTimes: 转世次数
--nPrevProf: 前世职业
--nPrevLevel: 前世觉醒等级
--nPrevPrevProf: 前前世职业
--nPrevPrevLevel: 前前世觉醒等级
--nToProf: 将要转的职业
--nToLevel：将要转的觉醒等级
local function GetAwakeLostSkill(nNowProfAndLevel, nRebornTimes, nPrevProf, nPrevLevel, nPrevPrevProf, nPrevPrevLevel, nToProf, nToLevel)
	local nNowProf = math.floor(nNowProfAndLevel / 1000)
	local nNowLevel = nNowProfAndLevel % 1000
	
	nNowProf = GetDaoShiProf(nNowProf)
	nPrevProf = GetDaoShiProf(nPrevProf)
	nPrevPrevProf = GetDaoShiProf(nPrevPrevProf)
	nToProf = GetDaoShiProf(nToProf)
	
	local nLostSkill = ""
	--请根据真实规则修改。下面只是提供写法参考
	if (nToProf ~= nNowProf and (nToLevel == nPrevLevel or nToLevel == nPrevPrevProf)) then
		local strSkillName = GetAwakeInfo(nToProf, nToLevel, "Skill")
		local strLevel = GetAwakeInfo(nToProf, nToLevel, "Level")
		if strSkillName ~= nil and strSkillName ~= "" and strLevel ~= nil and strLevel ~= "" then
			-- return string.format(" %s lv%s ", strSkillName, strLevel)
			nLostSkill = nLostSkill .. string.format(" %s lv%s ", strSkillName, strLevel)
		end
	end
	
	if (nPrevPrevProf ~= nNowProf and nPrevPrevProf ~= nPrevProf and nPrevPrevProf ~= nToLevel) then
		local strSkillName = GetAwakeInfo(nPrevPrevProf, nPrevPrevLevel, "Skill")
		local strLevel = GetAwakeInfo(nPrevPrevProf, nPrevPrevLevel, "Level")
		if strSkillName ~= nil and strSkillName ~= "" and strLevel ~= nil and strLevel ~= "" then
			-- return string.format(" %s lv%s ", strSkillName, strLevel)
			nLostSkill = nLostSkill .. string.format(" %s lv%s ", strSkillName, strLevel)
		end
	end
	
	if nLostSkill ~= nil then
		return nLostSkill
	else
	--下面是为了方便查看没有配置给出的提示。正式使用请修改(确实无数据则返回"")
		return  ""
	end
end

-- 取得转世失去的技能
--nNowProf：现在职业
--nNowLevel：现在职业觉醒等级
--nRebornTimes: 转世次数
--nPrevProf: 前世职业
--nPrevLevel: 前世觉醒等级
--nPrevPrevProf: 前前世职业
--nPrevPrevLevel: 前前世觉醒等级
--nToProf: 将要转的职业
--nToLevel：将要转的觉醒等级
local function GetAwakeAddSkill(nNowProfAndLevel, nRebornTimes, nPrevProf, nPrevLevel, nPrevPrevProf, nPrevPrevLevel, nToProf, nToLevel)
	local nNowProf = math.floor(nNowProfAndLevel / 1000)
	local nNowLevel = nNowProfAndLevel % 1000

	nNowProf = GetDaoShiProf(nNowProf)
	nPrevProf = GetDaoShiProf(nPrevProf)
	nPrevPrevProf = GetDaoShiProf(nPrevPrevProf)
	nToProf = GetDaoShiProf(nToProf)

	--请根据真实规则修改。下面只是提供写法参考
	if (nToProf ~= nNowProf) then
		local strSkillName = GetAwakeInfo(nNowProf, nNowLevel, "Skill")
		local strLevel = GetAwakeInfo(nNowProf, nNowLevel, "Level")
		if strSkillName ~= nil and strSkillName ~= "" and strLevel ~= nil and strLevel ~= "" then
			return string.format(" %s lv%s ", strSkillName, strLevel)
		end
	end

	--下面是为了方便查看没有配置给出的提示。正式使用请修改(确实无数据则返回"")
	return ""
end

-- 取得转世觉醒技能id
--nNowProf：现在职业
--nNowLevel：现在职业觉醒等级
--nRebornTimes: 转世次数
--nPrevProf: 前世职业
--nPrevLevel: 前世觉醒等级
--nPrevPrevProf: 前前世职业
--nPrevPrevLevel: 前前世觉醒等级
local function GetAwakeSkillId(nNowProfAndLevel, nRebornTimes, nPrevProf, nPrevLevel, nPrevPrevProf, nPrevPrevLevel)
	local nNowProf = math.floor(nNowProfAndLevel / 1000)
	local nNowLevel = nNowProfAndLevel % 1000

	nNowProf = GetDaoShiProf(nNowProf)
	nPrevProf = GetDaoShiProf(nPrevProf)
	nPrevPrevProf = GetDaoShiProf(nPrevPrevProf)
	if nPrevProf == 13 then
		return GetAwakeInfo(nPrevProf, nPrevLevel, "Id")
	elseif nPrevPrevProf == 13 then
		return GetAwakeInfo(nPrevPrevProf,nPrevPrevLevel, "Id")
	end
end

local CoatChangeColorInfo = {
	--选中框
	["SelEff"] = "zsl_clkxh",
	--天石图片
	["PriceImg"] = "AuctionEMoneyIcon",
	--默认图片
	["DefaultImg"] = "CoatStorhs_tga",
	--稀有图片
	["RareImg"] = "CoatStorhs_hsxiyoutubiao",
	["UseImg"] = "CoatStorhs_hsshiyongzhong",
	--随机次数
	["RandTime"] = 300,
	--坐骑放大倍数
	["MountScale"] = 150,
	--人物放大倍数
	["RoleScale"] = 200,
	--坐骑稀有色放大倍数
	["PreviewMountScale"] = 100,
}

local DaoistSkillInfo = {
	--窗口位置的偏移
	["YHJMDlgOffsetX"] = 300,
	["YHJMDlgOffsetY"] = 300,
	["YHJMBeAtkMaxHeight"] = 80,
	["YHJMBeAtkBlankHeight"] = -13,
	--倒计时光效的偏移
	["YHJMCutDownOffsetX"] = 248,
	["YHJMCutDownOffsetY"] = 243,
	--移花接木被攻击的光效
	["YHJMBeAtkEff"] = "hdjx_mu2ui1",
	--移花接木倒计时的光效
	["CutDownEff"]  = "hdjx_mu2ui3",
	["s_dwMoveTime"] = 1000
}

local function GetDaoistSkillInfo(nType)
	return DaoistSkillInfo[nType]
end


local function GetCoatChangeColorItem(nType)
	return CoatChangeColorInfo[nType]
end




local function GetMissionIni(index, default)
    local res = MissionIni[index]
    
    if (res ~= nil) then
        return res
    end
    
    return default
end

-- 德州规则背景图
local ShowHandRuleBG = {
	-- 基本玩法
	[0] = {[0] = "Squeezer_BasicPlaBG", [1] = "Texashold_Texashold1Pic", [2] = "Squeezer_agameBG",},
	-- 比赛规则
	[1] = {[0] = "Squeezer_ComRuleBG", [1] = "Texashold_Texashold2Pic", [2] = "Squeezer_ComRuleBG",},
	-- 游戏流程
	[2] = {[0] = "Squeezer_GameFlowBG", [1] = "Texashold_Texashold3Pic", [2] = "Squeezer_GameFlowBG",},
	-- 游戏举例
	[3] = {[0] = "Squeezer_GameCaseBG", [1] = "Texashold_Texashold4Pic", [2] = "Squeezer_aguizeBG",},
	-- 界面介绍
	[4] = {[0] = "Squeezer_GuiIntBG", [1] = "Texashold_Texashold5Pic", [2] = "Squeezer_GuiIntBG",},
	-- 名词解释
	[5] = {[0] = "Squeezer_NonExpBG", [1] = "Texashold_Texashold7Pic", [2] = "Squeezer_NonExpBG",},
	-- 竞赛帮助
	[6] = {[0] = "Squeezer_GameHelpBG", [1] = "Texashold_Texashold6Pic", [2] = "Squeezer_GameHelpBG",},
}

local function IsNeedCheckLook(look, default)
	if (look == 5 or look == 6 or look == 7 or look == 8) then
		return true
	end

	return false
end

-- 返利商店信息
local T_RebateInfo = {
    -- 返利商店消耗物品类型
    costType=3322775,
    -- 返利商店npc
    npcID=24702,
    -- 刷新所需要的初始值
    cost_value=1,
    -- 每次刷新的累加值
    cost_inc=5,
    -- 刷新最高数量
    cost_limit=100,
    -- 刷新延迟
    refreshDelay = 2,
}

-- 获取返利信息
local function GetRebateInfo(key, default)
	local ret = T_RebateInfo[key]

	if (ret ~= nil) then
		return ret
	end
	
	return default
end

-- 返利商店进度条上等级标识信息
local RebateProInfo = {
    num = 8,
    [1] = { ani = "Xinshop_green", x = 120, y = 505 },
	[2] = { ani = "Xinshop_Red", x = 121, y = 505 },
	[3] = { ani = "Xinshop_Red", x = 122, y = 505 },
	[4] = { ani = "Xinshop_Red", x = 126, y = 505 },
	[5] = { ani = "Xinshop_Red", x = 135, y = 505 },
	[6] = { ani = "Xinshop_Red", x = 164, y = 505 },
	[7] = { ani = "Xinshop_Red", x = 253, y = 505 },
	[8] = { ani = "Xinshop_yellow", x = 430, y = 505 },
    
}

local function GetRebateProInfo(index, key, default)
    if index > RebateProInfo["num"] then
        return default
    end
    
    if RebateProInfo[index][key] == nil then
        return default
    end
    
    return RebateProInfo[index][key]
end

-- 获取刷新需要的返利令数量
local function GetRebateRefreshCost(times)
	local cost = T_RebateInfo.cost_value + times * T_RebateInfo.cost_inc

	if (cost > T_RebateInfo.cost_limit) then
		cost = T_RebateInfo.cost_limit
	end

	return cost
end

local T_DlgInfo = {
-- 人物主装备界面
[130] = {
    HPWidth=50,
    HPHeight=92,
    HPHWidth=93,
    MPWidth=50,
    MPHeight=92,
    XPWidth=108,
    XPHeight=104,
    SPWidth=12,
    SPHeight=92,
	
	["LuaDlg"] = {
	--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg3",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -508,
			BgOffsetY = -92,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg3",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -508,
			BgOffsetY = -92,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg3",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -508,
			BgOffsetY = -92,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg3",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -508,
			BgOffsetY = -92,
			ShowLev = 0,
		},
		--霸气皮肤TQD120973_5
		[40000] = {
			AniSection = "PirateJX_BG24",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -36,---34,跟1.0比，这个值微调了一点
			BgOffsetY = -50,---47,跟1.0比，这个值微调了一点
			ShowLev = 0,
		},
	},

	
},
[135] = {
    -- 按钮每次响应的旋转角度
    RotateAngle=10,
},
-- 衣柜界面
[741] = {
    -- 按钮每次响应的旋转角度
    RotateAngle=10,
	-- 骑宠额外旋转角度
    MountRotate=-50,
},
-- 实力评分排行榜
[808] = {
	-- 骑宠额外旋转角度
    MountRotate=-50,
},
[131] = {
	["LuaDlg"] = {
		-- 龙魂风格
		[20000] = {
			AniSection = "Aspirit_AspiritBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -30,
			BgOffsetY = -60,
			ShowLev = 0;
		},
		-- 圣诞节风格
		[1] = {
			AniSection = "ActivityBG_HalloweenBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -396,
			BgOffsetY = -198,
		},
		-- 周年庆风格
		[2] = {
			AniSection = "ActivityBG_ZNQBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -396,
			BgOffsetY = -198,
		},
		-- 中秋节
		[3] = {
			AniSection = "ActivityBG_2020ZhongqiuBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -396,
			BgOffsetY = -198,
		},
		-- 感恩节
		[4] = {
			AniSection = "ActivityBG_ThanksgivingBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -396,
			BgOffsetY = -198,
		},
		-- 万圣节风格
		[5] = {
			AniSection = "ActivityBG_NewHalloweenBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -30,
			BgOffsetY = -60,
		},
		-- 新年风格
		[6] = {
			AniSection = "ActivityBG_NewYearBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -10,
			BgOffsetY = -40,
		},
	--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -386,
			BgOffsetY = -196,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -386,
			BgOffsetY = -196,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -386,
			BgOffsetY = -196,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -386,
			BgOffsetY = -196,
			ShowLev = 0,
		},
		
	},
},
-- 互动列表界面
[360] = {
	-- 互动列表-恶作剧
	HeadMutualTitle = "Mutual_MischiefPic",
	-- 对应[1026]的索引, 0 -> ["Mutual0"]
	HeadMutualIndex = 1,
},
-- 头顶互动界面
[1026] = {
	Mutual1Num = 2,
	["Mutual1"] = {
		-- 捣蛋
		[0] = {
			Effect="wsj_nangua",
			--AniSection="Mischief_daodanBtn",
			Action=1,
			Text="Accept",
		},
		-- 糖果
		[1] = {
			Effect="wsj_tangguo",
			--AniSection="Mischief_tangguoBtn",
			Action=2,
			Text="Refuse",
		},
	},
},
-- 新个人排位赛
[1039] = {
    ShowWing=true,
    ShowMount=false,
    ShowTitle=true,
    TitleOffset=-40,
    InfoTitleColor=0xfffbec8a,
    InfoValueColor=0xffffffff,
	RolePercent=150,
},
--跨服战旗争霸赛战时奖金界面
[547] = {
	["RuleTipColor"] = 0xAF000000;
},
--跨服战旗争霸赛查询界面
[546] = {
	["MyFactionColor"] = 0xff10dd00,
	["FactionColor"] = 0xffccb453,
	["RuleTipColor"] = 0xAF000000;
},

--战旗争霸奖金排行界面
[496] = {
	["MyFactionColor"] = 0xff10dd00,
	["FactionColor"] = 0xffccb453,
	["RuleTipColor"] = 0xAF000000;
},
[719] = {
	EnableType=18,
	DisableType=17,
},
--坐骑商店积分商城
[465] = {
["EnableType"] = 18,
["DisableType"] = 17,
},
--黄金商店积分商城
[612] = {
["EnableType"] = 18,
["DisableType"] = 17,
},
--荣誉积分商城
[410] = {
["EnableType"] = 18,
["DisableType"] = 17,
},
-- 仙人模式界面
[2801] = {
    -- 模型缩放比例
	DummyPercent=300,
    -- 模型显示坐标x
	DummyX=273,
    -- 模型显示坐标y
	DummyY=414,
    -- 按钮每次响应的旋转角度
    RotateAngle=10,
	-- 预览内容显示偏移
	TagOffsetY = 106,
},
-- 勾玉背包界面
[1211] = {
	-- 选中光效
	UpSelectEffect = "RFT_xz1",
},
-- 勾玉排行榜界面
[1400] = {
	MyRankSpace = 30,
		-- 精修按钮光效
	JingXiuEff="Ren_BtnTiShi",
},
-- 升级界面
[2802] = {
	PrgEffect = "Ren_GouYvJYT",
	PrgSound = "sound/renfatie_progress_bar.wav",
	UpLevSound = "sound/renfatie_jewel_upgrade.wav",
},
-- 忍法贴界面
[1209] = {
-- 忍法贴界面-仙人模式引导光效
ImmortalEff="RFT_anscjh",
ImmortalEffX=0,
ImmortalEffY=0,
},
[3404] = {
	["MyFactionColor"] = 0xff10dd00,
	["FactionColor"] = 0xffccb453,
	["RuleTipColor"] = 0xAF000000;
},
--帮派战奖励界面
[3402] = {
	["RankOffSetX"] = -70,
	["RankOffSetY"] = 0,
},

[451] = {
	["LuaDlg"] = {
		--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
	}
},
[3607] = {
	["LuaDlg"] = {
		--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
	}
},
[3608] = {
	["LuaDlg"] = {
		--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
	}
},
[791] = {
	["LuaDlg"] = {
		--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg2",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg2",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg2",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg2",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -235,
			ShowLev = 0,
		},
	}
},
--他人属性界面
[450] = {
["LuaDlg"] = {
			--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg2",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -230,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -230,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -230,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg4",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -90,
			BgOffsetY = -230,
			ShowLev = 0,
		},
	}
},
[258] = {
	["LuaDlg"] = {
		-- 龙魂风格
		[20000] = {
			AniSection = "Aspirit_AspiritBG",
			-- 同gui.ini的BGShowType
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -14,
			BgOffsetY = -50,
			ShowLev = 0;
		},
		--龙之皮肤，默认金龙
		[30000] = {
			AniSection = "DragonSkin_Skin0Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -392,
			BgOffsetY = -207,
			ShowLev = 0,
		},
		--龙之皮肤，末世魔龙
		[30001] = {
			AniSection = "DragonSkin_Skin1Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -392,
			BgOffsetY = -207,
			ShowLev = 0,
		},
		--龙之皮肤，祈愿精灵
		[30002] = {
			AniSection = "DragonSkin_Skin2Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -392,
			BgOffsetY = -207,
			ShowLev = 0,
		},
		--龙之皮肤，极地冰龙
		[30003] = {
			AniSection = "DragonSkin_Skin3Bg1",
			BGShowType = 0,
			-- 是否显示gui.ini的subbg图片
			ShowSubBg = false,
			BgOffsetX = -392,
			BgOffsetY = -207,
			ShowLev = 0,
		},
	}
},

}
GiftRankInfo = {
    ["DlgBg"] = {
        --礼物排行榜背景图
        [1] = "FlowerRank_bg2",
    },
    ["DlgSubBg"] = {
        --礼物排行榜底框
        [1]="FlowerRank_bg15",
    },
    ["ExChangeBtn"] = {
        "FlowerRank_btn2",
        "FlowerRank_btn2",
    },
    ["GroupBg"] = {
		--礼物榜单个榜单背景
		[1] = "FlowerRank_bg18",
		--鲜花榜单个榜单背景
		[2] = "FlowerRank_bg12",
    },
    ["RankIcon"] = {
        --玫瑰
        [0] = "FlowerRank_wz5",
        --兰花
        [1] = "FlowerRank_wz4",
		--郁金香
        [2] = "FlowerRank_wz10",
        --百合
        [3] = "FlowerRank_wz1",
        --牡丹
        [4] = "FlowerRank_wz6",
        --飞吻
        [5] = "FlowerRank_wz3",
        --啤酒
        [6] = "FlowerRank_wz7",
        --玉佩
        [7] = "FlowerRank_wz9",
		--情书
        [8] = "FlowerRank_wz8",
        --弹珠
        [9] = "FlowerRank_wz2",
    },
    ["RankTOP3BG"] = {
        "FlowerRank_bg4",
        "FlowerRank_bg6",
        "FlowerRank_bg8",
    },
    ["RankTOP3LBG"] = {
        "FlowerRank_bg5",
        "FlowerRank_bg7",
        "FlowerRank_bg9",
    },
    ["RankItemBG"] = {
	--短背景
        "blank",
	--长背景
        "blank",
    },
    ["ArrowIcon"] = {
        [0] = "FlowerRank_line1",
        [1] = "FlowerRank_line2",
    },
    ["RankBtn"] = {
        --榜单详情 按钮图片,
        [0] = "FlowerRank_btn3",
        [1] = "FlowerRank_btn3",
        [2] = "FlowerRank_btn3",
        [3] = "FlowerRank_btn3",
        [4] = "FlowerRank_btn3",
        [5] = "FlowerRank_btn7",
        [6] = "FlowerRank_btn7",
        [7] = "FlowerRank_btn7",
        [8] = "FlowerRank_btn7",
        [9] = "FlowerRank_btn7",
    },
    ["TopOneEffectName"] = {
		--玫瑰
        [0] = "2022qixiguanghuang4",
        --兰花
        [1] = "2022qixiguanghuang2",
        --郁金香
        [2] = "2022qixiguanghuang3",
        --百合
        [3] = "2022qixiguanghuang1",
		--牡丹
        [4] = "20221111guanghuang",
        --飞吻
        [5] = "2022qixiguanghuang4",
        --啤酒
        [6] = "2022qixiguanghuang2",
		--玉佩
        [7] = "2022qixiguanghuang3",
		--情书
        [8] = "2022qixiguanghuang1",
        --弹珠
        [9] = "20221111guanghuang",
    },
    ["TaskRank"] = {
        ["Start"] = "20221222000000",
        ["End"] = "20521222235900",
    },
	["RewardScale"] = {
		--奖励光环 缩放比例
		["ScaleX"] = 0.5,
		["ScaleY"] = 0.5,
		["ScaleZ"] = 0.5,
	},
["HaloInfo"] = {
        --玫瑰
        [0] = 8038,
        --兰花
        [1] = 8041,
		--郁金香
        [2] = 8040,
        --百合
        [3] = 8039,
        --牡丹
        [4] = 8047,
        --飞吻
        [5] = 8038,
        --啤酒
        [6] = 8041,
        --玉佩
        [7] = 8040,
		--情书
        [8] = 8039,
        --弹珠
        [9] = 8047,
},
["ExChangeBtn"] = {
        --玫瑰
        [0] = "FlowerRank_btn2",
        --兰花
        [1] = "FlowerRank_btn2",
		--郁金香
        [2] = "FlowerRank_btn2",
        --百合
        [3] = "FlowerRank_btn2",
        --牡丹
        [4] = "FlowerRank_btn2",
        --飞吻
        [5] = "FlowerRank_btn8",
        --啤酒
        [6] = "FlowerRank_btn8",
        --玉佩
        [7] = "FlowerRank_btn8",
		--情书
        [8] = "FlowerRank_btn8",
        --弹珠
        [9] = "FlowerRank_btn8",
},
}

-- 个人竞技场排行榜界面列宽配置
local RankColWidth = {
    ["HonorRank"] = { 174, 184, 188, 200, 150, },
	["ProRank"] = { 174, 184, 188, 200, 150, },
    ["RaceRank"] = { 174, 184, 188, 200, 150, }
}

function GetRankInfo(strType, nKeyValue1, nKeyValue2)
    if nKeyValue2 ~= nil then
        return GiftRankInfo[strType][nKeyValue1][nKeyValue2]
    end
 
    if nKeyValue1 ~= nil then
        return GiftRankInfo[strType][nKeyValue1]
    end

    return GiftRankInfo[strType]
end

-- PK赛人物属性限制规则
local PKAttrLimitRule = {
-- 规则编号，对应cq_attribute_limit表的第1列，规则编号请顺序添加，中间不要断开
[1] = {
-- 状态图标编号，索引自ini/StatusTips.ini
AttribIcon=20001,
BattleLevUpper=300,
MaxlifeUpper=10000,
-- 被限制的属性总数
DescNum=19,
-- 被限制的属性描述
Desc0="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_1",
Desc1="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_2",
Desc2="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_3",
Desc3="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_4",
Desc4="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_5",
Desc5="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_6",
Desc6="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_7",
Desc7="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_8",
Desc8="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_9",
Desc9="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_10",
Desc10="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_11",
Desc11="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_12",
Desc12="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_13",
Desc13="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_14",
Desc14="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_15",
Desc15="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_16",
Desc16="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_17",
Desc17="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_18",
Desc18="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_19",

},

[2] = {
AttribIcon=20002,
BattleLevUpper=375,
MaxlifeUpper=26000,
DescNum=19,
-- 被限制的属性描述
Desc0="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_1",
Desc1="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_2",
Desc2="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_3",
Desc3="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_4",
Desc4="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_5",
Desc5="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_6",
Desc6="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_7",
Desc7="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_8",
Desc8="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_9",
Desc9="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_10",
Desc10="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_11",
Desc11="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_12",
Desc12="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_13",
Desc13="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_14",
Desc14="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_15",
Desc15="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_16",
Desc16="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_17",
Desc17="STR_INI_LUA_INFO_PKATTRLIMITRULE_1_DESC_18",
Desc18="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_18",

},

[3] = {
AttribIcon=20003,
BattleLevUpper=450,
MaxlifeUpper=38000,
DescNum=13,
-- 被限制的属性描述
Desc0="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_1",
Desc1="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_2",
Desc2="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_3",
Desc3="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_4",
Desc4="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_5",
Desc5="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_6",
Desc6="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_7",
Desc7="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_8",
Desc8="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_9",
Desc9="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_10",
Desc10="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_11",
Desc11="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_12",
Desc13="STR_INI_LUA_INFO_PKATTRLIMITRULE_3_DESC_13",

},

[4] = {
AttribIcon=20004,
DescNum=19,
BattleLevUpper=999999999,
MaxlifeUpper=400000,
-- 被限制的属性描述
Desc0="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_1",
Desc1="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_2",
Desc2="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_3",
Desc3="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_4",
Desc4="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_5",
Desc5="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_6",
Desc6="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_7",
Desc7="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_8",
Desc8="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_9",
Desc9="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_10",
Desc10="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_11",
Desc11="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_12",
Desc12="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_13",
Desc13="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_14",
Desc14="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_15",
Desc15="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_16",
Desc16="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_17",
Desc17="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_18",
Desc18="STR_INI_LUA_INFO_PKATTRLIMITRULE_4_DESC_19",

},
-- 规则编号，对应cq_attribute_limit表的第1列，规则编号请顺序添加，中间不要断开

[1006] = {
AttribIcon=20002,
BattleLevUpper=375,
MaxlifeUpper=28000,
DescNum=18,
-- 被限制的属性描述
Desc0="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_1",
Desc1="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_2",
Desc2="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_2",
Desc3="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_3",
Desc4="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_4",
Desc5="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_5",
Desc6="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_6",
Desc7="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_7",
Desc8="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_8",
Desc9="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_9",
Desc10="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_11",
Desc11="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_12",
Desc12="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_13",
Desc13="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_14",
Desc14="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_15",
Desc15="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_10",
Desc16="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_11",
Desc17="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_12",
},

}

-- PK赛人物属性限制规则-老兵服
local OldSoldier_PKAttrLimitRule = {
	[1006] = {
	AttribIcon=20002,
	BattleLevUpper=375,
	MaxlifeUpper=28000,
	DescNum=18,
	-- 被限制的属性描述
	Desc0="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_1",
	Desc1="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_2",
	Desc2="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_2",
	Desc3="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_3",
	Desc4="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_4",
	Desc5="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_5",
	Desc6="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_6",
	Desc7="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_7",
	Desc8="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_8",
	Desc9="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_9",
	Desc10="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_11",
	Desc11="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_12",
	Desc12="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_13",
	Desc13="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_14",
	Desc14="STR_INI_LUA_INFO_PKATTRLIMITRULE_2_DESC_15",
	Desc15="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_10",
	Desc16="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_11",
	Desc17="STR_INI_LUA_INFO_PKATTRLIMITRULE_1006_DESC_12",
	},
}


-- PK赛事报名公告上的物品奖励列表
local PKNoticeReward = {
[11] = {
-- 奖励物品个数
Num=3,
-- 物品itemtypeid
Item1=723713, 
-- 0(非赠) /  1(赠)
Monopoly1=0,
-- 个数
Overlay1=1,
Item2=3327102, 
Monopoly2=0,
Overlay2=1,
Item3=3314788, 
Monopoly3=0,
Overlay3=215,
},

[12] = {
Num=3,
Item1=723714, 
Monopoly1=0,
Overlay1=1,
Item2=3327102, 
Monopoly2=0,
Overlay2=1,
Item3=3314788, 
Monopoly3=0,
Overlay3=215,
},

[13] = {
Num=3,
Item1=723715, 
Monopoly1=0,
Overlay1=1,
Item2=3327102, 
Monopoly2=0,
Overlay2=1,
Item3=3314788, 
Monopoly3=0,
Overlay3=215,
},

[14] = {
Num=3,
Item1=723716, 
Monopoly1=0,
Overlay1=1,
Item2=3327102, 
Monopoly2=0,
Overlay2=1,
Item3=3314788, 
Monopoly3=0,
Overlay3=215,
},

[21] = {
Num=5,
Item1=723700, 
Monopoly1=0,
Overlay1=2,
Item2=3307885, 
Monopoly2=0,
Overlay2=2,
Item3=723713, 
Monopoly3=0,
Overlay3=1,
Item4=3327102, 
Monopoly4=0,
Overlay4=1,
Item5=3314788, 
Monopoly5=0,
Overlay5=215,
},

[22] = {
Num=5,
Item1=723700, 
Monopoly1=0,
Overlay1=3,
Item2=3307886, 
Monopoly2=0,
Overlay2=1,
Item3=723714, 
Monopoly3=0,
Overlay3=1,
Item4=3327102, 
Monopoly4=0,
Overlay4=1,
Item5=3314788, 
Monopoly5=0,
Overlay5=215,
},

[23] = {
Num=5,
Item1=723700, 
Monopoly1=0,
Overlay1=1,
Item2=3304062, 
Monopoly2=0,
Overlay2=1,
Item3=723715, 
Monopoly3=0,
Overlay3=1,
Item4=3327102, 
Monopoly4=0,
Overlay4=1,
Item5=3314788, 
Monopoly5=0,
Overlay5=215,
},

[24] = {
Num=5,
Item1=723700, 
Monopoly1=0,
Overlay1=2,
Item2=3304062, 
Monopoly2=0,
Overlay2=1,
Item3=723717, 
Monopoly3=0,
Overlay3=1,
Item4=3327102, 
Monopoly4=0,
Overlay4=1,
Item5=3314788, 
Monopoly5=0,
Overlay5=215,
},

[31] = {
Num=4,
Item1=3008058, 
Monopoly1=0,
Overlay1=1,
Item2=730007, 
Monopoly2=0,
Overlay2=1,
Item3=3322944, 
Monopoly3=1,
Overlay3=1,
Item4=721318, 
Monopoly4=0,
Overlay4=5,
},

[32] = {
Num=4,
Item1=3008058, 
Monopoly1=0,
Overlay1=1,
Item2=730005, 
Monopoly2=0,
Overlay2=1,
Item3=3322813, 
Monopoly3=1,
Overlay3=1,
Item4=721318, 
Monopoly4=0,
Overlay4=5,
},
}

-- PK赛事报名公告
local PKNotice = {
-- 报名公告Id（如GetPKWeeklyNoticeId、GetPKMonthlyNoticeId返回的值）
[1] = {
-- 报名地点
Entrance="1002,416,278,31,4",
-- 报名时间
Time="STR_INI_LUA_INFO_PKNOTICE_1_TIME_1",
-- 报名方式
Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
-- 活动规则
Rule="STR_INI_LUA_INFO_PKNOTICE_1_RULE_1",
-- 分组总数
GroupNum=4,
-- 分组描述
Desc1="STR_INI_LUA_INFO_PKNOTICE_1_DESC_1",
-- 分组奖励，索引自本文件的PKNoticeReward数据结构
Reward1=11,
-- 人物等级>=RoleLevLower
RoleLevLower1=0,
-- 人物等级<=RoleLevUpper
RoleLevUpper1=99,
Desc2="STR_INI_LUA_INFO_PKNOTICE_1_DESC_2",
Reward2=12,
RoleLevLower2=100,
RoleLevUpper2=119,
Desc3="STR_INI_LUA_INFO_PKNOTICE_1_DESC_3",
Reward3=13,
RoleLevLower3=120,
RoleLevUpper3=129,
Desc4="STR_INI_LUA_INFO_PKNOTICE_1_DESC_4",
Reward4=14,
RoleLevLower4=130,
RoleLevUpper4=1000,
},

[2] = {
Entrance="1002,416,278,31,4",
Time="STR_INI_LUA_INFO_PKNOTICE_2_TIME_1",
Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
Rule="STR_INI_LUA_INFO_PKNOTICE_1_RULE_1",
GroupNum=4,
Desc1="STR_INI_LUA_INFO_PKNOTICE_1_DESC_1",
Reward1=21,
RoleLevLower1=0,
RoleLevUpper1=99,
Desc2="STR_INI_LUA_INFO_PKNOTICE_1_DESC_2",
Reward2=22,
RoleLevLower2=100,
RoleLevUpper2=119,
Desc3="STR_INI_LUA_INFO_PKNOTICE_1_DESC_3",
Reward3=23,
RoleLevLower3=120,
RoleLevUpper3=129,
Desc4="STR_INI_LUA_INFO_PKNOTICE_1_DESC_4",
Reward4=24,
RoleLevLower4=130,
RoleLevUpper4=1000,
},

--新服
[3] = {
Entrance="1002,416,278,31,4",
Time="STR_INI_LUA_INFO_PKNOTICE_1_TIME_1",
Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
Rule="STR_INI_LUA_INFO_PKNOTICE_1_RULE_1",
GroupNum=4,
Desc1="STR_INI_LUA_INFO_PKNOTICE_1_DESC_1",
Reward1=21,
RoleLevLower1=0,
RoleLevUpper1=99,
Desc2="STR_INI_LUA_INFO_PKNOTICE_1_DESC_2",
Reward2=22,
RoleLevLower2=100,
RoleLevUpper2=119,
Desc3="STR_INI_LUA_INFO_PKNOTICE_1_DESC_3",
Reward3=23,
RoleLevLower3=120,
RoleLevUpper3=129,
Desc4="STR_INI_LUA_INFO_PKNOTICE_1_DESC_4",
Reward4=24,
RoleLevLower4=130,
RoleLevUpper4=1000,
},

--激情服
[4] = {
Entrance="10364,324,192,31,4",
Time="STR_INI_LUA_INFO_PKNOTICE_1_TIME_1",
Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
Rule="STR_INI_LUA_INFO_PKNOTICE_1_RULE_1",
GroupNum=4,
Desc1="STR_INI_LUA_INFO_PKNOTICE_1_DESC_1",
Reward1=21,
RoleLevLower1=0,
RoleLevUpper1=99,
Desc2="STR_INI_LUA_INFO_PKNOTICE_1_DESC_2",
Reward2=22,
RoleLevLower2=100,
RoleLevUpper2=119,
Desc3="STR_INI_LUA_INFO_PKNOTICE_1_DESC_3",
Reward3=23,
RoleLevLower3=120,
RoleLevUpper3=129,
Desc4="STR_INI_LUA_INFO_PKNOTICE_1_DESC_4",
Reward4=24,
RoleLevLower4=130,
RoleLevUpper4=1000,
},

[5] = {
Entrance="1002,416,278,31,4",
Time="STR_INI_LUA_INFO_PKNOTICE_2_TIME_1",
Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
Rule="STR_INI_LUA_INFO_PKNOTICE_1_RULE_1",
GroupNum=4,
Desc1="STR_INI_LUA_INFO_PKNOTICE_1_DESC_1",
Reward1=21,
RoleLevLower1=0,
RoleLevUpper1=99,
Desc2="STR_INI_LUA_INFO_PKNOTICE_1_DESC_2",
Reward2=22,
RoleLevLower2=100,
RoleLevUpper2=119,
Desc3="STR_INI_LUA_INFO_PKNOTICE_1_DESC_3",
Reward3=23,
RoleLevLower3=120,
RoleLevUpper3=129,
Desc4="STR_INI_LUA_INFO_PKNOTICE_1_DESC_4",
Reward4=24,
RoleLevLower4=130,
RoleLevUpper4=1000,
},

[6] = {
Entrance="10364,324,192,31,4",
Time="STR_INI_LUA_INFO_PKNOTICE_2_TIME_1",
Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
Rule="STR_INI_LUA_INFO_PKNOTICE_1_RULE_1",
GroupNum=4,
Desc1="STR_INI_LUA_INFO_PKNOTICE_1_DESC_1",
Reward1=21,
RoleLevLower1=0,
RoleLevUpper1=99,
Desc2="STR_INI_LUA_INFO_PKNOTICE_1_DESC_2",
Reward2=22,
RoleLevLower2=100,
RoleLevUpper2=119,
Desc3="STR_INI_LUA_INFO_PKNOTICE_1_DESC_3",
Reward3=23,
RoleLevLower3=120,
RoleLevUpper3=129,
Desc4="STR_INI_LUA_INFO_PKNOTICE_1_DESC_4",
Reward4=24,
RoleLevLower4=130,
RoleLevUpper4=1000,
},

--老兵服 月赛
[8] = {
	Entrance="10364,324,192,31,4",
	Time="STR_INI_LUA_INFO_PKNOTICE_2_TIME_1",
	Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
	Rule="STR_INI_LUA_INFO_PKNOTICE_8_RULE_1",
	GroupNum=1,
	Desc1="STR_INI_LUA_INFO_PKNOTICE_8_DESC_1",
	Reward1=24,
	RoleLevLower1=120,
	RoleLevUpper1=1000,
	-- Desc2="OS100~119级",
	-- Reward2=32,
	-- RoleLevLower2=100,
	-- RoleLevUpper2=119,
	-- Desc3="OS120~129级",
	-- Reward3=33,
	-- RoleLevLower3=120,
	-- RoleLevUpper3=129,
	-- Desc4="OS130级以上",
	-- Reward4=34,
	-- RoleLevLower4=130,
	-- RoleLevUpper4=1000,
},
--老兵服 周赛
[9] = {
	Entrance="10364,324,192,31,4",
	Time="STR_INI_LUA_INFO_PKNOTICE_1_TIME_1",
	Sign="STR_INI_LUA_INFO_PKNOTICE_1_SIGN_1",
	Rule="STR_INI_LUA_INFO_PKNOTICE_8_RULE_1",
	GroupNum=1,
	Desc1="STR_INI_LUA_INFO_PKNOTICE_8_DESC_1",
	Reward1=14,
	RoleLevLower1=120,
	RoleLevUpper1=1000,
	-- Desc2="OS100~119级",
	-- Reward2=32,
	-- RoleLevLower2=100,
	-- RoleLevUpper2=119,
	-- Desc3="OS120~129级",
	-- Reward3=33,
	-- RoleLevLower3=120,
	-- RoleLevUpper3=129,
	-- Desc4="OS130级以上",
	-- Reward4=34,
	-- RoleLevLower4=130,
	-- RoleLevUpper4=1000,
},

}

local function GetPKNoticeReward(title, key, default)
	local info = PKNoticeReward[title]
	local keyValue = nil
	if (info) then
		keyValue = info[key]
	end
	if (keyValue) then
		return keyValue
	else
		return default
	end
end

local function GetPKNotice(title, key, default)
	local info = PKNotice[title]
	local keyValue = nil
	if (info) then
		keyValue = info[key]
	end
	if (keyValue) then
		return keyValue
	else
		return default
	end
end

-- 如果新服想走独立配置，请调用TestServerType，并向程序询服务器类型的二进制位值
-- 比如新服的二进制位是3（从二进制低位向高位数，从0开始）
local function TestServerType(servertype, bit)
	local result = (servertype / (2 ^ bit)) % 2
	return result
end


local function GetPKWeeklyNoticeId(servertype)
-- 比如新服想走独立的配置，可用TestServerType(servertype, 3)
	--老兵服
	if (UserData_IsOldSoldierServer() == true) or (UserData_IsCoinsServer() == true) then
		return 9
	end

	--激情服周赛
	if (UserData_IsPassionServer() == true) then
		return 4
	--新服周赛
	elseif (UserData_IsNewServer() == true) then
		return 3
	else
		return 1
	end 
end


-- PK月赛报名公告Id
local function GetPKMonthlyNoticeId(servertype)
	--老兵服
	if (UserData_IsOldSoldierServer() == true) or (UserData_IsCoinsServer() == true) then
		return 8
	end

	--激情服月赛
	if (UserData_IsPassionServer() == true) then
		return 6
	--新服月赛
	elseif (UserData_IsNewServer() == true) then
		return 5
	else
		return 2
	end
end

-- PK赛人物属性限制规则总数
local function GetPKAttrLimitRuleAmount()
	return 4
end

local function GetPKAttrLimitRule(title, key, default)
	local info = nil
	if UserData_IsOldSoldierServer() then
		info = OldSoldier_PKAttrLimitRule[title]
	elseif UserData_IsCoinsServer() then
		info = OldSoldier_PKAttrLimitRule[title]
	else
		info = PKAttrLimitRule[title]
	end
	local keyValue = nil
	if (info) then
		keyValue = info[key]
	end
	if (keyValue) then
		return keyValue
	else
		return default
	end
end

local function GetRankColWidthCount(title)
    if (RankColWidth[title] == nil) then
        return 0
    end

    return #RankColWidth[title]
end

local function GetRankColWidth(title, index)
    if (RankColWidth[title] == nil or RankColWidth[title][index] == nil) then
        return 0
    end

    return RankColWidth[title][index]
end

local function GetDlgInfo(idd, key, default)
    local tInfo = T_DlgInfo[idd]

    if (tInfo ~= nil) then
        local ret = tInfo[key]

        if (ret ~= nil) then
            return ret
        end
    end

    return default
end

local function GetRotateAngle(idd, angle, beginX, curX)
    return math.ceil((angle + ((curX - beginX) / 80 * 180)) % 360)
end

-- 账号后缀
local AccountSuffix = "@zf99"

local function GetAccountSuffix(default)
    if AccountSuffix == nil then
        return default
    end
    
    return AccountSuffix
end

local function GetDlgInfoThird(idd, param1, param2, param3, default)
	local tmpParma1 = GetDlgInfo(idd, param1, nil)
	if (tmpParma1 == nil) then
		return default
	end

	local tmpParam2 = tmpParma1[param2]
	if (tmpParam2 == nil) then
		return default
	end

	local tmpParma3 = tmpParam2[param3]
	if (tmpParma3 == nil) then
		return default
	end

	return tmpParma3
end

-- 窗口动态数据
local T_DlgDynamicInfo = {}

local function SetDlgDynamicInfo(idd, title, key, value)
	if (T_DlgDynamicInfo[idd] == nil) then
		T_DlgDynamicInfo[idd] = {}
	end

	if (T_DlgDynamicInfo[idd][title] == nil) then
		T_DlgDynamicInfo[idd][title] = {}
	end

	T_DlgDynamicInfo[idd][title][key] = value
end

local function GetDlgDynamicInfo(idd, title, key, default)
	local tDlg = T_DlgDynamicInfo[idd]

	if (tDlg == nil) then
		return default
	end

	local tTitle = tDlg[title]

	if (tTitle == nil) then
		return default
	end

	local ret = tTitle[key]
	if (ret == nil) then
		return default
	end

	return ret
end

-- cmd动态数据
local T_DynamicCmdData = {}

local function GetDynamicCmdData(key, default)
	local ret = T_DynamicCmdData[key]

	if (ret == nil) then
		return default
	end

	return ret
end

local function SetDynamicCmdData(key, value)
	if (T_DynamicCmdData == nil) then
		T_DynamicCmdData = {}
	end

	T_DynamicCmdData[key] = value
end

local function ResetDynamicInfo()
	T_DlgDynamicInfo = {}
	T_DynamicCmdData = {}
end

local T_Info = {
	["TqStr"] = { 
		NameTagColor = 0xffacd6ff,
		RewardTagColor = 0xffee9a00,
		OpenDlgTagColor = 0xff32cd32,
},
	["AccountAbnormality"] = {
		--这里配置的就是对应的外置网页简体的网页：https://aq.99.com/SpecialPage/NDUser_Deposit.htm 英文的网页： https://account.99.com/v3/EnMyAccountSubmitIndex.htm 阿语的网页： https://7esab.99.com/v3/EnMyAccountSubmitIndex.htm 西语的网页： https://cuenta.99.com/v3/EnMyAccountSubmitIndex.htm
		["url"] = "https://account.99.com/v3/EnMyAccountSubmitIndex.htm",
	},
--IsMapCanAct 0表示地图不可交互，1表示地图可交互
[1002] = {
IsMapCanAct = 0,
},
[1003] = {
IsMapCanAct = 1,
},
[1004] = {
IsMapCanAct = 0,
},
[1005] = {
IsMapCanAct = 1,
},
["Ninja"] = {
MaxResolveTip = 1,
},
["Gift"] = {
		BoYiLev = 0,			-- 送礼所需博弈等级
		LessMoney = 100000,		-- 最少赠送金额
		ServiceCharge = 0,	-- 手续费
		ThresholdValue = 100000000, -- 大额再次确认阈值
		BeginTime = 2021052000,	-- 活动开启时间(YYYYMMDDHH)
		EndTime =	2023052023,	-- 活动结束时间(YYYYMMDDHH)
		SendSpace = 60000,	-- 送礼间隔时间提醒（单位毫秒）
	},
["DlgLogin"] = {
		BGSection="Ditui_Tupian",
	},
-- 账号安全提醒对应的URL链接，链接具体值在Cn_Res.ini里面。比如201对应STR_PROPAGATE_WEB_URL201配置的值
["AccountTip1"] = {
Title="Account Security Reminder",
Content="You haven`t changed your account password for a long time. For your account security, you are suggested to change the password.",
AwardTip="Note: You will receive the following reward after you \n change the password:",
ActionTip="",
ActionUrlWebIndex=201,
AwardCount=3,--奖励个数
AwardItem1=3301808,
AwardItem2=3306157,
AwardItem3=3320885,
},
-- 账号安全提醒对应的URL链接，链接具体值在Cn_Res.ini里面。比如202对应STR_PROPAGATE_WEB_URL202配置的值
["AccountTip2"] = {
Title="Account Security Reminder",
Content="Your account hasn`t been bound with the Security Token. For your account security, you are suggested to bind the Security Token.",
AwardTip="Note: You will receive the following reward after you bind the Security Token: ",
ActionTip="Apply Security Token: ",
ActionUrlWebIndex=202,
AwardCount=3,--奖励个数
AwardItem1=3301808,
AwardItem2=3306157,
AwardItem3=3320885,
},
}

local function GetInfo(title, key, default)
	local tInfo = T_Info[title]
	if (tInfo == nil) then
		return default
	end

	local ret = tInfo[key]
	if (ret == nil) then
		return default
	end

	return ret
end

--熔炼支持操作消耗金币配置
local T_MelterGoldCost = {
	[3327203] = {
		costone = 20000, 
		costten = 200000,
	},
	[3330609] = {
		costone = 200000, 
		costten = 2000000,
	},
	[3344447] = {
		costone = 500000, 
		costten = 5000000,
	},
}

local function GetMelterGoldCost(id,Index)
	local f = T_MelterGoldCost[id][Index]
		if( f == nil) then
			return 0
		end
	return f
end

-- 破韧
local PoRenInfo = {
    -- 破韧光效
    Effect = "PoRen",
    
    -- 破韧音效
    Sound = "",
}

local function GetPoRenInfo(key)
    local res = PoRenInfo[key]
    if (res ~= nil) then
        return res
    end
    
    return ""
end

--弹幕地图信息（哪些地图可以发送）
local ScreenChatMap = {
    ["New"] = {1002,1036,10364,},
    ["Fight"] = {1002,1036,10364,},
    ["Old"] = {1002,1036,10364,},
}

local function GetScreenChatMap(index)
    if(UserData_IsPassionServer() == true)then
        for i = 1 ,#ScreenChatMap["Fight"] do
            if(index == ScreenChatMap["Fight"][i])then
                return true
            end
        end
    elseif(UserData_IsNewServer()== true)then
        for i = 1 ,#ScreenChatMap["New"] do
            if(index == ScreenChatMap["New"][i])then
                return true
            end
        end
    else
        for i = 1 ,#ScreenChatMap["Old"] do
            if(index == ScreenChatMap["Old"][i])then
                return true
            end
        end
    end
    return false
end

local T_SlotMachine5X3 = {
	[0] = {
		DlgBg="GameMachines_BG1",
		Douhao="GameMachines_Newdouhao",
		DingNum="GameMachines_Dingnum%d",
		NewNum="GameMachines_Newnum%d",
		AutoSpin="GameMachines_Tongyongbtn",
		DownBet="GameMachines_NewJianbtn",
		UpBet="GameMachines_NewAddbtn",
		Score="GameMachines_Tongyongbtn",
		Grid="GameMachines_BG3",
		Bottom="GameMachines_BqzjwjBG",
		Icon="GameMachines_Pic%d",
		Spin="GameMachines_spinBtn",
		SpinX=0,
		SpinY=0,
		ScoreX=0,
		ScoreY=0,
		UpBetX=0,
		UpBetY=0,
		DownBetX=0,
		DownBetY=0,
		OffGameX=0,
		OffGameY=0,
		OffBottomX=0,
		OffBottomY=0,
		OffBtnX=0,
		OffBtnY=0,
		AutoX=0,
		AutoY=0,
		ScoreX=0,
		ScoreY=0,
		Win="GameMachines_win",
		WinX=0,
		WinY=0,
		JackPot="GameMachines_jackpotbg",
		JackPotX=0,
		JackPotY=0,
		CloseX=0,
		CloseY=0,
		HelpX=0,
		HelpY=0,
		BetX=0,
		BetY=0,
		MoneySize=14,
		MoneyColor=0xffffbe5b5,
		MaxPrizeX=0,
		MaxPrizeY=-5,
	},
	[1] = {
		DlgBg="NewPirate_BG",--背景图
		Douhao="NewPirate_NumBdian",--逗号图片
		DingNum="NewPirate_NumA%d",--图片字1
		NewNum="NewPirate_NumB%d",--图片字2
		AutoSpin="NewPirate_AutoBtn",--Auto按钮图片
		AutoX=-110,--Auto，X偏移量
		AutoY=-43,--Auto，Y偏移量
		UpBet="NewPirate_JiaBtn",--加赌注按钮图片
		DownBet="NewPirate_JianBtn",--减赌注图片
		OffBtnX=28,--加减按钮偏移量
		OffBtnY=-3,
		Score="NewPirate_ScoreBtn",--记录按钮图片
		ScoreX=-105,
		ScoreY=-5,
		Spin="NewPirate_SPINbtn",--Spin按钮图片
		SpinX=-133,
		SpinY=-63,
		Bottom="",--底图
		OffBottomX=0,
		OffBottomY=-10000,
		Stop="NewPirate_Stopbtn",--停止底图
		Grid="",--背景菱形图
		Icon="NewPirate_PIC%d",--滚动图片
		OffGameX=-74,
		OffGameY=-57,
		Win="",--Win字样图片
		WinX=-138,
		WinY=-23,
		JackPot="NewPirate_jackpot",--JackPot
		JackPotX=50,
		JackPotY=-40,
		WinValueX=-66,--赢钱数值位移
		WinValueY=-51,
		CloseX=-26,
		CloseY=-28,
		HelpX=-31,--帮助按钮
		HelpY=-28,
		BetX=25,
		BetY=-6,
		MoneyX=-89,
		MoneyY=409,
		MoneySize=14,--背包钱字体大小
		MoneyColor=0xffb0a6a6,--背包钱字体颜色
		MaxPrizeX=-6,
		MaxPrizeY=-20,
		LineX=-73,--光效线位移
		LineY=-56,--
	},
	[2] = {
		DlgBg="Type3_BG",--背景图
		DlgBgX=0,--Auto，X偏移量
		DlgBgY=0,--Auto，Y偏移量
		Douhao="Type3num1_dhpic",--逗号图片
		DingNum="Type3num2_%dPic",--图片字1
		NewNum="Type3num1_%dPic",--图片字2
		AutoSpin="Type3_Autobtn",--Auto按钮图片
		AutoX=-50,--Auto，X偏移量
		AutoY=-70,--Auto，Y偏移量
		UpBet="Type3_JiaBtn",--加赌注按钮图片
		DownBet="Type3_JianBtn",--减赌注图片
		OffBtnX=-57,--加减按钮偏移量
		OffBtnY=-63,
		Score="Type3_ScoreBtn",--记录按钮图片
		ScoreX=-90,
		ScoreY=-72,
		Spin="Type3_spinBtn",--Spin按钮图片
		SpinX=-95,
		SpinY=-95,
		Bottom="",--底图
		OffBottomX=0,
		OffBottomY=-10000,
		Stop="Type3_Stopbtn",--停止底图
		Grid="",--背景菱形图
		Icon="Type3_PIC%d",--滚动图片
		OffGameX=-70,
		OffGameY=-60,
		Win="Type3_JiaJianBG",--Win字样图片
		WinX=-490,
		WinY=-52,
		JackPot="Type3_jackpot",--JackPot
		JackPotX=135,
		JackPotY=-52,
		WinValueX=-50,--赢钱数值位移
		WinValueY=-55,
		CloseX=20,
		CloseY=20,
		HelpX=15,--帮助按钮
		HelpY=20,
		BetX=-90,
		BetY=-65,
		MoneyX=-85,
		MoneyY=-18,
		MoneySize=18,--背包钱字体大小
		MoneyColor=0xfffcf2bd,--背包钱字体颜色
		MaxPrizeX=-10006,
		MaxPrizeY=-135,
		LineX=-73,--光效线位移
		LineY=-56,--
	},
	[3] = {
		DlgBg="type4_BG6",--背景图
		DlgBgX=0,--Auto，X偏移量
		DlgBgY=0,--Auto，Y偏移量
		Douhao="type4num1_dPic",--逗号图片
		DingNum="type4num2_%dPic",--图片字1
		NewNum="type4num1_%dPic",--图片字2
		AutoSpin="type4_btn12",--Auto按钮图片
		AutoX=-50,--Auto，X偏移量
		AutoY=-70,--Auto，Y偏移量
		UpBet="type4_btn2",--加赌注按钮图片
		DownBet="type4_btn3",--减赌注图片
		OffBtnX=-57,--加减按钮偏移量
		OffBtnY=-63,
		Score="type4_btn10",--记录按钮图片
		ScoreX=-90,
		ScoreY=-72,
		Spin="type4_btn11",--Spin按钮图片
		SpinX=-95,
		SpinY=-95,
		Bottom="",--底图
		OffBottomX=0,
		OffBottomY=-10000,
		Stop="",--停止底图
		Grid="",--背景菱形图
		Icon="type4_Pic%d",--滚动图片
		OffGameX=-70,
		OffGameY=-30,
		Win="type4_BG8",--Win字样图片
		WinX=-490,
		WinY=78,
		JackPot="type4_tobetPic",--JackPot
		JackPotX=100,
		JackPotY=-48,
		WinValueX=-35,--赢钱数值位移
		WinValueY=85,
		CloseX=20,
		CloseY=20,
		HelpX=15,--帮助按钮
		HelpY=20,
		BetX=-95,
		BetY=78,
		MoneyX=-160,
		MoneyY=-78,
		MoneySize=18,--背包钱字体大小
		MoneyColor=0xfffcf2bd,--背包钱字体颜色
		MaxPrizeX=-10006,
		MaxPrizeY=-135,
		LineX=-73,--光效线位移
		LineY=-56,--
	},
	
	
}

local tSlotMachine5X3 = {}
	--征服风
	-- tSlotMachine5X3[0] = {}
	--海盗风
	tSlotMachine5X3[1] = {30240,30241,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29882}
	--埃及风
	tSlotMachine5X3[2] = {30800,30801,30802}
	--废土风
	tSlotMachine5X3[3] = {32112,32174,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190}
	
local function GetSlotMachine5X3(id, Index)
	for k,v in pairs(tSlotMachine5X3) do
		for _,i in pairs(v) do
			if id == i then
				return T_SlotMachine5X3[k][Index]
			end
		end
	end
	
	return T_SlotMachine5X3[0][Index]
end

local T_SlotMachine5X3Effect = {
	[0] = {
		--光效总数最大为7，按下列顺序显示光效
		Amount = 4,
		--Effect=不能为空
		--SPIN TO WIN闪烁光效
		[0] = {
			Effect="777_win",
			OffsetX=10490,
			OffsetY=385,
		},
		--跑马灯光效
		[1] = {
			Effect="777_biankuang",
			OffsetX=10490,
			OffsetY=430,
		},
		--测试光效1
		[2] = {
			Effect="777_gl",
			OffsetX=10890,
			OffsetY=630,
		},
		--测试光效1
		[3] = {
			Effect="777_gl",
			OffsetX=10290,
			OffsetY=630,
		},
	},
	[1] = {
		--光效总数最大为7，按下列顺序显示光效
		Amount = 7,
		--SPIN TO WIN闪烁光效
		[0] = {
			Effect="777_win",
			OffsetX=10402,
			OffsetY=327,
		},
		--跑马灯光效
		[1] = {
			Effect="Seawater",
			OffsetX=502,
			OffsetY=707,
		},
		--spin按钮光效
		[2] = {
			Effect="777type2_spin",
			OffsetX=542,
			OffsetY=414,
		},
		--箱子1
		[3] = {
			Effect="777type2_box",
			OffsetX=472,
			OffsetY=382,
		},
		--箱子2
		[4] = {
			Effect="777type2_box2",
			OffsetX=457,
			OffsetY=372,
		},
		--枪光效
		[5] = {
			Effect="777type2_gun",
			OffsetX=514,
			OffsetY=303,
		},
		--鬼火光效
		[6] = {
			Effect="777type2_kll",
			OffsetX=492,
			OffsetY=302,
		},
	},
	[2] = {
		--光效总数最大为7，按下列顺序显示光效
		Amount = 7,
		--SPIN TO WIN闪烁光效
		[0] = {
			Effect="777_win",
			OffsetX=10402,
			OffsetY=327,
		},
		--跑马灯光效
		[1] = {
			Effect="Seawater",
			OffsetX=10502,
			OffsetY=707,
		},
		--spin按钮光效
		[2] = {
			Effect="777type2_spin",
			OffsetX=10542,
			OffsetY=414,
		},
		--箱子1
		[3] = {
			Effect="777type2_box",
			OffsetX=10472,
			OffsetY=382,
		},
		--箱子2
		[4] = {
			Effect="777type2_box2",
			OffsetX=10457,
			OffsetY=372,
		},
		--枪光效
		[5] = {
			Effect="777type2_gun",
			OffsetX=10514,
			OffsetY=303,
		},
		--鬼火光效
		[6] = {
			Effect="777type2_kll",
			OffsetX=10492,
			OffsetY=302,
		},
	},
	[3] = {
		--光效总数最大为7，按下列顺序显示光效
		Amount = 7,
		--SPIN TO WIN闪烁光效
		[0] = {
			Effect="777_win",
			OffsetX=10402,
			OffsetY=327,
		},
		--右上灯光效
		[1] = {
			Effect="newlaohu69",
			OffsetX=409,
			OffsetY=386,
		},
		--spin按钮光效
		[2] = {
			Effect="newlaohu52",
			OffsetX=915,
			OffsetY=710,
		},
		--箱子1
		[3] = {
			Effect="777type2_box",
			OffsetX=10472,
			OffsetY=382,
		},
		--箱子2
		[4] = {
			Effect="777type2_box2",
			OffsetX=10457,
			OffsetY=372,
		},
		--枪光效
		[5] = {
			Effect="777type2_gun",
			OffsetX=10514,
			OffsetY=303,
		},
		--鬼火光效
		[6] = {
			Effect="777type2_kll",
			OffsetX=10492,
			OffsetY=302,
		},
	},
	
}

--获取特效
local function GetSlotMachine5X3Effect(id,Index,Item)
	for k,v in pairs(tSlotMachine5X3) do
		for _,i in pairs(v) do
			if id == i then
				return T_SlotMachine5X3Effect[k][Index][Item]
			end
		end
	end
	
	return T_SlotMachine5X3Effect[0][0][Item]
end

--获取特效数量
local function GetSlotMachine5X3EffectAmount(id)
	for k,v in pairs(tSlotMachine5X3) do
		for _,i in pairs(v) do
			if id == i then
				return T_SlotMachine5X3Effect[k]["Amount"]
			end
		end
	end
	
	return T_SlotMachine5X3Effect[0]["Amount"]
end



local EquitForge = {

	-- 装备追加
	[1]=35,
	--开洞
	[2]=80,
	--龙魂
	[3]=0,
	--宝石合成
	[4]=85,
	--神魂淬炼
	-- [5]=70,
	--神佑加持
	[7]=100,
	--神品精炼
	[9]=100,
	--熔炼
	[10]=0,
	--神器融合
	[11]=65,
}

local function GetEquitForgeInfo(key, default)
	local ret = EquitForge[key]

	if (ret ~= nil) then
		return ret
	end
	
	return default
end

local function GetEquipFrameOpenLev(key, default)
	local ret = EquitForge[key]

	if (ret ~= nil) then
		return ret
	end
	
	return default
end

local SoundOfSlot5X3 = {
-- 滚轮开始转动，触发音效
S_Roll="sound/slot_machine_rotating.wav",
-- 成功中奖，触发对应奖励音效
-- （WINNER图标以及大量金币掉落）
S_777_jackpot="sound/slot_machine_great_win.wav",
-- 成功中奖，触发对应奖励音效
-- （撒大量金币）
S_777_jackpot_2="sound/slot_machine_big_win.wav",
-- 成功中奖，触发对应奖励音效
-- （撒少量金币）
S_777_jackpot_3="sound/slot_machine_win.wav",
-- 小游戏免费转动中奖音效
S_777_jackpot_0="sound/slot_machine_win.wav",
-- 成功抽得LUCKTIME，触发音效
S_LuckTime="sound/slot_machine_lucktime.wav",
-- 播放LUCKTIME 旋转动作，触发音效
S_LuckTimeRoll="sound/slot_machine_lucktime_rotating.wav",
-- 背景音乐
-- 进入老虎机模块立刻STOP掉场景音乐，同时PLAY老虎机背景音乐，需要LOOP播放。
-- 离开老虎机则STOP掉老虎机音乐，PLAY场景音乐。
S_Bg="sound/slot_machine_bgm.mp3",
-- 小游戏免费转动中奖音效
S_777_jackpot_0="sound/slot_machine_win.wav",
}

local T_InfoIdMap = {
--0不可交互，1可交互
[1002] = {
IsMapCanAct = 1,
},
[10746] = {
IsMapCanAct = 1,
},

}

local function GetInfoMap(title, key)
	local f = T_InfoIdMap[title]
	if(f ~= nil) then
	    local t = f[key]
	    if(t ~= nil) then
		return t
	    end
	end
	
	return 0
end

local function GetInfoIdMap(title, key, default)
	local tInfo = T_InfoIdMap[title]
	if (tInfo == nil) then
		return default
	end

	local ret = tInfo[key]
	if (ret == nil) then
		return default
	end

	return ret
end

local function GetSoundOfSlot5X3(title, default)
	local info = SoundOfSlot5X3[title]
	if (info) then
		return info
	else
		return default
	end
end

local WinSoundOfSlot5X3MiniGame = {
-- 中奖音效,S_后面跟的数字索引到cq_newslot_roulette表的id字段
-- 有中等奖励和大奖音效，请与策划确认配置内容
-- 如果是没有音效的小奖，请在S_前面加注释指令，即加"-- "即可
-- sound/slot_machine_lucktime_win.wav是小游戏中到宝箱
-- sound/v_slot_machine_big_win.wav是小游戏中到中等奖励
-- sound/v_slot_machine_great_win.wav是小游戏中到大奖
-- 奖励属于哪个级别，请与策划确认
S_1="sound/slot_machine_lucktime_win.wav",
S_2="sound/v_slot_machine_big_win.wav",
S_3="sound/v_slot_machine_big_win.wav",
S_4="sound/v_slot_machine_great_win.wav",
S_5="sound/v_slot_machine_great_win.wav",
S_6="",
S_7="sound/v_slot_machine_great_win.wav",
S_8="",
}

local function GetWinSoundOfSlot5X3MiniGame(title, default)
	local info = WinSoundOfSlot5X3MiniGame[title]
	if (info) then
		return info
	else
		return default
	end
end

local MagicMapItemAct = {
[2530] = {
ActType=828,
},
[2540] = {
ActType=836,
},
}

local function GetMagicMapItemAct(p1,p2)
	return MagicMapItemAct[p1][p2]
end

-- 最大等待响应的时间
local function GetPostMaxWaitTime()
	return 20000
end

-- 仙人模式界面表现动作
local T_Immortal_Act = { 101, 102, 401, 402, 403, }
local s_show_index = 0

local function GetImmortalShowAct()
	s_show_index = s_show_index + 1
	if s_show_index > (#T_Immortal_Act) then
		s_show_index = 1
	end
	return T_Immortal_Act[s_show_index];
end

local T_ZoomNumInfo = {
	[1] = {
		TitleEffect = "BGHT_FJ",
		CountB = "BGHT_",
		CountK = "BGHT_",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=0.8,
		MaxScale=1.3,
		AcOffsetX=60,
		OffsetX=30,
	},
	[2] = {
		TitleEffect = "SGM_PJ",
		CountB = "SGM_",
		CountK = "SGM_",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=0.8,
		MaxScale=1.3,
		AcOffsetX=70,
		OffsetX=30,
	},
	[3] = {
		TitleEffect = "Ren_ZhongJi",
		CountB = "Ren_ZJnum",
		CountK = "Ren_ZJnum",
		Up=80,
		FadeTime=100,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=34,
		OffsetX=0,
		NumSize=60,
	},
	[4] = {
		TitleEffect = "",
		CountB = "BGHT_",
		CountK = "BGHT_",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=0.8,
		MaxScale=1.3,
		AcOffsetX=60,
		OffsetX=30,
	},
	[5] = {
		TitleEffect = "",
		CountB = "SGM_",
		CountK = "SGM_",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=0.8,
		MaxScale=1.3,
		AcOffsetX=70,
		OffsetX=30,
	},
	[6] = {
		TitleEffect = "",
		CountB = "Ren_ZJnum",
		CountK = "Ren_ZJnum",
		Up=80,
		FadeTime=100,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=34,
		OffsetX=0,
		NumSize=60
		},
	[7] = {
		TitleEffect = "bpz_jftx",
		CountB = "bpz_jf",
		CountK = "bpz_jf",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1,
		MaxScale=1,
		AcOffsetX=0,
		OffsetX=0,
		NumSize=20,
		Ghost=0,
		},
	[8] = {
		TitleEffect = "forceletter",
		CountB = "CountB",
		CountK = "CountB",
		Up=160,
		FadeTime=300,
		ZoomTime=300,
		MinScale=0.8,
		MaxScale=1.8,
		AcOffsetX=50,
		OffsetX=30,
		NumSize=60,
		},
		--冰箭跳字效果
	[9] = {
	TitleEffect = "gsbing_wz",
	CountB = "gsbing_",
	CountK = "gsbing_",
	Up=80,
	FadeTime=3000,
	ZoomTime=5000,
	MinScale=1.0,
	MaxScale=1.5,
	AcOffsetX=40,
	OffsetX=0,
	NumSize=20,
	},
--火跳字效果
	[10] = {
	TitleEffect = "gshuo_wz",
	CountB = "gshuo_",
	CountK = "gshuo_",
	Up=80,
	FadeTime=3000,
	ZoomTime=5000,
	MinScale=1.0,
	MaxScale=1.5,
	AcOffsetX=40,
		OffsetX=0,
NumSize=20,
	},
--雷箭跳字效果
	[11] = {
	TitleEffect = "gslei_wz",
	CountB = "gslei_",
	CountK = "gslei_",
	Up=80,
	FadeTime=3000,
	ZoomTime=5000,
	MinScale=1.0,
	MaxScale=1.5,
	AcOffsetX=40,
	OffsetX=0,
	NumSize=20,
	},
--毒箭跳字效果
	[12] = {
	TitleEffect = "gsdu_wz",
	CountB = "gsdu_",
	CountK = "gsdu_",
	Up=100,
	FadeTime=3000,
	ZoomTime=5000,
	MinScale=1.0,
	MaxScale=1.5,
	AcOffsetX=40,
	OffsetX=0,
	NumSize=20,
	},
--风箭跳字效果
	[13] = {
	TitleEffect = "gsfeng_wz",
	CountB = "gsfeng_",
	CountK = "gsfeng_",
	Up=80,
	FadeTime=3000,
	ZoomTime=5000,
	MinScale=1.0,
	MaxScale=1.5,
	AcOffsetX=40,
	OffsetX=0,
	NumSize=20,
	},
	-- 装备格挡
	[14] = {
		TitleEffect = "txqh_gedang", --这些配置是测试用的，请使用正式数据
		CountB = "txqh_",
		CountK = "txqh_",
		Up=160,
		FadeTime=1000,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.2,
		AcOffsetX=40,
		OffsetX=0,
		NumSize=24,
		},
	--装备抵抗
	[15] = {
		TitleEffect = "txqh_dikang",--这些配置是测试用的，请使用正式数据
		CountB = "txqh_",
		CountK = "txqh_",
		Up=160,
		FadeTime=1000,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.2,
		AcOffsetX=40,
		OffsetX=0,
		NumSize=24,
		},
	--装备特性毒刃效果
	[16] = {
		TitleEffect = "txqh_duren",
		CountB = "txqh_num",
		CountK = "txqh_num",
		Up=80,
		FadeTime=1000,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.2,
		AcOffsetX=40,
		OffsetX=0,
		NumSize=24,
		Ghost=0,
	},
	--装备特效追加倍率效果（1.3倍）
	[17] = {
		--这种可以支持多个光效叠加，此处是将“倍”和“小数点”一起添加进来
		TitleEffect = "txqh_ewb,txqh_ewp",
		CountB = "txqh_ew",
		CountK = "txqh_ew",
		Up=0,
		FadeTime=1000,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.2,
		AcOffsetX=-126,
		OffsetX=0,
		NumSize=78,
		Ghost=0,
	},
	--装备特效追加倍率效果（2倍）
	[18] = {
		TitleEffect = "txqh_ewb",
		CountB = "txqh_ew",
		CountK = "txqh_ew",
		Up=0,
		FadeTime=1000,
		ZoomTime=500,
		MinScale=1.0,
		MaxScale=1.2,
		AcOffsetX=-63,
		OffsetX=0,
		NumSize=61,
		Ghost=0,
	},
	
	--超级重炮
	[19] = {
		TitleEffect = "bpz_zjshwz",
		CountB = "bpz_zjsh",
		CountK = "bpz_zjsh",
		Up=160,
		FadeTime=1300,
		ZoomTime=300,
		MinScale=0.8,
		MaxScale=1.8,
		AcOffsetX=120,
		OffsetX=0,
		NumSize=24,
		},
		--八荒火凤吐息效果
	[20] = {
		TitleEffect = "hdjx_huo1numzi",
		CountB = "hdjx_huo1num",
		CountK = "hdjx_huo1num",	
		Up=80,
		FadeTime=1200,
		ZoomTime=1250,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=40,
		OffsetX=30,
		OffsetY=20,
		NumSize=15,
		Ghost=0,
	},
	
--枯木咒效果
	[21] = {
		TitleEffect = "hdjx_mu1zzfs",
		CountB = "hdjx_mu1",
		CountK = "hdjx_mu1",	
		Up=80,
		FadeTime=1200,
		ZoomTime=1250,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=40,
		OffsetX=130,
		OffsetY=20,
		NumSize=15,
		Ghost=0,
	},

	--移花接木减伤效果效果
	[22] = {
		TitleEffect = "hdjx_mu2js",
		CountB = "hdjx_mu2",
		CountK = "hdjx_mu2",	
		Up=80,
		FadeTime=1200,
		ZoomTime=1250,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=40,
		OffsetX=130,
		OffsetY=20,
		NumSize=15,
		Ghost=0,
	},
	
	--战士觉醒转世技能-战神庇佑
    [23] = {
        TitleEffect = "zs_zsbywz",
        CountB = "zs_zsbynum",
        CountK = "zs_zsbynum",
		Up=160,
		FadeTime=1300,
		ZoomTime=300,
		MinScale=0.8,
		MaxScale=1.8,
		AcOffsetX=80,
		OffsetX=0,
		NumSize=24,
        },
	
	--箭塔
	[24] = {
		TitleEffect = "401atk",
		CountB = "401atk_",
		CountK = "401atk_",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=0.8,
		MaxScale=1.3,
		AcOffsetX=160,
		OffsetX=30,
	},
	
	--新元灵效果-破甲
	[25] = {
		TitleEffect = "YL_pojia",
		CountB = "YL_pojia",
		CountK = "YL_pojia",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=80,
		OffsetX=0,
		NumSize=20,
	},
	-- 唤兽护体
	[27] = {
		TitleEffect = "dizipz_wz1",
		CountB = "dizipz_",
		CountK = "dizipz_",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1.0,
		MaxScale=1.5,
		AcOffsetX=80,
		OffsetX=0,
		NumSize=20,
	},
	--武装色减伤飘字，这个需要跟GetEffectNumType返回值匹配，日后如果因冲突调整，这里和GetEffectNumType内部要一起调整
	-- [26] = {
		-- -- TitleEffect = "PirateJX_js",
		-- CountB = "PirateJX_js",
		-- CountK = "PirateJX_js",
		-- Up=80,
		-- FadeTime=3000,
		-- ZoomTime=5000,
		-- MinScale=1.3,
		-- MaxScale=1.5,
		-- AcOffsetX=40,
		-- OffsetX=0,
		-- NumSize=20,
	-- },
	-- 见招拆招
	[28] = {
		TitleEffect = "yellowshenwen10",
		CountB = "greenpz",
		CountK = "greenpz",
		Up=80,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1.5,
		MaxScale=2.0,
		AcOffsetX=80,
		OffsetX=0,
		NumSize=20,
	},
	
	-- 一击致命
	[30] = {
		TitleEffect = "yellowshenwen12",
		CountB = "yellowshenwen12_",
		CountK = "yellowshenwen12_",
		Up=100,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1.5,
		MaxScale=2.0,
		AcOffsetX=70,
		OffsetX=0,
		NumSize=20,	
	},
	-- 越战越勇
	-- [31] = {
		-- TitleEffect = "yzyylv_wz",
		-- CountB = "yzyylv_",
		-- CountK = "yzyylv_",
		-- Up=100,
		-- FadeTime=1000,
		-- ZoomTime=1050,
		-- MinScale=1.5,
		-- MaxScale=2.0,
		-- AcOffsetX=70,
		-- OffsetX=0,
		-- NumSize=20,	
	-- },
	-- 飞龙在天
	[31] = {
		TitleEffect = "507_skillwz",
		CountB = "507_skillwz",
		CountK = "507_skillwz",
		Up=100,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1.5,
		MaxScale=2.0,
		AcOffsetX=70,
		OffsetX=0,
		NumSize=20,	
	},
-- 元神技能都加上WoundNumType=32，来显示元神技能伤害飘字
-- 其中该值需要对应在info.lua里T_ZoomNumInfo配置飘字样式
	[32] = {
		TitleEffect = "yuanshen_wz",
		CountB = "yuanshen_",
		CountK = "yuanshen_",
		Up=100,
		FadeTime=1000,
		ZoomTime=1050,
		MinScale=1.5,
		MaxScale=2.0,
		AcOffsetX=70,
		OffsetX=0,
		NumSize=20,	
	},
}



local function GetZoomNumInfo(title, key, default)
	local tInfo = T_ZoomNumInfo[title]
	if not tInfo then
		return default
	end

	local ret = tInfo[key]
	if not ret then
		return default
	end

	return ret
end

-- 开启技能文字光效的职业
--1,  // 勇士
--2,  // 战士
--4, // 弓箭
--5,		//忍者
--6,	//武僧
--7, // 海盗
--8, // 格斗家
--9, // 雷神
--10,  // 道士
--13,  // 水道
--14, // 火道
--16, // 铁扇门
--19,// 五行道士
local MagicTextEff = {
	[2] = true,
    [5] = true,
    [9] = true,
}

local function IsMagicTextEffOpen(key)
	if (MagicTextEff[key] == true) then
		return true
	end

	return false
end

-- 获取重铸等级Ani
local function GetRefineLevAniTitle(key)
	if (key <= 0) then
		return ""
	elseif (key <= 9) then
		return "GodRefine_StarPic"
	elseif (key <= 18) then
		return "GodRefine_MoonPic"
	elseif (key <= 27) then
		return "GodRefine_SunPic"
	elseif (key <= 36) then
		return "GodRefine_ZuanPic"
	elseif (key <= 45) then
		return "GodRefine_KulouPic"
	elseif (key <= 54) then
		return "GodRefine_KingPic"
	end
	
	return ""
end

-- 获取重铸等级背景Ani
local function GetRefineLevBgAniTitle(key)
	if (key <= 0) then
		return ""
	elseif (key <= 9) then
		return "GodRefine_StarBG"
	elseif (key <= 18) then
		return "GodRefine_MoonBG"
	elseif (key <= 27) then
		return "GodRefine_SunBG"
	elseif (key <= 36) then
		return "GodRefine_ZuanBG"
	elseif (key <= 45) then
		return "GodRefine_KulouBG"
	elseif (key <= 54) then
		return "GodRefine_KingBG"
	end
	
	return ""
end

-- 获取重铸其他配置
local function GetRefineOther(key)
	-- 最大等级限制
	if (key == "LimitAddLev") then
		return 54
	-- 等级间隔
	elseif (key == "LevIntervel") then
		return 9
	end
	
	return 0
end

local GangBuildingAttrDetail = {
[100] = {
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_1",
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_2",
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_3",
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_4",
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_5",
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_6",
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_7",
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_8",
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_9",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_9",
	},
	[10] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_10",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_10",
	},
	[11] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_11",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_11",
	},
	[12] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_12",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_12",
	},
	[13] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_13",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_13",
	},
	[14] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_14",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_14",
	},
	[15] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_15",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_15",
	},
	[16] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_16",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_16",
	},
	[17] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_17",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_17",
	},
	[18] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_18",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_18",
	},
	[19] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_19",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_NEXTDESC_19",
	},
	[20] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_100_ATTRDESC_20",
	},
},
[600] = {
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_600_ATTRDESC_1",
	},
},
-- 第1只神兽
[300] = {
	Look="Faction_NBshenshou1",
	Effect="bpz_boss5",
	Name="Faction_NAMEtthd",
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332707,
		NextReward=3332708,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332708,
		NextReward=3332709,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332709,
		NextReward=3332710,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332710,
		NextReward=3332711,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332711,
		NextReward=3332712,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332712,
		NextReward=3332713,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332713,
		NextReward=3332714,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332714,
		NextReward=3332715,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332715,
	},
},
-- 第2只神兽
[301] = {
	Look="Faction_NBshenshou2",
	Effect="bpz_boss4",
	Name="Faction_NAMEcymw",
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332653,
		NextReward=3332654,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332654,
		NextReward=3332655,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332655,
		NextReward=3332656,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332656,
		NextReward=3332657,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332657,
		NextReward=3332658,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332658,
		NextReward=3332659,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332659,
		NextReward=3332660,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332660,
		NextReward=3332661,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332661,
	},
},
-- 第3只神兽
[302] = {
	Look="Faction_NBshenshou3",
	Effect="bpz_boss2",
	Name="Faction_NAMEqhmm",
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332662,
		NextReward=3332663,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332663,
		NextReward=3332664,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332664,
		NextReward=3332665,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332665,
		NextReward=3332666,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332666,
		NextReward=3332667,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332667,
		NextReward=3332668,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332668,
		NextReward=3332669,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332669,
		NextReward=3332670,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332670,
	},
},
-- 第4只神兽
[303] = {
	Look="Faction_NBshenshou4",
	Effect="bpz_boss3",
	Name="Faction_NAMEdyxy",
	[1]= {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332671,
		NextReward=3332672,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332672,
		NextReward=3332673,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332673,
		NextReward=3332674,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332674,
		NextReward=3332675,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332675,
		NextReward=3332676,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332676,
		NextReward=3332677,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332677,
		NextReward=3332678,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332678,
		NextReward=3332679,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332679,
	},
},
-- 第5只神兽
[304] = {
	Look="Faction_NBshenshou5",
	Effect="bpz_boss1",
	Name="Faction_NAMEqymm",
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332680,
		NextReward=3332681,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332681,
		NextReward=3332682,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332682,
		NextReward=3332683,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332683,
		NextReward=3332684,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332684,
		NextReward=3332685,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332685,
		NextReward=3332686,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332686,
		NextReward=3332687,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332687,
		NextReward=3332688,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332688,
	},
},
-- 第6只神兽
[305] = {
	Look="Faction_NBshenshou6",
	Effect="bpz_boss7",
	Name="Faction_NAMEdssw",
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332689,
		NextReward=3332690,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332690,
		NextReward=3332691,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332691,
		NextReward=3332692,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332692,
		NextReward=3332693,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332693,
		NextReward=3332694,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332694,
		NextReward=3332695,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332695,
		NextReward=3332696,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332696,
		NextReward=3332697,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332697,
	},
},
-- 第7只神兽
[306] = {
	Look="Faction_NBshenshou7",
	Effect="bpz_boss6",
	Name="Faction_NAMEjlmj",
	[1] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_1",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_1",
		Reward=3332698,
		NextReward=3332699,
	},
	[2] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_2",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_2",
		Reward=3332699,
		NextReward=3332700,
	},
	[3] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_3",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_3",
		Reward=3332700,
		NextReward=3332701,
	},
	[4] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_4",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_4",
		Reward=3332701,
		NextReward=3332702,
	},
	[5] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_5",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_5",
		Reward=3332702,
		NextReward=3332703,
	},
	[6] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_6",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_6",
		Reward=3332703,
		NextReward=3332704,
	},
	[7] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_7",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_7",
		Reward=3332704,
		NextReward=3332705,
	},
	[8] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_8",
		NextAttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_NEXTDESC_8",
		Reward=3332705,
		NextReward=3332706,
	},
	[9] = {
		AttrDesc = "STR_INI_LUA_INFO_GANGBUILDATTR_300_ATTRDESC_9",
		Reward=3332706,
	},
},
}
-- 返回帮派总堂的总堂属性描述，请按实际配置
local function GetGangBuildingAttrDetail(p1, p2, p3)
-- p1是建筑类型，对应cq_syn_formtype表type列的值
-- p2，数字-建筑等级，从1开始；Look-建筑外观的anititle
-- p3，AttrDesc-本级属性文字部分，NextAttrDesc-下级属性预览，Reward-本级奖励，NextReward-下级奖励预览，顶级没有NextAttrDesc和NextReward
	if (p2 == "Look" or p2 == "Effect" or p2 == "Name") then
		return GangBuildingAttrDetail[p1][p2]
	end
	return GangBuildingAttrDetail[p1][p2][p3]
end
-- 帮派建筑对话框id
local GangBuilding = {
-- 帮派总堂,6392是切到帮派总堂的按钮在gui里的id
[6392] = {
SwitchDialogId=1816,
UpgradeType=600,
},
-- 帮派守卫
[6393] = {
SwitchDialogId=2002,
UpgradeType=200,
},
-- 兵器堂
[6394] = {
SwitchDialogId=1820,
UpgradeType=500,
},
-- 帮派神兽
[6395] = {
SwitchDialogId=1818,
UpgradeType=300,
},
-- 帮派城门
[6396] = {
SwitchDialogId=1819,
UpgradeType=100,
},
-- 演武堂
[6491] = {
SwitchDialogId=1810,
UpgradeType=400,
},
}
-- 返回控件的guiid对应打的对话框id，用于切换帮派建筑
local function GetGangBuilding(p1, p2)
-- p1是控件id
-- p2是配置子项名称，如SwitchDialogId
	return GangBuilding[p1][p2]
end
-- 挑战帮派boss
local GangBoss = {}
-- 周日boss
GangBoss[0] = {
-- Boss建筑类型
UpgradeType=300,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=810,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss5",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS0_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS0_INTRO_1",
}
-- 周日boss
GangBoss[0][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=824,
RewardType=3332707,
}
GangBoss[0][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=825,
RewardType=3332708,
}
GangBoss[0][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=826,
RewardType=3332709,
}
GangBoss[0][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=827,
RewardType=3332710,
}
GangBoss[0][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=828,
RewardType=3332711,
}
GangBoss[0][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=829,
RewardType=3332712,
}
GangBoss[0][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=830,
RewardType=3332713,
}
GangBoss[0][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=831,
RewardType=3332714,
}
GangBoss[0][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=832,
RewardType=3332715,
}
-- 周一boss
GangBoss[1] = {
-- Boss建筑类型
UpgradeType=301,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=804,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss4",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS1_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS1_INTRO_1",
}
-- 周一boss
GangBoss[1][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=833,
RewardType=3332653,
}
GangBoss[1][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=834,
RewardType=3332654,
}
GangBoss[1][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=835,
RewardType=3332655,
}
GangBoss[1][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=836,
RewardType=3332656,
}
GangBoss[1][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=837,
RewardType=3332657,
}
GangBoss[1][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=838,
RewardType=3332658,
}
GangBoss[1][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=839,
RewardType=3332659,
}
GangBoss[1][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=840,
RewardType=3332660,
}
GangBoss[1][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=841,
RewardType=3332661,
}
-- 周二boss
GangBoss[2] = {
-- Boss建筑类型
UpgradeType=302,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=805,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss2",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS2_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS2_INTRO_1",
}
-- 周二boss
GangBoss[2][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=842,
RewardType=3332662,
}
GangBoss[2][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=843,
RewardType=3332663,
}
GangBoss[2][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=844,
RewardType=3332664,
}
GangBoss[2][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=845,
RewardType=3332665,
}
GangBoss[2][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=846,
RewardType=3332666,
}
GangBoss[2][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=847,
RewardType=3332667,
}
GangBoss[2][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=848,
RewardType=3332668,
}
GangBoss[2][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=849,
RewardType=3332669,
}
GangBoss[2][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=850,
RewardType=3332670,
}
-- 周三boss
GangBoss[3] = {
-- Boss建筑类型
UpgradeType=303,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=806,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss3",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS3_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS3_INTRO_1",
}
-- 周三boss
GangBoss[3][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=851,
RewardType=3332671,
}
GangBoss[3][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=852,
RewardType=3332672,
}
GangBoss[3][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=853,
RewardType=3332673,
}
GangBoss[3][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=854,
RewardType=3332674,
}
GangBoss[3][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=855,
RewardType=3332675,
}
GangBoss[3][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=856,
RewardType=3332676,
}
GangBoss[3][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=847,
RewardType=3332677,
}
GangBoss[3][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=858,
RewardType=3332678,
}
GangBoss[3][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=859,
RewardType=3332679,
}
-- 周四boss
GangBoss[4] = {
-- Boss建筑类型
UpgradeType=304,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=807,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss1",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS4_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS4_INTRO_1",
}
-- 周四boss
GangBoss[4][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=860,
RewardType=3332680,
}
GangBoss[4][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=861,
RewardType=3332681,
}
GangBoss[4][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=862,
RewardType=3332682,
}
GangBoss[4][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=863,
RewardType=3332683,
}
GangBoss[4][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=864,
RewardType=3332684,
}
GangBoss[4][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=865,
RewardType=3332685,
}
GangBoss[4][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=866,
RewardType=3332686,
}
GangBoss[4][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=867,
RewardType=3332687,
}
GangBoss[4][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=868,
RewardType=3332688,
}
-- 周五boss
GangBoss[5] = {
-- Boss建筑类型
UpgradeType=305,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=808,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss7",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS5_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS5_INTRO_1",
}
-- 周五boss
GangBoss[5][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=869,
RewardType=3332689,
}
GangBoss[5][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=870,
RewardType=3332690,
}
GangBoss[5][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=871,
RewardType=3332691,
}
GangBoss[5][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=872,
RewardType=3332692,
}
GangBoss[5][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=873,
RewardType=3332693,
}
GangBoss[5][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=874,
RewardType=3332694,
}
GangBoss[5][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=875,
RewardType=3332695,
}
GangBoss[5][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=876,
RewardType=3332696,
}
GangBoss[5][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=877,
RewardType=3332697,
}
-- 周六boss
GangBoss[6] = {
-- Boss建筑类型
UpgradeType=306,
-- 副本id，同一天的boss，不同等级共用副本id
-- InstanceId=726,
-- boss照片，同一天的boss，不同等级共用boss照片，3D特效形式的
BossEffect="bpz_boss6",
-- boss名字，同一天的boss，不同等级共用boss名字
BossName="STR_INI_LUA_INFO_GANGBOSS6_NAME_1",
-- boss简介详细，同一天的boss，不同等级共用简介详细
BossIntroDetail="STR_INI_LUA_INFO_GANGBOSS6_INTRO_1",
}
-- 周六boss
GangBoss[6][1] = {
-- 1级boss奖励物品itemtypeid
InstanceId=878,
RewardType=3332698,
}
GangBoss[6][2] = {
-- 2级boss奖励物品itemtypeid
InstanceId=879,
RewardType=3332699,
}
GangBoss[6][3] = {
-- 3级boss奖励物品itemtypeid
InstanceId=880,
RewardType=3332700,
}
GangBoss[6][4] = {
-- 3级boss奖励物品itemtypeid
InstanceId=881,
RewardType=3332701,
}
GangBoss[6][5] = {
-- 3级boss奖励物品itemtypeid
InstanceId=882,
RewardType=3332702,
}
GangBoss[6][6] = {
-- 3级boss奖励物品itemtypeid
InstanceId=883,
RewardType=3332703,
}
GangBoss[6][7] = {
-- 3级boss奖励物品itemtypeid
InstanceId=884,
RewardType=3332704,
}
GangBoss[6][8] = {
-- 3级boss奖励物品itemtypeid
InstanceId=885,
RewardType=3332705,
}
GangBoss[6][9] = {
-- 3级boss奖励物品itemtypeid
InstanceId=886,
RewardType=3332706,
}
-- 挑战帮派boss
local function GetGangBoss(p1, p2, p3)
-- p1是周几，0-周日，1-周一...6-周六
-- p2是boss等级
-- p3是InstanceId....
	if (p3 == "RewardType" or p3 == "InstanceId") then
		return GangBoss[p1][p2][p3]
	end
	
	if p3 == "BossName" or p3 == "BossIntroDetail" then
		return LuaUIMgr_LocalCnRes(GangBoss[p1][p3])
	end
	
	return GangBoss[p1][p3]
end
-- 帮派技能图标title，索引自ani/control.ani
local function GetGuildSkillIcon(p1)
-- p1是属性类型
-- 1提高生命上限
-- 2提高物理攻击力
-- 3提高物理防御力
-- 4提高法术攻击力
-- 5提高法术防御力
-- 6提高最终物理伤害
-- 7最终物伤减免
-- 8提高最终法术伤害
-- 9最终法伤减免
-- 10提高物理暴击, 属性万分比
-- 11提高法术暴击, 属性万分比
-- 12提高抵抗暴击, 属性万分比
-- 13提高粉碎攻击, 属性万分比
-- 14提高坚固防御, 属性万分比
	if (p1 == 1) then
		return "Faction_NBTBwlgj"
	elseif (p1 == 2) then
		return "Faction_NBTBzzwlsh"
	elseif (p1 == 3) then
		return	"Faction_NBTBzzwsjm"
	elseif (p1 == 4) then
		return "Faction_NBTBfsgj"
	elseif (p1 == 5) then
		return "Faction_NBTBfsbj"
	elseif (p1 == 6) then
		return "Faction_NBTBzzfssh"
	elseif (p1 == 7) then
		return "Faction_NBTBzzfsjm"
	elseif (p1 == 8) then
		return "Faction_NBTBwlbj"
	elseif (p1 == 9) then
		return "Faction_NBTBfesgj"
	elseif (p1 == 10) then
		return "Faction_NBTBbjdk"
	elseif (p1 == 11) then
		return "Faction_NBTBfsfy"
	elseif (p1 == 12) then
		return "Faction_NBTBjgfy"
	elseif (p1 == 13) then
		return "Faction_NBTBsmsx"
	end
	return "Faction_NBTBwlfy"
end
local BuildingUpgradeShortCutNum = {}
BuildingUpgradeShortCutNum[0] = {}
BuildingUpgradeShortCutNum[0][1] = {
-- 捐献帮派物资数量
Num=10,
Desc="STR_INI_LUA_INFO_BUILDUP_0_DESC1",
}
BuildingUpgradeShortCutNum[0][2] = {
-- 捐献帮派物资
Num=100,
Desc="STR_INI_LUA_INFO_BUILDUP_0_DESC2",
}
BuildingUpgradeShortCutNum[0][3] = {
-- 捐献帮派物资
Num=0,
Desc="STR_INI_LUA_INFO_BUILDUP_0_DESC3",
}
BuildingUpgradeShortCutNum[1] = {}
BuildingUpgradeShortCutNum[1][1] = {
-- 捐献金币
Num=100000,
Desc="STR_INI_LUA_INFO_BUILDUP_1_DESC1",
}
BuildingUpgradeShortCutNum[1][2] = {
-- 捐献金币
Num=1000000,
Desc="STR_INI_LUA_INFO_BUILDUP_1_DESC2",
}
BuildingUpgradeShortCutNum[1][3] = {
-- 捐献金币
Num=10000000,
Desc="STR_INI_LUA_INFO_BUILDUP_1_DESC3",
}
local function GetGangBuildingUpgradeShortCutNum(p1, p2, p3)
-- p1是捐赠类型，0-帮派物资，1-金币
-- p2是快捷键编号，从1开始
-- p3是Num、Desc
	return BuildingUpgradeShortCutNum[p1][p2][p3]
end
local GangBuildingAttachCost = {
[1] = 20000000,
[2] = 25000000,
[3] = 30000000,
[4] = 36000000,
[5] = 42000000,
[6] = 50000000,
[7] = 60000000,
[8] = 70000000,
[9] = 80000000,
[10] = 100000000,
}

local FlightIntensifyOffset = {
	--免死次数只有1位数时
	--免死次数：x
	[1] = {
		--“免死次数”文字光效偏移
		[0] = {
			x = -30,
			y = 0,
			z = -250,
		},
		--次数数值的个位数光效偏移
		[1] = {
			x = 10,
			y = -40,
			z = -260,
		},
	},
	--免死次数有2位数时
	--免死次数：xx
	[2] = {
		--“免死次数”文字光效偏移
		[0] = {
			x = -60,
			y = -30,
			z = -250,
		},
		--次数数值的十位数光效偏移
		[1] = {
			x = -18,
			y = -40,
			z = -260,
		},
		--次数数值的个位数光效偏移
		[2] = {
			x = -10,
			y = -40,
			z = -260,
		},
	},
}

-- 兵器堂加持p1点战斗力需要消耗多少帮派资金
local function GetGangBuildingAttachCost(p1)
-- p1是战斗力点数，单次加持最多只能加10点，每次加持都会直接覆盖已加持数据
	return GangBuildingAttachCost[p1]
end
-- 捐赠1金币能获得1点帮派贡献
local function GetGangBuildingOfferExchangeRate(p1)
-- p1是捐赠类型，0-帮派物资，1-金币
	if (p1 == 1) then
-- 捐赠1金币能获得1点帮派贡献，那就请return 1，return后面跟的是金币值
		return 100000
	end
end
-- 捐赠1个帮派物资，获得400点经验
-- 捐赠1金币，获得180点建筑升级经验
local function GetGangBuildingExpExchangeRate(p1)
-- p1是捐赠类型，0-帮派物资，1-金币
	if (p1 == 0) then
-- 捐赠1个帮派物资，获得400点经验
		return 100000
	elseif (p1 == 1) then
-- 捐赠1金币，获得180点建筑升级经验
		return 1
	end
end
-- 返回帮派商店刷新费用
local function GetFactionShopRefreshPrice(p1)
-- p1是本次刷新之前已刷新次数
-- 服务器用的公式是：min(A+B*p1, C),A是本次活动周期内的首次刷新费用，B是较前次增加的费用，C是封顶费用
	local ret = 50 + 0 * p1
	if (ret > 50) then
		return 50
	end
	return ret
end
-- 帮派商店物品到期时间，会在物品tips里有一行该物品将在xxx删除，这行文字的颜色，由这个返回值决定
local function GetFactionShopEndSaleTimeColor()
	return 0xff00ff00
end
local GangActInfo = {
-- 帮派收集
[0] = {
Icon = "Faction_NBTBbpsj",
Name = "Faction_NBWZbpsj",
Desc = "Instruction: Complete Daily Quest to get Donation Points, then access to the entrance to exchange for items.",
SwitchDialogId = 1410,
},
-- 跨服争霸奖励
[1] = {
Icon = "Faction_NBTBkfzb",
Name = "Faction_NBWZkfzb",
Desc = "Instruction: Access to the entrance to set Silver and CPs rewards for next CTF.",
SwitchDialogId = 549,
},
-- 战旗争霸奖励
[2] = {
Icon = "Faction_NBTBzqzb",
Name = "Faction_NBWZzqzb",
Desc = "Instruction: Access to the entrance to set Silver and CPs rewards for next CTF.",
SwitchDialogId = 493,
},
-- 帮派战奖励
[3] = {
Icon = "Faction_NBTBzbpz",
Name = "Faction_NBWZbpz",
Desc = "Instruction: Access to the entrance to set Silver and CPs rewards for next Guild War.",
SwitchDialogId = 3402,
},
-- 帮派boss挑战
[4] = {
Icon = "Faction_NBTBzbpBOSS",
Name = "Faction_NBWZbpBOSS",
Desc = "Instruction: Enter to challenge Boss. The higher the level of Boss, the better the reward.",
SwitchDialogId = 1813,
},
}
-- 帮派活动界面相关
local function GetGangActInfo(p1, p2)
-- p1活动索引（0~n）
-- p2每个活动下的Section（Icon、Name、Desc、SwitchDialogId）
	return GangActInfo[p1][p2]
end
local function GetGangActAmount()
	return 5
end
local function GetGangBuildingDefaultUpgradeType()
-- 帮派建设默认打开哪个建筑界面，400是演武堂
	return 600
end
--帮派创建条件配置
local GangCreateCondi = {
PeerageRank=5,
Money=10000000,
ItemType=0,
}
-- 帮派创建条件配置 key为PeerageRank、Money、ItemType
local function GetGangCreateCondi(key)
	-- 创建条件
	return GangCreateCondi[key]
end
-- 帮派改名费用，p1是默认值1075
local function GetGangNameChangeCost(p1)
-- p1是默认值1075，如果想改其他，直接返回你想要的数值
	return p1
end
-- 帮派建筑升级光效表现时间
local function GetGangBuildingUpLevelEffectTime()
	return 3500
end
-- 帮派成员列表离线玩家文字颜色
local function GetFactionMemOfflineColor()
-- 暂定红色，请找策划定值
	return 0xff9e9c97
end
--帮派页面对应IDD配置
local  FactionDefaultDialogId = {	
	-- 帮派创建
	[0] = 3600,
	-- 帮派列表
	[1] = 3401,
}
-- 配置帮派界面打开的默认界面
local function GetFactionDefaultDialogId()
-- 通过更改FactionDefaultDialogId[]中的数字更改帮派界面显示界面
	return FactionDefaultDialogId [1]
end

-- 获取自动寻路重置路径的次数
local function GetAutoRunResetTimes()
	return 100
end
--个人竞技场自己排名前三时的图片偏移
local RankPKOffset = {
	["OffsetX"] = 5,
	["OffsetY"] = 0,
}

local function GetRankPkOffset(nType)
	return RankPKOffset[nType]
end

local QuestinfoRandom = {
-- servertype
-- 普通服务
    [0] = "ini/QuestinfoRandom.lua",
	[4] = "ini/QuestinfoRandom.lua",
-- 激情服
    [20] = "ini/QuestinfoRandomPassion.lua",
	[28] = "ini/QuestinfoRandomPassion.lua",
}


local function QuestinfoRandomLua(index,default)
    local res = QuestinfoRandom[index]
    
    if (res ~= nil) then
        return res
    end
    
    return default
end

-- 技能文字表现数据
local MagicTextEffData = {
	-- 金戈铁马
	[17640] = {
		-- 文字特效（释放技能的时候播放）
		["TextEff"] = "JGTM_WZ",
		-- 特效位置（基于屏幕中心偏移）
		["TextEffPosX"] = 0,
		["TextEffPosY"] = -90,
		["800X600TextEffPosX"] = 10,
		["800X600TextEffPosY"] = 10,
		-- 特效距离
		["TextDis"] = -250,
		["800X600TextDis"] = 0,
	},
	-- 野蛮冲撞
	[17630] = {
		-- 文字特效（释放技能的时候播放）
		["TextEff"] = "YMCZ_WZ",
		-- 特效位置（基于屏幕中心偏移）
		["TextEffPosX"] = 0,
		["TextEffPosY"] = -90,
		["800X600TextEffPosX"] = 10,
		["800X600TextEffPosY"] = 10,
		-- 特效距离
		["TextDis"] = -250,
		["800X600TextDis"] = 0,
	}, 
	-- 枪出如龙
	[17620] = {
		-- 文字特效（释放技能的时候播放）
		["TextEff"] = "QCRL_WZ",
		-- 特效位置（基于屏幕中心偏移）
		["TextEffPosX"] = 0,
		["TextEffPosY"] = -90,
		["800X600TextEffPosX"] = 10,
		["800X600TextEffPosY"] = 10,
		-- 特效距离
		["TextDis"] = -250,
		["800X600TextDis"] = 0,
	}, 
	-- 无我
	[17610] = {
		-- 文字特效（释放技能的时候播放）
		["TextEff"] = "WuWo_WZ",
		-- 特效位置（基于屏幕中心偏移）
		["TextEffPosX"] = -50,
		["TextEffPosY"] = -90,
		["800X600TextEffPosX"] = 10,
		["800X600TextEffPosY"] = 10,
		-- 特效距离
		["TextDis"] = -250,
		["800X600TextDis"] = 0,
	}, 
	-- 忘我
	[17600] = {
		-- 文字特效（释放技能的时候播放）
		["TextEff"] = "WangWo_WZ",
		-- 特效位置（基于屏幕中心偏移）
		["TextEffPosX"] = 50,
		["TextEffPosY"] = -90,
		["800X600TextEffPosX"] = 10,
		["800X600TextEffPosY"] = 10,
		-- 特效距离
		["TextDis"] = -250,
		["800X600TextDis"] = 0,
	}, 
	-- 免疫护甲
	[17580] = {
		-- 文字特效（释放技能的时候播放）
		["TextEff"] = "MYHD_WZ",
		-- 特效位置（基于屏幕中心偏移）
		["TextEffPosX"] = 0,
		["TextEffPosY"] = -90,
		["800X600TextEffPosX"] = 10,
		["800X600TextEffPosY"] = 10,
		-- 特效距离
		["TextDis"] = -250,
		["800X600TextDis"] = 0,
	},
}

local function GetMagicTextEffData(id, typeN)
	return MagicTextEffData[id][typeN]
end

local PlayerArrowStatusOffset = {
	[0] = {
		x = 0,
		y = 0,
		z = -200,
	},
	[1] = {
		x = -100,
		y = 0,
		z = -150,
	},
	[2] = {
		x = 100,
		y = 0,
		z = -150,
	},
	[3] = {
		x = -70,
		y = 0,
		z = -50,
	},
	[4] = {
		x = 70,
		y = 0,
		z = -50,
	},
}


-- 小地图名称和玩家位置的信息 相对于小地图位置进行偏移
local MapNameAndPos = {
	["Name"] = {
		["OffsetX"] = 0,
		["OffsetY"] = 0,
		["Color"] = 0xfffbf3d1,
		["Size"] = 14,
	},
	["Bg"] = {
		["OffsetX"] = 0,
		["OffsetY"] = 0,
	},
	["Border"] = {
		["OffsetX"] = -18,
		["OffsetY"] = 5,
	}
}

local function GetMapNameAndPos(key,Item)
	return MapNameAndPos[key][Item]
end

--nTime是距离当前的月份
--请在里面编写相应的Tips  120个月
local function GetOldPlayerTips(nTime)
	if nTime >= 120 then
		return "STR_RETURN_PLAYER_TIPS1"
	else
		return "STR_RETURN_PLAYER_TIPS2"
	end
end 

-- servertype:服务器类型
-- defaultname:默认文件名
local function GetMissionLua(servertype, defaultname)
	-- 如果需要区分服务器，麻烦通过servertype写算法进行区分
	return defaultname
end

-- 非VIP拾取金币限制数量 该值与服务端的限制值一样
local NotVipMoneyGotConditon = 999999999
local function GetNotVipMoneyGotConditon()
	return NotVipMoneyGotConditon
end

-- 副本拍卖界面框的光效偏移
local InstanceAuctionEffOffset = {
	["OffsetX"] = 20,
	["OffsetY"] = 0,
}

local function GetInstanceAuctionEffOffset(nType)
	return InstanceAuctionEffOffset[nType]
end

local function GetFlightIntensifyOffset(key, index, size)
	if (size == 1 or size == 2) then
		return FlightIntensifyOffset[size][index][key]
	end
end

local function GetPlayerStatusOffset(type, key, count)
	if (type >= 317 and type <= 321) then
		return PlayerArrowStatusOffset[count][key]
	end

	return 0
end

-- 需要屏蔽的加血物品添加到ItemTypes里面
--1代表加血物品
local ItemTypes = {
	[1000000] = 1,
	[1000010] = 1,
	[1000020] = 1,
	[1000030] = 1,
	[1002000] = 1,
	[1002010] = 1,
	[1002020] = 1,
	[1002050] = 1,
	[1002050] = 1,
	[721331] = 1,
	[720090] = 1,
	[723726] = 1,
	[723726] = 1,
	[727500] = 1,
	[729474] = 1,
	[1000040] = 1,
	[1003000] = 1,
	[1003010] = 1,
	[1003030] = 1,
}

local function IsAddLifeItem(itemId)
	local itemType = ItemTypes[itemId]
	
	if itemType == 1 then
		return true
	end
	
	return false
end

-- 快捷键技能不能用的时候是否保留图标（变成灰态，而不是把图标清空）
local function IsKeepHotkeyImgWhenDisable(idMagicType)
    if (idMagicType == 18220 or idMagicType == 22790) then
        return true
    end
    return false
end

--特备特性光效信息
local EquipEffectInfo = {
	--光效
	["Effect"] = {
		--吸血-回复光效 特效命名:嗜血
		[4] = "txqh_hxbuff",
		--吸收-回复光效  特效命名:复苏
		[13] = "txqh_hxbuff",
		--小吸血 特效命名:吸血
		[16] = "txqh_hxbuff",
		--小回元（加蓝） 特效命名:回元
		[19] = "txqh_hlbuff",
		--回元（加蓝） 特效命名:回灵
		[17] = "txqh_hlbuff",
		--新元灵特效--复活
		[33] = "yl_fuhuo",
	},
	--飘血类型
	["NumType"] = {
		[1] = 16,
	},
	--特效鉴定费用
	["Identify"] = {
		["Money"] = 50000,
	},
	--有装备特性标识
	["SpecialEffFlag"] = {
		["FlagPosX"] = 0,
		["FlagPosY"] = 0,
	},
	--第二元灵徽章（加在装备上）
	["SpecialEffSecFlag"] = {
		["FlagPosX"] = -15,
		["FlagPosY"] = 95,
	},	
	--第二元灵徽章（加在元灵上）
	["SpecialEffSec2Flag"] = {
		["FlagPosX"] = -15,
		["FlagPosY"] = 55,
	
	},
	["SpecialEffTip"] = {
		--有装备特效文字提示地方
		["PosX"] = -20,
		["PosY"] = -1,
		["Width"] = 20,
		["Height"] = 20,
	},
	--第三元灵徽章（加在装备上）
	["SpecialEffThirdFlag"] = {
		["FlagPosX"] = -15,
		["FlagPosY"] = 125,
	},
	--第三元灵徽章（加在元灵上）
	["SpecialEffThird2Flag"] = {
		["FlagPosX"] = -15,
		["FlagPosY"] = 85,
	},
}

--获取特备特性光效信息
local function GetEquipEffectInfo(index,key)
	return EquipEffectInfo[index][key]
end

local function GetWelfareModelBoYiLev()
	--福利模式限制博弈等级，小于等于配置等级为福利模式。
	return 10
end

local function GetCopRegisterLockMoney()
	--通过移动端创建的角色，自身银两存量底线，不论是交易或赠礼后，金币存量都不能低于本函数返回的值
	--需与服务器配置一致，服务端配置在cq_config，type=140035，data1里
	return 10000
end

--获取玩家状态信息描述文本
--strFormat:从StatusTip里面取过来的Note
--nAttrib:属性值。比如刀光剑影飞刀数量：333
--dwSec:剩余时间
--dwPower:Power数值
--dwData:data数值
local function GetUserStatusNote( strFormat, nAttrib, dwSec, dwPower, dwData)
	if nAttrib==359 then--超级帮派-守护者状态。
		--对带有特定状态的目标造成伤害提高%u%%,受到的伤害降低%u%%
		return string.format(strFormat, dwPower, dwData)
	elseif nAttrib == 360 then--超级帮派-超载状态
		--使用后挺高攻击速度和移动速度%u%
		return string.format(strFormat, dwPower)
		elseif nAttrib == 376 then-- 朱雀护佑
		--神佑提升%d。
		return string.format(strFormat, dwData)
	elseif nAttrib == 378 then-- 裂岩咒
		--当前物理防御下降%d点
		return string.format(strFormat, dwPower)
	elseif nAttrib == 379 then-- 裂岩咒
		--当前魔法防御下降%d点
		return string.format(strFormat, dwPower)
	elseif nAttrib == 380 then-- 烈焰护体
		--当前最终物减少增加%d点，最终法伤减少增加%d点
		return string.format(strFormat, dwPower, dwData)
	elseif nAttrib == 383 then-- 朱雀护佑
		--神佑提升%u%%。
		return string.format(strFormat, dwPower)
	elseif nAttrib == 374 then-- 玄土固灵（主动）
		--闪避率提升%u%%。
		return string.format(strFormat, dwPower/100)
	elseif nAttrib == 381 then-- 炼神返虚
		--当前处于虚化状态，技能闪避机率提升至90%
		return string.format(strFormat, dwPower/100)
	elseif nAttrib == 361 then-- 柔水诀
		--提升%d点最终物理减免，%d点最终法术减免
		return string.format(strFormat, dwPower,dwData)
	elseif nAttrib == 384 then-- 裂岩咒
		--当前物理防御下降%d点
		return string.format(strFormat,dwData, dwPower)
	elseif nAttrib == 385 then -- 绝对粉碎
		--粉碎攻击加X%
		return string.format(strFormat, dwPower/10) 
	elseif nAttrib == 389 then	-- 冰冻状态
		return strFormat
	elseif nAttrib == 394 then -- 幽冥化
		--闪避提升%u%
		return string.format(strFormat, dwPower/100) 
	elseif nAttrib == 396 then -- 魅惑
		--对释放者伤害降低%u
		return string.format(strFormat, dwPower) 
	elseif nAttrib == 397 then -- 海盗觉醒-坚固防御
		--增加%u坚固防御
		return string.format(strFormat, dwPower/10) 
	elseif nAttrib == 398 then-- 通用符文-粉碎攻击
		--粉碎攻击增加%d点
		return string.format(strFormat, dwPower/10)
	elseif nAttrib == 399 then-- 通用符文-物防
		--当前物理防御增加%d点
		return string.format(strFormat, dwPower)
	elseif nAttrib == 400 then-- 通用符文-物伤
		--当前物理伤害增加%d点
		return string.format(strFormat, dwPower)
	elseif nAttrib == 401 then-- 通用符文-最终物伤
		--当前最终物伤增加%d点
		return string.format(strFormat, dwPower)
	elseif nAttrib == 402 then-- 通用符文-物爆
		--当前物理暴击增加.2f%%
		return string.format(strFormat, dwPower / 100)
	elseif nAttrib == 403 then -- 海盗觉醒-最终物伤减免
		--增加%u最终物伤减免
		return string.format(strFormat, dwPower)
	elseif nAttrib == 406 then 
		--增加血量%d
		return string.format(strFormat, dwPower)
	elseif nAttrib == 407 then
		--抵抗暴击提升X%点
		return string.format(strFormat, dwPower/100)
	elseif nAttrib == 408 then -- 天问
		--有%.1f%%概率闪避伤害
		return string.format(strFormat, dwPower/100) 
	elseif nAttrib == 393 then -- 元灵护体
		--当前元灵提升幸运庇护%.1f%%
		return string.format(strFormat, dwPower/100) 
	elseif nAttrib == 392 then	-- 禁魔状态
		return strFormat
	elseif nAttrib == 410 then -- 寒冰血脉
		--自身物理防御力提升%d%%点
		return string.format(strFormat, dwPower) 
	elseif nAttrib == 411 then -- 迟缓
		return strFormat
	elseif nAttrib == 412 then
		--见闻色状态值暂定为412，日后若有调整，将上一行412改一下值就行
		--提升%d的移动速度及%d点闪避等级，持续%d秒
		return string.format(strFormat, dwPower/100, dwData/100, dwSec)
	elseif nAttrib == 413 then --武装色
		--dwPower是伤害减免万分比，服务器下发的
		--strFormat配的是：伤害减免增加%d%%，持续%d秒
		return string.format(strFormat, math.floor(dwPower / 100), dwSec)
	elseif nAttrib == 419 then -- 盾牌格挡
		--自身物理防御力提升%d%%点
		return string.format(strFormat, dwPower)
	elseif nAttrib == 420 then -- 元灵重击
		--增加%d重击的概率，持续%d秒
		return string.format(strFormat, dwPower/100, dwSec)
	elseif nAttrib == 421 then -- 元灵抗击
		--增加%d重击抵抗的概率，持续%d秒
		return string.format(strFormat, dwPower/100, dwSec)
	elseif nAttrib == 423 then	-- 新元灵效果-隐蔽
		--dwPower是百分比
		--降低敌方%d%%被动技能触发概率，持续%d秒
		return string.format(strFormat, dwPower, dwSec)
	elseif nAttrib == 424 then	-- 新元灵效果-神行
		--dwPower是万分比
		--提升%d%%移动速度，持续%d秒
		return string.format(strFormat, dwPower/100, dwSec)	
	elseif nAttrib == 429 then -- 狻猊之击
		--增加%d%%普攻伤害
		return string.format(strFormat, dwPower)
	
	elseif nAttrib == 428 then -- 狻猊之心
		--增加%d%%普攻伤害
		return string.format(strFormat, dwPower)
	elseif nAttrib == 430 then -- 矫若游龙
		--增加寸拳%d%%伤害
		return string.format(strFormat, dwPower)
	elseif nAttrib == 425 then -- 火道五星连珠-虚弱
		--目前叠加%d层虚弱，下次收到五星连珠伤害提升%d%%
		return string.format(strFormat, dwPower, dwPower * dwData)
	elseif nAttrib == 426 then -- 水道五星连珠
		--水道层数，达到5层后即可隐身
		return string.format(strFormat, dwPower)
	elseif nAttrib == 434 then --鲲鹏之心
		--有%d%%概率闪避伤害
		return string.format(strFormat, dwPower/100)
	elseif nAttrib == 435 then	-- 展翅状态
		--dwPower是百分比
		--攻击速度提升d%%%，移速提升status_data2%
		return string.format(strFormat, (100-dwPower))
	elseif nAttrib == 442 then -- 功夫熊猫
		-- 提升自身%d物理攻击力，%d法术攻击力
		return string.format(strFormat, dwPower, dwData)
	elseif nAttrib == 445 then -- 见招拆招
		-- 攻击降低伤害 %d%%,持续%d秒
		return string.format(strFormat, dwPower, dwSec)
	elseif nAttrib == 444 then -- 鹰击长空
		-- 提升鹰眼元灵%.1f%%命中率
		return string.format(strFormat, dwPower/100)
	elseif nAttrib == 450 then -- 火箭加速
		-- 提升%.1f%%速度
		return string.format(strFormat, dwPower)
	elseif nAttrib == 457 then -- 越战越勇
		-- 加血%
		return string.format(strFormat, dwData)
	elseif nAttrib == 458 then -- 飓风横扫
		return string.format(strFormat, dwPower)
		
	elseif nAttrib == 468 then -- 道法自然
		-- 加血%
		return string.format(strFormat, dwData/100)
	elseif nAttrib == 448 then -- 中毒
		-- 加血%
		return string.format(strFormat, dwPower, dwData)
	elseif nAttrib == 481 then -- 回春
		-- 加血%
		return string.format(strFormat, dwPower, dwData)
	elseif nAttrib == 475 then
		-- 叠加%d层射击状态，提升%d攻速
		return string.format(strFormat, dwPower, dwPower * dwData / 100)
	elseif nAttrib == 478 then
		-- 剑体状态：
		return string.format(strFormat, math.floor(dwPower / 1000), (dwPower % 1000), dwData)
	elseif nAttrib == 447 then
		-- 战意状态：
		return string.format(strFormat, dwPower / 10, dwData / 10)
	elseif nAttrib == 466 then
		-- 万剑诀
		return string.format(strFormat, dwPower / 100)
	elseif nAttrib == 491 then
	-- 黄色神纹-画地为牢
		return string.format(strFormat, dwSec)
	elseif nAttrib == 492 then
	-- 永恒之恋
		return string.format(strFormat, dwData)
	end
	return ""
end

-- 获取新社交系统上方title图片
local function GetNewFriendSysTitleByType(type)
	if type == 0 then
		return "Friend_WZ6"
	end

	if type == 1 then
		return "Friend_WZ21"
	end
	
	if type == 2 then
		return "Friend_WZ22"
	end

	if type == 3 then
		return "Friend_WZ23"
	end

	return ""
end


local function IsActNeedHideLWeapon(nActType)
	--请列出需要隐藏左手武器的动作编号
	if (nActType == 1100 or nActType == 1101 or nActType == 1102 or nActType == 1103 or nActType == 1104 or nActType == 1105 or nActType == 1106 or nActType == 1107 or nActType == 1108 or nActType == 1109 or nActType == 1110 or nActType == 1111 or nActType == 1130 or nActType == 1131 or nActType == 1132 or nActType == 1133 or nActType == 1134 or nActType == 1135 or nActType == 1136) then
		return true
	end
	return false
end



local function GetDlgCollectActType()
	--用于配置衣柜藏品伞分页里，左侧人模拿伞的动作编号，不要配置1101这类，只要配置101这类
	return 101
end

local function IsCollect3DMapEffect(strEffect)
	--藏品伞双人交互下雨光效需要限制同屏只有1个，需要限制只有1个的，类似下面配置，返回true就是限制1个
	if (strEffect == "360364_quanpingyu") then
		return true
	end
	return false
end

--获取八荒火龙吐息效果类型
local function GetTaoistSkillNumType()
	return 20
end

--返回dwAchievementEnable点成就能换取多少的名望经验值
local function ExchangeAchievementForRenown(dwAchievementEnable)
	--dwAchievementEnable是成就点数
	--测试数据是1点成就兑换成100点名望经验值，名望经验值是8字节，这个需要跟服务端一致，==》cq_config表, type = 80016  data1里配什么，就把100改成什么
	return dwAchievementEnable * 0
end

--ani/control.ani里的strAniSection为title的图片，该图片去掉右侧透明部分后还有多少宽
local function GetImageWidth(strAniSection)
	if (strAniSection == "JiangHuFame_pz") then
		return 120
	elseif (strAniSection == "JiangHuFame_jia") then
		return 32
	elseif (strAniSection == "JiangHuFame_0" or strAniSection == "JiangHuFame_1" or strAniSection == "JiangHuFame_2" or strAniSection == "JiangHuFame_3" or strAniSection == "JiangHuFame_4" or strAniSection == "JiangHuFame_5" or strAniSection == "JiangHuFame_6" or strAniSection == "JiangHuFame_7" or strAniSection == "JiangHuFame_8" or strAniSection == "JiangHuFame_9") then
		return 24
	elseif (strAniSection == "PirateJX_PZWZ5" or strAniSection == "PirateJX_PZWZ6" or strAniSection == "PirateJX_PZWZ7") then
		return 100
	elseif (strAniSection == "PirateJX_PZWZ1" or strAniSection == "PirateJX_PZWZ2" or strAniSection == "PirateJX_PZWZ3") then
		return 214
	elseif (strAniSection == "PirateJX_PZWZ4") then
		return 26
	elseif (strAniSection == "PirateJX_PZ0" or strAniSection == "PirateJX_PZ1" or strAniSection == "PirateJX_PZ2" or strAniSection == "PirateJX_PZ3" or strAniSection == "PirateJX_PZ4" or strAniSection == "PirateJX_PZ5" or strAniSection == "PirateJX_PZ6" or strAniSection == "PirateJX_PZ7" or strAniSection == "PirateJX_PZ8" or strAniSection == "PirateJX_PZ9") then
		return 22
	elseif (strAniSection == "ZHWarLVnum_jia" or strAniSection == "ZHWarLVnum_0" or strAniSection == "ZHWarLVnum_1" or strAniSection == "ZHWarLVnum_2" or strAniSection == "ZHWarLVnum_3" or strAniSection == "ZHWarLVnum_4" or strAniSection == "ZHWarLVnum_5" or strAniSection == "ZHWarLVnum_6" or strAniSection == "ZHWarLVnum_7" or strAniSection == "ZHWarLVnum_8" or strAniSection == "ZHWarLVnum_9") then
		return 32
	end
end

--ani/control.ani里的strAniSection为title的图片，在显示时需要在y方向偏移几个像素
local function GetImageOffsetY(strAniSection)
	if (strAniSection == "JiangHuFame_jia" or strAniSection == "JiangHuFame_0" or strAniSection == "JiangHuFame_1" or strAniSection == "JiangHuFame_2" or strAniSection == "JiangHuFame_3" or strAniSection == "JiangHuFame_4" or strAniSection == "JiangHuFame_5" or strAniSection == "JiangHuFame_6" or strAniSection == "JiangHuFame_7" or strAniSection == "JiangHuFame_8" or strAniSection == "JiangHuFame_9") then
		return 8
	elseif (strAniSection == "PirateJX_PZWZ5") then
		return -9
	elseif (strAniSection == "PirateJX_PZWZ6" or strAniSection == "PirateJX_PZWZ7") then
		return -13
	elseif (strAniSection == "PirateJX_PZWZ1" or strAniSection == "PirateJX_PZWZ2" or strAniSection == "PirateJX_PZWZ3") then
		return -8
	end
	return 0
end

--时效性控件ID
local function TimeLimitedCtrlId(key)
	if (key == "RenownAdd") then
		--江湖名望+999
		return 1
	end
	return 0
end

local RenownType = {
	--显示在名望效果文字前面的那个点号，它的图片title
	--金色
	["TextIcon"] = "JiangHuFame_Pic1",
	--灰色
	["TextIconGray"] = "JiangHuFame_Pic2",
	["DiamondNumTop"] = 6,
	["SingleOffset"] = 14,
	--初入江湖
	[1] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_1",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_1",
		["Reminder"] = "",
		["UpLevEffect"] = "JiangHuFameLev1",
		["DiamondNum"] = 3,
	},
	--江湖少侠
	[2] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_2",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_2",
		["Reminder"] = "",
		["UpLevEffect"] = "JiangHuFameLev2",
		["DiamondNum"] = 3,
	},
	--武林新贵
	[3] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_3",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_3",
		["Reminder"] = "",
		["UpLevEffect"] = "JiangHuFameLev3",
		["DiamondNum"] = 3,
	},
	--武林高手
	[4] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_4",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_4",
		["Reminder"] = "",
		["UpLevEffect"] = "JiangHuFameLev4",
		["DiamondNum"] = 3,
	},
	--英雄豪杰
	[5] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_5",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_5",
		["Reminder"] = "",
		["UpLevEffect"] = "JiangHuFameLev5",
		["DiamondNum"] = 3,
	},
	--名震江湖
	[6] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_6",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_6",
		["Reminder"] = "STR_INI_LUA_INFO_RENOWNTYPE_REMINDER_1",
		["UpLevEffect"] = "JiangHuFameLev6",
		["DiamondNum"] = 3,
	},
	--傲视群雄
	[7] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_7",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_7",
		["Reminder"] = "STR_INI_LUA_INFO_RENOWNTYPE_REMINDER_2",
		["UpLevEffect"] = "JiangHuFameLev7",
		["DiamondNum"] = 4,
	},
	--一代宗师
	[8] = {
		["EffectDesc"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_8",
		["EffectDescGray"] = "STR_INI_LUA_INFO_RENOWNTYPE_EFFECTDESC_8",
		["Reminder"] = "STR_INI_LUA_INFO_RENOWNTYPE_REMINDER_3",
		["UpLevEffect"] = "JiangHuFameLev8",
		["DiamondNum"] = 6,
	},
}

--江湖名望谱相关配置
local function GetRenownType(lev, key)
	if (key == "TextIcon" or key == "TextIconGray" or key == "DiamondNumTop" or key == "SingleOffset") then
		return RenownType[key]
	end
	
	return RenownType[lev][key]
end

local ItemForRenown = {
	[0] = {
		--可况换名望经验的物品typeid
		["ItemType"] = 0,
		--单个物品可兑多少名望经验
		["Exp"] = 0,
	},
	[1] = {
		--可况换名望经验的物品typeid
		["ItemType"] = 0,
		--单个物品可兑多少名望经验
		["Exp"] = 0,
	},
	[2] = {
		--可况换名望经验的物品typeid
		["ItemType"] = 0,
		--单个物品可兑多少名望经验
		["Exp"] = 0,
	},
	[3] = {
		--可况换名望经验的物品typeid
		["ItemType"] = 0,
		--单个物品可兑多少名望经验
		["Exp"] = 0,
	},
	[4] = {
		--可况换名望经验的物品typeid
		["ItemType"] = 0,
		--单个物品可兑多少名望经验
		["Exp"] = 0,
	},
}

--物品兑换名望
local function ExchangeItemForRenown(index, key)
	--index取值从0~4
	return ItemForRenown[index][key]
end

--金币兑换名望
local function ExchangeMoneyForRenown(data, key)
	if (key == "ShortCutExp" and data == 1) then
		--提升名望界面第1个快捷按钮对应的捐献金币
		return 1000000
	elseif (key == "ShortCutExp" and data == 2) then
		--提升名望界面第2个快捷按钮对应的捐献金币
		return 10000000
	elseif (key == "ShortCutExp" and data == 3) then
		--提升名望界面第3个快捷按钮对应的捐献金币
		return 100000000
	elseif (key == "Exchange") then
		--data个金币能兑成多少名望经验，如果是1比1，就直接返回data
		local nExchangeData = tonumber(string.sub(data,1,-5))
		return nExchangeData
	end
end

--返回每日零点扣降多少名望经验，不同等级降的万分比不一样，不降级，经验降到0后就不再降了
--level是名望等级
--exp是名望当前经验
--dec_rate是每日零点减少万分比，来自cq_renown表的day_dec_rate字段
local function GetRenownExpDayReduce(level, exp, dec_rate)
	if (dec_rate == 0) then
		return 0
	end
	if level == 6 or level == 7 or level == 8 then
		local new_dec_rate = string.sub(dec_rate,1,-3)
		local sAdd = tostring(exp*tonumber(new_dec_rate))
		local nSub1 = tonumber(string.sub(sAdd,1,-5)) or 0
		local nSub2 = tonumber(string.sub(sAdd,-4,-1)) or 0
		if nSub2 == 0 then
			return nSub1
		end
		return nSub1 + 1
	end
	return 0
end


--_ROLE_NPC_NONE				= 0,			// 非法NPC
--_ROLE_SHOPKEEPER_NPC		= 1,			// 商店NPC
--_ROLE_TASK_NPC				= 2,			// 任务NPC
--_ROLE_STORAGE_NPC			= 3,			// 寄存处NPC
--_ROLE_TRUNCK_NPC			= 4,			// 箱子NPC
--_ROLE_FORGE_NPC				= 6,			// 锻造NPC
--_ROLE_EMBED_NPC				= 7,			// 镶嵌NPC
--_ROLE_COMPOSE_NPC			= 8,			// 乾坤五行炉
--_ROLE_STATUARY_NPC			= 9,			// 雕像NPC
--_ROLE_SYNFLAG_NPC			= 10,			// 帮派标记NPC
--_ROLE_PLAYER				= 11,			// 其他玩家
--_ROLE_HERO					= 12,			// 自己
--_ROLE_MONSTER				= 13,			// 怪物
--_ROLE_BOOTH_NPC				= 14,			// 摊位NPC
--_SYNTRANS_NPC				= 15,			// 帮派传送NPC(用于00:00收费)(LINKID为固定NPC的ID，与其它使用LINKID的互斥)
--_ROLE_BOOTH_FLAG_NPC		= 16,			// 摊位标志NPC
--_ROLE_MOUSE_NPC				= 17,			// 鼠标上的NPC
--_ROLE_MAGICITEM				= 18,			// 陷阱火墙
--_ROLE_DICE_NPC				= 19,			// 骰子NPC
--_ROLE_WEAPONGOAL_NPC		= 21,			// 近身攻击NPC
--_ROLE_MAGICGOAL_NPC			= 22,			// 魔法攻击靶子NPC
--_ROLE_BOWGOAL_NPC			= 23,			// 弓箭靶子NPC
--_ROLE_TARGET_NPC			= 24,			// 挨打，不触发任务
--_ROLE_FURNITURE_NPC			= 25,			// 家具NPC
--_ROLE_CITY_GATE_NPC			= 26,			// 城门NPC
--_ROLE_NEIGHBOR_DOOR			= 27,			// 邻居的门
--_ROLE_CALL_PET				= 28,			// 召唤兽
--_ROLE_TELEPORT				= 29,			// 传送NPC
--_ROLE_MOUNT_APPEND			= 30,			// 骑宠合成NPC
--_ROLE_FAMILY_OCCUPY_NPC		= 31,
--_TASK_SHOPKEEPER_NPC		= 32,			// 任务商店NPC
--_TASK_FORGE_NPC				= 33,			// 任务锻造NPC
--_TASK_EMBED_NPC				= 34,			// 任务镶嵌NPC
--_COMPOSE_GEM_NPC			= 35,			// 宝石合成NPC
--_REDUCE_DMG_NPC				= 36,			// 装备神佑NPC
--_MAKE_ITEM_HOLE_NPC			= 37,			// 物品开洞NPC
--_SOLIDIFY_ITEM_NPC			= 38,			// 固化装备NPC
--_COMPETE_BARRIER_NPC_		= 39,			// 骑宠比赛栅栏NPC
--_FACTION_MATCH_FLAG			= 40,			// 帮派争霸赛旗帜
--_FM_LEFT_BARRIER_NPC_		= 41,			// 帮派争霸左大本营栅栏
--_FM_RIGHT_BARRIER_NPC_		= 42,			// 帮派争霸右大本营栅栏
--_WARFLAG_FLAGALTAR			= 43,			// 跨服战旗争霸赛战旗旗坛
--_WARFLAG_PRESENTFLAG		= 44,			// 跨服战旗争霸赛授旗NPC
--_WARFLAG_FLAG				= 45,			// 跨服战旗争霸赛战旗
--_VEXILLUM_FLAGALTAR			= 46,			// 新战旗争霸赛旗坛(被砍的大战旗)
--_VEXILLUM_FLAG				= 47,			// 新战旗争霸赛战旗(陷阱类的小战旗)
--_SLOT_MACHINE_NPC			= 60,			// 老虎机NPC
--_OS_LANDLORD				= 61,			// 跨服玩家可攻击NPC
--_CHANGE_LOOKFACE_TASK_NPC	= 62,			// 可以改变lookface的task npc
--_ROLE_DESTRUCTIBLE_NPC		= 63,			// 可破坏NPC
--_ROLE_SYNBUFF_NPC			= 64,			// 帮派Buff柱NPC
--_SYN_BOSS					= 65,			// 帮派BOSS
--_ROLE_3DFURNITURE_NPC		= 101,			// 3D家具NPC 
--_ROLE_CITY_WALL_NPC			= 102,			// 城墙NPC
--_ROLE_CITY_MOAT_NPC			= 103,			// 护城河NPC
--_ROLE_TEXAS_TABLE_NPC		= 110,			// 赌桌NPC
--_ROLE_TRAP_MONSTER			= 111,			// 陷阱Monster
--_ROLE_ROULETTE_TABLE_NPC	= 112,			// 轮盘赌桌NPC
--_FRONTIER_SERVER_TRANS_NPC	= 113,			// 国境服传送NPC
--_ROLE_TRAP_CAN_BE_ATTACK_NPC= 114,			// 可以被攻击的陷阱NPC
--_ROLE_SH_TABLE_NPC			= 115,			// 梭哈赌桌NPC
--_ROLE_RAIDER_TABLE_NPC		= 116,			// 夺宝奇兵赌桌NPC
--_ROLE_TURRET_NPC			= 117,			// 炮台NPC
--_ROLE_DOMINO_TABLE_NPC		= 118,			// 多米诺赌桌NPC
--_ROLE_TRAP_TRAPSORT_PORTAL	= 119,			// 水道蓝色符文-瞬间传送门
--_ROLE_NEWSLOT_NPC			= 120,			// 5*3老虎机NPC
--_ROLE_BLACKJACK_TABLE_NPC	= 121,			// 21点赌桌NPC
--_ROLE_FRUIT_MACHINE_NPC		= 122,			// 水果机NPC
--_ROLE_SHEN_DING_NPC			= 123,			// 神鼎NPC
--_ROLE_SWORD_PRISON			= 124,			// 剑牢NPC

--nRoleType类型中有哪些类型需行名望礼
--nRoleType是NPC的类型，已知类似，见上面列出的那些
local function IsRenownPoseEnable(nRoleType)
	--默认无需无礼的npc有下面几种，如有漏网的，请自行添加，需要行礼的就让函数返回true，无需行礼的就让函数返回false
	--_ROLE_STATUARY_NPC:			// fall through
	--_ROLE_DESTRUCTIBLE_NPC:		// fall through
	--_ROLE_SYNFLAG_NPC:			// fall through
	--_ROLE_SYNBUFF_NPC:			// fall through
	--_SYN_BOSS:					// fall through
	--_FACTION_MATCH_FLAG:			// fall through
	--_VEXILLUM_FLAGALTAR:			// fall through
	--_ROLE_MAGICGOAL_NPC:			// fall through
	--_ROLE_WEAPONGOAL_NPC:			// fall through
	--_ROLE_BOWGOAL_NPC:			// fall through
	--_ROLE_BOOTH_NPC:
	-- if nRoleType == 1 or nRoleType == 2 or nRoleType == 32 then
	-- 	return true
	-- end
	return false
end
	
--名望礼动作编号
--nRenownLev是名望等级，策划想根据等级拆开配置
local function GetRenownPoseType(nRenownLev)
	if nRenownLev <= 1 then
		return 0
	end
	if nRenownLev >= 2 and nRenownLev <= 4 then
		return 190
	end
	if nRenownLev >= 5 and nRenownLev <= 7 then
		return 230
	end
	if nRenownLev >= 8 then
		return 200
	end
	return 0
end

--名望礼气泡文字
--nRenownLev是名望等级，策划想根据等级拆开配置
local function GetRenownPoseWords(nRenownLev)
	if nRenownLev <= 1 then
		return ""
	end
	if nRenownLev >= 2 and nRenownLev <= 4 then
		return "STR_INI_LUA_INFO_GETRENOWNPOSWORD_1"
	end
	if nRenownLev >= 5 and nRenownLev <= 7 then
		return "STR_INI_LUA_INFO_GETRENOWNPOSWORD_2"
	end
	if nRenownLev >= 8 then
		return "STR_INI_LUA_INFO_GETRENOWNPOSWORD_3"
	end
	return ""
end

--名望礼动作循环次数
--nRenownLev是名望等级，策划想根据等级拆开配置
local function GetRenownPoseLoopTimes(nRenownLev)
	return 4
end

--名望礼气泡背景
--nRenownLev是玩家的名望等级，策划想根据等级拆开配置
local function GetRenownPoseWordsAniSection(nRenownLev)
	if nRenownLev <= 1 then
		return ""
	end
	if nRenownLev >= 2 and nRenownLev <= 4 then
		return "JiangHuFame_kuang1"
	end
	if nRenownLev >= 5 and nRenownLev <= 7 then
		return "JiangHuFame_kuang2"
	end
	if nRenownLev >= 8 then
		return "JiangHuFame_kuang3"
	end
	return ""
end

--名望最高礼效果等级，用于向名望称号的玩家行礼，有名望称号的玩家位居名望榜首
local function GetRenownTopPoseEffect()
	--返回值相当于nRenownLev
	return 8
end

--名望礼气泡持续时间，单位毫秒
--nRenownLev是玩家的名望等级，策划想根据等级拆开配置
local function GetRenownPoseWordShowTime(nRenownLev)
	--时间单位：毫秒
	return 1500
end

--名望从level_start升至level_end，会带动名望谱界面右侧滚动屏向上滚动，滚动速度调这个函数的返回值，返回值单位是像素值，向上主是返回一个负数
local function GetRenownGuideRollSpeed(level_start, level_end)
	return -3
end

--战士觉醒转世技能-战神庇佑，使用特殊跳伤害类型
local function GetFighterGodBlessedNumType()
    return 0
end

local function IsNpcActiveAfterRenownPose()
	return false
end

--名望称号行礼喊话冷却时间（单位毫秒），只记在客户端，并非服务器
--1.玩家一屏范围内，若有名望称号玩家，则定时触发npc行礼喊话，冷却时间为30秒（可调）
--2.冷却时间只记在客户端，玩家穿脱名望称号时，不清冷却时间
--3.有名望称号的玩家若超出玩家的一屏范围，会被销毁，会丢失冷却时间，待其重新进入玩家一屏范围时，重新触发行礼喊话后，重新计算冷却时间
local function RenownTopPoseInterval()
	--冷却时间，单位毫秒
	return 60000
end

--获取装备特效跳伤害类型
local function GetEffectNumType(u64FightEffect)
	--新元灵特效--破甲
	--cconst UI64 E_FIGHT_EFFECT_EXPOSE_ARMOR	= (UI64)1 << 34;
	if ((u64FightEffect >> 34) % 2 == 1) then
		return 25
	elseif ((u64FightEffect >> 36) % 2 == 1) then
		return 27
	-- elseif ((u64FightEffect >> 35) % 2 == 1) then
		-- --const UI64 E_FIGHT_EFFECT_COLOR_WUZHUANG= (UI64)1 << 35;	// 武装色减伤
		-- --武装色，是一种被动技能，有机率对自己使用，会有减伤的效果，如果触发了，那个伤害飘字要有自己的一套风格
		-- --武装色暂定值是1 << 35，日后若有调整，请将下面那行的35改成最终值就行
		-- --如果有冲突，这个值可以自己调大，T_ZoomNumInfo也对应调整
		-- return 26
	elseif ((u64FightEffect >> 42) % 2 == 1) then
		-- --const U64 FIGHT_EFFECT_ROLL_WITH_THE_PUNCHES = (U64)1 << 42;	// 见招拆招
		-- --如果有冲突，这个值可以自己调大，T_ZoomNumInfo也对应调整
		return 28
	elseif ((u64FightEffect >> 43) % 2 == 1) then
		-- --const U64 FIGHT_EFFECT_DRAGON_FLIGHT = (U64)1 << 43;	// 飞来在天
		-- --如果有冲突，这个值可以自己调大，T_ZoomNumInfo也对应调整
		return 32
	else
		return 0
	end
end

local function IsCoatWithMapEffect(itemtypeid)
	if (itemtypeid == 198050) then
		return true
	end
	return false
end

--无法释放技能状态的tips时间间隔，单位是毫秒
local function GetSlientTimeInterval()
	return 1000
end

--状态图标是否按百兵谱状态显示(特点：剩余时间低于10秒，图标会移到最前面，并显示倒计时，从9开始到0，盖在图标上，时间为0后，图标消失，同时会有图标上方增加提示“xxx状态消失”)
local function IsStatusIconNeedShowTime(nAttrib)
	--暂定“见闻色”的状态值是412，日后若有变化，请将412替换就行
	--暂定“流樱”的状态值是413，日后若有变化，请将413替换就行
	if (nAttrib == 412 or nAttrib == 413) then
		return true
	end
	return false
end

--状态图标是否自动删除
local function IsStatusIconAutoDelSelf(nAttrib)
	--暂定“见闻色”的状态值是412，日后若有变化，请将412替换就行
	--暂定“流樱”的状态值是413，日后若有变化，请将413替换就行
	if (nAttrib == 412 or nAttrib == 413 or nAttrib == 438 or nAttrib == 468 or nAttrib == 479) then
		return true
	end
	return false
end

--damage服务器下发的总伤害
--vigor_max玩家当前霸气总值
--usepp技能消耗的体力值（来自表cq_magictype表的use_ep字段）
--damage_bonus霸气加伤万分比（来自表cq_magictype表新增的字段）
local function GetVigorDamageBonus(damage, vigor_max, usepp, damage_bonus)
	if (usepp == 0) then
		--不耗体的，不产生加伤
		return 0
	end
	--请根据策划提供的公式计算加伤，公式为：当前霸气总值*消耗的体力值百分比*加伤比例（万分比），这个需要任务部来配置
	return math.floor(vigor_max * (usepp / 100) * (damage_bonus / 10000))
end

-- 技能描述
local MagicDescExInfo = {
	
}

-- 获取新的技能描述
local function GetMagicDescEx(key, key1, key2)
	-- 使用果实觉醒的哪个战装
	if key == 701 or key == 702 or key == 703 then
		if MagicDescExInfo[key1] == nil then
			return ""
		end
		
		if MagicDescExInfo[key1][key2] == nil then
			return ""
		end
		
		return MagicDescExInfo[key1][key2]["DescEx"]
	end
	return ""
end

-- 状态的模型透明度配置
local function GetStatusAlpha(keyValue)
	if (keyValue == 394) then
		-- 幽冥化透明度
		return 0.5
	elseif (keyValue == 395) then
		-- 莎岚透明度
		return 0.5
	elseif (keyValue == 423) then
		-- 隐蔽透明度
		return 0.5	
	elseif (keyValue == 427) then
		return 0.5
	elseif (keyValue == -1) then
		-- 战龙城观战透明度
		return 0.5
	end
	
	return 0
end

-- 某种状态(迟缓)下无法使用技能提示
local function GetFaildUseMagicNote (magicId)
	if magicId == 11610 or magicId == 11110 then
		--STR_MAGIC_FAIL_ADD_SPEED=迟缓状态下无法使用加速技能
		return "STR_MAGIC_FAIL_ADD_SPEED"
	end
	return ""
end

local function GetFightEffect3DEffect(u64FightEffect)
	if ((u64FightEffect >> 37) % 2 == 1) then
		--流樱，增加受击方的受击光效
		return "PirateJX_skill24"
	elseif ((u64FightEffect >> 36) % 2 == 1) then
			--唤兽护体，增加受击方的受击光效
			return "dizi_skill1"
	elseif ((u64FightEffect >> 41) % 2 == 1) then
		--古筝藏品技能--余音袅袅，受到伤害有X%（可配置）几率免疫该次伤害，触发后自身需要播放触发特效
		--程序也支持同时触发多个光效，lua可以自己写，比如当同时具备多个状态时，可播放多个光效，请与策划确认
		--如果是多个光效，光效之间用逗号隔开
		return "cp_guzheng_skill1"
	elseif((u64FightEffect >> 44) % 2 == 1) then
		return "yigui_skill1"
	end
	return ""
end

-- 大表情续费配置
local BigEmotionBuyInfo = {
	-- 表情包id
	[2] = {
		-- 购买id（最多4个）
		[1] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES3",
			-- 实际交易价格
			["CurPrice"] = 299,
			-- 原价
			["BeforePrice"] = 598,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 0,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 1,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 259200,
		},
		-- 购买id（最多4个）
		[2] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES2",
			-- 实际交易价格
			["CurPrice"] = 188,
			-- 原价
			["BeforePrice"] = 268,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 0,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 0,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 129600,
		},
		-- 购买id（最多4个）
		[3] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES1",
			-- 实际交易价格
			["CurPrice"] = 69,
			-- 原价
			["BeforePrice"] = 86,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 0,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 0,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 43200,
		},
		-- 购买id（最多4个）
		[4] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES4",
			-- 实际交易价格
			["CurPrice"] = 29,
			-- 原价
			["BeforePrice"] = 29,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 1,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 0,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 10080,
		},
	},
	[3] = {
		-- 购买id（最多4个）
		[1] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES3",
			-- 实际交易价格
			["CurPrice"] = 3600,
			-- 原价
			["BeforePrice"] = 7200,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 0,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 1,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 259200,
		},
		-- 购买id（最多4个）
		[2] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES2",
			-- 实际交易价格
			["CurPrice"] = 2520,
			-- 原价
			["BeforePrice"] = 3600,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 0,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 0,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 129600,
		},
		-- 购买id（最多4个）
		[3] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES1",
			-- 实际交易价格
			["CurPrice"] = 960,
			-- 原价
			["BeforePrice"] = 1200,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 0,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 0,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 43200,
		},
		-- 购买id（最多4个）
		[4] = {
			-- 日期
			["TimeDes"] = "STR_BIG_EMOTION_TIME_DES4",
			-- 实际交易价格
			["CurPrice"] = 300,
			-- 原价
			["BeforePrice"] = 300,
			-- 显示售价的种类 0为只显示原价 1为显示原价和现价
			["Type"] = 1,
			-- 货币类型，0为金币 1为天石
			["MoneyType"] = 1,
			-- 是否推荐 0 普通 1推荐
			["Recommend"] = 0,
			-- 实际购买分钟（用于跨服时发送给服务端购买的时间）(单位：分钟)
			["BuyTime"] = 10080,
		},
	},
}

--新增
--获取需要提示的剩余时间数值（单位：秒）72 * 60 * 60
local function GetBigEmotionLeftTimeTipTime()
	return 259200
end

-- 获取大表情购买信息
local function GetBigEmotionBuyInfo(id, index, key)
	if BigEmotionBuyInfo[id] == nil then
		return nil
	end

	if key == "Num" then
		return #BigEmotionBuyInfo[id]
	end

	if BigEmotionBuyInfo[id][index] == nil then
		return nil
	end

	if BigEmotionBuyInfo[id][index][key] == nil then
		return nil
	end

	return BigEmotionBuyInfo[id][index][key]
end

--获取购买大表情的lua脚本
--nId:表情包id
--nBuyId:购买id
--dwHeroID:玩家id
local function GetBuyEmotionLua(nId, nBuyId, dwHeroID)
	local strFormat = "/callluafunc </F>EmoticonTrigger_RenewalUse</N>%d</N>%d</N>%u"
	return string.format(strFormat, nId, nBuyId, dwHeroID)
end

-- 技能栏
local MagicQuickStyle = {
	[3839] = {
		-- 锁图标以及偏移
		["Ani"] = "NingfaTie_SuoPic",
		["OffsetX"] = 10,
		["OffsetY"] = 10,
	},
	[1214] = {
		-- 锁图标以及偏移
		["Ani"] = "NingfaTie_SuoPic",
		["OffsetX"] = 10,
		["OffsetY"] = 10,
	}
}

local function GetMagicQuickSingle(id,ownerid)
	if ownerid ~= nil then
		return MagicQuickStyle[ownerid][id]
	else 
		return MagicQuickStyle[1214][id]
	end
	
	return 0
end

local TexasSimpleUIInfo = {
	-- 消息主窗口离底部距离
	["DlgMainHeight"] = 85,
	-- 游戏中消息主窗口离底部距离
	["DlgTexasBottom"] = 47,
	--初始需要隐藏的窗口（隐藏Hide=585）
	["InitHideWindow"] = "3602|339|289|1124|3629|614|1232|",
	["MoveWindow"] = "145|357|130|403|3841|3840",
	--简化隐藏的窗口
	["HideWindow"] = "580|864|1133|1135|797|1034|1232|2000|3860|3888",
	["WindowsNewPos"] = {
		-- 窗口id对应新位置模式0代表800*600，1代表1024*768
		[0] = {
			-- 主界面
			[130] = {
				x = 0,
				y = 9663,
				w = 1024,
				h = 104,
			},
			--聊天面板
			[145] = {
				x = 90,
				y = 559,
				w = 510,
				h = 25,
			},
			--聊天频道拾取
			[357] = {
				x = 0,
				y = 283,
				w = 45,
				h = 369,
			},
			--pk按钮
			[403] = {
				x = 887,
				y = 9717,
				w = 44,
				h = 48,
			},
			--简化主界面
			[3841] = {
				x = 0,
				y = 540,
				w = 768,
				h = 64,
			},
			--简化按钮界面
			[3840] = {
				x = 759,
				y = 555,
				w = 40,
				h = 40,
			},
		},
		[1] = {
			-- 主界面
			[130] = {
				x = 0,
				y = 9663,
				w = 1024,
				h = 104,
			},
			--聊天面板
			[145] = {
				x = 125,
				y = 729,
				w = 600,
				h = 25,
			},
			--聊天频道拾取
			[357] = {
				x = 0,
				y = 283,
				w = 45,
				h = 369,
			},
			--pk按钮
			[403] = {
				x = 887,
				y = 9717,
				w = 44,
				h = 48,
			},
			--简化主界面
			[3841] = {
				x = 0,
				y = 710,
				w = 1024,
				h = 64,
			},
			--简化按钮界面
			[3840] = {
				x = 972,
				y = 718,
				w = 45,
				h = 49,
			},
		},
	},
}
--获取德州简化界面信息
local function GetTexasSimpleUIInfo(key1, key2, key3, key4)
	if key2 == nil and TexasSimpleUIInfo[key1] ~= nil then
		return TexasSimpleUIInfo[key1]
	end

	if key3 == nil and TexasSimpleUIInfo[key1][key2] ~= nil then
		return TexasSimpleUIInfo[key1][key2]
	end

	if TexasSimpleUIInfo[key1][key2][key3] == nil or TexasSimpleUIInfo[key1][key2][key3][key4] == nil then
		return 0
	end

	return TexasSimpleUIInfo[key1][key2][key3][key4]
end
-- 获取技能的飘血类型值
local function GetMagicBooldEff(magicId)
	--唤兽护体
	if magicId == 22180 then
		-- 对应T_ZoomNumInfo
		return 27
	end
	return 0
end
local function GetCloseVideoLua(dwHeroID, nId)
	local strFormat = "/callluafunc </F>ProcessCloseVideo</N>%u</N>%d"
	return string.format(strFormat, dwHeroID, nId)
end

local PigeonCfg = {
    ["MailBg"] = "chatsl_btn4",
    ["OrderBg"] = {
        [0] = "ChatFly_BG3",
        [1] = {
            ["Icon"] = "ChatFly_no1",
            ["OffsetX"] = -6,
            ["OffsetY"] = 0,
        },
        [2] = {
            ["Icon"] = "ChatFly_no2",
            ["OffsetX"] = -7,
            ["OffsetY"] = 0,
        },
        [3] = {
            ["Icon"] = "ChatFly_no3",
            ["OffsetX"] = -8,
            ["OffsetY"] = 0,
        },
    },
    ["UrgentBg"] = "chatsl_btn6",
    ["UrgentUrgentBg"] = "chatsl_btn4",
	["CenterWidth"] = 30,
	["UnderLineOffset"] = {
	["x"] = 0,
	["y"] = 3,
	},
}

-- 标签页面支持配置时间显示
EquipBuildInfo = {
	["EquipAppend"] = {
		["ComposeGem"] = {
			["Start"] = "20221101141000",
			["End"] = "20221121162000"
		},
	},
	["DiamondCompose"] = {
		["ComposeGem"] = {
			["Start"] = "20221101141000",
			["End"] = "20221121162000"
		},
	},
}

GodBeastRankInfo = {
    ["OrderBg"] = {
        "LXLJX_pic21",
        "LXLJX_pic22",
        "LXLJX_pic23",
    },
}

function GetPigeonCfg(keyValue, keyValue2, keyValue3)
    if keyValue3 ~= nil then
        return PigeonCfg[keyValue][keyValue2][keyValue3]
    end

    if keyValue2 ~= nil then
		if keyValue == "OrderBg" then
			local nIndex = keyValue2
			if nIndex < 1 or nIndex > 3 then
				nIndex = 0
			end
			return PigeonCfg[keyValue][nIndex]
		end
		
		return PigeonCfg[keyValue][keyValue2] 
        
    end

    return PigeonCfg[keyValue]
end

function GetEquipBuild(key1,key2,key3)
	if (UserData_IsOldSoldierServer() == true) or (UserData_IsCoinsServer() == true) then
		if (key1 == "DiamondCompose" or key1 == "EquipAppend") and key2 == "ComposeGem" then
			return
		end
	end
	return EquipBuildInfo[key1][key2][key3]
end

function GetFightEffect3DEffectInSender(u64FightEffect)
	if((u64FightEffect >> 38) % 2 == 1) then
		--寸劲，增加进攻的攻击光效
		return "lxljx_phk_skil"
	elseif 	((u64FightEffect >> 40) % 2 == 1) then
		--饱以老拳，增加进攻的攻击光效
		return "blueshenwen_lxl1"
	elseif((u64FightEffect >> 39) % 2 == 1) then
		--丢盔弃甲，增加进攻的攻击光效
		return "yellowshenwen3"
	end
end

function GetGodBeastRankInfo(keyValue1, keyValue2)
    if (keyValue2 ~= nil) then
        return GodBeastRankInfo[keyValue1][keyValue2]
    end

    return GodBeastRankInfo[keyValue1]
end

-- 根据外套获取炫耀信息
local function GetWeaponCoatFlauntInfo(idRweaponCoat, para, para1)
	if para == "RankTypeNum" then
		return 4
	end
	
	if para == "OpenDlgMode" then
		-- 0总榜
		-- 1周榜
		return 1
	end
	
	local ActionInfo = {
		[360375] = {
			[1112] = 1112,
		},
		[360415] = {
			[1112] = 1116,
		},
		-- [360409] = {
		-- 	[1112] = 1114,
		-- }
	}
	-- 获取动作
	if para == "Action" then 
		return ActionInfo[idRweaponCoat][para1]
	end

	-- 按钮图片
	local BtnAni = {
		[360375] = "Action_Act11Btn",
		[360415] = "Action_Act11Btn_1",
		-- [360409] = "Action_Act10Btn",
	}

	-- 获取图片
	if para == "Ani" then 
		return BtnAni[idRweaponCoat]
	end
end

-- 清理变量释放内存
local function Unload()
	IsKeepHotkeyImgWhenDisable= nil
	GangBuildingAttachCost = nil
	GangBuildingAttrDetail = nil
	GangBoss = nil
	BuildingUpgradeShortCutNum = nil
	GangBuilding = nil
	GangActInfo = nil
	AccountSuffix = nil
	T_DlgInfo = nil
	T_RebateInfo = nil
    MissionIni = nil
	RebateProInfo = nil
	T_DlgDynamicInfo = nil
	T_DynamicCmdData = nil
	T_Info = nil
	T_InfoIdMap = nil
    RankColWidth = nil
	PKNoticeReward = nil
	PKNotice = nil
	PKAttrLimitRule = nil
    T_Nonage_Offline = nil
	PoRenInfo = nil
    ScreenChatMap = nil
    EquitForge = nil
	WinSoundOfSlot5X3MiniGame = nil
	SoundOfSlot5X3 = nil
	ShowHandRuleBG = nil
	MagicMapItemAct = nil
	T_Immortal_Act = nil
	T_ZoomNumInfo = nil
	MagicTextEff = nil
	RankPKOffset  = nil
	MagicTextEffData = nil
	GetInstanceAuctionEffOffset = nil
	FlightIntensifyOffset = nil
	PlayerArrowStatusOffset = nil
	T_LimitShopInfo = nil
	EquipEffectInfo = nil
	DaoistSkillInfo = nil
	Awake_Info = nil
	BigEmotionBuyInfo = nil
	RevivalInfo = nil
	GetFightEffect3DEffectInSender = nil
end

local function GetShowHandRuleBG(Type, TableType)
	return ShowHandRuleBG[Type][TableType]
end

-- poker好友的邀请cd，单位毫秒
local function GetPokerInvitedCD()
	return 10000
end

--是否开启史诗武器对主角外观显示模式的影响
local function GetChgShowType4EpicWeapon()
	--0-不开启，1-开启
	return 0
end

-- 通过等级获取博弈背景图
local function GetBoYiLevBg(key)
	if (key < 100) then
		return "Tbliaotian_Lv119Pic"
	elseif (key < 200) then
		return "Tbliaotian_Lv2039Pic"
	elseif (key < 400) then
		return "Tbliaotian_Lv4059Pic"
	elseif (key < 600) then
		return "Tbliaotian_Lv6079Pic"
	elseif (key < 800) then
		return "Tbliaotian_Lv8099Pic"
	elseif (key < 900) then
		return "Tbliaotian_Lv100Pic"
	else
		return "Tbliaotian_Lv1000Pic"
	end
end	

local RevivalInfo = {
	--复活银两数字的颜色
    ["CostColor"] = 0xfffdd462,
	--地图数量
	["MapCnt"] = 1,
    ["Map"] = {
		[1] = {
			--地图ID
			["MapID"] = 11885,
			--复活需要花费的银两
			["Cost"] = 500000,
			--复活点复活倒计时（单位秒）
			["RevivalTime"] = 20,
		},
	},
}

local function GetRevivalInfo(key1,key2,key3)
	if key2 == nil then
		return RevivalInfo[key1]
	end
	
	if key3 == nil then
		return RevivalInfo[key1][key2]
	end
	
	return RevivalInfo[key1][key2][key3]
end

local function GetAutoGroupInterval()
	local AutoGroupInterval = 60
	return AutoGroupInterval
end

-- 海外url: https://coevent.99.com/hdapi/conquerInfo/?r=/machine/info
-- 国内url：https://hdapi.my.99.com/conquerInfo/?r=/machine/info
local HttpPostData = {
	["Url"] = "https://coevent.99.com/hdapi/conquerInfo/?r=/machine/info",
	["Start"] = false,
}

function GetHttpPostCfg(SectionName)
	local cfg = HttpPostData[SectionName]
	if cfg ~= nil then
		return cfg
	end
end

function GetPrivateChatNameBg()
	return "0xff556c74"
end

-- 等级、战斗力背景色
function GetPrivateChatNameBg2()
	return "0xff556c74"
end

--获取游戏更新界面滑块速度
local function GetGameAnnounceSliderSpeed()
	return 100
end

--获取鲜花图标偏移
local function GetPlayerIconOffset(key)
	--鲜花图标偏移X 正值往右 负值往左
	if key == "FlowerOffsetX" then
		return 5
	end

	--鲜花图标偏移Y 正值向下 负值向上
	if key == "FlowerOffsetY" then
		return -25
	end

	--爵位图标偏移X 正值往左 负值往右
	if key == "PeerageOffsetX" then
		return 132
	end

	--爵位图标偏移Y 正值向上 负值向下
	if key == "PeerageOffsetY" then
		return 75
	end

	--战功图标偏移X 正值往左 负值往右
	if key == "MeritOffsetX" then
		return 180
	end

	--战功图标偏移Y 正值向上 负值向下
	if key == "MeritOffsetY" then
		return -10
	end

	--地区图标偏移X 正值往右 负值往左
	if key == "NationalityOffsetX" then
		return 5
	end

	--地区图标偏移Y 正值向下 负值向上
	if key == "NationalityOffsetY" then
		return -20
	end

	--回归图标偏移X 正值往右 负值往左
	if key == "ReturnIconOffsetX" then
		return 5
	end

	--回归图标偏移Y 正值向下 负值向上
	if key == "ReturnIconOffsetY" then
		return -20
	end
	
	--Vip图标偏移X 正值往右 负值往左
	if key == "VipOffsetX" then
		return 5
	end

	--Vip图标偏移Y 正值向下 负值向上
	if key == "VipOffsetY" then
		return 5
	end

	--勋章图标偏移X 正值往右 负值往左
	if key == "MedalIconOffsetX" then
		return -200
	end

	--勋章图标偏移Y 正值向下 负值向上
	if key == "MedalIconOffsetY" then
		return -70
	end

	--勋章图标偏移X 正值往右 负值往左
	if key == "MedalEffectOffsetX" then
		return 30
	end

	--勋章图标偏移Y 正值向下 负值向上
	if key == "MedalEffectOffsetY" then
		return 35
	end

	--勋章图标偏移Y 正值向下 负值向上
	if key == "MedalEffectScale" then
		return 0.3
	end

	return 0
end

local function GetMagicWeaponData(key,key1)
	if (key == "Exp") then
		--达到100级后，再往上升级，每升一级需要多少经验
		--需与cq_config表type为160068的数据库记录里的data1一致
		if key1 == 1 then
			return 2147483647
		elseif key1 == 2 then
			return 2147483647
		elseif key1 == 3 then
			return 2147483647
		end
	elseif (key == "Score") then
		--达到100级后，再往上升级，每升一级"评分"加权系数
		--最终"评分"会是100级"评分"+(共鸣度-100)*加权系数
		--本函数返回的是加权系数，不是总评分
		--需与cq_config表type为160068的数据库记录里的data2一致
		if key1 == 1 then
			return 0
		elseif key1 == 2 then
			return 0
		elseif key1 == 3 then
			return 0
		end
	elseif (key == "GotoPos") then
		--解封寻路信息（地图id,x,y,npcid,半径），以下为测试配置，请日后根据正式数据填写
		local isPassionServer = UserData_IsPassionServer()
		if isPassionServer == true then
			return "10364,510,743,7927,2"
		else
			return "1002,435,661,7927,2"
		end
	elseif (key == "ScoreRate") then
		--已激活时升级界面看到的评分转成实力评分的系数，万分比
		--需与cq_config表type为160067的数据库记录里的data1（万分比）一致
		return 10000
	elseif (key == "InactiveScoreRate") then
		--已解锁，但未激活时升级界面看到的评分转成实力评分的系数，万分比
		--需与cq_config表type为160067的数据库记录里的data2（万分比）一致
		return 500
	elseif (key == "IgnoreExemptMS") then
		--表示豁免剩余时间在多少毫秒内时，去激活其他神兵的弹窗里不需要提醒当前已激活的神兵还在豁免期间内
		--单位毫秒，它需要与cq_config表type为160067的数据库记录里的data4匹配，但是它们的单位是不同的，请注意换算一下再写
		return 180000
	elseif (key == "InactiveLifeRate") then
		return 5--策划说未激活神兵血量加成是5%的效果，请记得导表god_weapons_type.dat
	elseif (key == "ShopId") then
		if UserData_IsPassionServer() == true then
			return 22391--注意这边请配置激情服需要的商店Id
		else
			return 2888
		end
	end
end


local function GetScatteredData(key, data1)
	if (key == "DragonCityGateOpenTime") then
		--YYYYMMDDHH，战龙城的开赛时间请日后根据实际调整
		return 2024031200
	elseif (key == "DragonCityGateCloseTime") then
		--YYYYMMDDHH，战龙城的结束时间请日后根据实际调整
		return 2024041400
	elseif (key == "DragonCityGateMeteLevReq") then
		--能看到战龙城入口的转世次数和等级限制，格式为：转世次数,等级
		return "2,15"
	elseif (key == "DragonCityJoinCampMeteLevReq") then
		--能加入势力的转世次数、等级、战斗力限制，格式为：转世次数,等级,战斗力
		return "2,15,450"
	elseif (key == "DragonCityWatchMeteLevReq") then
		--能观战战龙城比赛的转世次数、等级、战斗力限制，格式为：转世次数,等级,战斗力
		return "2,15,400"
	elseif (key == "DragonCityAddMorateRate") then
		--1个印信能兑换多少点的士气值
		return 50
	elseif (key == "DragonCityEventBuffsMaxLev") then
		--buff最高等级
		return 5
	elseif (key == "DragonCityEventBuffs1") then
		--生命类
		return "1,500"
	elseif (key == "DragonCityEventBuffs2") then
		--攻击类
		return "2,300,4,300,10,100,11,100"
	elseif (key == "DragonCityEventBuffs3") then
		--防御类
		return "3,300,5,300,12,100"
	elseif (key == "DragonCityEventBuffsTipWidth") then
		--防御类
		return 175
	elseif (key == "DragonCityEventBuffsAddLife") then
		--战鼓连天buff每层加生命
		return 500
	elseif (key == "DragonCityEventMvpAward") then
		--mvp奖励龙鳞
		return 600
	elseif (key == "DragonCityEventZQZBSubmitTime") then
		--战旗争霸上缴龙鳞时间
		return 10
	elseif (key == "DragonCityEventZQZBSubmitAward") then
		--战旗争霸上缴成功获得龙鳞
		return 800
	elseif (key == "DragonCityEventHDWLTime") then
		--画地为牢转换龙鳞时间
		return 15
	elseif (key == "DragonCityAddPrestige") then
		-- 威望预览的数值
		return 10
	elseif (key == "DragonCityEventTiDuAddLife") then
		-- 提督血量增加
		return 3000
	elseif (key == "DialogItemTipBG_1904") then
		--9宫格图片title,外框上边界往上调提几个像素,外框右侧在y轴上变几个像素,外框底边在x轴上变几个像素
		--AniTitle,OffsetY,OffsetW,OffsetH
		--4个参数都要填才生效
		return "DragonSoulTips1BG,-16,26,16"
	elseif (key == "DragonCityWarServerEnable") then
		-- 返回值用类似",1,101,199,"的字符串，逗号里包的是服务器id，返回值切记：当配置多台服务器时，请保证每个服务器id的前、后都有且只有1个逗号，尤其是服务器id的前面要加逗号，
		-- 这个规则很重要，也很容易被忽视。
		return ",2,4,5,18,21,23,24,25,29,36,39,41,42,43,46,47,33,26,34,38,49,139,148,155,164,161,165,167,51,55,56,57,59,60,63,144,156,162,166,168,3,6,7,8,11,12,13,14,15,16,17,22,27,28,37,44,"
	elseif (key == "DragonCityWarEndTime") then
		-- 返回值是数值型，类似2023122719，它是一个时间，含义为YYYYMMDDHH，时间的取值必须迟于“DragonCityGateOpenTime”配的值，且早于“DragonCityGateCloseTime”配的值
		-- YYYYMMDDHH
		return 2024032200
	elseif (key == "DragonCityEventHDWLRefreshMonsterTime") then
		--刷新宝箱怪事件
		return 5
	elseif (key == "DragonCityEventMoveToRebornTime") then
		--n秒后回到复活点
		return 7
		
	elseif (key == "DisqualifyOrRetireCloseWindow") then
		--退出势力自动关闭指定对话框，对话框之间用逗号隔开，以下仅为测试数据，请根据实际配置
		--return "338,865"
		return ""
	elseif (key == "NTexasMttJackpotScale") then
		--如果奖池为积分时，则以金币奖池/金币与积分的换算比例，换算成积分总奖池
		return 1000
	elseif (key == "NTexasMttExtraAniSection") then
		--德州mtt额外奖励图标
		--return "mttyouhua_rppic"
	elseif (key == "DelShowWndCheck") then
		--德州、老虎机、骰宝，水果
		return ",2016,992,262,1219,"
	elseif (key == "NeedGlobalPointSettle") then
		--需要任务同学列出哪些在退出玩法时才参与积分竞技排名结算的
		--目前多米诺局内结算，服务器主动推不走这里，暂时不用在此配置多米诺
		--data1是玩法的对话框ID，每种玩法都有一个对应的
		--2016是德州,992是老虎机,262是骰宝，1219是水果
		-- if (data1 == 2016 or data1 == 992 or data1 == 262 or data1 == 1219) then
			-- return true
		-- end
		return false
	elseif (key == "MsgRankDayMineSortCount290000200") then
		--日榜-自己的排名，恶人榜SortCount
		return 9
	elseif (key == "MsgRankDayMineSortCount290000100") then
		--日榜-自己的排名，善人榜SortCount
		return 8
	elseif (key == "MsgRankDayMineTarget290000200") then
		--日榜-自己的排名，恶人榜Target
		return 1
	elseif (key == "MsgRankDayMineTarget290000100") then
		--日榜-自己的排名，善人榜Target
		return 1
	elseif (key == "HideAttackEffectAlpha") then
		--返回一个1~255之间的值，表达的是透明度，值越小就越透，若<1或大于255，程序强制当作127处理;
		--设置-关闭他人攻击特效（只显示自身和攻击到自身的特效）;
		--来自CMsgMapItem的调用，区分不出陷阱有没有打到我，只将不是我放的陷阱光效设置一个透明度;
		return 100
	end
end

-- 好友房创建房间需要的博弈等级
local function GetFriendRoomBoYiLev()
	return 6
end

-- 通过require传给其他Lua脚本使用
local Info = {
	GetFriendRoomBoYiLev = GetFriendRoomBoYiLev,
	GetScatteredData = GetScatteredData,
	GetMagicWeaponData = GetMagicWeaponData,
	GetPlayerIconOffset = GetPlayerIconOffset,
	GetGameAnnounceSliderSpeed = GetGameAnnounceSliderSpeed,
	GetPrivateChatNameBg=GetPrivateChatNameBg,
	GetPrivateChatNameBg2= GetPrivateChatNameBg2,
	GetNewFriendSysTitleByType=GetNewFriendSysTitleByType,
	GetMagicBooldEff = GetMagicBooldEff,
	IsCoatWithMapEffect = IsCoatWithMapEffect,
	GetRenownGuideRollSpeed = GetRenownGuideRollSpeed,
	GetRenownPoseWordShowTime = GetRenownPoseWordShowTime,
	GetRenownTopPoseEffect = GetRenownTopPoseEffect,
	GetRenownPoseWordsAniSection = GetRenownPoseWordsAniSection,
	GetRenownPoseLoopTimes = GetRenownPoseLoopTimes,
	GetRenownPoseWords = GetRenownPoseWords,
	GetRenownPoseType = GetRenownPoseType,
	IsRenownPoseEnable = IsRenownPoseEnable,
	GetRenownExpDayReduce = GetRenownExpDayReduce,
	ExchangeMoneyForRenown = ExchangeMoneyForRenown,
	ExchangeItemForRenown = ExchangeItemForRenown,
	GetRenownType = GetRenownType,
	TimeLimitedParentId = TimeLimitedParentId,
	TimeLimitedCtrlId = TimeLimitedCtrlId,
	GetImageOffsetY = GetImageOffsetY,
	GetImageWidth = GetImageWidth,
	ExchangeAchievementForRenown = ExchangeAchievementForRenown,
	GetCoatChangeColorItem = GetCoatChangeColorItem,
	IsCollect3DMapEffect = IsCollect3DMapEffect,
	GetDlgCollectActType = GetDlgCollectActType,
	IsActNeedHideLWeapon = IsActNeedHideLWeapon,
	IsKeepHotkeyImgWhenDisable = IsKeepHotkeyImgWhenDisable,
	GetMapNameAndPos = GetMapNameAndPos,
	GetFactionDefaultDialogId = GetFactionDefaultDialogId,
	GetGangBuildingUpLevelEffectTime=GetGangBuildingUpLevelEffectTime,
	GetGangNameChangeCost = GetGangNameChangeCost,
	GetGangBuildingAttachCost=GetGangBuildingAttachCost,
	GetGangBuildingAttrDetail=GetGangBuildingAttrDetail,
	GetGangBuildingDefaultUpgradeType=GetGangBuildingDefaultUpgradeType,
	GetGangBuildingUpgradeShortCutNum=GetGangBuildingUpgradeShortCutNum,
	GetGangBuildingOfferExchangeRate=GetGangBuildingOfferExchangeRate,
	GetGangBuildingExpExchangeRate=GetGangBuildingExpExchangeRate,
	GetGangBuilding = GetGangBuilding,
	GetGangBoss = GetGangBoss,
	GetGuildSkillIcon = GetGuildSkillIcon,
	GetFactionShopRefreshPrice = GetFactionShopRefreshPrice,
	GetFactionShopEndSaleTimeColor = GetFactionShopEndSaleTimeColor,
	GetGangActAmount = GetGangActAmount,
	GetGangActInfo = GetGangActInfo,
	GetInfoMap = GetInfoMap,
	GetInfoIdMap = GetInfoIdMap,
	TestServerType = TestServerType,
    GetAccountSuffix = GetAccountSuffix,
    GetDlgInfo = GetDlgInfo,
    GetRotateAngle = GetRotateAngle,
    GetRebateProInfo = GetRebateProInfo,
 	GetRebateInfo = GetRebateInfo,
	GetRebateRefreshCost = GetRebateRefreshCost,
    GetMissionIni = GetMissionIni,
	IsNeedCheckLook = IsNeedCheckLook,
	GetDlgInfoThird = GetDlgInfoThird,
	GetDynamicCmdData = GetDynamicCmdData,
	SetDynamicCmdData = SetDynamicCmdData,
	SetDlgDynamicInfo = SetDlgDynamicInfo,
	GetDlgDynamicInfo = GetDlgDynamicInfo,
	ResetDynamicInfo = ResetDynamicInfo,
	GetInfo = GetInfo,
    GetRankColWidthCount = GetRankColWidthCount,
    GetRankColWidth = GetRankColWidth,
    GetPKNoticeReward = GetPKNoticeReward,
    GetPKWeeklyNoticeId = GetPKWeeklyNoticeId,
    GetPKMonthlyNoticeId = GetPKMonthlyNoticeId,
    GetPKNotice = GetPKNotice,
    GetPKAttrLimitRuleAmount = GetPKAttrLimitRuleAmount,
    GetPKAttrLimitRule = GetPKAttrLimitRule,
    GetMelterGoldCost = GetMelterGoldCost,
    GetPoRenInfo = GetPoRenInfo,
	GetScreenChatMap = GetScreenChatMap,
    GetSlotMachine5X3 = GetSlotMachine5X3,
	GetEquitForgeInfo = GetEquitForgeInfo,
	GetEquipFrameOpenLev = GetEquipFrameOpenLev,
	GetWinSoundOfSlot5X3MiniGame = GetWinSoundOfSlot5X3MiniGame,
	GetSoundOfSlot5X3 = GetSoundOfSlot5X3,
	GetMelterGoldCost = GetMelterGoldCost,
	GetMagicMapItemAct = GetMagicMapItemAct,
	GetZoomNumInfo = GetZoomNumInfo,
	GetImmortalShowAct = GetImmortalShowAct,
	IsMagicTextEffOpen = IsMagicTextEffOpen,
	GetRefineLevAniTitle = GetRefineLevAniTitle,
	GetRefineLevBgAniTitle = GetRefineLevBgAniTitle,
	GetRefineOther = GetRefineOther,
	GetGangCreateCondi = GetGangCreateCondi,
	GetFactionMemOfflineColor=GetFactionMemOfflineColor,
	GetAutoRunResetTimes = GetAutoRunResetTimes,
	GetPostMaxWaitTime = GetPostMaxWaitTime,
    Unload = Unload,
	GetShowHandRuleBG = GetShowHandRuleBG,
	GetPokerInvitedCD = GetPokerInvitedCD,
	GetSlotMachine5X3Effect = GetSlotMachine5X3Effect,
	GetSlotMachine5X3EffectAmount = GetSlotMachine5X3EffectAmount,
	QuestinfoRandomLua = QuestinfoRandomLua,
	GetRankPkOffset = GetRankPkOffset,
	GetMagicTextEffData = GetMagicTextEffData,
	GetOldPlayerTips = GetOldPlayerTips,
	GetChgShowType4EpicWeapon = GetChgShowType4EpicWeapon,
	GetMissionLua = GetMissionLua,
	GetNotVipMoneyGotConditon = GetNotVipMoneyGotConditon,
	GetInstanceAuctionEffOffset = GetInstanceAuctionEffOffset,
	GetFlightIntensifyOffset=GetFlightIntensifyOffset,
	GetPlayerStatusOffset = GetPlayerStatusOffset,
	IsAddLifeItem = IsAddLifeItem,
	GetEquipEffectInfo = GetEquipEffectInfo,
	GetWelfareModelBoYiLev = GetWelfareModelBoYiLev,
	GetCopRegisterLockMoney = GetCopRegisterLockMoney,
	GetUserStatusNote = GetUserStatusNote,
	IsWeaponCoatFlaunt = IsWeaponCoatFlaunt,
	GetAwakeInfo = GetAwakeInfo,
	GetAwakeLostSkill= GetAwakeLostSkill,
	GetAwakeAddSkill= GetAwakeAddSkill,
	GetAwakeSkillId = GetAwakeSkillId,
	GetChgNeedItemNum = GetChgNeedItemNum,
	GetTaoistSkillNumType = GetTaoistSkillNumType,
	GetDaoistSkillInfo = GetDaoistSkillInfo,
	GetFighterGodBlessedNumType = GetFighterGodBlessedNumType,
	IsNpcActiveAfterRenownPose = IsNpcActiveAfterRenownPose,
	RenownTopPoseInterval = RenownTopPoseInterval,
	GetEffectNumType = GetEffectNumType,
	GetSlientTimeInterval = GetSlientTimeInterval,
	GetBoYiLevBg = GetBoYiLevBg,
	IsStatusIconNeedShowTime = IsStatusIconNeedShowTime,
	IsStatusIconAutoDelSelf = IsStatusIconAutoDelSelf,
	GetVigorDamageBonus = GetVigorDamageBonus,
	GetMagicDescEx = GetMagicDescEx,
	GetStatusAlpha = GetStatusAlpha,
	GetFaildUseMagicNote= GetFaildUseMagicNote,
	GetFightEffect3DEffect = GetFightEffect3DEffect,
	GetBigEmotionBuyInfo = GetBigEmotionBuyInfo,
	GetBuyEmotionLua = GetBuyEmotionLua,
	GetMagicQuickSingle = GetMagicQuickSingle,
	GetTexasSimpleUIInfo = GetTexasSimpleUIInfo,
	GetBigEmotionLeftTimeTipTime = GetBigEmotionLeftTimeTipTime,
	GetCloseVideoLua= GetCloseVideoLua,
	GetHttpPostCfg = GetHttpPostCfg,
	GetRevivalInfo = GetRevivalInfo,
	GetPigeonCfg = GetPigeonCfg,
	GetAutoGroupInterval = GetAutoGroupInterval,
	GetFightEffect3DEffectInSender = GetFightEffect3DEffectInSender,
	GetEquipBuild = GetEquipBuild,
	GetRankInfo = GetRankInfo,	
	GetGodBeastRankInfo = GetGodBeastRankInfo,
	IsFlauntFirstaction = IsFlauntFirstaction,
	IsFlauntSecondaction = IsFlauntSecondaction,
	GetFlauntDir = GetFlauntDir,
	GetWeaponCoatFlauntInfo = GetWeaponCoatFlauntInfo,
	GetScatteredData = GetScatteredData,
}

-- C++程序使用的global函数名

Info_GetFriendRoomBoYiLev = Info.GetFriendRoomBoYiLev
Info_GetScatteredData = Info.GetScatteredData
Info_GetMagicWeaponData = Info.GetMagicWeaponData
Info_GetPrivateChatNameBg2 = Info.GetPrivateChatNameBg2
Info_GetPrivateChatNameBg = Info.GetPrivateChatNameBg
Info_GetNewFriendSysTitleByType = Info.GetNewFriendSysTitleByType
Info_GetMagicBooldEff = Info.GetMagicBooldEff
Info_IsCoatWithMapEffect = Info.IsCoatWithMapEffect
Info_GetRenownGuideRollSpeed = Info.GetRenownGuideRollSpeed
Info_GetRenownPoseWordShowTime = Info.GetRenownPoseWordShowTime
Info_GetRenownTopPoseEffect = Info.GetRenownTopPoseEffect
Info_GetRenownPoseWordsAniSection = Info.GetRenownPoseWordsAniSection
Info_GetRenownPoseLoopTimes = Info.GetRenownPoseLoopTimes
Info_GetRenownPoseWords = Info.GetRenownPoseWords
Info_GetRenownPoseType = Info.GetRenownPoseType
Info_IsRenownPoseEnable = Info.IsRenownPoseEnable
Info_GetRenownExpDayReduce = Info.GetRenownExpDayReduce
Info_ExchangeMoneyForRenown = Info.ExchangeMoneyForRenown
Info_ExchangeItemForRenown = Info.ExchangeItemForRenown
Info_GetRenownType = Info.GetRenownType
Info_TimeLimitedParentId = Info.TimeLimitedParentId
Info_TimeLimitedCtrlId = Info.TimeLimitedCtrlId
Info_GetImageOffsetY = Info.GetImageOffsetY
Info_GetImageWidth = Info.GetImageWidth
Info_ExchangeAchievementForRenown = Info.ExchangeAchievementForRenown
Info_GetCoatChangeColorItem = Info.GetCoatChangeColorItem
Info_IsCollect3DMapEffect = Info.IsCollect3DMapEffect
Info_GetDlgCollectActType = Info.GetDlgCollectActType
Info_GetCollectTempLeaveActType = Info.GetCollectTempLeaveActType
Info_IsActNeedHideLWeapon = Info.IsActNeedHideLWeapon
Info_IsKeepHotkeyImgWhenDisable=Info.IsKeepHotkeyImgWhenDisable
Info_GetInstanceAuctionEffOffset = Info.GetInstanceAuctionEffOffset
Info_GetMapNameAndPos = Info.GetMapNameAndPos
Info_GetFactionDefaultDialogId = Info.GetFactionDefaultDialogId 
Info_GetGangBuildingUpLevelEffectTime=Info.GetGangBuildingUpLevelEffectTime
Info_GetGangNameChangeCost = Info.GetGangNameChangeCost
Info_GetGangBuildingAttachCost=Info.GetGangBuildingAttachCost
Info_GetGangBuildingAttrDetail=Info.GetGangBuildingAttrDetail
Info_GetGangBuildingDefaultUpgradeType=Info.GetGangBuildingDefaultUpgradeType
Info_GetGangBuildingUpgradeShortCutNum=Info.GetGangBuildingUpgradeShortCutNum
Info_GetGangBuildingOfferExchangeRate=Info.GetGangBuildingOfferExchangeRate
Info_GetGangBuildingExpExchangeRate=Info.GetGangBuildingExpExchangeRate
Info_GetGangBuilding=Info.GetGangBuilding
Info_GetGangBoss=Info.GetGangBoss
Info_GetGuildSkillIcon=Info.GetGuildSkillIcon
Info_GetFactionShopRefreshPrice = Info.GetFactionShopRefreshPrice
Info_GetFactionShopEndSaleTimeColor = Info.GetFactionShopEndSaleTimeColor
Info_GetGangActAmount=Info.GetGangActAmount
Info_GetGangActInfo=Info.GetGangActInfo
Info_GetInfoMap = Info.GetInfoMap
Info_GetInfoIdMap = Info.GetInfoIdMap
Info_GetInfo = Info.GetInfo
Info_GetAccountSuffix = Info.GetAccountSuffix
Info_GetDlgInfo = Info.GetDlgInfo
Info_GetRotateAngle = Info.GetRotateAngle
Info_GetRebateProInfo = Info.GetRebateProInfo
Info_GetRebateInfo = Info.GetRebateInfo
Info_GetRebateRefreshCost = Info.GetRebateRefreshCost
Info_GetMissionIni = Info.GetMissionIni
Info_IsNeedCheckLook = Info.IsNeedCheckLook
Info_GetDlgInfoThird = Info.GetDlgInfoThird
Info_SetDlgDynamicInfo = Info.SetDlgDynamicInfo
Info_GetDlgDynamicInfo = Info.GetDlgDynamicInfo
Info_ResetDynamicInfo = Info.ResetDynamicInfo
Info_GetDynamicCmdData = Info.GetDynamicCmdData
Info_SetDynamicCmdData = Info.SetDynamicCmdData
Info_GetRankColWidthCount = Info.GetRankColWidthCount
Info_GetRankColWidth = Info.GetRankColWidth
Info_GetPKNoticeReward = Info.GetPKNoticeReward
Info_GetPKWeeklyNoticeId = Info.GetPKWeeklyNoticeId
Info_GetPKMonthlyNoticeId = Info.GetPKMonthlyNoticeId
Info_GetPKNotice = Info.GetPKNotice
Info_GetPKAttrLimitRuleAmount = Info.GetPKAttrLimitRuleAmount
Info_GetPKAttrLimitRule = Info.GetPKAttrLimitRule
Info_GetNonageOffLineTip = Info.GetNonageOffLineTip
Info_GetPoRenInfo = Info.GetPoRenInfo
Info_GetScreenChatMap = Info.GetScreenChatMap
Info_GetSlotMachine5X3 = Info.GetSlotMachine5X3
Info_GetEquitForgeInfo = Info.GetEquitForgeInfo
Info_GetEquipFrameOpenLev = Info.GetEquipFrameOpenLev
Info_GetWinSoundOfSlot5X3MiniGame = Info.GetWinSoundOfSlot5X3MiniGame
Info_GetSoundOfSlot5X3 = Info.GetSoundOfSlot5X3
Info_GetMelterGoldCost = Info.GetMelterGoldCost
Info_GetMagicMapItemAct = Info.GetMagicMapItemAct
Info_GetZoomNumInfo = Info.GetZoomNumInfo
Info_GetImmortalShowAct = Info.GetImmortalShowAct
Info_IsMagicTextEffOpen = Info.IsMagicTextEffOpen
Info_GetRefineLevAniTitle = Info.GetRefineLevAniTitle
Info_GetRefineLevBgAniTitle = Info.GetRefineLevBgAniTitle
Info_GetRefineOther = Info.GetRefineOther
Info_GetGangCreateCondi = Info.GetGangCreateCondi
Info_GetFactionMemOfflineColor=GetFactionMemOfflineColor
Info_Unload = Info.Unload
Info_GetShowHandRuleBG = Info.GetShowHandRuleBG
Info_GetPokerInvitedCD = Info.GetPokerInvitedCD
Info_GetPostMaxWaitTime = Info.GetPostMaxWaitTime
Info_GetSlotMachine5X3Effect = Info.GetSlotMachine5X3Effect
Info_GetSlotMachine5X3EffectAmount = Info.GetSlotMachine5X3EffectAmount
Info_QuestinfoRandomLua = Info.QuestinfoRandomLua
Info_GetRankPkOffset = Info.GetRankPkOffset
Info_GetMagicTextEffData = Info.GetMagicTextEffData
Info_GetOldPlayerTips = Info.GetOldPlayerTips
Info_GetChgShowType4EpicWeapon = Info.GetChgShowType4EpicWeapon
Info_GetMissionLua = Info.GetMissionLua
Info_GetAutoRunResetTimes = Info.GetAutoRunResetTimes
Info_GetNotVipMoneyGotConditon = Info.GetNotVipMoneyGotConditon
Info_GetInstanceAuctionEffOffset = Info.GetInstanceAuctionEffOffset
Info_GetFlightIntensifyOffset=Info.GetFlightIntensifyOffset
Info_GetPlayerStatusOffset=Info.GetPlayerStatusOffset
Info_IsAddLifeItem = Info.IsAddLifeItem
Info_GetEquipEffectInfo = Info.GetEquipEffectInfo
Info_GetWelfareModelBoYiLev = Info.GetWelfareModelBoYiLev
Info_GetCopRegisterLockMoney = Info.GetCopRegisterLockMoney
Info_GetUserStatusNote = Info.GetUserStatusNote
Info_IsWeaponCoatFlaunt = Info.IsWeaponCoatFlaunt
Info_GetAwakeInfo=Info.GetAwakeInfo
Info_GetAwakeLostSkill=Info.GetAwakeLostSkill
Info_GetAwakeAddSkill=Info.GetAwakeAddSkill
Info_GetAwakeSkillId=Info.GetAwakeSkillId
Info_GetChgNeedItemNum = Info.GetChgNeedItemNum
Info_GetDaoistSkillInfo = Info.GetDaoistSkillInfo
Info_GetTaoistSkillNumType = Info.GetTaoistSkillNumType
Info_GetFighterGodBlessedNumType = Info.GetFighterGodBlessedNumType
Info_IsNpcActiveAfterRenownPose = Info.IsNpcActiveAfterRenownPose
Info_RenownTopPoseInterval = Info.RenownTopPoseInterval
Info_GetEffectNumType = Info.GetEffectNumType
Info_GetSlientTimeInterval = Info.GetSlientTimeInterval
Info_GetBoYiLevBg = Info.GetBoYiLevBg
Info_IsStatusIconNeedShowTime = Info.IsStatusIconNeedShowTime
Info_IsStatusIconAutoDelSelf = Info.IsStatusIconAutoDelSelf
Info_GetVigorDamageBonus = Info.GetVigorDamageBonus
Info_GetMagicDescEx = Info.GetMagicDescEx
Info_GetStatusAlpha = Info.GetStatusAlpha
Info_GetFaildUseMagicNote= Info.GetFaildUseMagicNote
Info_GetFightEffect3DEffect = Info.GetFightEffect3DEffect
Info_GetBigEmotionBuyInfo = Info.GetBigEmotionBuyInfo
Info_GetBuyEmotionLua = Info.GetBuyEmotionLua
Info_GetMagicQuickSingle = Info.GetMagicQuickSingle
Info_GetTexasSimpleUIInfo = Info.GetTexasSimpleUIInfo
Info_GetBigEmotionLeftTimeTipTime = Info.GetBigEmotionLeftTimeTipTime
Info_GetCloseVideoLua= Info.GetCloseVideoLua
Info_GetHttpPostCfg = Info.GetHttpPostCfg
Info_GetRevivalInfo = Info.GetRevivalInfo
Info_GetHttpPostCfg = Info.GetHttpPostCfg
Info_GetAutoGroupInterval = Info.GetAutoGroupInterval
Info_GetPigeonCfg = Info.GetPigeonCfg
Info_GetFightEffect3DEffectInSender = Info.GetFightEffect3DEffectInSender
Info_GetEquipBuild = Info.GetEquipBuild
Info_GetGodBeastRankInfo = Info.GetGodBeastRankInfo
Info_GetRankInfo = Info.GetRankInfo
Info_GetGameAnnounceSliderSpeed = Info.GetGameAnnounceSliderSpeed
Info_GetPlayerIconOffset = Info.GetPlayerIconOffset
Info_IsFlauntFirstaction = Info.IsFlauntFirstaction
Info_IsFlauntSecondaction = Info.IsFlauntSecondaction
Info_GetFlauntDir = Info.GetFlauntDir
Info_GetWeaponCoatFlauntInfo = Info.GetWeaponCoatFlauntInfo
Info_GetScatteredData = Info.GetScatteredData
-- require返回值
return Info