
function 重新加载(file)
	package.loaded[file] = nil
	require(file)
end

function L数量最少的对象(...)
    local 最少数量 = 1000
    for _, 对象 in ipairs({...}) do
        if 对象.数量 < 最少数量 then
            最少数量 = 对象.数量
        end
    end
    return 最少数量
end

function L匹配字符(mainStr, subStr)
    if	mainStr==nil	or	subStr==nil		then 
		return 0
	end
--	mainStr=L去掉括号里的内容(mainStr)
	if string.find(mainStr, subStr) then
        return 1
    else
        return 0
    end
end

function L匹配描述(quset, subStr)
    if	quset==nil	or	subStr==nil		then 
		return 0
	end
    if quset.任务描述==nil  then 
        return 0
    end 
	return POE.匹配字符(quset.任务描述, subStr) 
end

function L去掉括号里的内容(input)
    local result = ""
    local insideBraces = false

    for i = 1, #input do
        local char = input:sub(i, i)
        if char == "{" then
            insideBraces = true
        elseif char == "}" then
            insideBraces = false
        elseif not insideBraces then
            result = result .. char
        end
    end

    return result
end

function lua_split(str, delimiter)
    local result = {}
    local pattern = string.format("([^%s]+)", delimiter)
    str:gsub(pattern, function(c) table.insert(result, c) end)
    return result
end


-- 拆分函数
function splitString(str, separator)
    local result = {}
    for part in string.gmatch(str, "([^" .. separator .. "]+)") do
        table.insert(result, part)
    end
    return result
end

function Split(szFullString, szSeparator)  
local nFindStartIndex = 1  
local nSplitIndex = 1  
local nSplitArray = {}  
while true do  
   local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)  
   if not nFindLastIndex then  
    nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))  
    break  
   end  
   nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)  
   nFindStartIndex = nFindLastIndex + string.len(szSeparator)  
   nSplitIndex = nSplitIndex + 1  
end  
return nSplitArray,nSplitIndex
end  



function GetVariable(...)
local ret=""
	for i=1,select('#', ...) do 
		local var=select(i, ...)
		if ret~=""		then 
			ret=ret..","..var
		else 
			ret=ret..var
		end
	end
	return ret
end

function L读取配置(key,spath,ntype)
	if	spath==nil	then	spath="Default\\事件记录\\"		end
	if	ntype==nil	then	ntype=0		end
	return POE.读取配置(key,spath,ntype)
end

function L更新配置(key,value,spath,ntype)
	if	spath==nil	then	spath="Default\\事件记录\\"		end
	if	ntype==nil	then	ntype=0		end
	POE.更新配置(key,value,spath,ntype)
end

function L常规配置(key)
	local value=L读取配置(key,"常规配置\\",1)

	return value
end


function L组队配置(key)
	local value=L读取配置(key,"常规配置\\",2)

	return value
end


function Ltonumber(key)
	local value=tonumber(key)
	if	value==nil	then	value=0		end 
		
	return value
end

function L记录配置(key)
	return L读取配置(key)
end

function 提取剧情地图练级信息(input)
    local result = {}

    -- 判断输入中是否包含 "@"
    if string.find(input, "@") then
        -- 如果有 @，使用 gmatch 提取每一组
        for group in string.gmatch(input, "([^@]+)") do
            -- 提取每组中的三部分：等级、地图名和难度
            local Lv, Mapname, nandu = input:match("(%d+)-(.+)-(%d+)")

            -- 检查格式是否符合要求
            if Lv and Mapname and nandu then
                -- 将解析出的数据插入 result 表
                table.insert(result, {Lv = tonumber(Lv), map = Mapname, nandu = tonumber(nandu)})
            else
                -- 如果格式不正确，输出错误信息
                L信息("Err：格式不正确的组："..input)
            end
        end
    else
        -- 如果没有 @，直接提取单组数据
        local Lv, Mapname, nandu = input:match("(%d+)-(.+)-(%d+)")
  
        -- 检查格式是否符合要求
        if Lv and Mapname and nandu then
            -- 将解析出的数据插入 result 表
            table.insert(result, {Lv = tonumber(Lv), map = Mapname, nandu = tonumber(nandu)})
        else
            -- 如果格式不正确，输出错误信息
            L信息("Err：格式不正确的单组数据："..input)
        end
    end

    -- 返回结果
    return result
end

function To(sleep)
	local _当前循环状态=L获取循环状态()
	local nstatus=POE.To()
	if	_当前循环状态~=0		then
		if	nstatus==1		then 
			L延时(sleep)
		end
	else  
		return _当前循环状态
	end
	return nstatus
end

function L获取循环状态()
	return g循环状态
end

function L重置脚本循环()
	g循环状态=0
end
	
function L信息(cstr)
	if	cstr~=nil	and	cstr~=""		then 
		POE.Print(""..cstr)
	end
end


-- 延时函数，默认延时500毫秒
function L延时(nTime)
    -- 如果没有提供时间，默认为500毫秒
    if nTime == nil then 
        nTime = 500
    end
    -- 调用POE的睡眠函数进行延时
    POE.Sleep(nTime)
end

-- 睡眠函数，处理延时
function Sleep(nTime)
    -- 如果时间小于等于0或没有提供时间，默认为500毫秒
    if nTime <= 0 or nTime == nil then  
        nTime = 500
    end
    -- 调用POE的睡眠函数进行延时
    POE.Sleep(nTime)
end

-- 设置状态机的函数
function L设置状态机(nstate)
    -- 调用POE的设置状态机函数，传入新的状态
    POE.设置状态机(nstate)
end

-- 获取当前状态机的函数
function L当前状态机()
    -- 返回当前的状态机
    return POE.当前状态机()
end

function L作息时间()
    return POE.作息时间()
end 

function L返回登录界面()
    POE.返回登录界面()
end 
function L进入游戏()
    if L作息时间()==1       then 
        local 地图Ptr=L地图信息()
   
        if 地图Ptr.位置~=0  or 地图Ptr.地图名称==""    then 
           if 地图Ptr.地图名称~=""  then 
             L返回登录界面()
           end
         --   L信息("@当前处于作息时间中....")
            return 0
        end
    end 
    return POE.进入游戏()
end

function L结束游戏()
    POE.结束游戏()
end 

function L登录报错()
    return POE.登录报错()
end
-- 寻路函数，根据目标坐标(x, y)进行路径计算

function L寻路权性()
    return POE.寻路权性()
end 
function L寻路(x, y,Time)
Time=Time or 2998
    -- 调用POE的寻路函数，传入目标坐标


   
    if L寻路权性()>1       then 
        
        local 地图Ptr=L地图信息()
        if 地图Ptr.位置~=0  then 
            POE.设置全局坐标( 0,0 ,0)
        end
        return 0
    end 
    L关闭地图探索(1,Time)
    return POE.寻路(x, y)
end

function L翻滚(x,y,ntime)
    ntime = ntime or 2000 
    POE.翻滚(x,y,ntime)
end

function L走路(x,y)
    POE.走路(x,y)
end

-- 打开指定类型的对象，并根据需要设置延时
-- 参数：
-- ID: 对象的ID
-- OpenType: 打开方式（通常为一个标识符，表示如何打开对象）
-- nSleep: 延时（可选，默认为500毫秒）
function L打开对象(ID, OpenType, nSleep)
    -- 如果 nSleep 为 nil 或 false，则设置为 500
    nSleep = nSleep or 500
    return POE.打开对象(ID, OpenType, nSleep)
end


