FidePath(Map, floor,StartX,StartY,EndX,EndY,DoFile,FuncName);


函数功能:

根据地图标识、地图编号、起点坐标、终点坐标获得路径


操作参数:

参数名 是否必须 类型 说明
DoFile string 脚本文件路径(如是本文件则填写nil)
FuncName string 响应事件处理函数的名称
Map int 地图类型 0静态地图,1迷宫地图,2是房间..
floor int 地图编号
StartX int 起点X
StartY int 起点Y
EndX int 终点X
EndY int 终点Y

返回值:

返回类型 成功 失败
int > 0 < 1

回调函数说明:

  • FidePath_CallBackEvent (Handle, MapID,floor,StartX,StartY,EndX,EndY,MaxX,MaxY,Cout,XTableList,YTableList)

回调参数名 是否必须 类型 说明
Handle int 调用Map.FidePath后返回的句柄
Map int 地图类型 0静态地图,1迷宫地图,2是房间..
floor int 地图编号
StartX int 起点X
StartY int 起点Y
EndX int 终点X
EndY int 终点Y
MaxX int 当前地图X大小
MaxY int 当前地图Y大小
Count int 当前所需步数
XTableList table X步数Table
YTableList table Y步数Table
————
#### 操作实例:
local Handle = Map.Fide(nil,"FidePath_CallBackEvent",0,100,475,196,682,343);--从东门走到伊尔村
if(Handle == -1)then
    print("当前起点坐标无法走动");
    return;
end
if(Handle == -2)then
    print("当前终点坐标无法走动");
    return;
end
if(Handle == -3)then
    print("地图不存在");
    return;
end
  print("失败")
end

function FidePath_CallBackEvent(Handle, MapID,floor,StartX,StartY,EndX,EndY,MaxX,MaxY,Cout,XTableList,YTableList)
    if(Cout <= 0 or XTableList == nil or YTableList == nil)then
        print("此路不通,无法通过走路到达,您可能需要跟NPC对话移动或者通过Warp.txt移动");
        return;
    end

    local Loopi = 1;
    printf("总共需要走【"..Cout.."】步");
    for Loopi,Cout do 
        local String = string.format("需要路过的坐标 %d:%d",XTableList[Loopi],YTableList[Loopi]);
        printf(String);
    end
    XTableList = nil;
    YTableList = nil;
end

备注:

  • 更多返回错误代码请看首页的错误代码描述
文档更新时间: 2021-03-14 01:18   作者:105493660