|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
空间 游戏多开
hwnd=array[1]//窗口句柄组
tsall=array[1]//天使对象组
count=0//用于存储窗口数量
threadN=array[1]//线程句柄组
threadS=0//单开备用
tss//单开备用
次数,延时
功能 开始_点击()
help.messagebox("are you ready??")
hwnds=system.enum("游戏",0)
//分割窗口句柄
if(str.strleng(hwnds)==0)
help.messagebox("please open the game and restart this program")
help.exit()
else
if(str.findstr(hwnds,"|")<0)
hwnd[0]=hwnds
else
str.split(hwnds,"|",hwnd)
endif
//获得窗口句柄的个数
arraysp.size(hwnd,count)
//重新定义对象数组的大小
tsall=arraysp.alloc(tsall,true,count)
for(i=0;i<count;i++)
if(i==0)
tsall[0]=com("ts.TsSoft")
threadN[0]=thread.beginthread("游戏多开.linkup",0)
else
arraysp.add(threadN,0,1)
tsall=com("ts.TsSoft")
threadN=thread.beginthread("游戏多开.linkup",i)
endif
endfor
endif
功能结束
function linkup(i)
tsall.SetPath(help.getrcpath("rc:"))
ret=tsall.BindWindow(hwnd,"dx","dx","dx",1)//分别绑定窗口了
help.sleep(help.randto(500,3000))
窗口.激活(hwnd)//激活一次
if(ret==0)
help.messagebox("can't be used")
else
游戏多开.realstart(tsall,hwnd)//功能函数
endif
endfunction
function realstart(ts,fhwnd)
这中间是功能函数
endfunction
function number()//返回鼠标窗口在句柄组中的序号
mousehwnd=window.getmousemovewndhand()
for(i=0;i<count;i++)
if(mousehwnd==hwnd)
return i
endif
help.sleep(20)
endfor
return null
endfunction
功能 初始化()
//这里添加你要执行的代码
i=help.regdll("rc:TSPlug.dll",true)
traceprint("注册结果为"&i)
tab.active("选项卡0",0)
radio.setstate("单选框0",true)
功能结束
功能 退出_点击()
//这里添加你要执行的代码
for(i=0;i<count;i++)
tsall.UnBindWindow()
thread.closethread(threadN)
endfor
功能结束
功能 按钮0_点击()//暂停
i=游戏多开.number()
thread.suspendthread(threadN)
功能结束
功能 按钮1_点击()//恢复
i=游戏多开.number()
thread.resumethread(threadN)
功能结束
空间结束
因为没附上源码,重新发个帖子求教吧
以上是源码。因为游戏中一些意外干扰的问题,我希望在动作出错的时候,暂停脚本,允许手动鼠标操作,动作纠正以后,再继续脚本
但是有这样一个问题:
因为游戏必须绑定dx键鼠
所以需要解绑重绑,这样进程又会崩溃
想求教高手,这种情况一般是怎么解决的
|
|