-- 获取周围对象的函数
-- 参数：
-- ObjClassName: 对象的类名（字符串类型），用于指定要查找的对象类型。例如，如果需要查找怪物类型的对象，可以传入 "Monster"。
-- X: 对象的 X 坐标（整数类型），默认为 -1，表示未指定或者自动选择。这表示查找的中心点 X 坐标。
-- Y: 对象的 Y 坐标（整数类型），默认为 -1，表示未指定或者自动选择。这表示查找的中心点 Y 坐标。
-- 返回值：
-- 调用 POE.周围对象 函数，获取指定位置周围的对象，并返回一个表（table）。
-- 返回的表包含以下成员（假设返回的是一个对象的相关信息）：
-- "ID": 对象的 ID，类型为整数，表示该对象的唯一标识符。
-- "X": 对象的 X 坐标，类型为整数，表示该对象的水平位置。
-- "Y": 对象的 Y 坐标，类型为整数，表示该对象的垂直位置。
-- "距离": 对象到指定位置的距离，类型为整数，表示对象与查找位置之间的距离。
-- "名称": 对象的名称，类型为字符串，表示该对象的名称或类别。

function L周围对象(ObjClassName, X, Y)
    -- 如果 ObjClassName 未提供，则默认为 -1
    -- 注意：此行代码似乎有一个逻辑错误，它把 ObjClassName 的值赋给了 X，
    -- 可能原本的意图是如果没有提供 X 或 Y 值，默认它们是 -1。
    X = X or -1
    -- 如果 Y 未提供，则默认为 -1
    Y = Y or -1
    gADNpc={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        隐藏=0,
        隐身=0,
        HP=0,
        护盾=0,
        把手状态=0,
        可对话=0,
        门状态=0,
        祭坛状态=0,
        ICON="",
        ICONStatus=0,
        释放技能中=0

    }
    gADNpc=POE.周围对象(ObjClassName, X, Y)
    return gADNpc
end


function L周围范围内对象(ObjClassName, X, Y,FDis)

    -- 如果 ObjClassName 未提供，则默认为 -1
    -- 注意：此行代码似乎有一个逻辑错误，它把 ObjClassName 的值赋给了 X，
    -- 可能原本的意图是如果没有提供 X 或 Y 值，默认它们是 -1。
    X = X or -1
    -- 如果 Y 未提供，则默认为 -1
    Y = Y or -1
    FDis = FDis or 6
    gFWADNpc={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        隐藏=0,
        隐身=0,
        HP=0,
        护盾=0,
        把手状态=0,
        可对话=0,
        门状态=0,
        祭坛状态=0,
        ICON="",
        ICONStatus=0,
        释放技能中=0

    }

    gFWADNpc=POE.周围范围内对象(ObjClassName, X, Y,FDis)
    return gFWADNpc
end

function L周围范围内对象_EX(ObjClassName1,ObjClassName2,FDis)
    local _对象2=L机关把手(ObjClassName2)
    if _对象2.ID>0 and _对象2.距离<6 then 
     
        return L周围范围内对象(ObjClassName1,_对象2.X,_对象2.Y,FDis)
    else 
        local temp={
            ID=-1
        }
      
        return temp
    end 

end 

function L周围怪物(fDis)
fDis= fDis or 100
    gADMonsterone={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        隐藏=0,
        隐身=0,
        HP=0,
        护盾=0,
        把手状态=0,
        门状态=0,
        祭坛状态=0,
        ICON="",
        ICONStatus=0

    }
    gADMonsterone=POE.周围怪物(fDis)
    return gADMonsterone
end


function L周围BOSS()

    gBoss={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        把手状态=0,
        门状态=0,
        祭坛状态=0,
        ICON="",
        ICONStatus=0,
        隐藏=0,
        隐身=0,
        HP=0
    }
    gBoss=POE.周围BOSS()
    return gBoss
end


function L对象门状态(nstatus,dis,ClassName)
    nstatus = nstatus or 2
    dis = dis or 10000
    gDoorObj={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        把手状态=0,
        门状态=0,
        祭坛状态=0,
        ICON="",
        ICONStatus=0,
        隐藏=0,
        隐身=0,
        HP=0,
        对象数量=0
    }
    gDoorObj=POE.对象门状态(ClassName,nstatus,dis)
    return gDoorObj 
end 

function L对象门状态集(nstatus,dis,ClassName,nIndex)
    nstatus = nstatus or 2
    dis = dis or 10000
    nIndex = nIndex or 0
    gDoorObjs={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        把手状态=0,
        门状态=0,
        祭坛状态=0,
        ICON="",
        ICONStatus=0,
        隐藏=0,
        隐身=0,
        HP=0,
        对象数量=0
    }
    gDoorObjs=POE.对象门状态集(ClassName,nstatus,dis,nIndex)
    return gDoorObjs 
end 


function L祭坛对象(ObjClassName)
    gJTNpc={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        把手状态=0,
        门状态=0,
        祭坛状态=0
    }
    gJTNpc=POE.祭坛对象(ObjClassName)
    return gJTNpc
end

function L祭坛对象状态(ObjClassName,nstatus)
nstatus=nstatus or 0
    gJTNpcstatus={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        把手状态=0,
        门状态=0,
        祭坛状态=0
    }
    gJTNpcstatus=POE.祭坛对象状态(ObjClassName,nstatus)
    return gJTNpcstatus
end

function L对象特征(ObjClass)
    gtzm={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        特征1=0,
        特征2=0,
        特征3=0,
        特征4=0
    }
    gtzm=POE.对象特征(ObjClass)
    return gtzm
end 
function L背包信息(szItemName,IsPipei)
    g背包信息={
        ID=0,
        物品个数=0,
        物品总数=0
    }
    IsPipei = IsPipei or 0
    g背包信息=POE.背包信息(szItemName,IsPipei)
    return g背包信息
end 
function L任务NPC(ObjClassName)
gQusetNpc={
    ID=0,
    X=0,
    Y=0,
    距离=0,
    名称="",
    把手状态=0
}
    gQusetNpc=POE.任务NPC(ObjClassName)
    return gQusetNpc
end

function L商店NPC(ObjClassName)
gShopNpc={
    ID=0,
    X=0,
    Y=0,
    距离=0,
    名称="",
    把手状态=0
}
gShopNpc=POE.商店NPC(ObjClassName)
    return gShopNpc
end

function L野外任务NPC(ObjClassName)
    g野外QusetNpc={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        把手状态=0
    }
    g野外QusetNpc=POE.野外任务NPC(ObjClassName)
        return g野外QusetNpc
end


function L机关把手(ObjClassName)
    g机关把手信息={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        类名="",
        把手状态=0
    }
    g机关把手信息=POE.机关把手(ObjClassName)
        return g机关把手信息
end

function L机关把手_高度(gd1,gd2,ObjClassName)
    g机关把手高度信息={
        ID=0,
        X=0,
        Y=0,
        距离=0,
        名称="",
        类名="",
        把手状态=0
    }
    g机关把手高度信息=POE.机关把手_高度(gd1,gd2,ObjClassName)
        return g机关把手高度信息
end

-- 物品处理数量的函数
-- 该函数用于处理特定类型的物品数量，根据传入的处理类型来执行不同的操作。
-- 参数：
-- szDealType: 物品处理类型（字符串类型），指定处理操作的类型。例如：
--           - "出售"：表示物品出售的数量
--           - "存仓"：表示物品丢弃的数量
--           - "销毁"：表示物品存入仓库的数量
--           - "丢弃"：表示物品存入仓库的数量
-- 返回值：
-- 返回处理后的物品数量，通常为整数类型。具体返回值取决于 `POE.物品处理数量` 函数的实现。
-- 注意：此函数调用了游戏引擎的接口 `POE.物品处理数量` 来执行实际的操作。

function L物品处理数量(szDealType)
    -- 调用 POE.物品处理数量 函数，根据物品处理类型来返回处理后的数量
    return POE.物品处理数量(szDealType)
end


-- L地图信息 函数：获取当前地图的详细信息
-- 该函数调用 POE.地图信息() 来获取当前地图的相关信息，并返回该信息作为一个对象。
-- 返回值：
-- 返回一个对象，该对象包含以下成员（根据 POE.地图信息() 函数提供的数据）：
-- 1. "ID"          : 地图的 ID（整数类型），表示当前地图的唯一标识符。
-- 2. "地图名称"    : 当前地图的名称（字符串类型），例如 "镇压区"、"隐藏据点" 等。
-- 3. "地图等级"    : 当前地图的等级（字符串类型），表示地图的难度级别。
-- 4. "地图类名"        : 当前地图所在的章节（字符串类型），表示地图在游戏中的位置或阶段。
-- 5. "位置"      : 角色当前所处的位置类型（整数类型），例如 返回 0 表示在野外、大于0 表示城镇或者藏身处。

