r 店名=“1234312” "店名:" UserVar udclk=50 "双击摆摊卡后延迟时间:" UserVar ummv=10 "鼠标移动后延迟时间:" UserVar ukbp=10 "按键后延迟时间:" 现有道具="现有道具.bmp" 开办店铺="开办店铺.bmp" //摆摊第三层 Dim T3x(6) dim T3y T3y=44 T3x(0)=29: T3x(1)=38: T3x(2)=47: T3x(3)=58: T3x(4)=68: T3x(5)=78: T3x(6)=88 //摆摊第二层 Dim T2x(4),T2y T2y=57 T2x(0)=28: T2x(1)=40: T2x(2)=51: T2x(3)=61: T2x(4)=71 //摆摊第一层,但是最右2个摊位,下标7,8的位置,是要跳的 Dim T1x(8),T1y(8) T1y(0)=72: T1y(1)=72: T1y(2)=72: T1y(3)=72: T1y(4)=72: T1y(5)=72: T1y(6)=72: T1y(7)=65: T1y(8)=61 T1x(0)=24: T1x(1)=33: T1x(2)=43: T1x(3)=53: T1x(4)=64: T1x(5)=74: T1x(6)=82: T1x(7)=80: T1x(8)=91 //颜色 Dim cb,cy,cr cb="F76500" cy="8cFFFF" cr="0000E7" pixelPerPoint=16 mapx=20: mapy=29 mapw=80: maph=60 //背包“现有道具”字体查找存放坐标 Dim daojX,daojY //道具栏第一格,摆摊卡,和摆摊物品。坐标是相对现有道具字体的 baitanX=13: baitanY=59 //特殊道具栏,用摆摊卡的地方。 teshuX=145: teshuY=27 //商品拖放的最后位置,相对游戏坐标。 shopX=220:shopY=240 //启动脚本后点击一下游戏窗口 MessageBox "请将鼠标移动到游戏人物站好的位置头上,单击一次鼠标!以便脚本获得游戏信息" WaitClick GetCursorPos intX, intY //获得当前游戏窗口句柄 dim hwnd hwnd=plugin.window.Foreground() If hwnd<=0 then //得到鼠标指向的窗口句柄 Hwnd = Plugin.Window.MousePoint() End If dim sourceX,sourceY,sourceW,sourceH rectT=plugin.window.getclientrect(hwnd) rect=split(rectT,"|") sourceX=cint(rect(0)): sourceY=cint(rect(1)) sourceW=cint(rect(2)): sourceH=cint(rect(3)) //FindColorEx sourceX+mapx,sourceY+mapy,sourceX+mapx+mapw,sourceY+mapy+maph,cy,0,0.9,intX,intY //以下是条件判断;如果返回的坐标大于0,那么就说明找到了。 //主要是设置游戏界面角色的X,Y坐标 //If intX > 0 And intY > 0 Then // //真实地图中的绝对位置, // intX=(intX-sourceX-mapx)*pixelPerPoint // intY=(intY-sourceY-mapy)*pixelPerPoint // //计算相对游戏界面的相对位置 // //如果绝对位置X小于游戏界面的一半,说明角色往游戏界面左边移动靠近 // //所以目前的intX就是角色所在的位置 // // // //如果intX大于游戏界面的一半, // //再判断,是否右边剩下的空间小于游戏界面的一半,是的话角色就是往界面右边移动靠近 // If mapw*pixelPerPoint-intX < sourceW/2 then // intX=sourceW - (mapw*pixelPerPoint-intX) // //再不是那角色就在游戏界面中间了 // Else // intX=sourceW/2 // End If //End If //进入判断店铺的循环,使用游戏中多点取色对比。。也可以使用图片。 Dim colors(8) Do colors(0)= GetPixelColor(intX,intY-20) colors(1)= GetPixelColor(intX,intY-10) colors(2)= GetPixelColor(intX,intY+10) colors(3)= GetPixelColor(intX-20,intY) colors(4)= GetPixelColor(intX-17,intY-17) colors(5)= GetPixelColor(intX+10,intY) colors(6)= GetPixelColor(intX+15,intY-5) colors(7)= GetPixelColor(intX+20,intY-17) colors(8)= GetPixelColor(intX+5,intY-20) //再次获取颜色,对比是否一样,不一样的时候,应该就是摆摊走了。 Do ifcolor intX,intY-20,colors(0),1 Then Exit Do