runhey / OnmyojiAutoScript

Onmyoji Auto Script | 阴阳师脚本
https://runhey.github.io/OnmyojiAutoScript-website/
GNU General Public License v3.0
1.88k stars 187 forks source link

OAS一直出现元组索引越界 #438

Closed 1136088949 closed 2 months ago

1136088949 commented 2 months ago

在提问之前...

描述你的问题

打开OAS出现索引越界

如何复现

  1. 前往 '...'
  2. 点击 '....'
  3. 滑动到 '....'
  4. 出现问题

预期行为

相关 Logs

2024-09-12 15:18:20.164 │ IndexError: tuple index out of range
         ╭───────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────╮
         │ D:\game\gua\OnmyojiAutoScript-easy-install\script.py:67 in device                                           │
         │                                                                                                             │
         │    64 │   def device(self) -> "Device":                                                                     │
         │    65 │   │   try:                                                                                          │
         │    66 │   │   │   from module.device.device import Device                                                   │
         │ ❱  67 │   │   │   device = Device(config=self.config)                                                       │
         │    68 │   │   │   return device                                                                             │
         │    69 │   │   except RequestHumanTakeover:                                                                  │
         │    70 │   │   │   logger.critical('Request human takeover')                                                 │
         │                                                                                                             │
         │ ╭─────────────────────── locals ────────────────────────╮                                                   │
         │ │ Device = <class 'module.device.device.Device'>        │                                                   │
         │ │      e = IndexError('tuple index out of range')       │                                                   │
         │ │   self = <script.Script object at 0x0000020CFC0F77F0> │                                                   │
         │ ╰───────────────────────────────────────────────────────╯                                                   │
         │                                                                                                             │
         │ D:\game\gua\OnmyojiAutoScript-easy-install\module\device\device.py:33 in __init__                           │
         │                                                                                                             │
         │    30 │   stuck_long_wait_list = ['BATTLE_STATUS_S', 'PAUSE', 'LOGIN_CHECK']                                │
         │    31 │                                                                                                     │
         │    32 │   def __init__(self, *args, **kwargs):                                                              │
         │ ❱  33 │   │   super().__init__(*args, **kwargs)                                                             │
         │    34 │   │   self.screenshot_interval_set()                                                                │
         │    35 │   │   # 我不能接受为什么继承了Window但是不会自动初始化                                              │
         │    36                                                                                                       │
         │                                                                                                             │
         │ ╭──────────────────────────────────── locals ─────────────────────────────────────╮                         │
         │ │   args = ()                                                                     │                         │
         │ │ kwargs = {'config': <module.config.config.Config object at 0x0000020CFC0F7790>} │                         │
         │ │   self = <module.device.device.Device object at 0x0000020C95367400>             │                         │
         │ ╰─────────────────────────────────────────────────────────────────────────────────╯                         │
         │                                                                                                             │
         │ D:\game\gua\OnmyojiAutoScript-easy-install\module\device\screenshot.py:33 in __init__                       │
         │                                                                                                             │
         │    30 │                                                                                                     │
         │    31 │   def __init__(self, *args, **kwargs):                                                              │
         │    32 │   │   super().__init__(*args, **kwargs)                                                             │
         │ ❱  33 │   │   super(Window, self).__init__(*args, **kwargs)                                                 │
         │    34 │                                                                                                     │
         │    35 │   @cached_property                                                                                  │
         │    36 │   def screenshot_methods(self):                                                                     │
         │                                                                                                             │
         │ ╭──────────────────────────────────── locals ─────────────────────────────────────╮                         │
         │ │   args = ()                                                                     │                         │
         │ │ kwargs = {'config': <module.config.config.Config object at 0x0000020CFC0F7790>} │                         │
         │ │   self = <module.device.device.Device object at 0x0000020C95367400>             │                         │
         │ ╰─────────────────────────────────────────────────────────────────────────────────╯                         │
         │                                                                                                             │
         │ D:\game\gua\OnmyojiAutoScript-easy-install\module\device\handle.py:210 in __init__                          │
         │                                                                                                             │
         │   207 │   │                                                                                                 │
         │   208 │   │   # window系统的缩放                                                                            │
         │   209 │   │   logger.info(f'Your window screen scale rate: {window_scale_rate()}')                          │
         │ ❱ 210 │   │   _ = self.screenshot_handle_num                                                                │
         │   211 │   │   logger.info(f'Screenshot handle num: {self.screenshot_handle_num}')                           │
         │   212 │   │   logger.info(f'Emulator screenshot size: {self.screenshot_size}')                              │
         │   213                                                                                                       │
         │                                                                                                             │
         │ ╭─────────────────────────────────── locals ───────────────────────────────────╮                            │
         │ │      config = <module.config.config.Config object at 0x0000020CFC0F7790>     │                            │
         │ │        fill = ''                                                             │                            │
         │ │        node = <module.device.handle.WindowNode object at 0x0000020C95367970> │                            │
         │ │         pre = ''                                                             │                            │
         │ │        self = <module.device.device.Device object at 0x0000020C95367400>     │                            │
         │ │ window_list = ['', '', '', '', '', '', '', '', '', '', ... +292]             │                            │
         │ ╰──────────────────────────────────────────────────────────────────────────────╯                            │
         │                                                                                                             │
         │ D:\game\gua\OnmyojiAutoScript-easy-install\toolkit\lib\site-packages\cached_property.py:36 in __get__       │
         │                                                                                                             │
         │    33 │   │   if asyncio and asyncio.iscoroutinefunction(self.func):                                        │
         │    34 │   │   │   return self._wrap_in_coroutine(obj)                                                       │
         │    35 │   │                                                                                                 │
         │ ❱  36 │   │   value = obj.__dict__[self.func.__name__] = self.func(obj)                                     │
         │    37 │   │   return value                                                                                  │
         │    38 │                                                                                                     │
         │    39 │   def _wrap_in_coroutine(self, obj):                                                                │
         │                                                                                                             │
         │ ╭─────────────────────────────── locals ────────────────────────────────╮                                   │
         │ │  cls = <class 'module.device.device.Device'>                          │                                   │
         │ │  obj = <module.device.device.Device object at 0x0000020C95367400>     │                                   │
         │ │ self = <cached_property.cached_property object at 0x0000020C95331780> │                                   │
         │ ╰───────────────────────────────────────────────────────────────────────╯                                   │
         │                                                                                                             │
         │ D:\game\gua\OnmyojiAutoScript-easy-install\module\device\handle.py:333 in screenshot_handle_num             │
         │                                                                                                             │
         │   330 │   │   """                                                                                           │
         │   331 │   │   if self.emulator_family == EmulatorFamily.FAMILY_MUMU:                                        │
         │   332 │   │   │   # 使用正则匹配12 来判定是不是mumu12这并不是一个好的方法                                   │
         │ ❱ 333 │   │   │   name = self.root_node.children[0].name                                                    │
         │   334 │   │   │   num = self.root_node.children[0].num                                                      │
         │   335 │   │   │   if name == 'MuMuPlayer':                                                                  │
         │   336 │   │   │   │   logger.info('The emulator is MuMu模拟器12')                                           │
         │                                                                                                             │
         │ ╭───────────────────────────── locals ──────────────────────────────╮                                       │
         │ │ self = <module.device.device.Device object at 0x0000020C95367400> │                                       │
         │ ╰───────────────────────────────────────────────────────────────────╯                                       │
         ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
         IndexError: tuple index out of range
INFO     2024-09-12 15:18:24.090 │ Script oas1 process exit
ERROR    2024-09-12 15:18:24.092 │ Error: 1

截图

image image

还有别的吗?

1136088949 commented 2 months ago

已解决

yuanshangyujingshierlou commented 2 months ago

已解决

你这很明显是没填写句柄,用了windows的控制方式导致的,关闭issue