function L地图信息() 
    -- 调用 POE.地图信息 获取当前地图的相关信息并返回
gMapInfo={
    ID=0,
    地图名称="",
    地图类名="",
    地图等级=0,
    章节=0,
    难度=0,
    位置=0
}
    gMapInfo=POE.地图信息()

    return gMapInfo
end

function L读取仓库页()
    return POE.读取仓库页()
end

function L读取公会仓库页()
    return POE.读取公会仓库页()
end 
function L仓库页最大读取页数(nReadMaxPage)
   nReadMaxPage= nReadMaxPage or -1
   return POE.仓库页最大读取页数(nReadMaxPage)
end

function L公会仓库页最大读取页数(nReadMaxPage)
    nReadMaxPage= nReadMaxPage or -1
    return POE.公会仓库页最大读取页数(nReadMaxPage)
end
function L获取对象的位置信息()
    -- body
    local 地图Ptr=L地图信息()
    if 地图Ptr.地图类名=="HideoutFelled"    then --"藏身處：殞落"
        return 232,254
    elseif 地图Ptr.地图类名==1       then 
        return 351,316
    elseif 地图Ptr.章节==3       then 
        return 475,827    
    elseif 地图Ptr.章节==4       then 
        return 1076,1615    
    elseif 地图Ptr.章节==5       then 
        return 415,436    
    elseif 地图Ptr.章节==6       then 
        return 298,356    
    elseif 地图Ptr.章节==7       then 
        return 480,371        
    end
    return -1,-1
end

function L背包处理()
    POE.背包处理()
end 
function L仓库物品设置处理类型(nstatus)
    nstatus = nstatus or 0
    return POE.仓库物品设置处理类型(nstatus)
end

function L公会仓库设置处理类型()
    return POE.公会仓库设置处理类型()
end 
function L执行存仓(PageType)
    PageType = PageType or 0
    return POE.执行存仓(PageType)
end

function L执行公会存仓()
    return POE.执行公会存仓()
end 


function L执行存仓满了销毁(PageType)
    PageType = PageType or 0
    return POE.执行存仓满了销毁(PageType)
end

function L执行公会存仓满了销毁()

    return POE.执行公会存仓满了销毁()
end


function L执行鉴定并使用富豪()
    return POE.执行鉴定并使用富豪()
end 


function L执行个人物品转公会()
    return POE.执行个人物品转公会()
    
end 

function L执行公会物品转个人()
    return POE.执行公会物品转个人()
end 
function L设置探索地图(nOpenStatus)
    nOpenStatus= nOpenStatus or 0
 
    if nOpenStatus==探索类型.暂停        then 
        L周围反击()
    end
    POE.设置探索地图(nOpenStatus)
end

function L是否包满(w,h)
    w=w or 3
    h=h or 3
    return POE.是否包满(w,h)
end

function L返回城镇(nType)
    nType = nType or 0
    L设置探索地图(探索类型.暂停)
    return POE.返回城镇(nType)
end

function L进入竞技场()
    POE.进入竞技场()
end 

function  L地图是否完成(nstatus)
    nstatus = nstatus or -1
   return POE.地图是否完成(nstatus)
end

function L混沌试炼框是否存在门票()
    return POE.混沌试炼框是否存在门票()
end 
function  L开启异界(nType)
    -- body
    nType = nType or 0
    g仓库取图是否成功=POE.开启异界(nType)
    return g仓库取图是否成功
end
function L进入异界()
    return POE.进入异界()
end 


--返回1 表示缺少可刷的异界地图  
function  L缺少异界地图()

   return POE.缺少异界地图()
end

--返回1 表示制图仪已经打开
function L制图仪是否打开()
    -- body
    return POE.制图仪是否打开()
end

--返回1 表示已经打开
function L商店栏是否打开()
    return POE.商店栏是否打开()
end

function L分解栏是否打开()
    -- body
    return POE.分解栏是否打开()
end

--参数为对话内容
function L对话(szTalk,ntype)
    ntype = ntype or 0
   return  POE.对话(szTalk,ntype)
end

function L是否存在对话(szTalk)
    return POE.是否存在对话(szTalk)
end


function L执行销毁()
    POE.执行销毁()
end

function L执行分解()
    POE.执行分解()
end
function L执行出售()
    POE.执行出售()
end

function  L执行鉴定()
    -- body
    POE.执行鉴定()
end

function L商店购买地图(BuyMapLv,BuyGold,BuyPage)
    BuyMapLv = BuyMapLv or 15
    BuyGold = BuyGold or 20000
    BuyPage = BuyPage or 0
    POE.商店购买地图(BuyMapLv,BuyGold,BuyPage)
end

function L传送点是否激活(mapName,nNandu)
    -- body
    if mapName==nil then 
        L信息("当前传送点名称参数未空。无法获取激活状态")
        mapName=""     
    end  
    return POE.传送点是否激活(mapName,nNandu)
end


function L自身信息()
    gRoleData={
        等级=0,
        ID=0,
        FHP=0,
        HP=0,
        金币=0,
        X=0,
        Y=0,
        Z=0,
        职业="",
        动作=0
    }
    gRoleData= POE.自身信息()
    if gRoleData.ID==-1     then 
        gRoleData.等级=0
        gRoleData.HP=0
        gRoleData.FHP=0
        gRoleData.X=0
        gRoleData.Y=0
        gRoleData.金币=0
        gRoleData.职业=""
    end 
    return gRoleData
end 

function L召唤灵体信息() 
    gLtInfo={
        灵体名称="",
        所在地图="",
        所需精魂=0,
        ID=0
    }
    gLtInfo= POE.召唤灵体信息()
    return gLtInfo
end 
function L自身状态(buffer)
    return POE.自身状态(buffer)
end 
function L属性面板(value)
    value = value or 75
    g防御抗性={
        火炕=0,
        冰抗=0,
        电抗=0,
        混沌抗=0,
        符合抗性数量=0,
        抗性总分=0,
        平均低分=0

    }
    g防御抗性= POE.属性面板(value)
    return g防御抗性
end 

function L传送地图(mapName,nandu)
    POE.传送地图(mapName,nandu)
    L延时(3000)
    return 1
end


function L参与补抗部位()
    return POE.参与补抗部位()
end 

function L进入未知队伍()
    POE.进入未知队伍()
end 

function L返回藏身处()
    -- body
    POE.返回藏身处()
    L信息("当前执行: => 前往藏身处")
end

function L屏蔽指定怪物(MonsterName)
    -- body
    local _过滤的怪物=MonsterName
    POE.屏蔽指定怪物(_过滤的怪物)
end

function  L设置区域点状态(className,nFw,nstatus)
    POE.设置区域点状态(className,nFw,nstatus)
end

function L清空重置状态()
    POE.清空重置状态()
end 
function L更新地图(nstatus)
    nstatus = nstatus or 0
    POE.更新地图(nstatus)
end

function L机关信息(ClassName,ObjName)
    ObjName = ObjName or ""
    return POE.机关信息(ClassName,ObjName)
end

function L设置地图内机关类名(className)
    className= className or ""
    POE.设置地图内机关类名(className)
end 

function L记录数组信息(nIndex,value)
    value = value or -1
    return POE.记录数组信息(nIndex,value)
end 

function L跟随角色(dis,nType)
  
    dis = dis or 6
    nType = nType or 0

    -- if  L组队剧情开关()==1 then 
    --    POE.跟随角色(dis)
    --   return 1
    -- else 
    --     return 0
    -- end 
 
    POE.跟随角色(dis,nType,1)
    return 1
end

function L组队跟随角色()
    POE.组队跟随角色()
end


