import sys
from pyqt5.qtcore import *
from pyqt5.qtgui import *
from pyqt5.qtwidgets import *
from pyqt5.qtwebenginewidgets import *
from flask import flask,render_template
from flask import request
import json
from threading import thread
import os
import subprocess
import time
def async2(func):
thr = thread(target = func, args = args, kwargs = kwargs)
thr.start()
'''載入網頁
'''class mainwindow(qmainwindow):
windowminimumed = pyqtsignal()
def __init__(self):
super(mainwindow, self).__init__()
self.setwindowtitle('079沉浸冒險島登器') #視窗標題
self.setgeometry(200,130,900,500) #視窗的大小和位置設定
self.browser=qwebengineview()
#載入外部的web介面
self.browser.load(qurl(''))
self.setcentralwidget(self.browser)
run_web_server()
'''重寫關閉視窗按鈕事件重新
'''def closeevent(self,event):
z_popen("taskkill /pid 5000 -t -f")
z_popen("taskkill /f /im 079沉浸冒險島登器.exe /t")
z_popen("taskkill /f /im maplestory.exe /t")
z_popen("taskkill /f /im python.exe /t")
def mousepressevent(self, event):
if event.button() == qt.leftbutton:
self.m_flag = true
self.m_position = event.globalpos() - self.pos() # 獲取滑鼠相對視窗的位置
event.accept()
self.setcursor(qcursor(qt.openhandcursor)) # 更改滑鼠圖示
def mousemoveevent(self, qmouseevent):
if qt.leftbutton and self.m_flag:
self.move(qmouseevent.globalpos() - self.m_position) # 更改視窗位置
qmouseevent.accept()
def mousereleaseevent(self, qmouseevent):
self.m_flag = false
self.setcursor(qcursor(qt.arrowcursor))
#-------------本地web介面----------------
@async2
def run_web_server():
'''tasklist
taskkill /pid 9396 -t
'''def z_popen(cmd):
try:
p = subprocess.popen(cmd, shell=true, stdin=subprocess.pipe, stdout=subprocess.pipe, stderr=subprocess.pipe)
lines = p.stdout.readlines()
status = p.wait()
return [line.decode('gbk') for line in lines]
# taks_list = os.popen(cmd)
# return [item for item in taks_list.read().split("\n")]
except exception as ex:
pass
#----------------------------
# 啟動遊戲
def start_game():
ocmd = "maplestory.exe 128.24.13.206 3339"
subprocess.popen(ocmd, shell=true, stdin=subprocess.pipe, stdout=subprocess.pipe, stderr=subprocess.pipe)
# status = p.wait()
time.sleep(1)
open_game()
'''開啟遊戲
'''def open_game():
try:
time.sleep(1)
# 關閉第乙個彈窗頁面
cmd_text = z_popen("tasklist")
for item in cmd_text:
if "maplestory.exe" in item:
data_list = [x for x in item.split(" ") if x]
n_cmd = "taskkill /pid %s -t" % (data_list[1])
z_popen(n_cmd)
break
time.sleep(2)
except exception as ex:
sys.exit(0)
#執行遊戲
def run_game():
if request.method == 'get':
print("執行遊戲")
data={}
start_game()
data["msg"]=true
return json.dumps(data,ensure_ascii=false)
else:
return "請求方法錯誤!"
#關閉視窗
def close_ck():
if request.method == 'get':
z_popen("taskkill /f /im 079沉浸冒險島登器.exe /t")
z_popen("taskkill /f /im python.exe /t")
# win.on_pushbutton_clicked()
data = {}
data["msg"] = true
return json.dumps(data, ensure_ascii=false)
else:
return "請求方法錯誤!"
#防爆記憶體
def fangbaoneircun():
if request.method == 'get':
z_popen("記憶體釋放器 .exe")
data = {}
data["msg"] = true
return json.dumps(data, ensure_ascii=false)
else:
return "請求方法錯誤!"
#預留的萬能執行命令埠
def universal():
if request.method == 'get':
cmd_str = request.args.get("cmd_str")
z_popen(cmd_str)
data = {}
data["msg"] = true
return json.dumps(data, ensure_ascii=false)
else:
return "請求方法錯誤!"
#-----------------------------------------
if __name__ == '__main__':
def z_popen(cmd):
try:
p = subprocess.popen(cmd, shell=true, stdin=subprocess.pipe, stdout=subprocess.pipe, stderr=subprocess.pipe)
lines = p.stdout.readlines()
status = p.wait()
return [line.decode('gbk') for line in lines]
except exception as ex:
pass
#--------------------------
win=mainwindow()
win.show()
琳琳冒險島
遊戲已經巨變,但是冒險家的心沒有變換,琳琳冒險發布站秉持著聖潔的冒險覺醒之心,幫助冒險家在繁忙工作之餘回到多彩的冒險世界,暢談大家的冒險經歷與公升級要訣,讓冒險島這個藝術品更加的熠熠生輝。開源py版登入器部分源 if name main root tk.tk root.title 櫻木冒險島登入引導...
冒險島無敵掛小思路
近幾天在網上看到了很多外掛程式製作的思路,作為菜鳥我想把我的思路先記下來然後照這個來實現。我記得有人說過冒險島嚴格來說不屬於網路遊戲,可以稱他為單機遊戲,因為當初設計冒險島的時候很多的判定演算法什麼東西都儲存在使用者的客戶端電腦上面。比如說在冒險裡面人物角色碰到怪物的時候會有觸碰傷害,觸碰的那一瞬間...
執行緒遊戲 冒險島開發總結
執行緒遊戲之冒險島 因為小時候超愛玩小霸王遊戲的冒險島,所以在選擇執行緒遊戲開發時就自然而然的選擇做冒險島。那麼下面我就帶你一起走進我的 世界吧 首先必須得有乙個遊戲介面,這就需要用到swing元件基本 如下 this.settitle gamev1.1 this.setsize 800,600 t...