TC官方合作论坛

 找回密码
 立即注册
查看: 1811|回复: 6

[问题] 脚本运行半个小时就卡死程序也吧动了

[复制链接]
发表于 2014-9-18 21:46:32 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 1141337693 于 2014-10-3 18:48 编辑

脚本生成后运行一会就卡死了,调试的时候就没有问题,求指教!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2014-9-18 22:29:47 | 显示全部楼层
这个要看你程序的结构是否合理才知道
回复 支持 反对

使用道具 举报

发表于 2014-9-18 22:29:27 | 显示全部楼层
肿么会呢.
回复

使用道具 举报

发表于 2014-9-18 22:43:17 | 显示全部楼层
求源码
回复

使用道具 举报

发表于 2014-9-19 11:16:29 | 显示全部楼层
用前台试试 如果还卡死就你代码问题
回复 支持 反对

使用道具 举报

发表于 2014-9-20 01:48:55 | 显示全部楼层
明日复明日,明日何其多,我生待明日,万事成蹉跎。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-22 20:46:52 | 显示全部楼层

空间 自动打怪
//默认空间
人物X,人物Y
左右按键
次数=0
主线程句柄
开关=真
暂停=真
恢复=假
dm=com("dm.dmsoft")
//开始按钮_点击操作
功能 主程序()
    循环(真)
        自动打怪.下地图()
        自动打怪.菜单()
        返回值=自动打怪.跑图()
        如果(返回值=="程序结束")
            调试输出("过关")
            辅助.等待(5000)
            自动打怪.再次挑战()
            辅助.等待(5000)
        如果结束
        辅助.等待(500)
    循环结束