function L搜索路口(className,dis)
    local addClass="Transition"
    className = className or ""
    --QuarryCrane_ExitPortal
    if className~=""        then 
        addClass=addClass..","..className
    end
    dis = dis or 1000
    POE.搜索路口(addClass,dis)
end 


function L打开好友列表(ntime)
    ntime = ntime or 15000
    POE.打开好友列表(ntime)
end 
function L设置全局坐标( X,Y ,nqx)
    -- body
    local 地图Ptr=L地图信息()
    if 地图Ptr.位置~=0  then 
        L寻路(X,Y)
    
    else 
        nqx= nqx or 1
        POE.设置全局坐标( X,Y ,nqx)
    end 

end

function L异界是否完成()
    POE.异界是否完成()
end 

function L玩家信息(PlayerName)
    return POE.玩家信息(PlayerName)
end


function L设置自动复活(nstatus)
    POE.设置自动复活(nstatus)
end

function L清空地图完成()
    POE.清空地图完成()
end 

function L祭坛商店购物(nqx)
    nqx = nqx or 0
    return POE.祭坛商店购物(nqx)
end 

function LEsc()
    L信息("Esc关闭")
    POE.Esc()
end

function L结束迷雾()
    return POE.结束迷雾()
end

function L可视UI(offset)
    return POE.可视UI(offset)
end


function L设置开机关等待无怪时间(nTime)
    POE.设置开机关等待无怪时间(nTime)
end

function L地图是否需要鉴定()
    return POE.地图是否需要鉴定()
end

function L地图合成()
    return POE.地图合成()
end 

function L油合成()
    return POE.油合成()
end 


function L是否可通行(X,Y)
    return POE.是否可通行(X,Y)
end 

function L点击对象(Id,ntype)
    POE.点击对象(Id)
    L关闭地图探索(1,3007)
    L延时(1000)
    L关闭地图探索(1,3007)
    return L可视UI(ntype)
end 

function L自动换装(ntime)
    -- body
    ntime = ntime or 3
    POE.自动换装(ntime)
end

function L设置躲避参照物(czw,dis)
    dis = dis or 6
    POE.设置躲避参照物(czw,dis)
end 

function L设置BOSS(BassClassName,dis)
    dis = dis or 2.5
    POE.设置BOSS(BassClassName,dis)
end 

function L设置爆炸物(Boom,dis) 
    dis = dis or 4
    POE.设置爆炸物(Boom,dis) 
end 

function L设置躲避负面状态(Boom) 
    Boom= Boom or ""
    POE.设置躲避负面状态(Boom) 
end 

--=1表示围绕BOSS =2表示围绕icon
function L设置围绕类型(nstatus,time,fdis) 
    fdis = fdis or 3
    POE.设置围绕类型(nstatus,time,fdis)
end 
function L设置躲避ID(id,ntime,clear)
    clear = clear or 0
    POE.设置躲避ID(id,ntime,clear)
end 
-- //m_躲避类型
-- //=0 表示判断BOSS在释放这个技能的时候是否面向自己，是的话就想周围翻滚
-- //=1 想Icon绕圈躲避
-- //=2 跟BOSS保持距离
-- //=3 想BOSS身后躲避
--//=10 取当前BOSS是否正在释放
function L设置躲避BOSS信息(nIndex,strIDs,nType,nTime,躲避间隔,clear)
    clear = clear or 0
    nType = nType or 1
    nTime = nTime or 0
    躲避间隔= 躲避间隔 or 500
    POE.设置躲避BOSS信息(nIndex,strIDs,nType,nTime,躲避间隔,clear)
end 

--躲避类型=0 =1 表示围绕
--躲避类型 =2 表示保持距离
--躲避类型 =3 表示判断BOSS是否面向，如果面向则跑到BOSS身后
--躲避类型 =10表示取BOSS释放的ID信息
function L设置躲避技能信息(nIndex,ID,参数集,躲避类型,躲避间隔,nDis,clear)
    clear = clear or 0
    躲避类型 = 躲避类型 or 0
    躲避间隔= 躲避间隔 or 0
    nDis = nDis or 4
    POE.设置躲避技能信息(nIndex,ID,参数集,躲避类型,躲避间隔,nDis,clear)
end 

function L打开地图()
    POE.打开地图()
end 
function L清空躲避BOSS信息()
    L设置躲避BOSS信息(0,"",0,0,0,1)
end
function L设置绕圈ID(id,ntype)
    POE.设置绕圈ID(id,ntype)
end 

function L躲避开关(nstatus)
    return POE.躲避开关(nstatus)
end

function L清除躲避信息()
    if  L躲避开关(0)>0  then 
        L延时(1000)
        POE.清除躲避信息()
    end 
end 

function L执行间隔(ev,time)
    return POE.执行间隔(ev,time)
end 

function L设置区域状态(ev,dis,nstatus)
    POE.设置区域状态(ev,dis,nstatus)
end

function L设置区域门状态(ev,doortype,dis,nstatus)
    POE.设置区域门状态(ev,doortype,dis,nstatus)
end

function L设置区域状态集(ev,dis,bj,nstatus)
    POE.设置区域状态集(ev,dis,bj,nstatus)
end

function L设置门区域状态(ev,bj,dis)
    bj = bj or 30 
    dis = bj or 10
    POE.设置门区域状态(ev,bj,dis)
end 
function L重新加载地图(status)
    status = status or 0xFF
    POE.重新加载地图(status)
end 

function L设置探索灵敏度(dis)
    dis = dis or 8
    POE.设置探索灵敏度(dis)
end 

function L长时间未移动()
    return POE.长时间未移动()
end 
function L设置可以击杀的怪物(strMonstor)
    POE.设置可以击杀的怪物(strMonstor)
end 

function L查询任务(qusetName,Ms,Nd)
    Nd = Nd or 0
    Ms = Ms or ""
    if Nd==2    then 
        Nd=1
    elseif Nd==1    then 
        Nd=0
    end 
    return POE.查询任务(qusetName,"",Nd)
end

function L查询描述(qusetName,qusetMs)
    return POE.查询任务(qusetName,qusetMs,-1)
end


function L获取模型路径(szMod,nstatus)
    nstatus = nstatus or 0
    POE.获取模型路径(szMod,nstatus)
end
function L取模块路径(szMod,nType)
 gModPath={
   X=0,
   Y=0 
}    
nType= nType or 0
gModPath=POE.取模块路径(szMod,nType)
    return gModPath
end 

function L前往模型位置(szModName,nType)

    local pt=L取模块路径(szModName,nType)

    if pt.X>0   and pt.Y>0      then 
    --  L设置全局坐标(pt.X,pt.Y,3)
        L寻路(pt.X,pt.Y,5001)
        return 1
    end

    return 0
end


function L进入路口(路口,xj,qx)
    xj = xj or 0
    qx = qx or 1
    return POE.进入路口(路口,xj,qx)
end 


function L查找路口(路口)
    return POE.查找路口(路口)
end 


function L延时执行(ev,time,up)
    up =up or 0

    return POE.延时执行(ev,time,up)
end 

function L结束对话()
    L信息("结束对话")
    POE.结束对话()
end 

function L领取奖励(szItem,nPage)
    szItem = szItem or ""
    nPage = nPage or 0
    POE.领取奖励(szItem,nPage)
end

function L取最近地图节点(目的地图,isPassWay)
    isPassWay = isPassWay or 0
    gNextPath={
        传送点激活=0,
        地图名称=""
    }
    gNextPath= POE.取最近地图节点(目的地图,isPassWay)
    return gNextPath
end 

--从仓库里取出换装装备
function L取出换装装备()
    return POE.取出换装装备()
end 

function L暂停剧情探索(nstatus)
    POE.暂停剧情探索(nstatus)
end


function L死亡坐标(nstatus)
    nstatus= nstatus or 0
   g死亡坐标={
    X=0,
    Y=0
   } 
   g死亡坐标= POE.死亡坐标(nstatus)
    return g死亡坐标
end

function L定点战斗(x,y,dis)
    dis = dis or 8
    POE.定点战斗(x,y,dis)
end

