背景:

Dnf的周年庆活动之一,鬼才策划为了在线率想的活动,规律如下

1.在线1分钟可以生成1根竹子,领取竹子以后可以获取到积分,积分满足活动要求后可以领取相应档位的奖励

2.玩家不在线期间,不会生成新竹子(最坑的一点)

3.竹子的存储上限为20,也就是说20分钟就要收割一次

为了最快领取到奖励,只好出个下策,自动化领竹子,晚上挂通宵,写文章的这会已经完成指标....

思路:

运用python中的pyautogui模块控制鼠标自动打开活动界面,点击领取,关闭界面,为了方便写了死循环,所以需要利用cmd打开py脚本,需要结束运行脚本时ctrl+c停止运行即可

优势:在不移动游戏界面的情况下游戏内窗口控件所处的相对位置不会改变,利用pyautogui模块点击相应坐标即可实现自动化

劣势:游戏断线重连,直接扑街·。

难处:游戏在12点会弹出公告界面,若不处理公告界面,养竹活动的界面层级并没有公告界面高,脚本会被遮挡,无法运行

解决方案:定时执行关闭公告界面的脚本,执行完毕后继续执行挂机领竹脚本

代码:

获取鼠标当前位置信息,代码如下

importpyautoguiprint(pyautogui.position())

使用cmd运行上述脚本,在运行前将鼠标移动到需要定位的坐标,然后直接回车,会打印当前的鼠标坐标

领取代码如下

import datetime

import pyautogui

import time

import random

def time_timer(now_time):

next_time = datetime.datetime.strptime("2019-6-21 0:00:00", "%Y-%m-%d %H:%M:%S")

timer_start_time = (next_time - now_time).total_seconds()

return timer_start_time

def pyautogui_dnf(now_time):

#主体:打开养竹活动界面,领取竹子,退出界面

print("开始执行,当前系统时间: %s" % now_time)

#坐标1:点击竹子的小图标

pyautogui.click(1025, 855)

pyautogui.mouseDown()

pyautogui.mouseUp()

time.sleep(5)

# 坐标2:点击领取按钮

pyautogui.click(1034, 723)

pyautogui.mouseDown()

pyautogui.mouseUp()

# 坐标3:点击关闭按钮关闭活动界面

pyautogui.click(1320, 248)

pyautogui.mouseDown()

pyautogui.mouseUp()

c = random.randint(600,1200)

print("执行完毕,开始休眠,%s"%(datetime.timedelta(seconds=c)))

time.sleep(c)

def tomrrow_Refresh(now_time):

#点击公告下的确定按钮

pyautogui.click(944, 713)

pyautogui.mouseDown()

pyautogui.mouseUp()

print("已关闭公告,继续执行")

time.sleep(5)

#死循环继续执行领竹子的脚本

while True:

pyautogui_dnf(now_time)

def main_pyauto():

while True:

now_time = datetime.datetime.now()

d = time_timer(now_time)

if d > 0:

print("距离公告弹窗时间还有%s秒" % (int(d)))

pyautogui_dnf(now_time)

else:

print("关闭公告")

tomrrow_Refresh(now_time)

if __name__ == "__main__":

main_pyauto()

之所以使用随机数,是因为如果20分钟点一下太稳定,我怕被封号....

总之,两天领完了所有奖励,可喜可贺....吧

