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 |
返回值:
回调函数说明:
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