function L定点绕圈战斗(x,y,dis)
    dis = dis or 8
    POE.定点绕圈战斗(x,y,dis)
end

function L拾取()
    return POE.拾取()
end 

function L地面物品()
    return POE.地面物品()
end 
function  L周围反击(dis,ntype) 
    dis = dis or 2.5 
    ntype = ntype or 0
    POE.周围反击(dis,ntype) 
end 

function L使用物品(Id)
    POE.使用物品(Id)
end 

function L执行使用物品()
    POE.执行使用物品()
end 


function L前往下一层路口()
    POE.前往下一层路口()
end 

function L开关进入下层路口(nstatus) 
    nstatus = nstatus or 1
    POE.开关进入下层路口(nstatus) 
end 

function L开关返回上一层路口(nstatus)
    nstatus = nstatus or 1
    POE.开关返回上一层路口(nstatus) 
end 
function L屏蔽下层路口(strLukou)
    POE.屏蔽下层路口(strLukou)
end

function L只进入指定下次路口(strLukou)
    POE.只进入指定下次路口(strLukou)
end

function L切换战车站点(node)
    POE.切换战车站点(node)
end 

function L前往参照物等待BOSS激活(nstatus) 
    POE.前往参照物等待BOSS激活(nstatus) 
end 

function L拾取开关(nstatus)
    nstatus = nstatus or 1
    POE.拾取开关(nstatus)
end 

function L执行使用蜕变石()
    return POE.执行使用蜕变石()
end 
function L执行使用增幅石()
    return POE.执行使用增幅石()
end 

function L执行使用富豪石()
    return POE.执行使用富豪石()
end 

function L执行使用崇高石()
    return POE.执行使用崇高石()
end 

function L执行使用瓦尔宝珠()
    return POE.执行使用瓦尔宝珠()
end 

function L执行使用全流程瓦尔宝珠()
    return POE.执行使用全流程瓦尔宝珠()
end 
function L执行使用机会石()
    return POE.执行使用机会石()
end 

function L宝石打孔()
    return POE.宝石打孔()
end 

function L装备打孔()
    return POE.装备打孔()
end 
function L自动镶嵌宝石()
    return POE.自动镶嵌宝石()
end 

function L自动升级宝石()
    return POE.自动升级宝石()
end 

function L镶嵌符文()
    return POE.镶嵌符文()
end 

function L改造装备()
    return POE.改造装备()
end 

function L提升装备品质()
    return POE.提升装备品质()
end 

function L提升技能品质()
    return POE.提升技能品质()
end 

function L取BOSS当前技能()
    return POE.取BOSS当前技能()
end 

function L精英数量()
    return POE.精英数量()
end 

function L设置路口类型(lukou,ntype)
    POE.设置路口类型(lukou,ntype)
end 

function L增加事件(ev,time)
    time = time or 1000
    POE.增加事件(ev,time)
end 

function L当前事件计数(ev)
    return POE.当前事件计数(ev)
end 

function L重置指定事件计数(ev)
    POE.重置指定事件计数(ev)
end 

function L重置所有事件计数()
    POE.重置所有事件计数()
end 

function L身上药剂信息(szName)
    gYaojiData={
    ID=0,
    前缀="",
    物品等级=0,
    需求等级=0
    }
    gYaojiData=POE.身上药剂信息(szName)
    return gYaojiData
end 


function L商店购物(ItemName,nPage,BuyNum)
    nPage = nPage or 0
    BuyNum = BuyNum or 1

    return POE.商店购物(ItemName,nPage,BuyNum)
end 

function L关闭反击(nstatus)
    nstatus = nstatus or 0
    POE.关闭反击(nstatus)
end 


function L查询世界任务(bossquset,nZhangjie,Nd)
    Nd = Nd or 1
    return POE.查询世界任务(bossquset,nZhangjie,Nd)
end 

function L当前祭坛状态()
    return POE.当前祭坛状态()
end 

function L异界传送门()
    return POE.异界传送门()
end 


function L距离(x1, y1, x2, y2)
    -- 使用欧几里得距离公式: sqrt((x2 - x1)^2 + (y2 - y1)^2)
    local dx = x2 - x1
    local dy = y2 - y1
    return math.sqrt(dx * dx + dy * dy)/10
end


function L指定范围是否存在怪物(DIS) 
    DIS= DIS or 8
    return POE.指定范围是否存在怪物(DIS)
end 

function L是否存在地图提示(szInfo)
    return POE.是否存在地图提示(szInfo)
end 

function L设置入会名称(szName)
szName = szName or  ""
    POE.设置入会名称(szName)
end 
function L事件计时(Ev)
    Ev = Ev or "@"
    L增加事件(Ev)
    return L当前事件计数(Ev)
end

function L超时重置()
    return POE.超时重置()
end 

function L记录当前任务名称(szQuset)
    POE.记录当前任务名称(szQuset)
end 

function L组队剧情开关()
    return POE.组队剧情开关()
end 

function L组队异界开关()
    return POE.组队异界开关()
end 

function L复活队友(dis,n强制复活)
    dis = dis or 10 
    n强制复活 = n强制复活 or 0
    if n强制复活==0     then 
      L周围反击(6)
    end 
    return POE.复活队友(dis,n强制复活)
end 

function L喊话(chat)
    POE.喊话(chat)
end 

function L队伍聊天(chat)
    L喊话("%"..chat)
end 

function L大号是否进组()
    return POE.大号是否进组()
end 
function L剧情报数(szText,ncf)
    ncf = ncf or 0
    POE.剧情报数(szText,ncf)
end 

function L队长报数(szText)
    POE.队长报数(szText)
end

function L取队长口令(text,tm)
    tm = tm or 0
    return POE.取队长口令(text,tm)
end 

function L取队长口令内容()
    return POE.取队长口令内容()
end 

function L取队员口令(text)

    return POE.取队员口令(text)
end 

function L取队员口令内容()
    return POE.取队员口令内容()
end 
function L取队长口令回答(text,nr,tm)
    tm= tm or 10000
    return POE.取队长口令回答(text,nr,tm)
end

function L取队员剧情信息()
    return POE.取队员剧情信息()
end 

function L我是队长(Player)
    Player = Player or "@"
    return POE.我是队长(Player)
end 

function L跟随拾取开关(nstatus)
    nstatus= nstatus or 0
    POE.跟随拾取开关(nstatus)
end 

function L关闭地图探索(nstatus,ntime)
    nstatus = nstatus or 0
    ntime = ntime or 2999
    POE.关闭地图探索(nstatus,ntime)
end 

function L是否已经组队()
    return POE.是否已经组队()
end 

function L自动组队()
    POE.自动组队()
end 

function L前往指定地图队友身边(szMap)
    szMap = szMap or ""
    return POE.前往指定地图队友身边(szMap)
end 

function L查找队员到达指定地点人数(szMap)
    szMap = szMap or ""
    return POE.查找队员到达指定地点人数(szMap)
end

function L是否需要等待队员(dis)
    dis = dis or 10 

    return POE.是否需要等待队员(dis)

end 


function L队员离线()
    return POE.队员离线()
end 

function L人员是否整齐()
    return POE.人员是否整齐()
end 
function L取当前队长执行进度是否与我同步()
    if L组队剧情开关()==0   then 
        return 1
    end 
    return POE.取当前队长执行进度是否与我同步()
end 


function L队员离线返回复活点等待()
    POE.队员离线返回复活点等待()
end 


function L当前地图计时(nstatus)
    nstatus = nstatus or -1
    return POE.当前地图计时(nstatus)
end 


function L复活()
    POE.复活()
end 

function L离开队伍(n重新组队间隔)
    n重新组队间隔 = n重新组队间隔 or 15000
    L信息("离开队伍...")
    G前往队友地图等待=0
    POE.离开队伍()
end 

function L队长离队(n重新组队间隔)
    n重新组队间隔 = n重新组队间隔 or 15000
    POE.队长离队(n重新组队间隔)
end 

function L当前精魄()
    return POE.当前精魄()
end 

