按键精灵回车键代码控制游戏里面的按键时间代码

【新提醒】时间控制的辅助技能脚本进阶【荐】1
我的图书馆
【新提醒】时间控制的辅助技能脚本进阶【荐】1
看到论坛有很多专门用于使用辅助技能的脚本,都是用DateDiff 函数循环判断时间的,只是判断的部分写的过于麻烦,每一个技能都要用一个DateDiff 来判断,类似于这种形式......Sub 第7快键技能& & If DateDiff("s",j7time,Now)&j7& && &&&KeyPress 55,1& && &&&Delay ggg& && &&&VBS j7time=now& & Else&& & EndIf&Return 第7快键技能Sub 第8快键技能& & If DateDiff("s",j8time,Now)&j8& && &&&KeyPress 56,1& && &&&Delay hhh& && &&&VBS j8time=now& & Else&& & EndIf&Return 第8快键技能Sub 第9快键技能& & If DateDiff("s",j9time,Now)&j9& && &&&KeyPress 57,1& && &&&Delay iii& && &&&VBS j9time=now& & Else&& & EndIf&Return 第9快键技能......复制代码这种方法的脚本我就不解释了,比较多的都是这样的,虽然功能可以实现,但可以看出来,这种写法非常麻烦,每多增加一个技能,都要对脚本进行修改,增加变量,增加过程模块,大大增加了脚本长度其实对于这种相同的,相似的代码块,我们同样的也可以把它们综合为一个过程函数,例如VBSBegin&& & Sub UseSkill(ByVal KeyCode,ByVal ColdTime,ByVal EffTime)& & 'KeyCode 快捷键按键码, ColdTime 冷却时间,EffTime 效果持续时间&& & Execute "T = T" & KeyCode& & '执行语句块,取得时间 T&& & If DateDiff("s",T,Now()) &= EffTime Then& & KeyPress KeyCode,1& & Execute "T" & KeyCode & "=Now()"& & '执行语句块,每个技能使用时间的变量名,用 T 加 按键码表示&& & Delay ColdTime*1000& & '延迟,注意换算单位&& & End If& & End SubVBSEnd&//按快捷键1(按键码49),冷却时间1.5秒,效果持续时间为60秒//按快捷键2(按键码50),冷却时间2秒,效果持续时间为120秒//按快捷键3(按键码51),冷却时间1秒,效果持续时间为30秒//注释部分只是为了帮助大家阅读而写的,使用时最好删掉,以免影响执行速度,最起码也不要放在循环里Rem startDelay 100UseSkill 49,1.5,60UseSkill 50,2,120UseSkill 51,1,120Goto start复制代码这样,我们就可以在脚本中用 UseSkill 过程,通过不同的参数来使用不同的技能,增加技能时,只需要增加一行 UseSkill 就行了,上面是利用VBS 的Sub 过程,如果要使用按键精灵的伪过程,可以把参数做成字符串的形式,然后在过程中切割使用,脚本如下//SkillStr 字符串值为"按键码,冷却时间,效果持续时间"格式,单位秒//快捷键1,冷却时间1.5秒,效果持续时间60秒//快捷键2,冷却时间2秒,效果持续时间120秒//快捷键3,冷却时间1秒,效果持续时间30秒//注释部分只是为了帮助大家阅读而写的,使用时最好删掉,以免影响执行速度,最起码也不要放在循环里Rem StartDelay 100SkillStr = "49,1.5,60"Gosub UseSkillSkillStr = "50,2,120"Gosub UseSkillSkillStr = "51,1,30"Gosub UseSkillGoto StartEndScript&Sub UseSkill& & SkillString = Split(SkillStr,",",-1,1)& & Execute "T = T" & SkillString(0)& & If DateDiff("s",T,Now()) &= CInt(SkillString(2))& && &&&KeyPress SkillString(0),1& && &&&Execute "T" & SkillString(0) & "=Now()"& && &&&Delay SkillString(1)*1000& & EndIf&Return UseSkill复制代码对于某个技能来说,它的冷却时间和效果持续时间基本可以说,是固定的,那么我们可以在这个基础上更进一步,把不同的 SkillStr技能字符串作为数组保存起来,然后用循环调用//Skill 字符串值为"按键码,冷却时间,效果持续时间"格式,单位秒//注释部分只是为了帮助大家阅读而写的,使用时最好删掉,以免影响执行速度,最起码也不要放在循环里Dim Skill(2)Skill(0) = "49,1.5,60"//快捷键1,冷却时间1.5秒,效果持续时间60秒Skill(1) = "50,2,120"//快捷键2,冷却时间2秒,效果持续时间120秒Skill(2) = "51,1,30"//快捷键3,冷却时间1秒,效果持续时间30秒Rem StartI = 0For UBound(Skill)+1& & Delay 100& & SkillStr = Skill(I)& & Gosub UseSkill& & I = I + 1EndFor&Goto StartEndScript&Sub UseSkill& & SkillString = Split(SkillStr,",",-1,1)& & Execute "T = T" & SkillString(0)& & If DateDiff("s",T,Now()) &= CInt(SkillString(2))& && &&&KeyPress SkillString(0),1& && &&&Execute "T" & SkillString(0) & "=Now()"& && &&&Delay SkillString(1)*1000& & EndIf&Return UseSkill复制代码有的人可能说,这和前面的那个功能上完全一致,但是却复杂了很多,好像是多此一举,其实这样复杂了以后,我们就不必写很多 SkillStr = "xxxxx"&&和 Gosub UseSkill ,直接修改 Skill 数组就行,而且别急,这是为下一个更重要的目的做准备的UserVar UserStr = 3,1 [辅助技能快捷键序列]//使用快捷键3和快捷键1的辅助技能//Skill 字符串值为"按键码,冷却时间,效果持续时间"格式,单位秒//注释部分只是为了帮助大家阅读而写的,使用时最好删掉,以免影响执行速度,最起码也不要放在循环里Dim Skill(2)Skill(0) = "49,1.5,60"//快捷键1,冷却时间1.5秒,效果持续时间60秒Skill(1) = "50,2,120"//快捷键2,冷却时间2秒,效果持续时间120秒Skill(2) = "51,1,30"//快捷键3,冷却时间1秒,效果持续时间30秒UserString = Split(UserStr,",",-1,1)Rem StartI = 0For UBound(UserString)+1& & Delay 100& & SkillStr = Skill(CInt(UserString(I))-1)& & Gosub UseSkill& & I = I + 1EndFor&Goto StartEndScript&Sub UseSkill& & SkillString = Split(SkillStr,",",-1,1)& & Execute "T = T" & SkillString(0)& & If DateDiff("s",T,Now()) &= CInt(SkillString(2))& && &&&KeyPress SkillString(0),1& && &&&Execute "T" & SkillString(0) & "=Now()"& && &&&Delay SkillString(1)*1000& & EndIf&Return UseSkill复制代码大家应该发现,脚本中多了一个自定义变量 UserStr,通过这个 UserStr 我们就可以让用户在自定义面板中指定只使用哪些技能(有的技能在某些情况下不需要使用),以及第一次使用时的优先顺序,比如这个脚本就是使用快捷键3的技能,再使用快捷键1的技能,快捷键2的技能不用当然,对于这个脚本来说,每个快捷键使用什么技能,都是和 Skill 数组中的字符串对应的,也就是说,快捷键1是什么技能,2是什么技能,都是固定的,如果需要不固定,那就需要把更多的信息也表示在 UserStr 中例如 UserVar UserStr = 51,1,30|49,1.5,60 [辅助技能快捷键序列]这样就可以随意的按照你的个人习惯设置快捷键,当然,这样写就需要在脚本中重新设计切割方法,如下:UserVar UserStr = 51,1,30|49,1.5,60 [辅助技能快捷键序列]//UserStr 格式为"按键码,冷却时间,效果持续时间|按键码,冷却时间,效果持续时间",单位秒//注释部分只是为了帮助大家阅读而写的,使用时最好删掉,以免影响执行速度,最起码也不要放在循环里Skill = Split(UserStr,"|",-1,1)Rem StartI = 0For UBound(Skill)+1& & Delay 100& & SkillStr = Skill(I)& & Gosub UseSkill& & I = I + 1EndFor&Goto StartEndScript&Sub UseSkill& & SkillString = Split(SkillStr,",",-1,1)& & Execute "T = T" & SkillString(0)& & If DateDiff("s",T,Now()) &= CInt(SkillString(2))& && &&&KeyPress SkillString(0),1& && &&&Execute "T" & SkillString(0) & "=Now()"& && &&&Delay SkillString(1)*1000& & EndIf&Return UseSkill复制代码最后补充一下,上面讲述的思路可以参考,但脚本一定要根据具体情况来定制,因为每个游戏的技能都是不同的,比如有的游戏还有吟唱时间,技能施放时间(技能动画),冷却时间,效果持续时间等更复杂的一系列设置,有的技能对怪使用,有的对队友使用,也就是还要多一个技能施放坐标的参数,有的技能吟唱完毕后,可以对其他目标施放好几次,一直到身上的光环消失,等等。问:这个原理也可以用在别的很多地方,感觉加个技能没必要写那么复杂,省不下几行的&
答:技能用的越多就越省而且我这也只是个简化版本我真正的脚本,在每个吟唱中,还有吟唱防打断机制(游戏设定,被攻击可能会被打断)和确保魔法是否释放成功的机制 (网络卡等原因造成失败)挂机当然会顶着怪,怪会打断你的魔法,该加的没加,也许就会死亡这个机制比较繁琐,综合成一个过程会大大减少代码的行数反正我也只是写点经验,用不用,用不用的上,还得看大家的具体情况问:在实际应用中,应该有很少的作者会直接在UserVar中做这样的自定义:UserVar UserStr = 51,1,30|49,1.5,60 [辅助技能快捷键序列]复制代码这样的自定义字段的缺陷在于不利于使用者的直观了解,另外,UserStr得到的结果也只是一个字符串值绝大多数的作者还是会用类似下面的设置如:uservar Skill=1 技能键uservar ColdTime=2 冷却时间(秒)uservar EffTime=5 持续时间(秒)复制代码这样所有的赋值结果都是数值型变量所以,淡蓝的上面的代码如果用2维数组的方式来解决,会使整个程序更方便直观,执行起来也会更快速。答:我这篇文章主要在讲多种思路,所以最后一种比较极端的方式也包含进来了这种方法在某些情况下,还是比较适用的用哪种,还看具体情况至于你说的两种写法的问题我这样写的好处是可以任意组合任意多个技能前面的任意表示技能的组合方式不定后面的任意表示技能个数不定我以前玩过一个游戏,游戏里有一种祭司职业,也就是俗称的奶妈吧挂机的时候,是和战斗职业组队一起挂的他需要不停的群加血,群加状态一般的形式是 加血-& 辅技防护 -& 加血 -& 辅技武器加持 -& 加血 -& 辅技回复魔力技能 - &&&加血 -& ...每次都有一次群加血,是害怕几个辅助技能时间凑巧凑一起了,结果一轮辅技下来花费的时间太长,肉盾挂了我就可以在 uservar 里写 1,2,1,3,1,4,1,5 这样的形式,1代表加血,2以后的代表其他辅助技能每个人可以根据具体情况,来进行组合,比如加血能力差的,可以每2-3次加血,一次辅技等,还可以选择不要防护,或者不要加持,或者不要魔力回复,或者在一轮技能的最后多加几次血总之,可以任意组合任意个技能,组合的方式由 uservar 而定你这种写法,理解起来是很方便,但技能个数就是固定不变的了,设了多少个自定义变量,就只能有多少个技能,组合方式也只是简单的挨着轮流下来问:淡蓝如海老师这个脚本太好了!不过请教一下淡蓝如海老师2个问题:1:字符串值为"按键码,冷却时间,效果持续时间"格式,单位秒这里的按键码可以是组合键吗?2:如果某个快截键的冷却时间和效果时间太长,而其他的时间较短.我不想较长时间的每次运行都要检验(时间长的话,在比较时间的时候会卡),该怎么样设置呢?UserVar UserStr=121,41,,,60|118,5,540|119,5,240比如这个序列,前面2个冷却时间和效果持续时间都很长,而后面3个时间较短,需要不时补充,如何跳过前面2个只检查后面3个,到差不多时间才检验前面2个的时间周期~?
答:顺便说一句,你这设的什么啊,根本没看懂我这个帖子121,41,,,60|118,5,540|119,5,240我所谓的冷却时间,主要是指放出一个技能后,能放第二个技能前,的一个时间间隔比如有的游戏,你按键放一个技能时,人物要做一个动作,动作没做完时,是不能马上用第二个技能的,这就是放出下一个技能所需要的冷却时间技能动画时间有长有短,所以分别设置不同的冷却时间加上这个冷却时间,是怕 2个技能时间刚好赶到一起,快捷键按的太密集了,造成第二个技能实际没用出来而不是指某个技能要隔多少秒后才能第二次使用你设的41秒,9秒之内的,也太长了点
问:淡蓝大~我依照你的脚本丝路写了一个使用攻击技能打怪的脚本但是怪怪的~问题一.他捡取玩没有中断问题二.技能没有在打完怪初始缺省...........能请淡蓝大~帮我看一下吗?Rem 开始IfColor 926,412,ffffff,0& & KeyPress 90,1& & Delay 200& & KeyPress 90,1& & Delay 200& & KeyPress 90,1& & Delay 200& & KeyPress 90,1EndIf&IfColor 269,80,fc,2& & Gosub UseSkillElse&& & Delay 50& & If tabb=0& & Else&& && &&&Delay 250& && &&&KeyPress 9,1& && &&&Delay 100& & EndIf&& & Delay 128EndIf&UserVar UserStr = 1,2,3,4,5,6 攻击技能快捷键序列]Dim Skill(5)Skill(0) = "49,1.5,15"Skill(1) = "50,1.5,15"Skill(2) = "51,1.5,20"Skill(3) = "52,2.1,2"Skill(4) = "53,1.5,30"Skill(5) = "54,1,1"UserString = Split(UserStr,",",-1,1)Rem StartI = 0For UBound(UserString)+1& & Delay 100& & SkillStr = Skill(CInt(UserString(I))-1)& & Gosub UseSkill& & I = I + 1EndFor&Goto StartSub UseSkill& & SkillString = Split(SkillStr,",",-1,1)& & Execute "T = T" & SkillString(0)& & If DateDiff("s",T,Now()) &= CInt(SkillString(5))& && &&&KeyPress SkillString(0),1& && &&&Gosub 自动加血& && &&&Execute "T" & SkillString(0) & "=Now()"& && &&&Delay SkillString(1)*1000& && &&&IfColor 268,80,fc,1& && && && &Gosub 捡取& && &&&EndIf&& & EndIf&Return UseSkill精简了一下
就是想打完一个怪后,所有技能都恢复了,又重新从最优先的攻击技能开始是啊~我是想要打怪用的~就是刚学步懂想了很久大大可以提示一下吗但是用论坛上通用的时间判断又没有淡蓝大~你的发招时间控制项上面这帖子虽然做了7个按键,但是每个按键发招攻击会打架,造成乱按一通恳请大大帮助一下吧因为网游就像大大你所说的,有时间差,也有发招吟唱等等因素....
答:这么长我懒得看...你说的意思我想了一下是不是想打完一个怪后,所有技能都恢复了,又重新从最优先的攻击技能开始?那要还要增加更多的东西因为我这个只是辅助技能脚本,是那种不停使用的那样的的话可能还要增加一个数组标示每个技能的状态,能不能使用每次遇怪使用技能前都通过那个数组从 0,1,2,3 开始判断起,0能用就用0,不能用就继续判断1能不能用,依次循环
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢初阶教程 教你用按键精灵制作定时提醒小工具!
按键精灵是时下最热门的动作脚本开发软件,国内多数主流游戏辅助也是用该程序制作。但你以为按键精灵的功能仅限于此吗?那你就打错特错了。动作脚本适用范围广泛,提高我们的办公效率,为生活提供便捷功能都是按键脚本的用途,今天教三分钟制作自动定时小工具!让你的时间安排更合理!
下载按键精灵最新版:
1、脚本功能:按F10启动定时提醒。
2、脚本使用说明:设置好时间-&启动。
3、制作思路
A.一直获取当前时间
B.计算当前时间与设置时间是否符合
C.如果与设置时间匹配则弹框提醒
4、脚本制作过程
首先,新建一个脚本,在主界面上点击新建。
进入编辑器后,即可看到编辑器的界面。
点击界面上方的【源文件】,进入源码编辑状态。
根据思路我们第一步要做的就是创建一个循环控制的结构,代码如下:
已经搭建好了框架,接下来就是,如何进行时间判断了。这里我们介绍一个时间函数命令。Time:返回当前系统时间。
有了这个函数的支持。我们下面要做的就是把这个函数返回值与我们预想的时间进行一下对比即可。在按键精灵里面你只要使用If(如果)&Then(则)&即可解决这个问题了。我们设想让他在下午15点整弹出提醒框来告诉我们时间到啦。
如果想看看这一句在按键精灵当中是如何翻译的,点击编辑区域内的【普通】视图即可看到。效果如图:
编辑好代码后,只要点一下【保存退出】,然后按下键盘【F10】键,你即可做你自己想要做的事情了,到了15点整,屏幕中心位置则会弹出一个小对话框,上面写着&时间到啦&。效果图如下:
相关报道:
新闻热线:010-
责任编辑:吴才刚
名企动态: |
标志着Windows迈出个性化计算的第一步……
本站特聘法律顾问:于国富律师
Copyright (C) 1997-怎么用按键精灵控制两个游戏窗口,先锁定一个,再开_按键精灵吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:390,919贴子:
怎么用按键精灵控制两个游戏窗口,先锁定一个,再开收藏
广州龙声厂家直销 铝合金,塑料,双色等按键,产品型号齐全,现货供应,交货及时,欢迎来图欢迎来图来样起模订做,品质值得信赖!欢迎新老客户来电预订.
后台多开吧
登录百度帐号推荐应用}

我要回帖

更多关于 按键精灵代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信