功能结束
功能 自动打怪()
    X,Y,i=0
    自动打怪=dm.findpic(622,248,1404,586,"怪物.bmp|怪物1.bmp|怪物2.bmp|怪物3.bmp","050505",0.9,1,X,Y)
    如果(自动打怪>=0)
        循环(真)
            自动打怪.HP()
            自动打怪.MP()
            如果(i==10)
                键盘.按下(83)
                辅助.等待(辅助.随机数(300,400))
                键盘.弹起(83)
            如果结束
            如果(i==20)
                键盘.按下(87)
                辅助.等待(辅助.随机数(300,400))
                键盘.弹起(87)
                i=0  
            如果结束
            自动打怪=dm.findpic(622,248,1404,586,"怪物.bmp|怪物1.bmp|怪物2.bmp|怪物3.bmp","050505",0.9,1,X,Y)
            如果(自动打怪>=0)
                图像值=图像.坐标点取色(1184,565)
                如果(图像值==#ff3232)
                    键盘.按键(81)
                    辅助.等待(10)
                    鼠标.移动(X,Y)
                    鼠标.右键单击()
                否则
                    图像值=图像.坐标点取色(1220,565)
                    如果(图像值==#32ffff)
                        键盘.按键(69)
                        辅助.等待(10)
                        鼠标.移动(X,Y)
                        鼠标.右键单击()
                    否则
                        鼠标.移动(X,Y)
                        鼠标.右键单击()
                    如果结束
                如果结束
            否则
                跳出
            如果结束
            i++
            辅助.等待(200)
        循环结束
    如果结束
    i=0
功能结束
功能 初始化()
    句柄=窗口.自身句柄()
    窗口.设置位置(句柄,39,600)
    窗口句柄=窗口.找到窗口("地下城与勇士")
    窗口.设置位置(窗口句柄,616,18)
    窗口.置顶(窗口句柄)
    系统.设置路径(辅助.获取资源路径("rc:"))
    dm_ret = dm.SetDict(0,"宋体9.txt")
    路径=系统.获取程序路径()&"日志记录.TXT"
    是否存在=文件.是否存在(路径)
    如果(是否存在)
    否则
        文件句柄=文件.创建(路径,"读写")
        文件.关闭(文件句柄)
    如果结束
   
功能结束
功能 自动捡物(数)
    X,Y
    遍历(i=0;i<数;i++)
        自动捡物=dm.findpic(622,248,1404,586,"物品.bmp","050505",0.9,1,X,Y)
        如果(自动捡物>=0)
            鼠标.移动(X+5,Y-5)
            鼠标.左键单击(1)
        如果结束
        辅助.等待(100)
    遍历结束
功能结束
功能 人物坐标()
    遍历(i=0;i<5;i++)
        自动打怪.下地图()
        人物坐标=dm.findpic(612,133,1421,601,"人物.bmp","050505",0.9,1,人物X,人物Y)
        如果(人物坐标>=0)
            调试输出("人物"&人物X&","&人物Y)
            返回 0
        如果结束
        键盘.按下(68)
        辅助.等待(辅助.随机数(500,800))
        键盘.弹起(68)
        辅助.等待(100)
        人物坐标=dm.findpic(612,133,1421,601,"人物.bmp","050505",0.9,1,人物X,人物Y)
        如果(人物坐标>=0)
            调试输出("人物"&人物X&","&人物Y)
            返回 0
        如果结束
        键盘.按下(65)
        辅助.等待(辅助.随机数(500,800))
        键盘.弹起(65)
        辅助.等待(100)
        人物坐标=dm.findpic(612,133,1421,601,"人物.bmp","050505",0.9,1,人物X,人物Y)
        如果(人物坐标>=0)
            调试输出("人物"&人物X&","&人物Y)
            返回 0
        如果结束
        键盘.按下(83)
        辅助.等待(辅助.随机数(500,800))
        键盘.弹起(83)
        辅助.等待(100)
        人物坐标=dm.findpic(612,133,1421,601,"人物.bmp","050505",0.9,1,人物X,人物Y)
        如果(人物坐标>=0)
            调试输出("人物"&人物X&","&人物Y)
            返回 0
        如果结束
        键盘.按下(87)
        辅助.等待(辅助.随机数(500,800))
        键盘.弹起(87)
        辅助.等待(100)
        人物坐标=dm.findpic(612,133,1421,601,"人物.bmp","050505",0.9,1,人物X,人物Y)
        如果(人物坐标>=0)
            调试输出("人物"&人物X&","&人物Y)
            返回 0
        如果结束
        辅助.等待(1000)
    遍历结束
    人物X=""
    人物Y=""
功能结束
功能 跑图()
    循环(真)
        自动打怪.人物坐标()
        如果(人物X=="")
            返回 0
        如果结束
        如果(人物X<1150)
            左右按键=68
            循环(真)
                调试输出("1")
                延时=(1150-人物X)/0.252
                键盘.按键(左右按键)
                辅助.等待(辅助.随机数(100,150))
                键盘.按下(左右按键)
                辅助.等待(延时)
                键盘.弹起(左右按键)
                辅助.等待(500)
                自动打怪.下地图()
                自动打怪.异常处理()
                自动打怪.自动打怪()
                辅助.等待(500)
                自动打怪.自动捡物(10)
                返回值1=自动打怪.过门1()
                如果(返回值1=="OK")
                    返回 0
                如果结束
                返回值=自动打怪.通关()
                如果(返回值=="通关")
                    返回 "程序结束"
                如果结束
                自动打怪.人物坐标()
                如果(人物X=="")
                    返回 0
                如果结束
                如果(人物X>=1150)
                    返回 0
                如果结束
            循环结束
        如果结束
        辅助.等待(1000)
        自动打怪.人物坐标()
        如果(人物X=="")
            返回 0
        如果结束
        如果(人物X>920)
            左右按键=65
            循环(真)
                调试输出("2")
                延时=(人物X-920)/0.252
                键盘.按键(左右按键)
                辅助.等待(辅助.随机数(100,150))
                键盘.按下(左右按键)
                辅助.等待(延时)
                键盘.弹起(左右按键)
                辅助.等待(500)
                自动打怪.下地图()
                自动打怪.异常处理()
                自动打怪.自动打怪()
                辅助.等待(500)
                自动打怪.自动捡物(10)
                返回值1=自动打怪.过门1()
                如果(返回值1=="OK")
                    返回 0
                如果结束
                返回值=自动打怪.通关()
                如果(返回值=="通关")
                    返回 "程序结束"
                如果结束
                自动打怪.人物坐标()
                如果(人物X=="")
                    返回 0
                如果结束
                如果(人物X<=920)
                    返回 0
                如果结束
            循环结束
        如果结束
        辅助.等待(1000)
    循环结束
功能结束
功能 过门1()
    门X,门Y
    门1=dm.findpic(1265,365,1411,519,"门开.bmp|门开1.bmp|门开2.bmp","050505",0.9,1,门X,门Y)
    如果(门1>=0)
        辅助.等待(500)
        自动打怪.人物坐标()
        如果(人物X=="")
            返回 0
        如果结束
        左右延时=数学.绝对值((门X-人物X)/0.252)
        上下延时=数学.绝对值((门Y-(人物Y+147))/0.1)
        自动打怪.门方向判断(左右延时,上下延时,门X,门Y)
        返回 "OK"
    如果结束
功能结束
功能 门方向判断(左右延时,上下延时,门X,门Y)
    自动打怪.人物坐标()
    如果(人物X=="")
        返回 0
    如果结束
    如果(人物Y=="")
        返回 0
    如果结束
    如果((人物Y+147)>门Y)
        调试输出("上")
        键盘.按下(87)
        辅助.等待(上下延时)
        键盘.弹起(87)
    如果结束   
    如果((人物Y+147)<门Y)
        调试输出("下")
        键盘.按下(83)
        辅助.等待(上下延时)
        键盘.弹起(83)
    如果结束
    如果((人物Y+147)==门Y)
        调试输出("在同位置")
    如果结束
    如果(人物X>门X)
        调试输出("左")
        键盘.按键(65)
        辅助.等待(辅助.随机数(100,150))
        键盘.按下(65)
        辅助.等待(左右延时)
        键盘.弹起(65)
    如果结束
    如果(人物X<门X)
        调试输出("右")
        键盘.按键(68)
        辅助.等待(辅助.随机数(100,150))
        键盘.按下(68)
        辅助.等待(左右延时)
        键盘.弹起(68)
    如果结束
    如果(人物X==门X)
        调试输出("在同位置")
    如果结束
功能结束
功能 通关()
    X,Y
    遍历(i=0;i<5;i++)
        通关=dm.findpic(1383,17,1418,46,"通关.bmp|通关1.bmp","050505",0.9,1,X,Y)
        如果(通关>=0)
            自动打怪.日志记录()
            返回 "通关"
        如果结束
        辅助.等待(20)
    遍历结束
功能结束
功能 背包()
    X,Y,i=0,背包X,背包Y
    调试输出("3")
    循环(真)
        如果(i>=10)
            i=0
            返回 0
        如果结束
        背包=dm.findpic(630,34,1400,591,"背包.bmp","050505",0.9,1,背包X,背包Y)
        如果(背包>=0)
            鼠标.移动(背包X,背包Y)
            辅助.等待(100)
            鼠标.左键按下()
            辅助.等待(500)
            鼠标.移动(1149,56)
            辅助.等待(100)
            鼠标.左键弹起()
            辅助.等待(500)
            跳出
        如果结束
        i=0
        辅助.等待(辅助.随机数(1000,2000))
    循环结束
    循环(真)
        如果(i>=3)
            i=0
            返回 0
        如果结束
        整理背包=dm.findpic(627,31,1408,601,"整理背包.bmp","050505",0.9,1,X,Y)
        如果(整理背包>=0)
            辅助.等待(100)
            鼠标.移动(X,Y)
            辅助.等待(100)
            鼠标.左键单击()
            调试输出("整理背包")
            i=0
            跳出
        如果结束
        i++
        辅助.等待(辅助.随机数(1500,2000))
    循环结束
    循环(真)
        如果(i>=3)
            i=0
            返回 0
        如果结束
        装备=dm.findpic(627,31,1408,601,"装备.bmp","050505",0.9,1,X,Y)
        如果(装备>=0)
            辅助.等待(100)
            鼠标.移动(X+20,Y-234)
            辅助.等待(100)
            鼠标.左键单击()
            调试输出("选择装备")
            i=0
            跳出
        如果结束
        i++
        辅助.等待(辅助.随机数(1500,2000))
    循环结束
    循环(真)
        如果(i>=4)
            i=0
            返回 0
        如果结束
        出售=dm.findpic(627,31,1408,601,"出售.bmp","050505",0.9,1,X,Y)
        如果(出售>=0)
            调试输出("出售")
            辅助.等待(100)
            鼠标.移动(X,Y)
            辅助.等待(500)
            鼠标.左键单击()
            调试输出("点击出售")
            i=0
            辅助.等待(1000)
            跳出
        如果结束
        i++
        辅助.等待(1000)
    循环结束
    定点X=1170
    定点Y=284
    偏移X=0
    偏移Y=0
    遍历(i=0;i<4;i++)
        遍历(j=0;j<8;j++)
            鼠标.移动(定点X+偏移X,定点Y+偏移Y)
            辅助.等待(800)
            X,Y
            kg=dm.findpic(1026,26,1414,611,"kg.bmp","050505",0.9,1,X,Y)
            如果(kg>=0)
                调试输出("没有卖完"&X&","&Y)
                辅助.等待(500)
                卖=dm.findpic(1059,66,1407,548,"卖1.bmp|卖2.bmp|卖3.bmp|","000000",0.9,1,X,Y)
                如果(卖>=0)
                    辅助.等待(200)
                    鼠标.左键单击()
                    辅助.等待(200)
                    鼠标.移动(1384,89)
                    辅助.等待(500)
                    确定=dm.findpic(1059,66,1407,548,"确定10.bmp","050505",0.9,1,X,Y)
                    如果(确定>=0)
                        键盘.按键(13)
                        调试输出("卖")
                    如果结束
                如果结束
            否则
                调试输出("卖完了")
                返回 1
            如果结束
            偏移X+=30
            辅助.等待(500)
        遍历结束
        偏移X=0
        偏移Y+=30
        辅助.等待(500)
    遍历结束
    偏移Y=0
功能结束
功能 再次挑战()
    X,Y,i=0
    自动打怪.随机翻牌()
    自动打怪.自动捡物(10)
    循环(真)
        如果(i>=5)
            i=0
            自动打怪.F10()
            返回 0
        如果结束
        调试输出("准备再次挑战")
        再次挑战=dm.findpic(1175,20,1423,300,"再次挑战.bmp","000000",0.9,1,X,Y)
        如果(再次挑战>=0)
            调试输出("再次挑战")
            循环(真)
                如果(i>=8)
                    i=0
                    键盘.按键(27)
                    自动打怪.自动捡物(10)
                    调试输出("再次挑战")
                    辅助.等待(500)
                    键盘.按键(121)
                    返回 0
                如果结束
                调试输出("准备卖东西")
                商人= dm.FindStr(683,78,1400,414,"现在|硬币|快来|看吧|试试","ffffff-020202",1.0,X,Y)
                如果(X>=0)
                    调试输出("卖东西")
                    鼠标.移动(X+40,Y+80)
                    辅助.等待(200)
                    鼠标.左键单击()
                    辅助.等待(500)
                    调试输出("1")
                    商店=dm.findpic(623,33,1411,615,"商店.bmp","000000",0.9,1,X,Y)
                    如果(商店>=0)
                        调试输出("2")
                        辅助.等待(500)
                        鼠标.移动(X,Y)
                        辅助.等待(50)
                        鼠标.左键单击()
                        辅助.等待(100)
                        鼠标.左键单击()
                        鼠标.移动(695,73)
                        辅助.等待(3000)
                        返回值=自动打怪.背包()
                        如果(返回值=="0")
                            自动打怪.F10()  
                        如果结束
                        辅助.等待(500)
                        自动打怪.退出背包()
                        自动打怪.自动捡物(10)
                        调试输出("再次挑战")
                        辅助.等待(1000)
                        自动打怪.F10()
                        返回 0
                    如果结束
                否则
                    神秘商店=dm.findpic(618,300,1087,604,"神秘商店.bmp","050505",0.9,1,X,Y)
                    如果(神秘商店>=0)
                        辅助.等待(500)
                        自动打怪.退出背包()
                        自动打怪.自动捡物(10)
                        辅助.等待(2000)
                        自动打怪.F10()
                        返回 0
                    如果结束
                如果结束
                i++
                辅助.等待(1000)
            循环结束
        如果结束
        神秘商店=dm.findpic(618,300,1087,604,"神秘商店.bmp","050505",0.9,1,X,Y)
        如果(神秘商店>=0)
            调试输出("卖东西")
            辅助.等待(500)
            鼠标.移动(695,73)
            自动打怪.背包()
            辅助.等待(500)
            自动打怪.退出背包()
            自动打怪.自动捡物(10)
            辅助.等待(2000)
            自动打怪.F10()
            调试输出("再次挑战")
            返回 0
        如果结束
        i++
        辅助.等待(1000)
    循环结束
功能结束
功能 下地图()
    X,Y,i=0
    城镇=dm.findpic(865,9,1400,490,"城镇.bmp","050505",0.9,1,X,Y)
    如果(城镇>=0)
        键盘.按下(68)
        辅助.等待(1000)
        循环(真)
            如果(i>=10)
                键盘.弹起(68)
                i=0
                跳出
            如果结束
            选择地图=dm.findpic(987,416,1428,621,"选择地图.bmp","000000",0.9,1,X,Y)
            如果(选择地图>=0)
                键盘.弹起(68)
                辅助.等待(1000)
                鼠标.移动(1131,259)
                鼠标.左键单击()
                辅助.等待(100)
                鼠标.左键单击()
                辅助.等待(1000)
                键盘.按键(32)
                辅助.等待(100)
                键盘.按键(32)
                返回 0
            如果结束
            辅助.等待(2000)
        循环结束
    如果结束
    选择地图=dm.findpic(987,416,1428,621,"选择地图.bmp","000000",0.9,1,X,Y)
    如果(选择地图>=0)
        辅助.等待(1000)
        鼠标.移动(1131,259)
        鼠标.左键单击()
        辅助.等待(100)
        鼠标.左键单击()
        辅助.等待(1000)
        键盘.按键(32)
        辅助.等待(100)
        键盘.按键(32)
        返回 0
    如果结束
功能结束
功能 神秘商店卖装备()
功能结束
功能 F10()
    X,Y
    循环(真)
        再次挑战=dm.findpic(1175,20,1423,300,"再次挑战.bmp","000000",0.9,1,X,Y)
        如果(再次挑战>=0)
            键盘.按键(27)
            辅助.等待(100)
            次数+=1
            辅助.等待(100)
            键盘.按键(121)
            编辑框.设置文本("编辑框0",次数)
        否则
            跳出
        如果结束
        辅助.等待(1000)
    循环结束
功能结束
功能 退出背包()
    X,Y
    循环(真)
        背包=dm.findpic(630,34,1400,591,"背包.bmp","050505",0.9,1,X,Y)
        如果(背包>=0)
            辅助.等待(100)
            键盘.按键(27)
        否则
            跳出
        如果结束
        辅助.等待(1000)
    循环结束
功能结束
功能 菜单()
    X,Y
    循环(真)
        菜单=dm.findpic(998,548,1123,659,"菜单.bmp","000000",0.9,1,X,Y)
        如果(菜单>=0)
            调试输出("人物在游戏中")
            跳出
        如果结束
        辅助.等待(2000)
        调试输出("等待")
    循环结束
功能结束
功能 随机翻牌()
    X,Y,坐标
    如果(复选框.选中("复选框0",真))
        调试输出("准备翻牌")
        循环(真)
            随机翻牌=dm.findpic(623,33,1411,615,"随机翻牌.bmp","050505",0.9,1,X,Y)
            如果(随机翻牌>=0)
                调试输出("随机翻牌")
                跳出
            如果结束
            辅助.等待(1000)
        循环结束
        随机1=辅助.随机数(1,4)
        选择(随机1)
            条件 1:
            坐标="793,236"
            条件 2:
            坐标="921,236"
            条件 3:
            坐标="1041,236"
            条件 4:
            坐标="1161,236"
        选择结束
        坐标值
        字符串.分割(坐标,",",坐标值)
        鼠标.移动(坐标值[0],坐标值[1])
        鼠标.左键单击()
        辅助.等待(100)
        鼠标.左键单击()
        辅助.等待(100)
        鼠标.左键单击()
        随机2=辅助.随机数(1,4)
        选择(随机2)
            条件 1:
            坐标="793,486"
            条件 2:
            坐标="921,486"
            条件 3:
            坐标="1041,486"
            条件 4:
            坐标="1161,486"
        选择结束
        坐标值
        字符串.分割(坐标,",",坐标值)
        鼠标.移动(坐标值[0],坐标值[1])
        鼠标.左键单击()
        辅助.等待(100)
        鼠标.左键单击()
        辅助.等待(100)
        鼠标.左键单击()
    如果结束
   
功能结束
功能 日志记录()
    路径=系统.获取程序路径()&"日志记录.TXT"
    t=日期时间.当前日期()
    文件句柄=文件.打开(路径)
    文件.末尾写入(文件句柄,t&"通关次数:"&次数)
    文件.关闭(文件句柄)
功能结束
功能 HP()
    图像值=图像.坐标点取色(655,574)
    如果(图像值==#000000)
        键盘.按键(49)
    如果结束
功能结束
功能 MP()
    图像值=图像.坐标点取色(1374,589)
    如果(图像值==#000000)
        键盘.按键(50)
    如果结束
功能结束
功能 异常处理()
    X,Y
    背包=dm.findpic(630,34,1400,591,"背包.bmp","050505",0.9,1,X,Y)
    如果(背包>=0)
        辅助.等待(100)
        键盘.按键(27)
        辅助.等待(1000)
    如果结束
    再次挑战=dm.findpic(1175,20,1423,300,"再次挑战.bmp","000000",0.9,1,X,Y)
    如果(再次挑战>=0)
        辅助.等待(100)
        键盘.按键(121)
        辅助.等待(3000)
    如果结束  
功能结束
功能 热键0_热键()
    如果(开关)
        标签.设置颜色("标签4",#00FF00,1)
        开关=假
        主线程句柄=线程.开启("自动打怪.主程序","")
    如果结束
功能结束
功能 热键1_热键()
    辅助.退出()
功能结束
功能 热键2_热键()
    如果(暂停)
        线程.暂停(主线程句柄)
        暂停=假
        恢复=真
        标签.设置颜色("标签5",#00FF00,1)
        标签.设置文本("标签5","恢复")
        返回 0
    如果结束
    如果(恢复)
        线程.恢复(主线程句柄)
        标签.设置颜色("标签5",#FFFF00,1)
        标签.设置文本("标签5","暂停")
        暂停=真
        返回 0
    如果结束
功能结束
空间结束
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-28 05:48 , Processed in 0.044611 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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