function L查找模块名(modName)
    modName = modName or  ""
    return POE.查找模块名(modName)
end 

function L设置进图等待(ntime)

    ntime = ntime or  60 

    POE.设置进图等待(ntime)
end 
function L停止进图等待(ntime)
    ntime = ntime or 10000
    POE.停止进图等待(ntime)
end 

function L累计等待()
    return POE.累计等待()
end 

function L地图探索率()
    return POE.地图探索率()
end 


function L队员不在相同位面复活点重开()
    POE.队员不在相同位面复活点重开()
end 

function L放下鼠标上的物品()
    POE.放下鼠标上的物品()
end 

function L取回订单物品()
    return POE.取回订单物品()
end 

function L满足兑换条件()
    return POE.满足兑换条件()
end 

function L兑换通货()
    return POE.兑换通货()
end 

function L清空兑换记录()
    POE.清空兑换记录()
end 

function L选择藏身处(csc)
csc= csc or ""
    POE.选择藏身处(csc)
end 
function L任务流程信息(QusetName,nd)
    QusetName = QusetName or ""
    nd = nd or 1
    gQusetLiuchenData={
    ID=0,
    难度=0,
    任务名称="",
    刷图地图一="",
    等级到一=0,
    探索率一=0,
    刷图地图二="",
    等级到二=0,
    探索率二=0,
    任务奖励=""
    }
    gQusetLiuchenData=POE.任务流程信息(QusetName,nd)
    return gQusetLiuchenData
end 


function L单图连续死亡异常(QusetName,nd)
    QusetName= QusetName or ""
    nd= nd or 1
    return POE.单图连续死亡异常(QusetName,nd)
end 

function L商店购买更好装备(nMaxPage)
    nMaxPage = nMaxPage or 3
    return POE.商店购买更好装备(nMaxPage)
end 

function L设置优先攻击对象(MonsterName)
    return  POE.设置优先攻击对象(MonsterName)
end 


function L拼图(nID,nMark)
    return POE.拼图(nID,nMark)
end 

function L商店赌博更好的装备()
    return POE.商店赌博更好的装备()
end 

function L设置战斗方式(nType)
    nType = nType or 0
    POE.设置战斗方式(nType)
end 

function L寻路过程不触发寻怪(nstatus)
    nstatus = nstatus or 0
    POE.寻路过程不触发寻怪(nstatus)
end 



function Q查询任务(任务名称,Nd)

	--L信息("@@"..任务名称.."@@"..Nd.."@@"..已完成任务[任务名称])

	-- if 已完成任务[任务名称] and 已完成任务难度[任务名称]==Nd	then

    --     return { 完成地图 = "", 任务名称 = 任务名称, 任务描述 = "", 是否完成 = 1 }
    -- end
	gQusetData={
		完成地图="",
		任务名称="",
		任务描述="",
		是否完成=0,
		任务奖励=""
	}
	gQusetData=L查询任务(任务名称,"",Nd)

    -- **如果任务完成，记录到已完成任务表**
    if gQusetData.是否完成 == 1 then
        已完成任务[任务名称] = true
		已完成任务难度[任务名称] = Nd
    end
	gQusetData.任务奖励 = gQusetData.任务奖励 or ""
	return gQusetData
end


function L任务描述(任务名称)
    g任务描述={
		任务名称="",
		任务描述=""
	}
    g任务描述=POE.任务描述(任务名称)
    return g任务描述
end


function L查询任务描述(任务名称,描述)
	local ms=L任务描述(任务名称)
	if L匹配字符(ms.任务描述,描述)==1		then 
        return 1
    end 
    return 0
end

function L药剂充能(ntype)
    ntype = ntype or 0

    return POE.药剂充能(ntype)
end 

function L取队长口令参数(szText)
    return POE.取队长口令参数(szText,1000)
end 


function L召唤大号帮忙(Chat)
    POE.召唤大号帮忙(Chat)
end 

function L召唤大号带我异界升级()
    return POE.召唤大号带我异界升级()
end 

function L补等级到()
    return POE.补等级到()
end 

function L大号允许组队小号异界升级()
    return POE.大号允许组队小号异界升级()
end 
function L回到记录点()

    return POE.回到记录点()
end 

function L队伍交流(Chat,qx)
    qx = qx or 0
    POE.队伍交流(Chat,qx)
end 

function L大号名称()
    return POE.大号名称()
end 

function L队伍人数()
    return POE.队伍人数()
end 

function L队员是否在附近(fdis) 
    fdis = fdis or 20
    return POE.队员是否在附近(fdis)
end 


function L队长是否在附近(fdis)
    fdis = fdis or 20
    return POE.队长是否在附近(fdis)
end 

function L进入队伍()
    POE.进入队伍()
end 

function L单图累计死亡次数(swcs)
    swcs = swcs or -1
    return POE.单图累计死亡次数(swcs)
end 

function L设置组队经验等级(ntype)
    ntype = ntype or 1
    POE.设置组队经验等级(ntype)
end  


function 查找包含字符(str1,str2)
    if string.find(str1, str2, 1, true) then
       return 1
    end
    return 0
end 

function L当前BOSS目标()
    return POE.当前BOSS目标()
end 

function L队长信息()
    gDzinfo={
    名称="",
    地图=""
}
    gDzinfo=POE.队长信息()
    return gDzinfo
end 


function L全图对象(szObjName,nstatus)
    gquantuObj={
    X=0,
    Y=0,
    ID=0,
    距离=0
}
nstatus = nstatus or -1
gquantuObj=POE.全图对象(szObjName,nstatus)
    return gquantuObj
end 



function L全图对象数量(szObjName,nstatus)

    return POE.全图对象数量(szObjName,nstatus)
end 

function L新建地图(nstatus)
    nstatus = nstatus or 0
    POE.新建地图(nstatus)
end 

function L前往队长身边()
    return POE.前往队长身边()
end 


function L兑换通货可视()
    return POE.兑换通货可视()
end 

function L禁用打开好友列表(nkg)
    nkg=nkg or 1
    POE.禁用打开好友列表(nkg)
end 


function L自动倒货()
    return POE.自动倒货()
end 

function L倒货状态()
    return POE.倒货状态()
end 

function L自动收货()
    return POE.自动收货()
end 


function L城镇无动作计时(nvalue)
nvalue=nvalue or -1
    return POE.城镇无动作计时(nvalue)
end 

function L禁用翻滚(nstatus)
    nstatus= nstatus or 1
    return POE.禁用翻滚(nstatus)
end 

function L自身藏身处()
    return POE.自身藏身处()
end 

function L设置背满事件(nstatus)
    POE.设置背满事件(nstatus)
end 

function L背包满事件()
    return POE.背包满事件()
end 

function L取死亡BOSS信息(BossClass)
    return POE.取死亡BOSS信息(BossClass)
end 

function L自动学习异界天赋()
    POE.自动学习异界天赋()
end 

-- <param name="Mark"> [ 0 裂痕点数，1 探险点数，2 谵妄点数，3祭祀点数，4 地图头目点数，5 仲裁者点数 ] </param>
function L已获得异界天赋点(nMark) 
    nMark = nMark or 3
    return POE.已获得异界天赋点(nMark)
end 

function L剩余异界天赋点(nMark)
    nMark = nMark or 3
    return POE.剩余异界天赋点(nMark)
    
end 
function L累计刷图次数(nstatus)
    nstatus = nstatus or 1
    return POE.累计刷图次数(nstatus)
end 


function L放置炸药(x,y,shuliang)
shuliang = shuliang or 0
    return POE.放置炸药(x,y,shuliang)
end 

function L地图提示完成()
    return POE.地图提示完成()
end 

function L保持距离(x,y,Dis,Fx)
    Fx=Fx or 1
    POE.保持距离(x,y,Dis)
end 


function L自动邀请公会()
    POE.自动邀请公会()
end 


function clearTable(t)
    for k in pairs(t) do
        t[k] = 0
    end
end

function L执行使用巧匠石()
    return POE.执行使用巧匠石()
end 

function L执行使用提升品质()
    return POE.执行使用提升品质()
