找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 350|回复: 4

[求助] 小白脚本,大佬们帮看看!

[复制链接]
  • 打卡等级:拜师学艺

1

主题

3

回帖

5

积分

学前班

鲜花
0
猫粮
18
发表于 2024-8-11 23:20:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 心安云乡 于 2024-8-11 23:25 编辑

某个古早游戏的手游版

                               
登录/注册后可看大图

分辨率:1280*720
屏幕密度:320PPI
图中,数字1.2.3.4是技能,数字5处是普攻键,数字6是拾取键。

1,3.4位置技能,需要能设定间隔时间释放。
2  操作流程就是:普攻,拾取,技能1,拾取,而后就是普攻,拾取,技能2,拾取,依次点击。在中间穿插辅助技能,就是技能3.4,但是有cd,需能设定时间放。
3. 自己尝试写了,现实用找图识别技能状态图,决定是否释放辅助技能,识别率很低,不够通用。看了几天B站,尝试用多线程,也不理想,放了这个技能不放那个技能。


4.自己委实编程小白,短时间难以提高。希望哪位大佬,能帮忙修改下,万分感谢。


脚本如下:


Thread.Start(多线程1) //技能3
    Delay 100
Thread.Start(多线程2) //技能4
   Delay 100



//自动打怪流程


Do
tap 135,1135   //普攻
Delay 200
tap 36,1236  //拾取键
Delay 200
tap 50,1020   //技能1
Delay 300
tap 36,1236  //拾取键
Delay 200
tap 135,1135   //普攻
Delay 200
tap 36,1236  //拾取键
Delay 200
tap 165,1000   //技能2
Delay 300
tap 36,1236  //拾取键
Delay 200


//回红

Dim 血条
血条 = CmpColorEx("655|230|000010,663|230|212029,650|230|102039|abcdef", 0.9)
If 血条 = 1 Then
   TracePrint "需要回血了" & 血条
   tap 150,888   //红瓶位置
Else
   TracePrint "没到设定回血线"
End If


//回蓝

Dim 蓝条
蓝条 = CmpColorEx("636|120|000000,639|120|181818,633|120|101010|abcdef", 0.9)
If 蓝条 = 1 Then
   TracePrint "需要回蓝了" & 蓝条
   tap 58,888   //蓝瓶位置
Else
   TracePrint "没到设定回蓝线"
End If

Loop


Sub 多线程1
Do
  tap 260,1070  //技能3位置
  TracePrint "我是技能3"
  Delay 30000
Loop
End Sub


Sub 多线程2
Do
  tap 270,1188   //技能4位置
  TracePrint "我是技能4"
  Delay 60000
Loop
End Sub

楼主热帖
  • 打卡等级:开宗立派

1087

主题

2141

回帖

4335

积分

院长

鲜花
9
猫粮
7413
QQ
发表于 2024-8-13 21:27:18 | 显示全部楼层
新手不建议去用多线程,因为解决不了冲突问题。如果在CD中也点一次技能没影响的话,那就不需要考虑识别CD了。这里提供一个简易模板,需要你自己写具体代码,中间延时自己加,普攻可以多写几个。
[按键精灵] 纯文本查看 复制代码
do
    普攻
    拾取
    技能1
    拾取
    技能2
    拾取
    技能3
    拾取
    技能4
    拾取
loop
  • 打卡等级:拜师学艺

1

主题

3

回帖

5

积分

学前班

鲜花
0
猫粮
18
 楼主| 发表于 2024-8-13 22:34:52 | 显示全部楼层
本帖最后由 心安云乡 于 2024-8-13 22:36 编辑
紫猫 发表于 2024-8-13 21:27
新手不建议去用多线程,因为解决不了冲突问题。如果在CD中也点一次技能没影响的话,那就不需要考虑识别CD了 ...

感谢老师回复,主要是极度缺蓝,辅助技能CD短,持续时间远长于CD时间,如果等技能好直接点,蓝不够用。

这2天重新摸索写了个用时间判断的,但是也个问题不知道怎么处理。

技能3每30秒放一次,技能4每600秒放一次(CD才10秒)

[按键精灵] 纯文本查看 复制代码
Dim  开始时间=TickCount()
Dim  技能3间隔时间=30000

Do

Dim  运行时间技能3=TickCount()-开始时间
Dim  运行时间技能4=TickCount()-开始时间


If 运行时间技能3 >= 30000 Then
        tap 260,1070  //技能3位置
      TracePrint 运行时间技能3
// 第一次可以正常释放,但是技能3时间不能归零,不断累,下面这行代码不知道哪里出问题了。
      运行时间技能3=运行时间技能3-技能3间隔时间
   Else
  TracePrint "技能3CD没结束"
End If


If 运行时间技能4 >= 600000 Then
        tap 270,1188   //技能4位置
    TracePrint 运行时间技能4
    开始时间=TickCount ()    //让运行时间重新开始计算
   Else
    TracePrint "技能4CD没结束"

End If

//下面是打怪流程

Loop





  • 打卡等级:开宗立派

1087

主题

2141

回帖

4335

积分

院长

鲜花
9
猫粮
7413
QQ
发表于 2024-8-14 12:11:22 | 显示全部楼层
心安云乡 发表于 2024-8-13 22:34
感谢老师回复,主要是极度缺蓝,辅助技能CD短,持续时间远长于CD时间,如果等技能好直接点,蓝不够用。

...

[按键精灵] 纯文本查看 复制代码
Dim 技能3上次使用时间 = 0
Dim 技能4上次使用时间 = 0
Dim 技能3间隔时间 = 3000
Dim 技能4间隔时间 = 6000

Do
    if Tickcount() - 技能3上次使用时间 >= 技能3间隔时间 then
             技能3上次使用时间 = Tickcount()
             点击技能3  //自己改点击和延时代码
    End If
    if Tickcount() - 技能4上次使用时间 >= 技能4间隔时间 then
             技能4上次使用时间 = Tickcount()
             点击技能4  //自己改点击和延时代码
    End If
Loop
  • 打卡等级:拜师学艺

1

主题

3

回帖

5

积分

学前班

鲜花
0
猫粮
18
 楼主| 发表于 2024-8-14 20:35:43 | 显示全部楼层

谢谢,我去试试看!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-11-21 22:33

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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