TC官方合作论坛
标题:
龍吟第一期LY1.1DNF自动登录源码
[打印本页]
作者:
龍吟达人
时间:
2012-6-8 16:22
标题:
龍吟第一期LY1.1DNF自动登录源码
子空间程序点击下载:[attach]3736[/attach]
想来想去还是没有什么好的方法能够让代码的条理性在帖子上结构清晰一点,但是发上之后发现不够理想。以前最老版本TC复制到word再放上来是有颜色的,如今我这里没有老版本了,大家若想研究源码的就下载我放上来的文件吧!!!
本次主要想把一期1.0的自动登录思路通过源码让大家学习一下写法,也希望大家能够指出不理想或者简化代码的好想法。其实大家对1.0期的思路理解了完全可以自己写出来,所以不含代码注释,主要是看一下写法,每个人都有每个人写代码的思路,若一行一行代码看下去就没必要了。其实代码好写关键在于思路。最近也是比较忙,所以大家若有兴趣的可看一下,没兴趣的直接去1.0期看下思路即可。
自动登录思路1.0期传送门:
http://bbs.tyuyan.com/thread-11984-1-1.html
难点1:
可能大家看到代码是英文的看起来很头疼,若你是对TC中文命令很了解的话,应该看起来并不难,只要能识别大概意思即可,源码结构很清晰,并非杂乱。
难点2:
对中文命令不熟悉,看英文命令不懂什么意思,整个流程也不懂,对于架构也不知道怎么回事。此情况建议大家回到第一期LY1.0自动登录思路把整个流程了解一下再来看源码。
TC代码小技巧1:
可能很多人都问为什么你的源码结构如此清晰难道你每写一行都按很多空格进行排列?其实并非如此,如果大家以前用过其他语言的应该都知道。我们在TC写完后按下TAB即可间隔开代码来,这样就能把代码的结构整理得非常清晰。
TC代码小技巧2:
看到代码字体变得很小巧,这个大家可以采用键盘按下ctrl不放鼠标中键向上滚动实现。
异常情况:
1、有时候会出现qqlogin.exe 程序错误,对于这个情况大家可以加上去进行判断;
2、登录上去后窗口直接消息插件绑定失败,这个情况采用多线程解决;
这个2个情况关键要将他们出现后的消息框关闭。
理想样本源码发帖:
[attach]3735[/attach]
外部调用此子空间程序,只要调用:start_task这个函数即可。
以下为自动登录已封装好的登录源码:
namespace Launcher
function string get_word(int x1,int y1,int x2,int y2,string color_value) //【得到识别信息】
string distinguish_words,get_words
int words_number,index,mark
mark=0
while(true)
index=0
get_words=""
words_number=0
distinguish_words=""
distinguish_words = dm_龍吟.GetWords(x1,y1,x2,y2,color_value,1.0)
if(str.strleng(distinguish_words)>0)
words_number = dm_龍吟.GetWordResultCount(distinguish_words)
while(index<words_number)
get_words = str.strcat(get_words,dm_龍吟.GetWordResultStr(distinguish_words,index))
index = index + 1
endwhile
if(str.strleng(get_words)>0)
break
endif
endif
mark=mark+1
if(mark==30)
get_words=""
mark = 0
break
endif
help.sleep(100)
endwhile
return get_words
endfunction
function bool channelchoice(string model,string aberration) //【选择频道子程序】
//频道状态 ="【顺畅】":"00FF00"| "【良好】":"FFB100"|"【普通】":"FF8000"|"【拥挤】":"FF0000"
int intX,intY,get_option,mark
string channelstate = str.strcat(str.strcat(str.strcat(str.strcat("00FF00-",aberration),str.strcat("|FFB100-",aberration)),str.strcat("|FF8000-",aberration)),str.strcat("|FF0000-",aberration))
if(str.strcompare(model,"radio0")==0)
while(true)
start_entry.mousemoveclick(570,400,0)
help.sleep(1000)
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
dm_龍吟.MoveTo(10,10)
help.sleep(50)
intX = 0
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX>0)
break
endif
help.sleep(100)
endwhile
while(true)
if(str.strcompare(dm_龍吟.GetColor(283, 400),"737373")!=0)
start_entry.mousemoveclick(290, 400,0)
else
break
endif
help.sleep(100)
endwhile
while(true)
intX=0
intY=0
dm_龍吟.FindColor(27,82,605,346,channelstate,1.0,0,intX,intY)
if(intX<=0&&intY<=0)
start_entry.mousemoveclick(350, 400,0)
if(str.strcompare(dm_龍吟.GetColor(356,400),"737373")!=0)
continue
else
break
endif
else
start_entry.mousemoveclick(intX,intY,1) //【双击进入游戏】
break
endif
help.sleep(100)
endwhile
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
intX = 1
intY = 1
dm_龍吟.MoveTo(10,10)
help.sleep(50)
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX<=0&&intY<=0)
break
endif
help.sleep(100)
endwhile
if(intX<=0&&intY<=0)
break
endif
help.sleep(100)
endwhile
endif
if(str.strcompare(model,"radio1")==0)
//【得到下拉框的选项】
get_option = 0
get_option = combo.getcursel("ComboBox0")
if(get_option==0) //【亡者峡谷1】
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
start_entry.mousemoveclick(113,364,1) //【双击进入游戏】
help.sleep(1000)
intX = 1
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX<=0)
break
endif
help.sleep(100)
endwhile
return true
endif
if(get_option==1) //【亡者峡谷2】
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
start_entry.mousemoveclick(300,365,1) //【双击进入游戏】
help.sleep(1000)
intX = 1
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX<=0)
break
endif
help.sleep(100)
endwhile
return true
endif
if(get_option==2) //【拍卖行】
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
start_entry.mousemoveclick(488,359,1) //【双击进入游戏】
help.sleep(1000)
intX =1
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX<=0)
break
endif
help.sleep(100)
endwhile
return true
endif
if(get_option>2) //【指定频道】
get_option = get_option + 7
endif
mark=0
while(true)
start_entry.mousemoveclick(570,400,0)
help.sleep(1000)
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
intX = 0
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX>0)
break
endif
help.sleep(100)
endwhile
while(true)
if(str.strcompare(dm_龍吟.GetColor(283, 400),"737373")!=0)
start_entry.mousemoveclick(290, 400,0)
else
break
endif
endwhile
while(true)
intX=0
intY=0
dm_龍吟.FindStr(27,82,605,346,str.strcat("ch",convert.inttostr(get_option)),str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX<=0&&intY<=0)
start_entry.mousemoveclick(350, 400,0)
help.sleep(1000)
if(str.strcompare(dm_龍吟.GetColor(356,400),"737373")!=0)
continue
else
if(mark==1) //【第二次的时候再跳出】
break
endif
mark = mark + 1
endif
else
start_entry.mousemoveclick(intX,intY,1) //【双击进入游戏】
help.sleep(1000)
break
endif
help.sleep(100)
endwhile
if(intX>0&&intY>0)
while(true)//【注意:涉及循环都加一个判断避免游戏卡死不动】
intX = 1
intY = 1
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX<=0&&intY<=0)
break
endif
help.sleep(100)
endwhile
endif
if(intX<=0&&intY<=0)
break
endif
help.sleep(100)
endwhile
endif
return true
endfunction
function bool inputidandpassword(int judge_Hwnd,int id_Hwnd,int password_Hwnd,string ID,string password,int fblWide) //【输入账号密码子程序】
window.leftclick(judge_Hwnd,153,183) //【关闭登录失败消息框】
help.sleep(1000)
repeat(18) //【清除之前账号】
window.postkeypress(id_Hwnd,8)
help.sleep(10)
endrepeat
help.sleep(100)
window.poststring(id_Hwnd,ID) //【输入账号】
help.sleep(500)
drivemouse.mousemove(fblWide-687+452,407)
help.sleep(50)
drivemouse.leftclick(1)
help.sleep(50)
repeat(2) //【让光标指向输入密码处】
window.leftclick(password_Hwnd,20,20)
help.sleep(100)
endrepeat
// window.sendstring(password_Hwnd,password)
drivekeyboard.keystring(password) //【输入密码】【这里采用超级键盘还未找到后台办法】
help.sleep(500)
window.postkeypress(id_Hwnd,13) //【回车】
help.sleep(300)
return true
endfunction
function int returnhwndvalue(string enumvalue,string comparevalue,int positionx,int positiony,int rwidth,int rheight,int mode,int mark) //【model 0表示句柄 1、类名 2、进程名 3、父窗口得子窗口】
int position,get_positionx,get_positiony,get_width,get_height,get_hwnd
string son_hwnd,returnvalue
//[枚举返回需要的句柄]
returnvalue = system.enum(enumvalue,mode)
if(str.strleng(returnvalue)>0)
while(true)
position = str.findchar(returnvalue,124) //【查找“|”】
son_hwnd = str.strsub(returnvalue,0,position) //【分割得到子句柄】
get_positionx = 0
get_positiony = 0
window.getwindowpos(convert.strtoint(son_hwnd,0),get_positionx,get_positiony)
window.getwindowsize(convert.strtoint(son_hwnd,0),get_width,get_height)
if(str.strcompare(window.getwindowtype(convert.strtoint(son_hwnd,0)),comparevalue)==0&&get_positionx==positionx&&get_positiony==positiony&&get_width==rwidth&&get_height==rheight)
get_hwnd = convert.strtoint(son_hwnd,0)
break
endif
if(mark==1) //【不用对比坐标】
if(str.strcompare(window.getwindowtype(convert.strtoint(son_hwnd,0)),comparevalue)==0&&get_width==rwidth&&get_height==rheight)
get_hwnd = convert.strtoint(son_hwnd,0)
break
endif
endif
if(mark==2) //【对比标题】
if(str.strcompare(window.getwindowcaption(convert.strtoint(son_hwnd,0)),comparevalue)==0&&get_width==rwidth&&get_height==rheight)
get_hwnd = convert.strtoint(son_hwnd,0)
break
endif
endif
if(str.strcompare(son_hwnd,returnvalue)==0)
get_hwnd=0
break
endif
returnvalue = str.strcut(returnvalue,position+1,true) //【移除前子句柄】
help.sleep(20)
endwhile
endif
return get_hwnd
endfunction
//【账号、密码、大区和服务器、频道、路径、网络运行商、分辨率高、宽、色差】
function string start_task(string ID,string password,string servicer,string path,string Network_Run,int fblWide,string aberration,int mhyf)
int hwnd,ARP_mark,intX,intY,Button_Hwnd,get_Hwnd,judge_Hwnd,id_Hwnd,password_Hwnd,get_width,get_height
int change_time,error_time,over_time
string hwndlength,path1
int[] return_data = int[5]
path1 = str.strsub(path,0,2)+"\\地下城与勇士"
process.openprocess("Taskkill /f /im qqlogin.exe /im dnfchina.exe /im tencentdl.exe /im tensafe.exe /im dnfchinatest.exe") //【结束各种进程】
help.sleep(2000)
help.writeini("ServerSelection","LastSelectName",str.strcat(servicer,"区"),str.strcat(path1,"\\start\\UserSetting.ini")) //【设置大区服务器】
help.writeini("ServerSelection","LastSelectISP",Network_Run,str.strcat(path1,"\\start\\UserSetting.ini"))
help.writeini("DNF COMMON","DENY PVP INVITE","1",str.strcat(path1,"\\DNF.cfg"))
help.writeini("DNF COMMON","DENY PARTY INVITE","1",str.strcat(path1,"\\DNF.cfg")) //【拒绝组队】
help.writeini("DNF COMMON","SCREEN MODE","0",str.strcat(path1,"\\DNF.cfg")) //【设置成不全屏】
help.writeini("DNF COMMON","LAST CONNECT DATE","99999999",str.strcat(path1,"\\DNF.cfg")) //【不弹广告】
help.sleep(2000)
if(process.openprocess(path)==0)
//【检测路径是否填写错误】
return "路径不对"
endif
ARP_mark = 0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
hwnd = 0
hwnd=window.findwindow("地下城与勇士")
if(hwnd>0)
get_width = 0
get_height = 0
window.getwindowsize(hwnd,get_width,get_height)
if(get_width==687&&get_height==599)
window.setwindowpos(hwnd,fblWide-687,0)
Button_Hwnd = 0
Button_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),str.strcat(servicer,"区"),0,0,89,25,3,2) //【找需要登录的这个区按钮】
if(Button_Hwnd>0)
get_width=0
get_height=0
window.getwindowsize(Button_Hwnd,get_width,get_height)
if(get_width==89&&get_height==25)
break
endif
endif
endif
endif
ARP_mark = ARP_mark + 1
if(ARP_mark==300)
break
endif
help.sleep(20)
endwhile
if(ARP_mark==300) //【30秒没出现直接重新登录】
return "重新登录"
endif
ARP_mark = 0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
Button_Hwnd=0
Button_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),"Button",fblWide-687+490,513,147,56,3,0) //【找确定选择按钮】
if(Button_Hwnd>0)
help.sleep(5000)
break
endif
ARP_mark = ARP_mark + 1
if(ARP_mark==300)
break
endif
help.sleep(100)
endwhile
if(ARP_mark==300) //【30秒没出现直接重新登录】
return "重新登录"
endif
ARP_mark = 0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
window.leftclick(Button_Hwnd,62,27) //【点击确认选择】
help.sleep(300)
get_Hwnd = 1
get_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),str.strcat(servicer,"区"),0,0,89,25,3,2) //【直到消失】
if(get_Hwnd<=0)
break
endif
judge_Hwnd=0
judge_Hwnd = Launcher.returnhwndvalue("#32770","#32770",0,0,301,213,1,1) //【是否出现维护按钮】
if(judge_Hwnd>0)
window.postkeypress(judge_Hwnd,13)
help.sleep(300)
break
endif
ARP_mark = ARP_mark + 1
if(ARP_mark==200)
break
endif
help.sleep(100)
endwhile
if(ARP_mark==200)
return "重新登录"
endif
if(judge_Hwnd>0)
return "游戏正在维护"
endif
help.sleep(3000)
ARP_mark=0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
judge_Hwnd=0
judge_Hwnd = Launcher.returnhwndvalue("#32770","#32770",0,0,301,213,1,1) //【是否出现维护按钮】
if(judge_Hwnd>0)
window.postkeypress(judge_Hwnd,13)
help.sleep(300)
endif
hwndlength=""
hwndlength = system.enum("QQLogin.exe",2) //【直到该进程出现跳出】
if(str.strleng(hwndlength)>0)
break
endif
ARP_mark = ARP_mark + 1
if(ARP_mark==600) //【2分半还没进入登陆界面重新登陆】
break
endif
help.sleep(300)
endwhile
if(ARP_mark==600)
return "重新登录"
endif
ARP_mark =0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
hwndlength="1"
hwndlength = system.enum("QQLogin.exe",2) //【是否进程突然消失】
if(str.strleng(hwndlength)<=0)
break
endif
hwnd = 0
hwnd=window.findwindow("地下城与勇士")
if(hwnd>0)
window.setwindowpos(hwnd,fblWide-687,0)
window.setwindowtop(hwnd,true)
get_Hwnd=0
get_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),"Edit",fblWide-687+314,400,145,16,3,0) //【找到输入密码按钮跳出】
if(get_Hwnd>0)
break
endif
endif
ARP_mark =ARP_mark+1
if(ARP_mark==200)
break
endif
help.sleep(100)
endwhile
if(str.strleng(hwndlength)<=0||ARP_mark==200)
return "重新登录"
endif
help.sleep(2000)
ARP_mark = 0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
hwndlength="1"
hwndlength = system.enum("QQLogin.exe",2) //【是否进程突然消失】
if(str.strleng(hwndlength)<=0)
break
endif
password_Hwnd = 0
id_Hwnd = 0
password_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),"Edit",fblWide-687+314,400,145,16,3,0) //【账号按钮】
id_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),"Edit",fblWide-687+314,373,145,16,3,0) //【密码按钮】
if(password_Hwnd>0&&id_Hwnd>0)
window.postkeypress(get_Hwnd,13) //【向密码按钮执行回车来弹出的输入框判断是否进入登陆界面】
help.sleep(500)
judge_Hwnd=0
judge_Hwnd = Launcher.returnhwndvalue("TWINCONTROL","TWINCONTROL",fblWide-687+183,199,320,200,1,0) //【登陆失败消息框】
if(judge_Hwnd>0)
window.setwindowtop(hwnd,true)
Launcher.inputidandpassword(judge_Hwnd,id_Hwnd,password_Hwnd,ID,password,fblWide) //【调用输入账号密码子程序】
break
endif
help.sleep(100)
endif
ARP_mark = ARP_mark + 1
if(ARP_mark==1200)
break
endif
help.sleep(100)
endwhile
if(str.strleng(hwndlength)<=0||ARP_mark==1200)
return "重新登录"
endif
ARP_mark=0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
hwndlength="1"
hwndlength = system.enum("QQLogin.exe",2) //【是否进程突然消失】
if(str.strleng(hwndlength)<=0)
break
endif
window.setwindowtop(hwnd,true)
judge_Hwnd = Launcher.returnhwndvalue("TWINCONTROL","TWINCONTROL",183,199,320,200,1,0) //【登陆失败消息框】
if(judge_Hwnd>0)
Button_Hwnd = Button_Hwnd + 1
if(Button_Hwnd==change_time)
drivekeyboard.keypress(20,1)
help.sleep(100)
endif
Launcher.inputidandpassword(judge_Hwnd,id_Hwnd,password_Hwnd,ID,password,fblWide) //【调用输入账号密码子程序】
endif
help.sleep(100)
judge_Hwnd=0
judge_Hwnd = Launcher.returnhwndvalue("TWINCONTROL","TWINCONTROL",0,0,307,229,1,1) //【出现验证码消息框】
if(judge_Hwnd>0)
window.leftclick(judge_Hwnd,232,199) //【关闭验证码消息框,异常处理】
help.sleep(1000)
endif
password_Hwnd = Launcher.returnhwndvalue(convert.inttostr(hwnd),"Edit",fblWide-687+314,400,145,16,3,0)
if(password_Hwnd<=0)
break
endif
if(Button_Hwnd==error_time)
break
endif
ARP_mark = ARP_mark + 1
if(ARP_mark==600)
break
endif
help.sleep(100)
endwhile
if(Button_Hwnd==error_time)
return "重新登录"
endif
if(str.strleng(hwndlength)<=0||ARP_mark==600)
return "重新登录"
endif
help.sleep(5000)
ARP_mark = 0
while(true) //【注意:涉及循环都加一个判断避免游戏卡死不动】
hwnd = 0
hwnd=window.findwindow("地下城与勇士")
if(hwnd>0)
get_width=0
get_height=0
window.getwindowsize(hwnd,get_width,get_height)
if(get_width==640&&get_height==480)
window.setwindowpos(hwnd,fblWide-640,0)
window.setwindowtop(hwnd,true)
help.sleep(1000)
break
endif
endif
ARP_mark = ARP_mark + 1
if(ARP_mark == over_time)
break
endif
help.sleep(100)
endwhile
if(ARP_mark == over_time)
return "重新登录"
endif
if(dm_龍吟.BindWindow(hwnd,"normal","windows2","normal",0)!=1)
return "绑定失败"
endif
while(true) //【判断进入游戏频道】//【注意:涉及循环都加一个判断避免游戏卡死不动】
if(!window.iswindow(hwnd))
break
endif
dm_龍吟.MoveTo(10,10)
help.sleep(50)
intX = 0
dm_龍吟.FindStr(417,334,606,391,"拍卖行",str.strcat("c8c3a9-",aberration),1.0,intX,intY)
if(intX>0)
help.sleep(1000)
break
endif
help.sleep(100)
endwhile
if(!window.iswindow(hwnd))
return "重新登录"
endif
if(radio.getstate("radio1"))
Launcher.channelchoice("radio1",aberration) //【选择频道】
else
Launcher.channelchoice("radio0",aberration) //【选择频道】
endif
ARP_mark=0
while(true) //【判断进入游戏频道】//【注意:涉及循环都加一个判断避免游戏卡死不动】
intX = 0
intY = 0
dm_龍吟.FindColor(56,54,182,233,str.strcat("d1b994-",aberration),1.0,0,intX,intY)
if(intX>0&&intY>0)
help.sleep(1000)
break
endif
if(!window.iswindow(hwnd))
break
endif
dm_龍吟.FindColor(446,444,553,530,str.strcat("ddc58d-",aberration),1.0,0,intX,intY)
if(intX>0&&intY>0)
ARP_mark=ARP_mark + 1
endif
if(ARP_mark==250)
break
endif
help.sleep(100)
endwhile
if(!window.iswindow(hwnd))
return "重新登录"
endif
if(ARP_mark==250)
ARP_mark=0
return "0"
endif
int x1,y1,x2,y2,id_mark
string get_level
if(radio.getstate("check9")) //【只要满足16就ok】
//56,53,181,233 第1个角色185,53,310,233 第2个角色56,237,181,417 第二排第1个角色
//【左边相差129 下边相差 184 初始化:579,69 翻页坐标:580,399 下一页 Lv】
x1=56
y1=53
x2=181
y2=233
id_mark=1
//【扫描第一号没有等级表示登录到错误的区需要换号】
repeat(2)
start_entry.mousemoveclick(579,69,0)
endrepeat
help.sleep(1000)
while(true)
ARP_mark=0
while(true)
intX = 0
intY = 0
dm_龍吟.FindStr(x1,y1,x2,y2,"Lv",str.strcat("d1b994-",aberration),1.0,intX,intY)
if(intX>0&&intY>0)
break
endif
if(ARP_mark==20)
break
endif
ARP_mark = ARP_mark + 1
help.sleep(100)
endwhile
if(ARP_mark==20)
id_mark=0
break
endif
get_level = Launcher.get_word(intX-6,intY-6,intX+27,intY+10,str.strcat("d1b994-",aberration))
if(str.strleng(get_level)<=0)
id_mark = 0
break
else
if(convert.strtoint(str.strcut(get_level,2,true),0)>=16&&id_mark==mhyf)
start_entry.mousemoveclick(x1+118,y1+143,0)
break
endif
endif
x1 = x1 + 129
x2 = x2 + 129
if(id_mark==4||id_mark==12)
y1 = y1 + 184
y2 = y2 + 184
x1 = 56
x2 = 181
endif
if(id_mark==8)
repeat(2)
start_entry.mousemoveclick(580,399,0)
endrepeat
help.sleep(1000)
x1=56
y1=53
x2=181
y2=233
endif
if(id_mark==16)
id_mark = 0
break
endif
id_mark = id_mark + 1
help.sleep(100)
endwhile
endif
if(id_mark>0)
while(true)
if(!window.iswindow(hwnd))
break
endif
start_entry.mousemoveclick(357,440,0)
help.sleep(500)
intX = 0
dm_龍吟.FindStr(19,463,56,479,"Lv",str.strcat("ffffff-",aberration),1.0,intX,intY)
if(intX>0)
window.setwindowtop(hwnd,false)
break
endif
help.sleep(100)
endwhile
endif
if(!window.iswindow(hwnd))
return "重新登录"
endif
return convert.inttostr(hwnd)
endfunction
endnamespace
复制代码
作者:
灬澄澄丶
时间:
2012-6-8 16:26
沙发,看英文表示压力大,看长英文表示压力很大!
作者:
tyuyan
时间:
2012-6-8 16:59
全英文。 。 头晕。。 而且都没得注释。。
作者:
lt729541702
时间:
2012-6-8 17:02
灰常厉害啊
作者:
TC
时间:
2012-6-8 20:23
看了一下,不错的作品,
作者:
→阿彌陀佛←
时间:
2012-6-21 23:37
看不怎么明白,全是英文,学英文曲
作者:
梅春雨
时间:
2012-7-21 08:38
支持中文
作者:
梅春雨
时间:
2012-7-28 18:40
支持中文11111111111111111111111111111111111111
作者:
舍我其谁
时间:
2012-9-1 12:15
好复杂啊
作者:
jxwwdt
时间:
2012-11-12 11:34
看英文表示压力大
作者:
yinshi_yxq
时间:
2012-11-12 17:19
级别不够,看不到555555555555555555
作者:
海贼蛋蛋
时间:
2012-11-17 17:39
为什么无法下载啊
作者:
357996943
时间:
2012-11-24 18:18
你能不用大漠kcg?
吗?
作者:
mqfly
时间:
2013-1-19 12:05
学习学习
作者:
hjw373322168
时间:
2013-1-20 05:02
必须支持,感谢分享,谢谢!
作者:
l520124
时间:
2013-1-28 14:27
1111111
作者:
ldjs123
时间:
2013-2-1 16:45
不怎么明白,全是英文,学英文曲
作者:
香哥娱乐
时间:
2013-2-28 22:43
123123额额额
作者:
j343230047
时间:
2013-3-8 13:05
看到全英文一头雾水
作者:
ch738967757
时间:
2013-3-8 15:10
沙发,看英文表示压力大,看长英文表示压力很大!
作者:
1148640062
时间:
2013-3-29 15:48
dfds
作者:
诅咒丶祭
时间:
2013-4-2 01:49
看晕了
作者:
973024711
时间:
2013-4-12 02:12
用浏览器翻译成 中文~好玩,,,
作者:
dashabi
时间:
2013-5-5 05:51
脚本语法错误
作者:
mprtm111
时间:
2013-5-22 17:39
好东西
作者:
guyuanxi520
时间:
2013-6-6 16:42
努力学习ing
作者:
809636837
时间:
2014-1-4 16:02
eeeeeeeeeeeeeee
作者:
菜鸟狙丶
时间:
2014-1-4 16:13
看见此代码,表示什么也看不清了……
[attach]13698[/attach]
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1