TC官方合作论坛

 找回密码
 立即注册
查看: 3841|回复: 11

[源码分享] 魔力学堂自动遇敌源码分享[处女作 高手勿喷]

[复制链接]
发表于 2012-5-21 01:52:08 | 显示全部楼层 |阅读模式

马上加入TC

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

x

  1. namespace 魔力
  2. //定义默认空间
  3. dm=com("dm.dmsoft")
  4. xc1
  5. lj
  6. function zdpl()
  7.     intX,intY,i
  8.     i=0
  9. x1=help.readini("mlzb","1x",lj+"\\config.ini")
  10. y1=help.readini("mlzb","1y",lj+"\\config.ini")
  11. x2=help.readini("mlzb","2x",lj+"\\config.ini")
  12. y2=help.readini("mlzb","2y",lj+"\\config.ini")
  13. //以上4条 读取配置 4个坐标值
  14. x11=convert.strtoint(x1, 0)
  15. x22=convert.strtoint(x2, 0)
  16. y11=convert.strtoint(x1, 0)
  17. y22=convert.strtoint(y2, 0)
  18. //以上4条 4个变量转换 不知道有没有批量的转换 目前只能多写几行了 菜鸟 呜...
  19. help.sleep(100)
  20. dm.SetPath(help.getrcpath("rc:") )      //大漠设置全局路径 你懂的..
  21. help.sleep(100)
  22. dm.SetDict(0,"魔力学堂.txt") //大漠设置字库文件
  23. help.sleep(100)
  24. hwnd=dm.GetMousePointWindow() //以鼠标指向窗口的方式 获取窗口句柄
  25. help.sleep(100)
  26. 是否成功=dm.BindWindow(hwnd,"gdi2","windows","windows",0)  //这是窗口绑定  前 后台 就在这里实现的        
  27. if (是否成功==1)
  28.     help.sleep(100)
  29.     while (true)            
  30.     help.sleep(200)
  31.     dm.FindStrS(0,0,2000,2000,"NPC","1deefb-101010",1.0,intX,intY) //脚本思路 首先找 小地图 npc 字
  32.     if (intX >= 0 && intY >= 0 )
  33.     help.sleep(100)
  34.          if (i == 0) //循环第1次会点下面这个坐标跑动 也可以说 循环的单数 都执行下面的
  35.          help.sleep(100)
  36.          dm.MoveTo(x11,y11)
  37.          i=1         //  给变量i 赋值 1    循环第2次过来 条件不成立 执行 否则让他
  38.          help.sleep(100)
  39.          else
  40.          dm.MoveTo(x22,y22) //这样点小地图上第2个固定坐标 实现来回的跑动 当然还有更好的思路 这个我觉得比较简单
  41.          i = 0         
  42.          endif
  43.     help.sleep(100)
  44.     dm.LeftClick()
  45.     else
  46.         dm.FindStrS(598,246,899,431,"自动","fffa7a-101010",1.0,intX,intY) //在找不到小到图npc字的情况下 我们查找 自动 看看是不是遇敌了 让他自动点
  47.         if (intX >= 0 && intY >= 0 )
  48.         help.sleep(100)
  49.         dm.MoveTo(intX + 5, intY + 5)
  50.         help.sleep(100)
  51.         dm.LeftClick()     
  52.         endif      
  53.         help.sleep(100)
  54.         dm.KeyPress(192) //无论是不是在遇敌的情况下 都点打开小地图 快捷键 ` 遇敌中 快捷是没反应的 不影响其他
  55.     endif   
  56.     endwhile
  57. else
  58.     help.messagebox("窗口绑定失败")
  59. endif
  60. return 0
  61. endfunction
  62. function ks_click()
  63. //按钮 开始 点击事件
  64. if (button.gettext("ks")=="开始F9")   
  65.       button.settext("ks","暂停F9")         
  66.      xc1=线程.开启("魔力.zdpl","")         
  67. else
  68.       dm.UnBindWindow()         //为了避免再悲剧 解绑窗口放这里 不知道有没有效果 试试吧
  69.       thread.closethread(xc1)
  70.       button.settext("ks","开始F9")   
  71. endif

  72. return true
  73. endfunction


  74. function tc_click()
  75. //按钮 退出 点击事件
  76. help.exit()
  77. return true
  78. endfunction

  79. function x1bj_enchange()
  80. //编辑框 x1bj 内容改变事件
  81. x1=edit.gettext("x1bj")
  82. help.writeini("mlzb","1x",x1,lj+".\\config.ini")
  83. return true
  84. endfunction

  85. function y1bj_enchange()
  86. //编辑框 y1bj 内容改变事件
  87. y1=edit.gettext("y1bj")
  88. help.writeini("mlzb","1y",y1,lj+".\\config.ini")
  89. return true
  90. endfunction

  91. function x2bj_enchange()
  92. //编辑框 x2bj 内容改变事件
  93. x2=edit.gettext("x2bj")
  94. help.writeini("mlzb","2x",x2,lj+".\\config.ini")
  95. return true
  96. endfunction

  97. function y2bj_enchange()
  98. //编辑框 y2bj 内容改变事件
  99. y2=edit.gettext("y2bj")
  100. help.writeini("mlzb","2y",y2,lj+".\\config.ini")
  101. return true
  102. endfunction

  103. function init()
  104. //程序初始化事件 (初始化 就是 程序刚开始要加载的 当程序显示出来 是已经加载完毕后的)
  105. 辅助.注册插件("rc:dm.dll",真)
  106. lj=system.getprocesspath()
  107. x1=help.readini("mlzb","1x",lj+"\\config.ini")
  108. y1=help.readini("mlzb","1y",lj+"\\config.ini")
  109. x2=help.readini("mlzb","2x",lj+"\\config.ini")
  110. y2=help.readini("mlzb","2y",lj+"\\config.ini")
  111. //以上4条命令是   变量x1,y1,x2,y2 赋值 辅助.读配置 的内容
  112. edit.settext("x1bj",x1)
  113. edit.settext("y1bj",y1)
  114. edit.settext("x2bj",x2)
  115. edit.settext("y2bj",y2)
  116. //以上4条命令是 编辑框.设置文本 是刚赋值的4个变量 x1,x2,y1,y2
  117. return true
  118. endfunction

  119. function rjks_onhotkey()
  120. 魔力.ks_click()
  121. //热键事件 触发后 直接调用 按钮 开始 被点击的事件程序
  122. return true
  123. endfunction

  124. function rjtc_onhotkey()
  125. 魔力.tc_click()
  126. //热键事件 触发后 直接调用 按钮 退出 被点击的事件程序
  127. return true
  128. endfunction

  129. endnamespace
  130. //空间结束语句

  131. // 感谢 TC简单开始交流15群 (187241121) 的朋友 T 杜杜狼 TC-xenolss 小西(发广告的)....等
  132. // 好几位大哥 耐心的帮助我 让我收获良多 谢谢各位  本群很热情 大神N多 小白朋友 赶紧来吧


  133. //悲剧的哥 从早晨编译到夜里1点 总算是完成 可不可以用 未知 注释写的相当详细了
  134. //思路 代码 都是相当简单的 发出来真够丢人的 高手别喷我 给新来的朋友提个醒 我就是反面教材呀 泪奔~
  135. //总结如下
  136. //            1 命令大小写 dm.moveto 0,0 就这个命令 出错 纠结了半小时
  137. //            2 万恶的()呀 一定要加 统统要加 if () dm.MoveTo (0,0)
  138. //            3 多线程调用的函数 要放在 调用的上面 否则 未定义函数 又纠结半小时
  139. //            4 多线程要注册下大漠插件 不然 是好是坏 明明注册了 大漠却没效果 一直提示 错误实数参数列表
  140. //                相同问题的试试 听群里说 收费功能也能用 但是每个多线程都要注册下 也不错
  141. //            5 路径搞的我晕呀 满头迷雾呀 这个 \\ 双杠 真厉害
复制代码
回复

使用道具 举报

发表于 2012-5-21 02:01:41 | 显示全部楼层
纯支持
回复 支持 反对

使用道具 举报

发表于 2012-5-21 02:20:24 | 显示全部楼层
学习下
回复 支持 反对

使用道具 举报

发表于 2012-5-21 09:27:00 | 显示全部楼层
不错,来学习下。
回复 支持 反对

使用道具 举报

发表于 2012-5-21 09:29:37 | 显示全部楼层
学习下,顶下
回复 支持 反对

使用道具 举报

发表于 2012-5-21 11:03:10 | 显示全部楼层
不错。 。 来学习下
回复 支持 反对

使用道具 举报

发表于 2012-5-21 11:30:29 | 显示全部楼层
看帖回帖是美德。。
回复 支持 反对

使用道具 举报

发表于 2012-5-21 13:56:29 | 显示全部楼层
过来看看 。。 学习, 膜拜高手
回复 支持 反对

使用道具 举报

发表于 2012-5-21 14:27:58 | 显示全部楼层
看看。 学习学习
回复 支持 反对

使用道具 举报

发表于 2012-5-21 14:50:37 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-29 08:03 , Processed in 0.059518 second(s), 24 queries .

Powered by 海安简单软件服务部

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

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