TC官方合作论坛

 找回密码
 立即注册
查看: 1888|回复: 5

[已解决] 经常"TCExe已停止工作“,请教高手解答,谢谢

[复制链接]
发表于 2013-11-7 15:45:11 | 显示全部楼层 |阅读模式


请教高手解答。我自己编的脚本,主题是为了实现挂机反复挖矿。自己编的脚本,比较垃圾,纯新手,就不上传脚本了。
从程序的运行来看,基本实现了挖矿目的。但是,运行一段时间后,经常出现上述图片,结果就悲催了,机器开着,程序死了,白挂机了。一般我下午17:00挂机,”停止工作“一般出现的时间段不确定。自己考虑了几个原因,
请各位高手帮我释疑:
1、脚本中的找图命令较多,又是反复找图。是不是因为找图命令太多,占用内存多,造成win7(我的电脑是WIN7)系统停止运行命令?
2、4。1版本TC,是不是循环次数有限制?
3、我一般用笔记本挂机,笔记本是不是特别容易出现这种情况?因为笔记本不容易散热?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2013-11-7 16:40:54 | 显示全部楼层
用的什么插件?对象创建是怎么个套路?这个很关键,请提供。我以前刚学习tc的时候遇到类似的问题,纠结了很长一段时间,总觉得时候外部原因,我现在可以告诉你,90%都是代码问题,从代码入手吧
回复 支持 反对

使用道具 举报

发表于 2013-11-7 15:55:38 | 显示全部楼层
找图循环过多,内存积累,程序崩溃
回复 支持 反对

使用道具 举报

发表于 2013-11-8 08:24:11 | 显示全部楼层
其实你的代码可以简化的,,,,死循环太多。再有的是适当加点延迟,防止界面卡住,思路明确点,可以少很多循环的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-8 09:03:38 | 显示全部楼层
谢谢各位的解答。我是新手,循环搞的不是很明白,脚本编写的也比较笨重。请各位专家再帮忙看看我的脚本吧,能帮忙该写下最好了,谢谢了。还有,有些必要的找图之必需有的。再就是,这个挖矿脚本必需得循环吧?因为基本流程是:采集——判断货车满?——满了就卸活——返回继续采集。
多谢解答。

空间 野外采集_笔记本
int a,b,c,i,x,y,x1,x2,n1,线程句柄

