很高兴又和大家见面了,我是昊歌,也许这个是DNF最后一个脚本,以后我可能就不再有时间给大家做DNF的脚本了,也很少接触到C这款开发工具了。在此很感谢TC的:match、斌哥、栋哥、陈哥、大王子、小王子,让我在TC中学到了很多,也带来了很多的快乐。永远支持TC!!! 
项目分享(点击下载): 
下面我分享下关于DNF拍卖的思路: 
- 主空间:
 
  
- #import "dm.dmsoft" DM
 
 - #include"扫拍卖.t"
 
 - 空间 终极版秒拍卖
 
 - //定义默认空间
 
 - 整型 线程句柄
 
 - 功能 逻辑型 开始_点击()
 
 - 线程句柄 = 线程.开启("扫拍卖.Start")
 
 - 返回 真
 
 - 功能结束
 
  
- 功能 逻辑型 退出_点击()
 
 - 线程.关闭(线程句柄)
 
 - 辅助.退出()
 
 - 返回 真
 
 - 功能结束
 
  
- 功能 逻辑型 销毁()
 
 - 线程.关闭(线程句柄)
 
 - 返回 真
 
 - 功能结束
 
  
- 功能 逻辑型 价格_点击()
 
 - 辅助.命令("rc:价格设置表格.txt",true)
 
 - 返回 真
 
 - 功能结束
 
  
- 空间结束
 
 - //空间结束语句
 
  复制代码- 子空间:
 
 - 空间 扫拍卖
 
  
- 字符型[] 名称
 
 - 字符型[] 短语
 
 - 字符型[] 价格
 
 - 功能 字符型 读取物品价格()
 
 - 字符型 物品标示1,物品名称1,价格1,物品标示2,物品名称2,价格2,物品名称3
 
 - 整型 位置1,位置2,位置3,位置4,位置5
 
 - 整型 a=1,b=1,c=1
 
 - 名称 = 字符型[100]
 
 - 短语 = 字符型[100]
 
 - 价格 = 字符型[100]
 
 - 整型 文件句柄 = 文件.打开("rc:价格设置表格.txt")
 
 - 如果(文件句柄!=0)
 
 - 循环(真)
 
 - //得到物品名称,如:灵魂晶石
 
 - 字符型 内容=文件.读一行(文件句柄)
 
 - 如果(字符串.长度(内容)<=0)
 
 - 跳出
 
 - 否则
 
 - 位置1 = 字符串.查找字符(内容,124)
 
 - 物品标示1 = 字符串.移除(内容,字符串.长度(内容)-位置1,假)
 
 - 价格1 = 字符串.移除(内容,位置1+1,真)
 
 - 位置2 = 字符串.查找字符串(内容,":")
 
 - 物品名称1 = 字符串.移除(物品标示1,位置2+1,真)
 
 - 名称[a] = 物品名称1
 
 - //得到搜狗短语,如:ab
 
 - 位置3 = 字符串.查找字符(价格1,124)
 
 - 物品标示2 = 字符串.移除(价格1,字符串.长度(价格1)-位置3,假)
 
 - 价格2 = 字符串.移除(价格1,位置3+1,真)
 
 - 位置4 = 字符串.查找字符串(价格1,":")
 
 - 物品名称2 = 字符串.移除(物品标示2,位置4+1,真) 
 
 - 短语[b] = 物品名称2 
 
 - //得到该物品价格,如:2000
 
 - 位置5 = 字符串.查找字符串(价格2,":")
 
 - 物品名称3 = 字符串.移除(价格2,位置5+1,真) 
 
 - 价格[c] = 物品名称3
 
 - 如果结束
 
 - a = a + 1
 
 - b = b + 1
 
 - c = c + 1
 
 - 循环结束
 
 - 文件.关闭(文件句柄)
 
 - 否则
 
 - 辅助.对话框("请检查价格表是否填写准确!","温馨提示",0,true) 
 
 - 返回 " " 
 
 - 如果结束
 
 - 返回 " "
 
 - 功能结束
 
  
- 功能 整型 获取键码值(字符型 字母)
 
 - 整型 次数,结果 = 65
 
 - 字符型 全部字母 = "abcdefghijklmnopqrstuvwxyz" 
 
 - 整型 位置 = 字符串.查找字符串(全部字母,字母)
 
 - 循环(次数<位置)
 
 - 结果 = 结果 + 1
 
 - 次数 = 次数 + 1
 
 - 循环结束
 
 - 返回 结果
 
 - 功能结束
 
  
- 功能 逻辑型 快速扫描()
 
 - 整型 短语个数,个数,次数,截取数量,a=1,b=1,c=1,d=1
 
 - 字符型 总短语,字母
 
 - 整型[] 按键码 = 整型[1000]
 
 - 扫拍卖.读取物品价格()
 
 - //鼠标移动点击一次,输入短语
 
 - 鼠标.移动(168,130)
 
 - 辅助.等待(100)
 
 - 鼠标.左键单击(1)
 
 - 辅助.等待(100) 
 
 - 标签.设置文本("标签0",字符串.连接("正在搜索:",名称[a]))
 
 - 短语个数 = 字符串.长度(短语[b]) 
 
 - 总短语 = 短语[b] 
 
 - 个数 = 短语个数
 
 - 短语个数 = 短语个数 - 1
 
 - 循环(截取数量<个数)
 
 - 字母 = 字符串.截取(总短语,0,短语个数)
 
 - 按键码[d] = 扫拍卖.获取键码值(字母)
 
 - 总短语 = 字符串.移除(总短语,1,真) 
 
 - d = d + 1 
 
 - 短语个数 = 短语个数 - 1
 
 - 截取数量 = 截取数量 + 1
 
 - 循环结束
 
 - d = 1
 
 - 循环(真)
 
 - 如果(按键码[d]==0)
 
 - 跳出
 
 - 如果结束
 
 - 键盘.按键(按键码[d],1)
 
 - 辅助.等待(50)
 
 - d = d + 1
 
 - 循环结束
 
 - 鼠标.移动(508,51)//点击搜索
 
 - 辅助.等待(50)
 
 - 鼠标.左键单击(1)
 
 - 辅助.等待(50) 
 
 - 鼠标.移动(561,124)//移动显示价格框,判断是否是一口价,以及价格判断。
 
 - 辅助.等待(50) 
 
 - //下面的代码我相信很简单,只要对比价格即可,如果是自己需要的秒下来,如果不是就添加一个是否需要扫下一页,不需要则换下一个物品。
 
 - //循环的话,你只需a,b,c都减少一次就是读取到记事本下一行了,也就是下一个物品,至于下面进行购买步骤我就不写了,大家可以拿去参考,
 
 - //代码写完大概200行不到。
 
  
- 返回 真
 
 - 功能结束
 
  
- 功能 逻辑型 Start()
 
 - 整型 窗口句柄=窗口.找到窗口("地下城与勇士")
 
 - 如果(窗口句柄 == 0)
 
 - 辅助.对话框("请检查游戏是否开启!","温馨提示",0,true) 
 
 - 返回 真
 
 - 否则
 
 - DM.SetPath(辅助.获取资源路径("rc:"))
 
 - DM.SetDict(0,"秒拍卖.txt")
 
 - 窗口.设置位置(窗口句柄,0,0) 
 
 - 窗口.激活(窗口句柄)
 
 - help.sleep(1000)
 
 - 扫拍卖.快速扫描()
 
 - 如果结束 
 
 - 返回 真
 
 - 功能结束
 
  
- 空间结束
 
  复制代码 
 
 
 |