1.     条件结束
  2. 子程序结束,回到调用处
  3. //当角色处在地图边界时,修正其位置。
  4. 子程序 ComeBack
  5.     调用外部VBScript子程序 在区域里从中间开始找颜色(MapA(0),MapA(1),MapA(2),MapA(3),"FF",xa,ya)
  6.     如果表达式 (x>0 and y>0) 为真,则
  7.         (VBScript语句) nx=Abs(x-PosA(0))
  8.         (VBScript语句) ny=Abs(y-PosA(1))
  9.         如果表达式 (nx>2 or ny>2) 为真,则
  10.             x=x-PosA(0)
  11.             y=y-PosA(1)
  12.             如果表达式 (x<0) 为真,则
  13.                 mx=100
  14.             否则
  15.                 mx=-100
  16.             条件结束
  17.             T=-1
  18.             my=mx*y/x*T
  19.             如果表达式 (my>120) 为真,则
  20.                 my=90
  21.             否则如果(my<-100)为真,则
  22.                 my=-90
  23.             条件结束
  24.             xb=mx+PosB(0)
  25.             yb=my+PosB(1)
  26.             鼠标移到 xb , yb
  27.             延时400毫秒
  28.             左键单击
  29.             延时400毫秒
  30.         条件结束
  31.     条件结束
  32. 子程序结束,回到调用处
  33. //扫描坐标文字
  34. 子程序 Scan
  35.     (VBScript语句) Dim ScanH(8)
  36.     (VBScript语句) Dim Num(5,8)
  37.     (VBScript语句) Num(0,0)=1:Num(0,1)=0:Num(0,2)=0:Num(0,3)=0:Num(0,4)=0:Num(0,5)=0:Num(0,6)=0:Num(0,7)=1
  38.     (VBScript语句) Num(1,0)=1:Num(1,1)=1:Num(1,2)=1:Num(1,3)=1:Num(1,4)=1:Num(1,5)=1:Num(1,6)=1:Num(1,7)=1
  39.     (VBScript语句) Num(2,0)=0:Num(2,1)=1:Num(2,2)=0:Num(2,3)=0:Num(2,4)=0:Num(2,5)=1:Num(2,6)=0:Num(2,7)=0
  40.     (VBScript语句) Num(3,0)=1:Num(3,1)=0:Num(3,2)=0:Num(3,3)=1:Num(3,4)=1:Num(3,5)=1:Num(3,6)=1:Num(3,7)=1
  41.     (VBScript语句) Num(4,0)=0:Num(4,0)=0:Num(4,2)=0:Num(4,3)=0:Num(4,4)=0:Num(4,5)=0:Num(4,6)=0:Num(4,7)=0
  42.     (VBScript语句) Dim ScanL(4)
  43.     (VBScript语句) Dim NumL(4,5)
  44.     (VBScript语句) NumL(0,0)=0:NumL(0,1)=0:NumL(0,2)=0:NumL(0,3)=1:NumL(0,4)=0
  45.     (VBScript语句) NumL(1,0)=1:NumL(1,1)=0:NumL(1,2)=0:NumL(1,3)=0:NumL(1,4)=1
  46.     (VBScript语句) NumL(2,0)=0:NumL(2,1)=1:NumL(2,2)=1:NumL(2,3)=1:NumL(2,4)=0
  47.     (VBScript语句) NumL(3,0)=0:NumL(3,1)=0:NumL(3,2)=1:NumL(3,3)=1:NumL(3,4)=0
  48.     //取值
  49.     my=0
  50.     如果表达式 (my<8) 为真,则循环执行
  51.         调用外部VBScript子程序 在区域里从中间开始找颜色(MapA(0),MapA(1),MapA(2),MapA(3),"FF",xa,ya)
  52.         如果表达式 (rel="080C08") 为真,则
  53.             ScanH(my)=0
  54.         否则如果(rel="94FFFF")为真,则
  55.             ScanH(my)=1
  56.         否则
  57.             调用外部VBScript子程序 在区域里从中间开始找颜色(MapA(0),MapA(1),MapA(2),MapA(3),"FF",xa,ya)
  58.         条件结束
  59.         my=my+1
  60.     循环结束
  61.     //判断
  62.     N=0
  63.     如果表达式 (N<5) 为真,则循环执行
  64.         i=0
  65.         如果表达式 (i<8) 为真,则循环执行
  66.             如果表达式 (ScanH(i)<>Num(N,i)) 为真,则
  67.                 //一有不对马上跳出
  68.                 i=100
  69.             否则
  70.                 //全中
  71.                 如果表达式 (i=7) 为真,则
  72.                     TheNum=N
  73.                     N=100
  74.                 条件结束
  75.             条件结束
  76.             i=i+1
  77.         循环结束
  78.         N=N+1
  79.     循环结束
  80.     //筛选
  81.     如果表达式 (N=101) 为真,则
  82.         如果表达式 (TheNum=4 or TheNum=0) 为真,则
  83.             Number=0
  84.         否则如果(TheNum=1)为真,则
  85.             Number=1
  86.         否则如果(TheNum=2)为真,则
  87.             Number=4
  88.         否则如果(TheNum=3)为真,则
  89.             Number=7
  90.         条件结束
  91.     否则
  92.         //尚未能确认
  93.         //再进行横向扫描
  94.         //取值
  95.         mx=0
  96.         如果表达式 (mx<5) 为真,则循环执行
  97.             调用外部VBScript子程序 在区域里从中间开始找颜色(MapA(0),MapA(1),MapA(2),MapA(3),"FF",xa,ya)
  98.             如果表达式 (rel="080C08") 为真,则
  99.                 ScanL(mx)=0
  100.             否则如果(rel="94FFFF")为真,则