function 主程序()//屏幕分辨率1360*768,游戏分辨率1360*768
    b=0
    i=0
    野外采集_笔记本.上马()
    help.sleep(1000)
    图像.找图(0,20,1360,767,"rc:火龙晶.bmp",#505050,0.4,0,x,y)
    if(x>0)
        野外采集_笔记本.采集()
    endif
    //==========高级符文返回粗糙山丘==========
    mouse.mousemove(595,750)
    mouse.leftclick(1)
    //keyboard.keypress(66,1)//"B"
    help.sleep(2000)
    图像.找图(883,213,1100,560,"rc:高级时空符文.bmp",#303030,0.8,0,x,y)
    mouse.mousemove(x,y)
    mouse.rightclick(1)
    mouse.mousemove(725, 506)
    help.sleep(2000)
    mouse.leftclick(1)
    mouse.mousemove(507, 484)
    help.sleep(2000)
    mouse.leftclick(1)
    //help.sleep(4500)
    help.sleep(2000)
    图像.找图(1305, 175, 1325, 190,"rc:背包打开.bmp",#101010,0.8,0,x,y)
    if(x>0)
        mouse.mousemove(x,y)
        mouse.leftclick(1)
    endif
    help.sleep(1000)
    图像.找图(600,200,750,230,"rc:物资捐献窗口.bmp",#101010,0.8,0,x,y)
    if(x>0)
        mouse.mousemove(680,590)
        mouse.leftclick(1)
    endif
    while(真)//Rem back此处做一标记,没有采集返回原点
        keyboard.keypress(82,3)//"R"
        help.sleep(500)
        野外采集_笔记本.上马()
        野外采集_笔记本.自动寻路采集区()
        //Call 智力竞赛
        //Call pk竞赛邀请
        野外采集_笔记本.初始采集点()
        //.....................................终于开始采集了
        //Rem startdig
        野外采集_笔记本.采集()
    endwhile//Goto back货车未满,返回继续挖矿
    return 真
endfunction

function 上马()
    图像.找图(978,685,1355,764,"rc:上马.bmp",#101010,0.8,0,x,y)
    if(x>0)
        mouse.mousemove(x,y)//995,705
        mouse.leftclick(1)
        //else
        //    keyboard.keypress(82,2)//"R"
        //    help.sleep(500)
        //    图像.找图(978,685,1355,764,"rc:上马.bmp",#101010,0.8,0,x,y)
        //    if(x>0)
        //        mouse.mousemove(x,y)//995,705
        //        mouse.leftclick(1)
        //    endif
    endif
    return 真
endfunction

function 自动寻路采集区()
    野外采集_笔记本.关闭智力竞赛等对话框()
    图像.找图(1190,40,1280,190,"rc:自动寻路.bmp",#101010,0.8,0,x,y)
    mouse.mousemove(x+20,y+5)
    mouse.leftclick(1)
    help.sleep(2000)
    图像.找图(1190,100,1340,420,"rc:采集区.bmp",#101010,0.8,0,x,y)
    mouse.mousemove(x+50,y+8)
    mouse.leftclick(1)
    help.sleep(1000)
    mouse.mousemove(x-140,y+50)
    mouse.leftclick(1)
    x1=0
    c=0
    while(x1<1)
        help.sleep(2000)
        图像.找图(1250, 20, 1330, 40,"rc:采集二区坐标.bmp",#101010,0.8,0,x,y)
        x1=x
        野外采集_笔记本.战斗撤退()
        图像.找图(180, 30, 230, 70,"rc:外挂提问-对话框.bmp",#101010,0.8,0,x,y)
        if(x>0)
            野外采集_笔记本.外挂()
            help.sleep(1000)
            野外采集_笔记本.自动寻路采集区()
        endif
        c=c+1
        if(c>10)
            图像.找图(0,20,1360,767,"rc:火龙晶.bmp",#505050,0.4,0,x,y)
            if(x>0)
                野外采集_笔记本.采集()
            endif
            野外采集_笔记本.主程序()//Goto start
        endif
    endwhile
    return 真
endfunction

function 战斗撤退()
    图像.找图(1270,730,1310,765,"rc:判断战斗界面.bmp",#101010,0.8,0,x,y)
    if(x>0)
        keyboard.keypress(82,1)//"R"
        help.sleep(1000)
        mouse.mousemove(565,440)
        mouse.leftclick(1)
        help.sleep(2000)
        keyboard.keypress(27,1)//"Esc"
    endif
    return 真
endfunction

function 外挂()
    a=0
    图像.找图(180, 30, 230, 70,"rc:外挂提问-对话框.bmp",#303030,0.6,0,x,y)
    if(x>0)
        循环(a<10)
            a=0
            for(10)
                help.sleep(200)
                图像.找图(180, 30, 230, 70,"rc:外挂提问-对话框.bmp",#303030,0.6,0,x,y)
                如果(x>0)
                    图像.找图(600,430,640,450,"rc:外挂提问-回答错误确定.bmp",#102030,0.8,0,x,y)
                    如果(x>0)
                        keyboard.keypress(27,1)//"Esc"
                    否则
                        keyboard.keypress(27,1)//"Esc"
                        图像.找图(590, 40, 1070, 90,"rc:外挂提问-答案0.bmp",#102030,0.8,0,x,y)
                        如果(x>0)
                            鼠标.移动(x+8, y+4)
                            鼠标.左键单击(1)
                            鼠标.移动(1120, 80)
                            鼠标.左键单击(1)
                        否则
                            鼠标.移动(1120, 80)
                            鼠标.左键单击(1)
                        如果结束
                        继续
                    如果结束
                    继续
                否则
                    a=a+1
                    图像.找图(650, 380, 710, 430,"rc:外挂提问-对话框2.bmp",#102030,0.8,0,x,y)
                    如果(x>0)
                        鼠标.移动(680, 410)
                        鼠标.左键单击(1)
                        辅助.等待(500)
                    如果结束
                如果结束
            endfor
        循环结束
        图像.找图(435,410,470,440,"rc:退出游戏对话框.bmp",#102030,0.8,0,x,y)
        if(x>0)
            keyboard.keypress(27,1)//"Esc"
        endif
        keyboard.keypress(69,2)
        help.sleep(1000)
    endif
    return 真
endfunction

function 改变位置()
    野外采集_笔记本.上马()
    mouse.mousemove(115,677)
    help.sleep(100)
    mouse.leftclick(1)
    help.sleep(2000)
    return 真
endfunction

function 判断货车满了吗()
    图像.找图(20,110,120,400,"rc:透明图.货车已满1.bmp",#000000,1,0,x,y)
    if(x>0)
        野外采集_笔记本.卸货()
    endif
    图像.找图(20,110,120,400,"rc:透明图.货车已满2.bmp",#000000,1,0,x,y)
    if(x>0)
        野外采集_笔记本.卸货()
    endif
    图像.找图(20,110,120,400,"rc:透明图.货车已满3.bmp",#000000,1,0,x,y)
    if(x>0)
        野外采集_笔记本.卸货()
    endif
    return 真
endfunction

function 自动寻路卸货()
    图像.找图(1190,40,1280,190,"rc:自动寻路.bmp",#101010,0.8,0,x,y)
    mouse.mousemove(x+20,y+5)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(x+30,y+130)
    mouse.leftclick(1)
    return 真
endfunction

function 聊天()
    //世界聊天
    mouse.mousemove(210, 702)
    mouse.leftclick(1)
    help.sleep(500)
    keyboard.keypress(40,1)//"Down"
    help.sleep(500)
    keyboard.keypress(13,1)//"Enter"
    help.sleep(1000)
    return 真
endfunction

function 关闭智力竞赛等对话框()
    图像.找图(1070,130,1120,180,"rc:智力竞赛.bmp",#303030,0.2,0,x,y)
    if(x>0)
        mouse.mousemove(1100,150)
        mouse.leftclick(1)
        help.sleep(1000)
    endif
    图像.找图(1160,20,1190,50,"rc:智力竞赛关闭.bmp",#303030,0.2,0,x,y)
    if(x>0)
        mouse.mousemove(1175,35)
        mouse.leftclick(1)
        help.sleep(1000)
        mouse.mousemove(560,440)
        mouse.leftclick(1)
        help.sleep(1000)
    endif
    //    FindPic ,"Attachment:\.bmp",0.8,intX001,intY001
    //    图像.找图(900,25,1090,200,"rc:智力竞赛-提交.bmp",#303030,0.2,0,x,y)
    //    if intX001 > 0 And intY001 > 0 Then
    //        mouse.mousemove(1070, 60
    //        KeyDown "Shift", 1
    //        mouse.leftclick(1)
    //        KeyUp "Shift", 1
    //        help.sleep(3000
    //        FindPic 4,18,1360,767,"Attachment:\智力竞赛-确定.bmp",0.8,intX002,intY002
    //        intX002=intX002+40
    //        intY002=intY002+15
    //        mouse.mousemove(intX002, intY002
    //        help.sleep(100
    //        KeyDown "Shift", 1
    //        mouse.leftclick(1)
    //        KeyUp "Shift", 1
    //    endif
    //End Sub
    //Sub pk竞赛邀请
    //    FindPic 4,18,1360,767,"Attachment:\pk竞赛-知道了.bmp",0.8,intX,intY
    //    if(x>0)
    //        mouse.mousemove(intx+28, inty+7
    //        KeyDown "Shift", 1
    //        mouse.leftclick(1)
    //        KeyUp "Shift", 1
    //    endiffunction bool MOVE()
    //    //...........成功退出“pk竞赛邀请框”..........
    //End Sub
    return 真
endfunction

function 卸货()
    //Rem enddig
    //==========用初级符文,返回市场==========
    keyboard.keypress(82,1)//"R"
    help.sleep(500)
    野外采集_笔记本.上马()
    help.sleep(1000)
    keyboard.keypress(66,1)//"B"
    help.sleep(2000)
    图像.找图(883,213,1100,560,"rc:初级时空符文.bmp",#101010,0.8,0,x,y)
    mouse.mousemove(x,y)
    mouse.rightclick(1)
    help.sleep(2000)
    mouse.mousemove(525, 481)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(507, 482)
    mouse.leftclick(1)
    help.sleep(3000)
    野外采集_笔记本.自动寻路卸货()
    x2=0
    n1=0
    while(x2<1)
        help.sleep(20000)
        图像.找图(380, 380, 430, 430,"rc:卸货NPC.bmp",#101010,0.8,0,x,y)
        x2=x
        野外采集_笔记本.战斗撤退()
        图像.找图(180, 30, 230, 70,"rc:外挂提问-对话框.bmp",#101010,0.8,0,x,y)
        if(x>0)
            野外采集_笔记本.外挂()
            help.sleep(1000)
            野外采集_笔记本.自动寻路卸货()
        endif
        n1=n1+1
        if(n1==10)
            keyboard.keypress(27,1)//"Esc"
            野外采集_笔记本.卸货()//Goto enddig
        endif
    endwhile
    //进入军团,卸货
    mouse.mousemove(879, 749)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(902, 600)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(776, 492)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(660, 491)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(680, 575)
    mouse.leftclick(1)
    help.sleep(8000)
    mouse.mousemove(536, 482)
    mouse.leftclick(1)
    help.sleep(2000)
    mouse.mousemove(501, 482)
    mouse.leftclick(1)
    help.sleep(500)
    mouse.mousemove(684, 587)
    mouse.leftclick(1)
    help.sleep(1000)
    keyboard.keypress(27,1)//"Esc"
    //野外采集_笔记本.聊天()
    野外采集_笔记本.主程序()//Goto start
    return 真
endfunction

function 初始采集点()
    help.sleep(1500)//1500
    //向右上角移动3次
    for(3)
        mouse.mousemove(1032,231)
        mouse.leftclick(1)
        help.sleep(1200)
    endfor
    if(b==0)//向左上移动1次
        mouse.mousemove(303,215)
        mouse.leftclick(1)
        help.sleep(2000)
    endif
    b=0
    return 真
endfunction

function 采集()
    i=0
    for(5)
        if(i==1)
            //        Rem 位置改变
            野外采集_笔记本.改变位置()
        endif
        while(真)//Rem digging
            图像.找图(0,20,1360,767,"rc:火龙晶.bmp",#505050,0.4,0,x,y)
            if(x>0)
                mouse.mousemove(x+10, y+30)
                help.sleep(100)
                mouse.rightclick(2)
                //采矿需要60秒时间
                //10秒后判断是否真正开始采矿
                help.sleep(6000)
                图像.找图(580,390,765,410,"rc:采集时的进度条.bmp",#101010,0.8,0,x,y)
                if(x<0)
                    野外采集_笔记本.判断货车满了吗()
                    野外采集_笔记本.改变位置()//Goto 位置改变
                    continue
                endif
                help.sleep(16500)
                keyboard.keypress(82,1)//"R"
                b=1
                continue//Goto digging
            else
                break
            endif
        endwhile
        i=1
    endfor
    return 真
endfunction

function MOVE()
   
    return 真
endfunction

功能 开始_点击()
    线程句柄=线程.开启("野外采集_笔记本.主程序","")
    返回 真
   
功能结束

功能 退出_点击()
    线程.关闭(线程句柄)
    辅助.退出()
    返回 真
功能结束

功能 停止_热键()
    线程.关闭(线程句柄)
    返回 真
功能结束

功能 热键0_热键()
    线程句柄=线程.开启("野外采集_笔记本.主程序","")
   
    返回 真
功能结束


空间结束

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-8 09:06:10 | 显示全部楼层
还有一个问题,我的脚本没用插件,不会用。貌似不用插件也能把脚本编写出来,就没用。插件有什么好处吗?降低内存占用?。。。。。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-23 13:49 , Processed in 0.043954 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表