Closed hbw0018 closed 4 years ago
执行两个选择目标技能,只能执行一个。 执行选目标技能1,执行未选择目标技能 ,执行选择目标技能2,会跳过无目标技能。是等待时间太短的问题吗?
请问等待时间的代码在哪,调一下技能间隔时间试试,谢谢您
啊,我觉得有可能,有个暂时的解决办法。
在Automata.py
里面 select_servant_skill
结尾加上
time.sleep(1)
(如果不够长,可以考虑改长一点,但一秒估计够了
skill: int
The id of the skill. 1~9 counted from left.
tar: int, optional
The id of target servant. 1~3 counted from left.
(If the skill has target servant)
Examples
--------
Here are examples::
select_servant_skill(1) # skill w/o target servants
select_servant_skill(3, 2) # skill w/ target servants
"""
while not util.standby(util.get_sh(self.shifts), "assets/attack.png"):
time.sleep(0.2)
self.tap(crds.SERVANT_SKILLS[skill-1], 5, 5)
time.sleep(1.5)
if tar != 0:
self.select_servant(tar)
这是技能选择那块 应该加在哪里 那个time.sleep(1.5)是技能等待时间吗
两次技能释放之间添加间隔,应该放在哪个位置。
不是那里,那个是点技能和选择目标的时间间隔,应该:
if tar != 0:
self.select_servant(tar)
time.sleep(1)
Traceback (most recent call last):
File "piao.py", line 1, in
Traceback (most recent call last): File "piao.py", line 1, in from core.Automata import Automata File "C:\youxi\FGO-Automata-0.6.3\core\Automata.py", line 96 time.sleep(1.5) ^ TabError: inconsistent use of tabs and spaces in indentation 加完不能动了
啊这,Python的缩进是4个空格(不要用tab)
time.sleep(1)
对齐上面那一行就好了
还是不行
time.sleep(1)
的前面都要是空格才可以的(也就是12个空格)
懂了
可以运行了,感谢您的帮助,就是间隔太短的问题,术呆的技能释放要比其它英灵久。
大佬还有个问题,关于结束一次运行
def finish_battle(self):
while not util.standby(util.get_sh(self.shifts), "assets/item.png"):
xs = util.get_crd(util.get_sh(self.shifts), "assets/close.png")
if len(xs) != 0:
self.tap(xs[0])
self.tap((660, 840), 40, 1)
time.sleep(0.9)
time.sleep(0.9)
x = util.get_crd(util.get_sh(self.shifts), "assets/item.png")
self.tap(x[0])
print("[INFO] Battle Finished.")
# FLAWED
def is_finished(self) -> bool:
time.sleep(0.5)
return util.standby(util.get_sh(self.shifts), "assets/finish.png", 0.5)
程序在点击finish.png(下一项)的时候,就默认完成了一次执行。然后就会停留在close.png(关闭),再次出战 的界面上,必须手动点关闭才能进行下一次
大佬还有个问题,关于结束一次运行
after-battle related
def finish_battle(self): while not util.standby(util.get_sh(self.shifts), "assets/item.png"): xs = util.get_crd(util.get_sh(self.shifts), "assets/close.png") if len(xs) != 0: self.tap(xs[0]) self.tap((660, 840), 40, 1) time.sleep(0.9) time.sleep(0.9) x = util.get_crd(util.get_sh(self.shifts), "assets/item.png") self.tap(x[0]) print("[INFO] Battle Finished.") # FLAWED def is_finished(self) -> bool: time.sleep(0.5) return util.standby(util.get_sh(self.shifts), "assets/finish.png", 0.5)
程序在点击finish.png(下一项)的时候,就默认完成了一次执行。然后就会停留在close.png(关闭),再次出战 的界面上,必须手动点关闭才能进行下一次
请单独开另外一个issue
您好 是不是两次选择目标技能的等待时间太短了 连续执行两次选择目标技能会停住 中间插一个不选择目标技能会跳过它执行两次选择目标技能
先进行两次选择目标技能 只能进行一次 第二次完全不点击技能 没有任何后续操作 不进入下一回合 也不跳过执行
可以执行衣服的目标选择 然后执行没有目标技能 执行一次选择目标技能 然后停住
执行选择目标技能1 会跳过执行未选择目标技能 执行选择目标技能2 然后再次停住