def main(): InitLog() gli = (31, 21, 37, 37) glp = (31 + 37 // 2, 21 + 37 // 2) print("固定左侧 x: %d y: %d w: %d h: %d 中心点: (%d, %d)" % (gli[0], gli[1], gli[2], gli[3], glp[0], glp[1])) imgfile = WindowCaptureToFile("TWINCONTROL", "WeGame", GetvercodeDir(), 284, 171, 280, 161) if imgfile == "": logger.warning("截取验证拖动图片失败") return img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE) x, y, w, h = GetRightPos(img) grp = (x + w // 2, y + h // 2) print("x: %d y: %d w: %d h: %d 中心点: (%d, %d)" % (x, y, w, h, grp[0], grp[1])) dis = grp[0] - glp[0] print("横轴距离: %d" % (dis)) beginx, beginy = 333, 354 aj().MouseMoveToTgp(333, 354), KongjianSleep() aj().MouseLeftDown(), KongjianSleep() aj().MouseMoveR(10, 0), KongjianSleep() movetox, movetoy = beginx + dis, beginy print("移动到 %d %d" % (movetox, movetoy)) aj().MouseMoveToTgp(movetox, movetoy) aj().MouseLeftUp(), KongjianSleep()
def main(): InitLog() if not GameApiInit(): sys.exit() FlushPid() meninfo = GetMenInfo() value = DescryptF(meninfo.object + 0x1728) # 倍功 print(value) value = DescryptF(meninfo.object + 0x1578) # 移动速度 print(value) value = DescryptF(meninfo.object + 0x15a8) # 攻击速度 print(value) EncryptF(meninfo.object + 0x1728, 1.0) # EncryptF(meninfo.object + 0x1578, 2.0) # EncryptF(meninfo.object + 0x15a8, 0.0) value = DescryptF(meninfo.object + 0x1728) # 倍功 print(value) value = DescryptF(meninfo.object + 0x1578) # 移动速度 print(value) value = DescryptF(meninfo.object + 0x15a8) # 攻击速度 print(value)
def main(): InitLog() if not GameApiInit(): sys.exit() FlushPid() # DrawNextDoorPath() DrawAnyPath(257, 149, 789, 297)
def main(): InitLog() from gevent import pywsgi from geventwebsocket.handler import WebSocketHandler server = pywsgi.WSGIServer(('0.0.0.0', 22222), app, handler_class=WebSocketHandler) server.serve_forever()
def main(): InitLog() if not GameApiInit(): sys.exit() FlushPid() if not aj().Init(): sys.exit() GameWindowToTop() print(skillstore.Match())
def main(): InitLog() from gevent import pywsgi from geventwebsocket.handler import WebSocketHandler server = pywsgi.WSGIServer(('0.0.0.0', 33333), app, handler_class=WebSocketHandler) socketio.start_background_task(target=background_thread) server.serve_forever()
def main(): InitLog() if not GameApiInit(): sys.exit() FlushPid() if not aj().Init(): sys.exit() GameWindowToTop() eq = Equips() # eq.ZupinWuqi() eq.ChangeEquip()
def main(): InitLog() InitDb() # DbEventAppend("13023252617", "上海一区", "小春春", "登陆上线") # DbEventAppend("13023252617", "上海一区", "小春春", "下线") # DbStateUpdate("13023252617", "上海一区", "小春春", curlevel=10, ) # DbItemAppend("13023252617", "上海一区", "小春春", moneyadd=100, wuseadd=10, timeadd=100) # rows = DbStateSelect() # jsonstr = json.dumps(rows, ensure_ascii=False) # print(jsonstr) # print(IsTodayHavePilao(account='3115907573', region='北京3区')) print(TodaySixTimestamp())
def main(): InitLog() # 0,1,2,3,4 ... 一共12个顶点. width=6,height=4 graph = Graph(24, 6) graph.AddEdge(hwToidx(2, 0, 6), hwToidx(2, 1, 6)) graph.AddEdge(hwToidx(1, 1, 6), hwToidx(1, 2, 6)) graph.AddEdge(hwToidx(2, 1, 6), hwToidx(2, 0, 6)) graph.AddEdge(hwToidx(2, 1, 6), hwToidx(3, 1, 6)) graph.AddEdge(hwToidx(3, 1, 6), hwToidx(2, 1, 6)) graph.AddEdge(hwToidx(3, 1, 6), hwToidx(4, 1, 6)) graph.AddEdge(hwToidx(4, 1, 6), hwToidx(4, 2, 6)) graph.AddEdge(hwToidx(4, 1, 6), hwToidx(3, 1, 6)) graph.AddEdge(hwToidx(0, 2, 6), hwToidx(1, 2, 6)) graph.AddEdge(hwToidx(1, 2, 6), hwToidx(1, 3, 6)) graph.AddEdge(hwToidx(1, 2, 6), hwToidx(0, 2, 6)) graph.AddEdge(hwToidx(1, 2, 6), hwToidx(1, 1, 6)) graph.AddEdge(hwToidx(1, 2, 6), hwToidx(2, 2, 6)) graph.AddEdge(hwToidx(2, 2, 6), hwToidx(2, 3, 6)) graph.AddEdge(hwToidx(2, 2, 6), hwToidx(1, 2, 6)) graph.AddEdge(hwToidx(2, 2, 6), hwToidx(3, 2, 6)) graph.AddEdge(hwToidx(3, 2, 6), hwToidx(3, 3, 6)) graph.AddEdge(hwToidx(3, 2, 6), hwToidx(2, 2, 6)) graph.AddEdge(hwToidx(3, 2, 6), hwToidx(4, 2, 6)) graph.AddEdge(hwToidx(4, 2, 6), hwToidx(4, 3, 6)) graph.AddEdge(hwToidx(4, 2, 6), hwToidx(3, 2, 6)) graph.AddEdge(hwToidx(4, 2, 6), hwToidx(4, 1, 6)) graph.AddEdge(hwToidx(4, 2, 6), hwToidx(5, 2, 6)) graph.AddEdge(hwToidx(5, 2, 6), hwToidx(5, 3, 6)) graph.AddEdge(hwToidx(5, 2, 6), hwToidx(4, 2, 6)) graph.AddEdge(hwToidx(1, 3, 6), hwToidx(1, 2, 6)) graph.AddEdge(hwToidx(2, 3, 6), hwToidx(2, 2, 6)) graph.AddEdge(hwToidx(2, 3, 6), hwToidx(3, 3, 6)) graph.AddEdge(hwToidx(3, 3, 6), hwToidx(2, 3, 6)) graph.AddEdge(hwToidx(3, 3, 6), hwToidx(3, 2, 6)) graph.AddEdge(hwToidx(4, 3, 6), hwToidx(5, 3, 6)) graph.AddEdge(hwToidx(4, 3, 6), hwToidx(4, 2, 6)) graph.AddEdge(hwToidx(5, 3, 6), hwToidx(4, 3, 6)) graph.AddEdge(hwToidx(5, 3, 6), hwToidx(5, 2, 6)) print("图:") print(graph) print("广度优先:") bfs = BreadthFirstPaths(graph, 2) paths = bfs.PathTo(hwToidx(1, 1, 6)) for v in reversed(paths): print(v, idxTohw(v, 6)) # print(manhattanDistance([0, 2], [1, 2])) print("\na*寻径") astar = AStarPaths(graph, 2, 7) paths = astar.PathTo(hwToidx(1, 1, 6)) for v in reversed(paths): print(v, idxTohw(v, 6))
def main(): InitDb() InitLog() InitSetting() app = QApplication(sys.argv) w = QWidget() w.resize(1200, 300) w.setWindowTitle(" ") # 列表 table = QTableWidget() columns = ["账号", "大区", "角色", "等级", "职业", "当前疲劳", "金币", "制裁时间点", "更新时间点"] table.setColumnCount(len(columns)) table.setHorizontalHeaderLabels(columns) header = table.horizontalHeader() header.setSectionResizeMode(8, QtWidgets.QHeaderView.ResizeToContents) def tick(): states = DbStateSelect() if len(states) > 0 and (len(states) != table.rowCount()): table.clearContents() table.setRowCount(len(states)) elif len(states) == 0: table.clearContents() table.setRowCount(len(states)) state: object for idx, state in enumerate(states): if table.itemAt(idx, 8) != str( time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(state["timepoint"]))): table.setItem(idx, 0, QTableWidgetItem(str(state["account"]))) table.setItem(idx, 1, QTableWidgetItem(str(state["region"]))) table.setItem(idx, 2, QTableWidgetItem(str(state["role"]))) table.setItem(idx, 3, QTableWidgetItem(str(state["curlevel"]))) table.setItem(idx, 4, QTableWidgetItem(str(state["zhiye"]))) table.setItem(idx, 5, QTableWidgetItem(str(state["curpilao"]))) table.setItem(idx, 6, QTableWidgetItem(str(state["money"]))) # table.setItem(idx, 7, QTableWidgetItem(str(state["wuse"]))) table.setItem(idx, 7, QTableWidgetItem(str(state["kicktime"]))) table.setItem( idx, 8, QTableWidgetItem( str( time.strftime('%Y-%m-%d %H:%M:%S', time.localtime( state["timepoint"]))))) timer = QTimer() timer.timeout.connect(tick) timer.start(1000) tick() # 设置账号按钮 settingAccountbtn = QPushButton("设置账号") settingAccountDefaultbtn = QPushButton("参考账号配置") def settingaccont(): os.system("start notepad %s" % (os.path.join(GetCfgPath(), "accounts"))) def settingaccountdefault(): os.system("start notepad %s" % (os.path.join(GetCfgPath(), "accounts.template"))) settingAccountbtn.clicked.connect(settingaccont) settingAccountDefaultbtn.clicked.connect(settingaccountdefault) settingAccountLayout = QHBoxLayout() settingAccountLayout.addWidget(settingAccountbtn) settingAccountLayout.addWidget(settingAccountDefaultbtn) # 设置配置 settingLayout = QHBoxLayout() settingCfgbtn = QPushButton("设置配置") settingCfgDefaultbtn = QPushButton("参考默认配置") def settingcfg(): os.system("start notepad %s" % (os.path.join(GetCfgPath(), "superai.cfg"))) def settingCfgDefault(): os.system("start notepad %s" % (os.path.join(GetCfgPath(), "superai.cfg.template"))) settingCfgbtn.clicked.connect(settingcfg) settingCfgDefaultbtn.clicked.connect(settingCfgDefault) settingLayout.addWidget(settingCfgbtn) settingLayout.addWidget(settingCfgDefaultbtn) # 启动按钮 buttonlayout = QHBoxLayout() startbtn = QLabel("开启(HOME)") t = SuperAiThread(stophotkey=True) def start(): nonlocal t if startbtn.text() == "开启(HOME)": t.start() startbtn.setText("关闭(END)") else: logger.warning("已经开启了") def stop(): nonlocal t if startbtn.text() == "关闭(END)": t.stop() t = SuperAiThread(stophotkey=True) startbtn.setText("开启(HOME)") else: logger.warning("已经关闭了") class Hotkey(QThread): startsign = pyqtSignal() stopsign = pyqtSignal() def run(self) -> None: while True: home = win32api.GetAsyncKeyState(VK_CODE['home']) if home != 0: self.startsign.emit() time.sleep(1) end = win32api.GetAsyncKeyState(VK_CODE['end']) if end != 0: self.stopsign.emit() time.sleep(1) time.sleep(0.005) # 快捷键 hotkey = Hotkey() hotkey.startsign.connect(start) hotkey.stopsign.connect(stop) hotkey.start() buttonlayout.setAlignment(QtCore.Qt.AlignCenter) buttonlayout.addWidget(startbtn) listlayout = QVBoxLayout() listlayout.addWidget(table) def reset(): DbStateDel() msgBox = QMessageBox() msgBox.setText("成功重置数据库") msgBox.setWindowTitle("superai") msgBox.exec_() # 清除制裁状态按钮 resetbtn = QPushButton("重置数据库") resetbtn.clicked.connect(reset) settinglayout = QVBoxLayout() # settinglayout.addWidget(settingAccountbtn) settinglayout.addLayout(settingAccountLayout) settinglayout.addLayout(settingLayout) settinglayout.addWidget(resetbtn) settinglayout.addSpacing(195) settinglayout.addLayout(buttonlayout) settinglayout.setAlignment(QtCore.Qt.AlignTop) widgetlayout = QHBoxLayout() widgetlayout.addLayout(listlayout) widgetlayout.addLayout(settinglayout) widgetlayout.setStretch(0, 10) widgetlayout.setStretch(1, 1) w.setLayout(widgetlayout) w.show() app.exec_()
def main(): InitLog() subnodeapi()
def main(): InitLog() from superai.superai import xinfeng2 print(xinfeng2.Match())