|
发表于 2014-11-12 17:27:08
|
显示全部楼层
呃 好像没有安装TC 我懒得看我把带那部分的整个文件用记事本copy出来你自己找吧- #include"梦千年.t"
- #include"jcfz.t"
- namespace m1000y
- var self,dmui
- //对窗口的裁剪
- function 裁剪窗体(hwnd)
- x0,y0,x1,y1,x2,y2
- dmui.GetWindowRect(hwnd,x0,y0,0,0)//获取窗口在屏幕上的位置
- dmui.GetClientRect(hwnd,x1,y1,x2,y2)//获取客户区在屏幕上的位置
- //获取窗口要裁剪的范围
- hr=dllcall("gdi32.dll","int","CreateRectRgn","int",x1-x0,"int",y1-y0,"int",x2-x0,"int",y2-y0)
- //对窗口进行裁剪,对裁剪过的区域不显示
- dl=dllcall("user32.dll","int","SetWindowRgn","int",hwnd,"int",hr,"bool",true)
- endfunction
- //初始化
- function init()
- 系统.设置路径(辅助.获取资源路径("rc:"))
- 绛尘辅助.设定输出编辑框("edit_out")
- 绛尘辅助.大漠收费注册(dmui)
- self = window.getmyhwnd()
- m1000y.裁剪窗体(self)
- control.setpos("Static_Caption",0,0,1000,23,0)
- control.setpos("Static_Close",445,1,40,21,0)
- statictext.settext("Static_Caption","梦千年Online打怪辅助")
- 按钮.设置背景图("button_addHwnd","rc:添加窗口.bmp",3)
- 按钮.设置背景图("button_Start","rc:开始挂机.bmp",3)
- 绛尘辅助.输出(绛尘辅助.系统识别(0,0))
- 梦千年.config()
- endfunction
- //消息路由功能
- function m1000y_pretranslatemessage(hwnd,message,wParam,lParam,time,x,y)
- if(message == 512)//鼠标移动
- dmui.ScreenToClient(window.getmyhwnd(),0,y)
- if(y<23)
- dllcall("user32.dll","Long","ReleaseCapture")
- dllcall("user32.dll","Long","SendMessageA","Long",window.getmyhwnd(),"Long",161,"Long",2,"Long",1)
- endif
- endif
- return false
- endfunction
- //退出
- function Static_Close_click()
- dmui = null
- count
- arraysp.size(梦千年.大漠数组,count)
- for(i=0;i<count;i++)
- //梦千年.大漠数组[i].UnBindWindow()
- 梦千年.大漠数组[i] = null
- endfor
- help.exit()
- endfunction
- hwnd
- //添加窗口
- function button_addHwnd_click()
-
- help.messagebox("点击确定后1秒内鼠标指向目标窗口")
- help.sleep(1000)
-
- //获得窗口句柄
- winhandle = window.getmousemovewndhand()
-
- //判断窗口是否合法
- Caption = window.getwindowcaption(winhandle)
- if(str.findstr(Caption," ")<0)
- 绛尘辅助.输出("错误的窗口")
- return 0
- endif
- 分割标题
- 字符串.分割(Caption," ",分割标题)
- if( (分割标题[0]!="梦千年ol") || (分割标题[1]!="曙光(公测)"))
- 绛尘辅助.输出("错误的窗口")
- return 0
- endif
-
- var len//获取当前多开数量 //由于大漠对象的数组和窗口句柄的数组大小一样 所以用只一个变量
- arraysp.size(梦千年.窗口数组,len)
-
- //多开数量+1 重定义数组大小
- 梦千年.大漠数组 = arraysp.alloc(梦千年.大漠数组 , true , len + 1)
- 梦千年.窗口数组 = arraysp.alloc(梦千年.窗口数组 , true , len + 1)
- 梦千年.线程数组 = arraysp.alloc(梦千年.线程数组 , true , len + 1 , 2)
-
- //为多开变量赋值
- //梦千年.大漠数组[len] = com("dm.dmsoft")//创建一个大漠对象要占用10M内存 所以开启的时候创建
- 梦千年.窗口数组[len] = winhandle
-
- //用列表框保存窗口信息
- 列表框.增加文本("winlist",len&"|"&分割标题[2]&"|"&分割标题[3])
-
- 绛尘辅助.输出(Caption)
-
- endfunction
- 坐标x,坐标y,范围,怪
- //开始挂机
- function button_Start_click()
- //
-
- if(列表框.得到选项("winlist")==-1)
- 返回 0
- endif
- if(radio.getstate("radio_zidongdaguai"))
- wininfo = 数组[3]
- str.split(list.getchecktext("winlist"),"|",wininfo)
- 坐标x=edit.gettext("edit_X")
- 坐标y=edit.gettext("edit_Y")
- 范围 =edit.gettext("edit_R")
- 怪 =edit.gettext("edit_N")
- 梦千年.线程数组[wininfo[0]][0] = 线程.开启("梦千年.主函数",wininfo[0])
- endif
- endfunction
- //保存配置
- function edit_X_enchange()
- 梦千年.savecfg("挂机坐标",编辑框.获得文本("edit_X")&":"&编辑框.获得文本("edit_Y"))
- endfunction
- function edit_Y_enchange()
- 梦千年.savecfg("挂机坐标",编辑框.获得文本("edit_X")&":"&编辑框.获得文本("edit_Y"))
- endfunction
- function edit_R_enchange()
- 梦千年.savecfg("挂机范围",编辑框.获得文本("edit_R"))
- endfunction
- function edit_N_enchange()
- 梦千年.savecfg("怪物名称",编辑框.获得文本("edit_N"))
- endfunction
- function test_click()
- wininfo = 数组[3]
- str.split(list.getchecktext("winlist"),"|",wininfo)
- //
- //数据.怪物生命(wininfo[0])
- 绛尘辅助.大漠收费注册(梦千年.大漠数组[0])
- 坐标=数据.读取坐标(0)
- //坐标=数据.怪物坐标(wininfo[0])
- 绛尘辅助.输出("坐标:"&坐标[0]&","&坐标[1])
- endfunction
- endnamespace
- //空间结束
复制代码 |
|