用户名  找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 614|回复: 4

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

[复制链接]
  • 打卡等级:学有所成

2

主题

3

回帖

7

积分

学前班

鲜花
0
猫粮
49
发表于 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

楼主热帖
  • 打卡等级:武林至尊

1090

主题

2149

回帖

4349

积分

院长

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

2

主题

3

回帖

7

积分

学前班

鲜花
0
猫粮
49
 楼主| 发表于 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秒)

[按键精灵] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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





  • 打卡等级:武林至尊

1090

主题

2149

回帖

4349

积分

院长

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

...

[按键精灵] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
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
  • 打卡等级:学有所成

2

主题

3

回帖

7

积分

学前班

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

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

本版积分规则

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

GMT+8, 2025-4-5 03:49

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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