end 

function L切换脚本(szPath)
    POE.切换脚本(szPath)
    g循环状态=0
end 

function L复位脚本()
    local ret=POE.复位脚本()
    g循环状态=0
    return ret
end 

function L更改脚本(szPath)
    POE.更改脚本(szPath)
    g循环状态=0
end

function L已选配置名()
    return POE.已选配置名()
end 
function L更换配置(szPath)
    if g常规设置.切换配置名称~=""   then 
        local ret=POE.更换配置(szPath)
        g循环状态=0
        return ret
    end
    return 0
end

function L闲置状态(nstatus)
nstatus= nstatus or 0
    POE.闲置状态(nstatus)
end 
function L重置天赋()
    local ret=POE.重置天赋()
    LEsc()
    return ret
end 

function L重置异界天赋()
    local ret=POE.重置异界天赋()
    LEsc()
    return ret   
end 

function L是否重置天赋(nstatus)
nstatus= nstatus or -1
    return POE.是否重置天赋(nstatus)
end 

function L当前天赋加点数()
    return POE.当前天赋加点数()
end 

function L自动加点天赋()
    return POE.自动加点天赋()
end 

function L自动集市购物()
    return POE.自动集市购物()
end 

function L自动集市卖装()
   return POE.自动集市卖装()
end 

function L自动存入集市购买的物品()
    POE.自动存入集市购买的物品()
end 

function L进入异界之门失败次数(nvalue)
    nvalue = nvalue or -1
    return POE.进入异界之门失败次数(nvalue)
end 

function L升华天赋点()
    return POE.升华天赋点()
end 

function L金币商城购物(buyStash)
    buyStash = buyStash or ""
    local curBuy=""
    if buyStash=="拍卖页"     then 
        curBuy="PremiumStashTab"
    elseif buyStash=="拍卖页X6"     then 
        curBuy="PremiumStashTabBundle"

    elseif buyStash=="普通页"     then 
        curBuy="StashTab"
 
    elseif buyStash=="普通页X6"     then 
        curBuy="StashTabBundle"
 
    elseif buyStash=="异界碎片页"     then 
        curBuy="RitualTab"
    elseif buyStash=="符文页"     then 
        curBuy="SocketableTab"       
    elseif buyStash=="技能宝石页"     then 
        curBuy="GemTab"              

    elseif buyStash=="药水页"     then 
        curBuy="FlaskTab"      


    elseif buyStash=="精华页"     then 
        curBuy="EssenceTab"           
        
    elseif buyStash=="超大页仓库"     then 
        curBuy="PremiumQuadTab"       

    elseif buyStash=="通货页"     then 
        curBuy="CurrencyTab"       
        
    end
  
    if curBuy~=""       then 
        POE.金币商城购物(curBuy)
    end
end

function L是否需要加入公会()
    return POE.是否需要加入公会()
end 
function L创建角色后小退一次()

    return POE.创建角色后小退一次()
end 


function L邀请小号组队异界升级()
    return POE.邀请小号组队异界升级()
end 
function L记录神圣数量()
    POE.记录神圣数量()
end 

function L脚本开关(nstatus)
    POE.脚本开关(nstatus)
end 

function L凑装穿到身上()
    return POE.凑装穿到身上()
end 

function L开始凑装()
    return POE.开始凑装()
end 

function L提升身上装备()
    return POE.提升身上装备()
end 

function L镶嵌符文到身上(sz部位,sz符文)
    sz部位= sz部位 or ""
    sz符文 = sz符文 or ""
    return POE.镶嵌符文到身上(sz部位,sz符文)
end 

function L全身镶嵌符文()
    return POE.全身镶嵌符文()
end 

function L技能是否镶嵌完成()
    return POE.技能是否镶嵌完成()
end 

function L护身符涂油()
    return POE.护身符涂油()
end 

function L设置是否关闭精魂技能(nstatus)
    nstatus =nstatus or 0
    POE.设置是否关闭精魂技能(nstatus)
end 

function L装备天赋宝石()
    return POE.装备天赋宝石()
end 

function L装备功能药剂()
    return POE.装备功能药剂()
end 

function L随机方向移动()
    POE.随机方向移动()
end 

function L试炼选择器(状态名,屏蔽选择的状态)
    POE.试炼选择器(状态名,屏蔽选择的状态)
end

function L设置步骤(key,nvalue)
nvalue = nvalue or 0
    POE.设置步骤(key,nvalue)
end

function L返回步骤(key)
    return POE.返回步骤(key)
end 

function L捕捉灵体(Uid,lingti,jinghun)
    return POE.捕捉灵体(Uid,lingti,jinghun)
end 

function L坐标点围绕(x,y,围绕点,dis,ntime)
围绕点 = 围绕点 or 8
dis = dis or 6 
ntime = ntime or 500
    if L执行间隔("围绕间隔11",ntime)==1 then 
        if POE.坐标点围绕(x,y,围绕点,dis)==1        then 
            L关闭地图探索(1,3001)
        end
    end
end

function L对象围绕(ClassName,dis,围绕点,nTime)
dis=dis or 6
围绕点=围绕点 or 8
nTime = nTime or 1000
    local _Obj=L周围对象(ClassName)
    if _Obj.ID>0        then 
        L坐标点围绕(_Obj.X,_Obj.Y,dis,围绕点,nTime)
        L信息("围绕坐标: ".._Obj.X..":".._Obj.Y)
    end 
end 

function L禁用赶路(nstatus)
    POE.禁用赶路(nstatus)
end 

function L前往混沌试炼(Nandu,szmap)
szmap =szmap or G混沌神殿
Nandu= Nandu or 2
    POE.前往混沌试炼(szmap,Nandu)
end 
function L开启并进入混沌之门()
    return POE.开启并进入混沌之门()
end 

function L全流程放置炸药(num,引爆数量)

    POE.全流程放置炸药(num,引爆数量)
end 

function L选择升华职业(szZhiye)
local nIndex=-1
    if szZhiye=="锐眼"      then 
        nIndex=6
    elseif szZhiye=="追猎者"      then 
        nIndex=8
    elseif szZhiye=="狱火师"      then 
        nIndex=0x0C    
    elseif szZhiye=="血法师"      then 
        nIndex=0x0D      
    elseif szZhiye=="巫妖"      then 
        nIndex=0x0E     
    end
    if nIndex>=0        then 
        POE.选择升华职业(nIndex)
    end
end 

function L取下全身装备()
    return POE.取下全身装备()
end 

function L取下全身镶嵌辅助宝石()
    return POE.取下全身镶嵌辅助宝石()
end 
function L前往岛屿(DName,ID)
    ID = ID or 0
    POE.前往岛屿(DName,ID)
end 

function L清空记录数组()
    POE.清空记录数组()
end 

function L地图上基底()
    return POE.地图上基底()
end 

function L是否还需解密地图()
    return POE.是否还需解密地图()
end 

function L前往解密地图()
    return POE.前往解密地图()
end 

function L解密后涂油()
    return POE.解密后涂油()
end

function L解密后瓦尔()
    return POE.解密后瓦尔()
end 
function L取出指定仓库物品(Pages,ItemName,nNum)

    return POE.取出指定仓库物品(Pages,ItemName,nNum)
end 

function L完成洗图后存仓()
    return POE.完成洗图后存仓()
end 

function L自动集市一口价购物()
    return POE.自动集市一口价购物()
end 

function L异界补等级跟随距离()
    return POE.异界补等级跟随距离()
end 

