安装python:最简单的方法是去微软商店中直接安装python3
安装完毕后,右键开始菜单 或 win+x,打开 终端(管理员) 或 powershell(管理员) ,输入python
,确定能够进入python命令行,然后输入exit()
,退出python命令行,回到终端界面
输入python -m pip install --upgrade pip
,等待pip更新完毕
安装所需的几个模块,-i后面为pip国内镜像源
pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pydirectinput -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pywin32 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
不知为何升级到python3.12后,安装pyautogui的时候没有安装pillow,需要手动安装下:
pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
设置星穹铁道为1920*1080窗口化(已不强制需求),其他分辨率请在configuration.py
中修改_variableParameters中的‘_resolution’字段的值,若系统缩放非100%,也请在此处修改'scale'字段的值
带队人物选择最好是下面的推荐角色,角色置于非 基座舱段的其他位置,保持在可操作界面,脚本运行期间,队伍战斗最好别失败,若失败则该区域后续基本无法进行,只能等待脚本运行到下一区域继续 | 推荐选择 | 不推荐选择 |
---|---|---|
娜塔莎 | 青雀 | |
佩拉 | 驭空 | |
符玄 | 三月七 | |
阮梅 | 彦卿 | |
艾丝妲 | 黑天鹅 | |
布洛妮娅 | 克拉拉 | |
寒鸦 | ||
其他我没有,未尝试,哈哈哈哈
下载ZIP并解压,
一切设置完毕后,即可使用管理员权限(pyautogui非管理员无法进行)运行starRail.py
,推荐VSCode + code runner插件运行,如果是VSCode运行,在打开文件夹时,一定要打开的是data目录的上一级目录,而不是starRailScript_main的上一级目录,(即打开的文件夹是starRailScript_main)
重要:如果是VSCode运行,需要在VSCODE按下Ctrl+,(逗号),打开VSCode设置页面,搜索python.terminal.executeInFileDir,然后打上勾,该选项是指定运行python时,运行目录为文件目录,而不是打开目录
星穹铁道2.1版本
暂停更新
近期有事儿,加上星铁最近的更新出现了意料之外的设定,在皮诺康尼进入战斗,很多情况下是会调整视角为进入战斗时面向小怪的视角,而非原先的视角,以致使行为逻辑的操作必须准确,更加耗时。并且还有一个偶发bug:通常角色在当前地图中时打开地图,地图会尽量将角色所在区域往中间移动,而角色在皮诺康尼的当前地图的小房间时打开地图,触发该bug后,地图不再以上述逻辑显现,而是以角色不在该地图内的逻辑打开地图,致使该地图后续坐标失效
更新朝露公馆行为逻辑
pathFinding.py
:
configuration.py
:
暂未更新皮诺康尼的朝露公馆和克劳克影视乐园行为逻辑
pathFinding.py
:
starRail.py
:
星穹铁道2.0版本
pathFinding.py
:
configuration.py
:
pathFinding.py
:
selectRegion()
函数体形式,将其中的内部函数统一提前,将函数主体统一放到最后,修改内部函数的函数名,减少理解成本configuration.py
:
action()
函数,增加'QM':退出小房间地图,'SP':等待一段时间的行为判断,并抽离'wasd'的组合按键,将其他单一按键操作放置最后的else
分支中starRail.py
:
script()
中,for循环的大地图次数为4暂未更新皮诺康尼的行为逻辑,这次更新真的量大管饱,地图也好大,还没肝完,先修复使前三个大地图可以正常运行
configuration.py
:
starRail.py
:
星穹铁道1.6版本
configuration.py
:
configuration.py
:
pathFinding.py
:
星穹铁道1.5版本
configuration.py
:
configuration.py
:
pathFinding.py
:
星穹铁道1.4版本
pathFinding.py
:
configuration.py
:
朋友,输得一塌糊涂啊!静流都出来了,青雀才来了一只,我的青雀才3命,就差一个就有不求人了,青雀什么时候才能满命啊,くそgame!
starRail.py
:
pathFinding.py
:
configuration.py
:
星穹铁道1.3版本
米桑,你怎么这么爱在地图中间加地图,很有趣嘛:D
starRail.py
:
clickRegion()
方法中的细节,使得仙舟增加金人巷后依然能正确运行pathFinding.py
:
configuration.py
:
_checkFightEnd()
中增加判断,如果长时间无法检测到战斗结束,那么将点击一次屏幕,用处:战斗失败时,能继续清扫剩余地图星穹铁道1.2版本
starRail.py
:
仙舟
因增加区域而导致的选择区域的位置错误问题selectRegion()
的调用从clickRegion()
方法中上提到了script()
中pathFinding.py
:
_action()
方法和_run()
方法剥离到了configuration.py
中_clickRegion()
更名为_clickTransmitPoint()
,并将其和_region*()
方法转为selectRegion()
的内部函数selectRegion()
和_region*()
增加参数node
,能够在Debug的时候,直接输入,选择要Debug的节点,不用像先前修改for i in range()
中的参数configuration.py
:
_checkFightEnd()
和_run()
方法转为action()
的内部函数,修改战斗检测判断为右下角区域的轮盘是否存在(1.3版本已更改)_correct()
方法,当设置分辨率非1920*1080
时,启动脚本时调用该函数,根据设置的分辨率按比例调整相应坐标此次修改后,若窗口设置非1920*1080窗口化
,需要在configuration.py
中修改_variableParameters的_resolution
字典值,设置为当前使用的窗口化大小
星穹铁道1.0版本
starRail.py
为点击大地图,及选择区域的代码,后续新增大地图或区域时,修改该文件及configuration.py
中的坐标。该文件中的main函数为脚本启动函数
configuration.py
为一些参数,包括需要点击的坐标,设置地图加载等待时间,寻找到游戏窗口函数,和检测战斗是否结束
pathFinding.py
为区域内传送点点击操作及人物行动代码,该文件中的main函数为区域内操作Debug的函数,_clickRegion()
为点击传送点的函数,_action()
操作解析函数,x为横向视角转动,y为纵向视角转动,这两个后面跟的数值为转动角度,非精确操作,慎用,c为左键单击,地图内即为攻击,cf为检测战斗是否结束,后面跟的数值为检测间隔单位秒,f为f键,使用场景为进入画中,后面跟的数值为等待时间,其他按键操作,基本为'w''a''s''d'的组合,后面跟的第一个数值为操作时间,第二个若有任意数值,则为走路进行,没有第二个数值,则为跑步进行