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

备注:

  • 更多返回错误代码请看首页的错误代码描述
作者:105493660  创建时间:2020-04-26 15:44
 更新时间:2026-05-09 17:37