function L加载配置_一体化()
	
	g常规设置.屏蔽不打的怪物=L常规配置("常规列表-通用设置-屏蔽不打的怪物")
	if	g常规设置.屏蔽不打的怪物==""	then 
		L屏蔽指定怪物(g屏蔽的怪物)
	else 
		L屏蔽指定怪物(g屏蔽的怪物..","..g常规设置.屏蔽不打的怪物)
	end




	g常规设置.切换配置等级=Ltonumber(L常规配置("常规列表-练级设置-切换配置等级"))
	if g常规设置.切换配置等级<0		then 
		g常规设置.切换配置等级=0
	end 

	g常规设置.切换配置名称=L常规配置("常规列表-练级设置-切换配置名称")
	if g常规设置.切换配置名称=="-1"		then 
		g常规设置.切换配置名称=""
	end 

	g常规设置.切换脚本=L常规配置("常规列表-练级设置-切换脚本")
	if g常规设置.切换脚本=="-1"		then 
		g常规设置.切换脚本=""
	end 
    

	g常规设置.切换配置时重置当前天赋=Ltonumber(L常规配置("常规列表-练级设置-切换配置时重置当前天赋"))
	if g常规设置.切换配置时重置当前天赋<0		then 
		g常规设置.切换配置时重置当前天赋=0
	end 
	
	g常规设置.仓库页最大读取页数=Ltonumber(L常规配置("常规列表-通用设置-仓库页最大读取页数"))

	g常规设置.公会仓库页最大读取页数=Ltonumber(L常规配置("常规列表-通用设置-公会仓库页最大读取页数"))

	g常规设置.刷图次数大于等于后执行物品处理=Ltonumber(L常规配置("常规列表-通用设置-刷图次数大于等于后执行回城处理"))
    if g常规设置.刷图次数大于等于后执行物品处理<=0      then 
        g常规设置.刷图次数大于等于后执行物品处理=5
    end 

	L仓库页最大读取页数(g常规设置.仓库页最大读取页数)
	L公会仓库页最大读取页数(g常规设置.公会仓库页最大读取页数)

	g常规设置.进图等待时间=Ltonumber(L常规配置("常规列表-通用设置-进图等待时间"))
	

	g常规设置.购买知识卷轴=Ltonumber(L常规配置("常规列表-商店购物-购买知识卷轴"))
	if g常规设置.购买知识卷轴>80	then 
		g常规设置.购买知识卷轴=80
	end 


	g常规设置.商店赌博_购买部位=L常规配置("常规列表-商店购物-商店赌博_购买部位")
	g常规设置.商店赌博_金币大于=Ltonumber(L常规配置("常规列表-商店购物-商店赌博_金币大于(单位万)"))
	g常规设置.商店赌博_金币保留=Ltonumber(L常规配置("常规列表-商店购物-商店赌博_金币保留(单位万)"))


	g常规设置.不点丰碑=Ltonumber(L常规配置("常规列表-异界设置-不点丰碑"))


    g常规设置.优先寻找图内BOSS=Ltonumber(L常规配置("常规列表-异界设置-优先寻找图内BOSS"))
    if g常规设置.优先寻找图内BOSS<0     then 

        g常规设置.优先寻找图内BOSS=1
    end
	g常规设置.地图不足时商店购买=Ltonumber(L常规配置("常规列表-异界设置-地图不足时商店购买"))

	g常规设置.死亡次数超过进行召唤大号=Ltonumber(L组队配置("组队列表-1-死亡次数超过进行召唤大号"))


	g常规设置.自动镶嵌宝石=Ltonumber(L常规配置("常规列表-组合功能-自动镶嵌宝石"))



    g常规设置.是否开启洗图功能=Ltonumber(L常规配置("常规列表-洗图功能-是否开启洗图功能"))
    g常规设置.存入洗好的地图时不执行物品处理=Ltonumber(L常规配置("常规列表-洗图功能-存入洗好的地图时不执行物品处理"))

    

    g常规设置.升华职业=L常规配置("常规列表-练级设置-升华职业")

    g常规设置.要求获取升华天赋点=Ltonumber(L常规配置("常规列表-练级设置-要求获取升华天赋点"))
    g常规设置.执行升华试炼等级=Ltonumber(L常规配置("常规列表-练级设置-执行升华试炼等级"))
    g常规设置.要求获取祭祀天赋点=Ltonumber(L常规配置("常规列表-练级设置-要求获取祭祀天赋点"))
    g常规设置.执行帝王等级=Ltonumber(L常规配置("常规列表-练级设置-执行帝王等级"))




	L设置躲避负面状态("溺水")

	L设置优先攻击对象("河之女巫,")--,死亡領主．伊克塔

	--L禁用打开好友列表(0)
	

	gErrOpenNpc= gErrOpenNpc or 0
end





function L加载配置_剧情()
	

    
	g常规设置.切换配置等级=Ltonumber(L常规配置("常规列表-练级设置-切换配置等级"))
	if g常规设置.切换配置等级<0		then 
		g常规设置.切换配置等级=0
	end 

	g常规设置.切换配置名称=L常规配置("常规列表-练级设置-切换配置名称")
	if g常规设置.切换配置名称=="-1"		then 
		g常规设置.切换配置名称=""
	end 

	g常规设置.切换脚本=L常规配置("常规列表-练级设置-切换脚本")
	if g常规设置.切换脚本=="-1"		then 
		g常规设置.切换脚本=""
	end 
    

	g常规设置.切换配置时重置当前天赋=Ltonumber(L常规配置("常规列表-练级设置-切换配置时重置当前天赋"))
	if g常规设置.切换配置时重置当前天赋<0		then 
		g常规设置.切换配置时重置当前天赋=0
	end 


	g常规设置.屏蔽不打的怪物=L常规配置("常规列表-通用设置-屏蔽不打的怪物")
	if	g常规设置.屏蔽不打的怪物==""	then 
		L屏蔽指定怪物(g屏蔽的怪物)
	else 
		L屏蔽指定怪物(g屏蔽的怪物..g常规设置.屏蔽不打的怪物)
	end
	g常规设置.进图等待时间=Ltonumber(L常规配置("常规列表-通用设置-进图等待时间"))


	g常规设置.剧情刷图=L常规配置("常规列表-练级设置-剧情刷图")

	g常规设置.剧情战斗方式=L常规配置("常规列表-通用设置-剧情战斗方式")

	g常规设置.仓库页最大读取页数=Ltonumber(L常规配置("常规列表-通用设置-仓库页最大读取页数"))

	g常规设置.公会仓库页最大读取页数=Ltonumber(L常规配置("常规列表-通用设置-公会仓库页最大读取页数"))
	
	g常规设置.购买知识卷轴=Ltonumber(L常规配置("常规列表-商店购物-购买知识卷轴"))
	if g常规设置.购买知识卷轴>40	then 
		g常规设置.购买知识卷轴=40
	end 
	g常规设置.不点丰碑=Ltonumber(L常规配置("常规列表-异界设置-不点丰碑"))


	g常规设置.自动换装=Ltonumber(L常规配置("常规列表-组合功能-自动换装"))

	g常规设置.自动镶嵌宝石=Ltonumber(L常规配置("常规列表-组合功能-自动镶嵌宝石"))
	g常规设置.等级超过关闭商店换装=Ltonumber(L常规配置("常规列表-组合功能-等级超过关闭商店换装"))
	

	L仓库页最大读取页数(g常规设置.仓库页最大读取页数)
	L公会仓库页最大读取页数(g常规设置.公会仓库页最大读取页数)


	g常规设置.死亡次数超过进行召唤大号=Ltonumber(L组队配置("组队列表-1-死亡次数超过进行召唤大号"))


    if L远程战斗()==0			then --

        L设置战斗方式()
        BOSS躲避距离=3
        L设置优先攻击对象("真菌火炮,送葬者,恐懼服侍,毒蟹之母,邪教女巫,真菌散播者,花魁,惡毒女巫,凱斯的第九寶藏,根淤,河之女巫,迷失狂熱者,乾燥巫妖,渴望狼人,RustedSoldierBowQuest")--,死亡領主．伊克塔
    else 
        L设置战斗方式(1)
        BOSS躲避距离=6
    end 


	
	L设置爆炸物("")
	L设置躲避负面状态("溺水")
	L清空躲避BOSS信息()

	L新建地图(1)

	gErrOpenNpc= gErrOpenNpc or 0
end

function L远程战斗()
    if g常规设置.剧情战斗方式==G远程        then 
        return  1
    else
        return 0 
    end
end 