python实现dnf自动刷怪_利用pyautogui自动化领取dnf的在线养竹活动的竹子相关推荐

  1. python实现dnf自动刷怪_【python】模拟打怪游戏:怪兽(monster),玩家(hero)

    游戏模式: 假设有怪兽(monster)和英雄(hero)两个角色,二者为敌对状态 假设两个角色初始血量为100,攻击力的伤害服从随机分布(7,17),二者相互攻击,判断谁获胜? # # 定义精灵 c ...

  2. python实现股票自动交易_利用python3.5 +TK 开发股票自动交易伴侣

    原博文 2017-01-13 08:59 − # -*- encoding: utf8 -*- # version 1.11 import tkinter.messagebox,os from tki ...

  3. python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  4. python用户输入列表有缺陷_利用Python对Jira缺陷进行管理操作

    转自:51testing 1.1.概要 本文主要内容是教大家学习如何利用Python对Jira缺陷进行管理操作. 在平时的测试中,大家对于缺陷管理平台一定不陌生,平时的缺陷都要去平台进行操作.今天我们 ...

  5. python自动控制生产线输送线_一个关于自动化装配生产线结构组成案例,易懂干货...

    原标题:一个关于自动化装配生产线结构组成案例,易懂干货 上次给大家推送点击☞一文,不管你不过的是南方的小年还是北方的小年,反正工机哥就是没法过小年的时候你领取免费的自动化资料包,这次同样还可以领取,文 ...

  6. python如何自动打印_利用Python每天自动打印练习题

    在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题.为了防止出现抄袭的现象,给每位同学的练习题都不相同. 通过网上下载的一个小软件自动生成的练习题. 之前的操作是通过网上下载的软件,自 ...

  7. python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法

    主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...

  8. python乘法符号手写_利用Python自动生成小学生加减乘除口算考试题卷,不再为手写算术题烦恼!...

    还在为给孩子抄各种各样的口算题而烦恼?孩子上小学一年级之后,加减乘除的口算就要开始练习了,老师肯定会让家长出题.所以我们当家长的,要提前准备一下,就利用Python开发了一套自动生成小学生口算题的小应 ...

  9. python RTL自动生成_利用python自动生成证件照

    又到了一次交个人信息表的时候了,在word照片框贴照片时发现自己之前放在e盘的电子照片不见了,我丢.之前去照相馆就只留了一张底片,疫情当前(打游戏懒得出门),作为时代好青年,出门拍照是不可能的,为一张 ...

最新文章

  1. DAPP开发初探——永存的留言
  2. 获得系统当前时间的字符串格式
  3. C++二维数组名的再探索
  4. gnu java_GNU/Linux下Java开发环境的安装和配置
  5. gh0st源码分析与远控的编写(四)
  6. C语言封装带省略参数的函数,C与C++的函数声明中省略参数的不同意义
  7. 阿里云 Ubuntu上的mysql运行sql文件来创建表
  8. CODEVS 2102 石子归并 2
  9. 奔小康赚大钱 HDU - 2255(最大权值匹配 KM板题)
  10. Win11U盘拒绝访问怎么办?Win11U盘拒绝访问的有效解决方法
  11. oracle imp 换表空间,imp导入切换表空间
  12. Web前端技术基础实验报告四之列表实现简易网站导航
  13. Redis缓存问题总结
  14. Python零基础之selenium
  15. css -- position : absolute 在不同的浏览器位置不同
  16. bvs是什么意思_股票b和s是什么意思,区别原来这么简单
  17. 一篇文章彻底清楚shellcode(精品)
  18. sis防屏蔽程序_程序员如何写一份更好的简历
  19. CSS 中文字号、磅和像素对照关系
  20. MATLAB 数据分析

热门文章

  1. win10篇 任务栏透明 设置了也会更新?
  2. 2019,成立个人独资企业还能节税吗?具体怎样操作?
  3. python中的extend功能及用法
  4. 智能养生管家需求文档
  5. 16.基于主从博弈理论的共享储能与综合能源微网优化运行研究
  6. 诺基亚N900间隙 - 购买你的高科技手机便宜
  7. php 安装 bzip2,Linux_Linux系统中安装使用Bzip2来压缩文件的方法讲解,安装 Bzip2命令如下:复制代码 - phpStudy...
  8. python语言程序设计教程答案赵璐_python语言程序设计教程赵璐答案
  9. matlab 投影笛卡尔坐标转换,如何将一个三维笛卡尔坐标系中的坐标转换为另一个三维笛卡尔坐标系...
  10. 四川计算机教师招聘考什么内容,四川中小学教师招聘考试考什么?【附考试科目】...