diff --git a/controller/ApexMacroConfigController.py b/controller/ApexMacroConfigController.py
index 68960e2..e9af0f6 100644
--- a/controller/ApexMacroConfigController.py
+++ b/controller/ApexMacroConfigController.py
@@ -22,6 +22,7 @@ class MacroMode(Enum):
LGS = "LGS"
GHUB = "GHUB"
+ GHUB2 = "GHUB-通用鼠标"
class MacroConfigController():
@@ -56,7 +57,6 @@ def init_ui_data(self) -> None:
for macroMode in MacroMode:
self.view.driversoft.addItem(macroMode.value, userData=macroMode)
- self.driver_changed()
for aimMode in AimMode:
self.view.modes.addItem(aimMode.value, userData=aimMode)
@@ -95,6 +95,8 @@ def init_ui_with_config(self):
keyBindings = []
for key in self.config["keybinds"]:
modifiers = key.split("+")[0].split(",")
+ if len(modifiers) == 1 and modifiers[0] == "":
+ modifiers = []
mouseBtn = key.split("+")[-1]
try:
scriptFunc = self.macroFunctions[self.config["keybinds"][key]]
@@ -121,7 +123,10 @@ def save_config(self):
keyBinding_data = self.tablemodel.data.copy()
keyBinding_data.append(KeyBinding(1,self.macroFunctions["leftbutton"]))
- keyBinding_data.append(KeyBinding(2,self.macroFunctions["rightbutton"]))
+ rightkey = 2
+ if self.view.driversoft.currentData() == MacroMode.GHUB2:
+ rightkey = 3
+ keyBinding_data.append(KeyBinding(rightkey,self.macroFunctions["rightbutton"]))
## render config.lua
result = ""
@@ -195,13 +200,6 @@ def save_config(self):
Settings().save_config_to_json()
- def load_configs(self,configpath):
- config = None
- with open(configpath, "r") as f:
- config = json.load(f)
- if config:
- self.config = config
-
def load_functions(self, script_file_path: str) -> str:
with open(script_file_path, "r") as f:
scripts = json.load(f)
@@ -245,6 +243,16 @@ def download_driverscript(self):
tempfile.tempdir.replace("\\", "/")+"/config.lua")
with open(save_path, "w") as f:
f.write(result)
+ elif self.view.driversoft.currentData() == MacroMode.GHUB2:
+ try:
+ mainscript = self.macroFunctions["script"]
+ except:
+ traceback.print_exc()
+ return
+ result = mainscript.openContent.format(
+ tempfile.tempdir.replace("\\", "/")+"/config.lua")
+ with open(save_path, "w") as f:
+ f.write(result)
def mode_changed(self):
self.config["adsmode"] = self.view.modes.currentData().value
@@ -304,6 +312,8 @@ def driver_changed(self):
self.macroFunctions = self.parse_functions_to_model(self.load_functions(Settings().resource_dir+"lgsscripts.json"))
if macro == MacroMode.GHUB:
self.macroFunctions = self.parse_functions_to_model(self.load_functions(Settings().resource_dir+"ghubscripts.json"))
+ if macro == MacroMode.GHUB2:
+ self.macroFunctions = self.parse_functions_to_model(self.load_functions(Settings().resource_dir+"ghub2scripts.json"))
self.load_macro_functions()
def load_macro_functions(self):
@@ -352,6 +362,8 @@ def save_macro_script(self,func:MacroFunction,openContent: str,closeContent:str,
save_file = Settings().resource_dir+"lgsscripts.json"
elif self.view.driversoft.currentData() == MacroMode.GHUB:
save_file = Settings().resource_dir+"ghubscripts.json"
+ elif self.view.driversoft.currentData() == MacroMode.GHUB2:
+ save_file = Settings().resource_dir+"ghub2scripts.json"
with open(save_file,"w") as file:
json.dump(result, file, indent=4)
diff --git a/controller/ApexRecognizer.py b/controller/ApexRecognizer.py
index 89b49c7..4246c01 100644
--- a/controller/ApexRecognizer.py
+++ b/controller/ApexRecognizer.py
@@ -49,6 +49,7 @@ def check_resolution(self):
point = self.boxs[k]
newpoint = [point[0]+monitor["left"],point[1]+monitor["top"]]
self.boxs[k] = newpoint
+ self.boxs[k].extend(point[2:])
self.resize_rate = float(height/1080)
except FileNotFoundError as e:
raise FileNotFoundError("不支持的分辨率{}x{}".format(width,height))
@@ -84,8 +85,10 @@ def isweapon_icon(self, cvimg):
return round(np.sum(cvimg)/6311250*100)>=8
def recognize(self):
- icon_scale = 180/45
- icon_height = round(45 * self.resize_rate)
+ icon_width = self.boxs["weapon1"][2]
+ icon_height = self.boxs["weapon1"][3]
+ icon_scale = icon_width/icon_height
+ icon_height = round(icon_height * self.resize_rate)
icon_width = round(icon_height * icon_scale)
box1 = (self.boxs["weapon1"][0],
@@ -119,8 +122,10 @@ def recognize(self):
self.qt_comunicate.update.emit(d) if self.qt_comunicate else None
def screenshot(self):
- icon_scale = 180/45
- icon_height = round(45 * self.resize_rate)
+ icon_width = self.boxs["weapon1"][2]
+ icon_height = self.boxs["weapon1"][3]
+ icon_scale = icon_width/icon_height
+ icon_height = round(icon_height * self.resize_rate)
icon_width = round(icon_height * icon_scale)
box1 = (self.boxs["weapon1"][0],
diff --git a/controller/ApexWeaponConfigController.py b/controller/ApexWeaponConfigController.py
index 32b34c3..e26fa3f 100644
--- a/controller/ApexWeaponConfigController.py
+++ b/controller/ApexWeaponConfigController.py
@@ -67,7 +67,7 @@ def load_datas(self):
self.datas = {
"loading": 0,
"dq": ["true"],
- "dqrate": 2,
+ "dqrate": [2],
"debug": ["false"],
"weapons": {}
}
@@ -78,7 +78,7 @@ def load_datas(self):
is_weapon_data = True
# global sensitive
for k in self.datas.keys():
- if f.find(k)>=0:
+ if f.find(k+"=")>=0:
leftquote = f.split("=")[-1].find("{")
rightquote = f.split("=")[-1].find("}")
self.datas[k] = f.split("=")[-1][leftquote+1:rightquote].split(",")
@@ -135,6 +135,8 @@ def generate_config(self):
def block_ui_event(self,block:bool):
for widget in [self.view.loading,
self.view.dq,
+ self.view.debug,
+ self.view.dqrate,
self.view.speed,
self.view.yrate,
self.view.xrate,
@@ -199,11 +201,13 @@ def cal_data_result(self):
movex = (offsetx) * xrate
movey = (base + offsety) * yrate
- countx = countx + movex
- county = county + movey
+ # countx = countx + movex
+ # county = county + movey
- countdatax.append("{:.2f}".format(countx))
- countdatay.append("{:.2f}".format(county))
+ # countdatax.append("{:.2f}".format(countx))
+ # countdatay.append("{:.2f}".format(county))
+ countdatax.append("{:.2f}".format(movex))
+ countdatay.append("{:.2f}".format(movey))
# self.view.weapon_data_result.append(f"{{{i},{movey},0}}")
countdatax = str(countdatax).replace("[","{").replace("]","}")
@@ -259,8 +263,11 @@ def fill_ui_data(self):
def delteweapon(self):
weapon_name = self.view.weapons.currentText()
- del self.datas["weapons"][weapon_name]
- self.fill_ui_data()
+ try:
+ del self.datas["weapons"][weapon_name]
+ self.fill_ui_data()
+ except:
+ pass
def apply(self):
result = ""
diff --git a/controller/PubgMacroConfigController.py b/controller/PubgMacroConfigController.py
index 86e4429..c7528e1 100644
--- a/controller/PubgMacroConfigController.py
+++ b/controller/PubgMacroConfigController.py
@@ -21,6 +21,7 @@ class MacroMode(Enum):
LGS = "LGS"
GHUB = "GHUB"
+ GHUB2 = "GHUB-通用鼠标"
class MacroConfigController():
@@ -55,8 +56,8 @@ def init_ui_data(self) -> None:
for macroMode in MacroMode:
self.view.driversoft.addItem(macroMode.value, userData=macroMode)
- self.view.driversoft.setCurrentIndex( self.view.driversoft.findData(MacroMode(self.config["driver"])) )
- self.driver_changed()
+ # self.view.driversoft.setCurrentIndex( self.view.driversoft.findData(MacroMode(self.config["driver"])) )
+ # self.driver_changed()
for aimMode in AimMode:
self.view.modes.addItem(aimMode.value, userData=aimMode)
@@ -111,6 +112,8 @@ def init_ui_with_config(self):
keyBindings = []
for key in self.config["keybinds"]:
modifiers = key.split("+")[0].split(",")
+ if len(modifiers) == 1 and modifiers[0] == "":
+ modifiers = []
mouseBtn = key.split("+")[-1]
try:
scriptFunc = self.macroFunctions[self.config["keybinds"][key]]
@@ -141,7 +144,10 @@ def save_config(self):
keyBinding_data = self.tablemodel.data.copy()
keyBinding_data.append(KeyBinding(1,self.macroFunctions["leftbutton"]))
- keyBinding_data.append(KeyBinding(2,self.macroFunctions["rightbutton"]))
+ rightkey = 2
+ if self.view.driversoft.currentData() == MacroMode.GHUB2:
+ rightkey = 3
+ keyBinding_data.append(KeyBinding(rightkey,self.macroFunctions["rightbutton"]))
if self.config["adsmode"] == AimMode.HOLD_MOUSE_BTN_2.value:
keyBinding_data.append(KeyBinding(self.config["aimbutton"],self.macroFunctions["aimbutton"]))
@@ -278,6 +284,16 @@ def download_driverscript(self):
tempfile.tempdir.replace("\\", "/")+"/config.lua")
with open(save_path, "w") as f:
f.write(result)
+ elif self.view.driversoft.currentData() == MacroMode.GHUB2:
+ try:
+ mainscript = self.macroFunctions["script"]
+ except:
+ print("配置文件损坏")
+ return
+ result = mainscript.openContent.format(
+ tempfile.tempdir.replace("\\", "/")+"/config.lua")
+ with open(save_path, "w") as f:
+ f.write(result)
def mode_changed(self):
self.view.toggle_aimMode_display(False) if self.view.modes.currentData() == AimMode.CLICK_MOUSE_BTN_2 else self.view.toggle_aimMode_display(True)
@@ -356,6 +372,8 @@ def driver_changed(self):
self.macroFunctions = self.parse_functions_to_model(self.load_functions(Settings().resource_dir+"lgsscripts.json"))
if macro == MacroMode.GHUB:
self.macroFunctions = self.parse_functions_to_model(self.load_functions(Settings().resource_dir+"ghubscripts.json"))
+ if macro == MacroMode.GHUB2:
+ self.macroFunctions = self.parse_functions_to_model(self.load_functions(Settings().resource_dir+"ghub2scripts.json"))
self.load_macro_functions()
def load_macro_functions(self):
@@ -404,6 +422,8 @@ def save_macro_script(self,func:MacroFunction,openContent: str,closeContent:str,
save_file = Settings().resource_dir+"lgsscripts.json"
elif self.view.driversoft.currentData() == MacroMode.GHUB:
save_file = Settings().resource_dir+"ghubscripts.json"
+ elif self.view.driversoft.currentData() == MacroMode.GHUB2:
+ save_file = Settings().resource_dir+"ghub2scripts.json"
with open(save_file,"w") as file:
json.dump(result, file, indent=4)
diff --git a/controller/PubgWeaponConfigController.py b/controller/PubgWeaponConfigController.py
index 1532ef9..9612e20 100644
--- a/controller/PubgWeaponConfigController.py
+++ b/controller/PubgWeaponConfigController.py
@@ -226,11 +226,13 @@ def cal_data_result(self):
movex = round(offsetx * rate )
movey = round((base + offsety) * rate )
- countx = countx + movex
- county = county + movey
+ # countx = countx + movex
+ # county = county + movey
- countdatax.append(countx)
- countdatay.append(county)
+ # countdatax.append(countx)
+ # countdatay.append(county)
+ countdatax.append(movex)
+ countdatay.append(movey)
# self.view.weapon_data_result.append(f"{{{i},{movey},0}}")
countdatax = str(countdatax).replace("[","{").replace("]","}")
diff --git a/resource/APEX/config.json b/resource/APEX/config.json
index 88f0c3c..f552fac 100644
--- a/resource/APEX/config.json
+++ b/resource/APEX/config.json
@@ -1,9 +1,9 @@
{
"macro_config": {
- "driver": "LGS",
+ "driver": "GHUB-\u901a\u7528\u9f20\u6807",
"adsmode": "HOLD",
"keybinds": {
- "lctrl,lshift,lalt+5": "reloadconfig"
+ "+2": "reloadconfig"
}
},
"pose": {
diff --git a/resource/APEX/ghub2scripts.json b/resource/APEX/ghub2scripts.json
new file mode 100644
index 0000000..b5b414a
--- /dev/null
+++ b/resource/APEX/ghub2scripts.json
@@ -0,0 +1,44 @@
+{
+ "reloadconfig": [
+ "\n OutputLogMessage(\"reloadconfig\\n\")\n dofile(vars[\"config_file\"])\n bindkeys(config,vars)\n ",
+ null,
+ "\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e",
+ true
+ ],
+ "leftbutton": [
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\t\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n steptemp={}",
+ " step = 1\n xCounter=0\n yCounter=0\n vars[\"left\"] = false\n ",
+ "",
+ false
+ ],
+ "rightbutton": [
+ "\n vars[\"right\"] = true\n --start_time = GetRunningTime()\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n\n -- \u5f00\u542f\u8c03\u8bd5\u6a21\u5f0f\u540e \u6309\u4e0b\u53f3\u952e\u5373\u53ef\u8bfb\u53d6\u65b0\u5f39\u9053\n if debug[1] then\n dofile(vars[\"weapon_file\"])\n end\n\n steptemp={}",
+ "\n vars[\"right\"] = false\n\n ",
+ "",
+ false
+ ],
+ "ads": [
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] then\n return false\n --return (mousebtns[1][1] and mousebtns[3][1]) or (mousebtns[1][1] and IsKeyLockOn(\"Capslock\")) or (mousebtns[1][1] and step ~= 1)\n end\n return (mousebtns[1][1] and mousebtns[3][1]) or (mousebtns[1][1] and IsKeyLockOn(\"Capslock\")) or (mousebtns[1][1] and step ~=1)\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return mousebtns[1][1] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "",
+ "",
+ false
+ ],
+ "dorecoil": [
+ " ClearLog()\n log = \"---Recoil---\\n\"\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n log = log .. \"Loading:\t\" .. loading_time .. \"\\n\"\n end\n\n current_time = GetRunningTime()\n\n movex = 0\n movey = 0\n \n weapon = table[vars[\"weapon\"]]\n\n if weapon and mousebtns[1][1] then\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n if step > #weapon[\"countdatax\"] then\t\n --PressAndReleaseKey(\"x\")\n --PressAndReleaseMouseButton(1)\n log = \"Finished \\n\"\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n\n findstep = false\n for k, v in ipairs(steptemp) do\n if k==step then\n findstep = true\n end\n end\n if not findstep then\n steptemp[step] = {}\n steptemp[step][\"start_time\"] =current_time\n steptemp[step][\"xCounter\"] = 0\n steptemp[step][\"yCounter\"] = 0\n end\n\n movey = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (ty)) - steptemp[step][\"yCounter\"]\n movex = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (tx)) - steptemp[step][\"xCounter\"]\n\n -- OutputLogMessage(\"ty=\" .. movey .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \"\\n\")\n -- OutputLogMessage(\"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\")\n\n steptemp[step][\"xCounter\"] = movex + steptemp[step][\"xCounter\"]\n steptemp[step][\"yCounter\"] = movey + steptemp[step][\"yCounter\"]\n\n --ty = math.ceil(ty/(weapon[\"speed\"]/loading[1]))\n --tx = math.ceil(tx/(weapon[\"speed\"]/loading[1]))\n\n movey = movey * 5\n movex = movex * 5\n end\n\n if (weapon and mousebtns[1][1] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time) % weapon[\"speed\"] * 1.5<= loading[1] then\t\n PressAndReleaseMouseButton(1)\n end\n elseif (vars[\"aim\"] or vars[\"right\"] == false) then\n -- \u80a9\u5c04\u7075\u654f\u5ea6\n movey = movey * 1.5\n end\n\n if true and mousebtns[3][1] then\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n end\n \n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n if vars[\"weapon\"] then\n log = log .. \"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\"\n end\n if step then\n log = log .. \"Step:\t\" .. step .. \"\\n\"\n end\n if movex and movey then\n log = log .. \"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\"\n end\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n --if weapon and dq[1] and step > #weapon[\"countdatax\"]*(1/4) and mousebtns[1][1] then\n if weapon and dq[1] and mousebtns[1][1] then\n Sleep3(1)\n R=dqrate[1]\n MoveMouseRelative(-R,R)\n Sleep3(1)\n MoveMouseRelative(R,R)\n Sleep3(1)\n MoveMouseRelative(R,-R)\n Sleep3(1)\n MoveMouseRelative(-R,-R)\n end\n OutputLogMessage(log)\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])",
+ "",
+ "",
+ false
+ ],
+ "script": [
+ "EnablePrimaryMouseButtonEvents(true)\n\nconfig = {{}}\nvars = {{}}\n\ndofile(\"{}\")\nbindkeys(config, vars)\n\nfunction Sleep3(time)\n local a = GetRunningTime()\n while GetRunningTime() - a < time do\n end\nend\n\nClearLog()\nOutputLogMessage(\"Running\"..\"\\n\")\nfunction OnEvent(event, arg)\n -- \u83b7\u53d6\u9f20\u6807\u72b6\u6001\n mousebtns = {{}}\n for i = 1, 5, 1 do\n mousebtns[i] = {{}}\n mousebtns[i][1] = false\n for _, key in pairs(config[\"keys\"]) do\n buttonconfig = config[key]\n if i == buttonconfig[\"button\"] then\n mousebtns[i][2] = buttonconfig\n end\n end\n end\n\n while (true) do\n\n -- \u53ea\u652f\u6301G1-G5 \u548c\u5f53\u524d\u63d2\u5165\u7684\u7f57\u6280\u9f20\u6807\u597d\u50cf\u6ca1\u6709\u5173\u7cfb\n for i = 1, 5, 1 do\n iPressed = IsMouseButtonPressed(i)\n pressed = nil\n if mousebtns[i][1] ~= iPressed then\n -- \u6309\u952e\u72b6\u6001\u6539\u53d8\n if mousebtns[i][1] then\n -- true -> false \u8bf4\u660e\u6309\u952e\u91ca\u653e\n pressed = false\n else\n -- false -> true \u8bf4\u660e\u6309\u952e\u6309\u4e0b\n pressed = true\n end\n\n mousebtns[i][1] = iPressed \n if pressed == false then\n if mousebtns[i][2] ~= nil then\n local func = _G[mousebtns[i][2][\"funcRelease\"]]\n if func then\n func(vars)\n end\n end\n elseif pressed == true then\n if mousebtns[i][2] ~= nil then\n match = true\n for _, modifier in pairs(mousebtns[i][2][\"modifier\"]) do\n if not IsModifierPressed(modifier) then\n match = false\n end\n end\n if match then\n local func = _G[mousebtns[i][2][\"funcPress\"]]\n if func then\n func(vars)\n end\n end\n end\n end\n else\n -- \u6309\u952e\u72b6\u6001\u672a\u6539\u53d8\n if ads(vars) then\n dorecoil(vars)\n end\n end\n\n end\n\n -- \u4fee\u6539\u811a\u672c\u524d\u505c\u6b62\u5faa\u73af \u5426\u5219ghub\u5d29\u6e83\n if mousebtns[1][1] and mousebtns[2][1] then\n OutputLogMessage(\"Exited\\n\")\n return\n end\n\n Sleep3(1)\n end\nend",
+ "",
+ "",
+ false
+ ],
+ "bindkeys": [
+ "\n dofile(vars[\"weapon_file\"])\n",
+ "",
+ "",
+ false
+ ]
+}
\ No newline at end of file
diff --git a/resource/APEX/lgsscripts.json b/resource/APEX/lgsscripts.json
index b52d9ce..b87f479 100644
--- a/resource/APEX/lgsscripts.json
+++ b/resource/APEX/lgsscripts.json
@@ -6,7 +6,7 @@
true
],
"leftbutton": [
- " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n xCounter=0\n yCounter=0\n dorecoil(vars)",
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n steptemp={}\n dorecoil(vars)",
" step = 1\n xCounter=0\n yCounter=0\n vars[\"left\"] = false\n ",
"",
false
@@ -24,13 +24,13 @@
false
],
"ads": [
- "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] then\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1)\n end\n\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1)\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return vars[\"left\"] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] then\n\treturn false\n\t--return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1)\n end\n\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1)\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return vars[\"left\"] and IsKeyLockOn(\"Capslock\")\n end\n",
"",
"",
false
],
"dorecoil": [
- "\n if ads(vars) then\n ClearLog()\n OutputLogMessage(\"---Recoil---\\n\")\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n OutputLogMessage(\"Loading:\t\" .. loading_time .. \"\\n\")\n end\n\n current_time = GetRunningTime()\n\n movex = 0\n movey = 0\n \n weapon = table[vars[\"weapon\"]]\n\n if weapon and vars[\"left\"] then\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n if step > #weapon[\"countdatax\"] then\t\n --PressAndReleaseKey(\"x\")\n --PressAndReleaseMouseButton(1)\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n movey = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (ty)) - yCounter\n movex = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (tx)) - xCounter\n OutputLogMessage(\"ty=\" .. movey .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \"\\n\")\n OutputLogMessage(\"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\")\n\n xCounter = movex + xCounter\n yCounter = movey + yCounter\n movey = movey * 1\n movex = movex * 1\n end\n \n if (weapon and vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time) % weapon[\"speed\"] * 1.5<= loading[1] then\t\n PressAndReleaseMouseButton(1)\n end\n elseif (vars[\"aim\"] or vars[\"right\"] == false) then\n -- \u80a9\u5c04\u7075\u654f\u5ea6\n movey = movey * 1.5\n end\n\n if true then\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n end\n \n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n OutputLogMessage(\"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\")\n OutputLogMessage(\"Step:\t\" .. step .. \"\\n\")\n OutputLogMessage(\"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\")\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n if weapon and dq[1] and step > #weapon[\"countdatax\"]*(1/4) and vars[\"left\"] then\n Sleep(1)\n R=dqrate[1]\n MoveMouseRelative(-R,R)\n Sleep(1)\n MoveMouseRelative(R,R)\n Sleep(1)\n MoveMouseRelative(R,-R)\n Sleep(1)\n MoveMouseRelative(-R,-R)\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n SetMKeyState(3)\n end\n",
+ "\n if ads(vars) then\n ClearLog()\n OutputLogMessage(\"---Recoil---\\n\")\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n OutputLogMessage(\"Loading:\t\" .. loading_time .. \"\\n\")\n end\n\n current_time = GetRunningTime()\n\n movex = 0\n movey = 0\n \n weapon = table[vars[\"weapon\"]]\n\n if weapon and vars[\"left\"] then\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n if step > #weapon[\"countdatax\"] then\t\n --PressAndReleaseKey(\"x\")\n --PressAndReleaseMouseButton(1)\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n\n findstep = false\n for k, v in ipairs(steptemp) do\n if k==step then\n findstep = true\n end\n end\n if not findstep then\n steptemp[step] = {}\n steptemp[step][\"start_time\"] =current_time\n steptemp[step][\"xCounter\"] = 0\n steptemp[step][\"yCounter\"] = 0\n end\n\n movey = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (ty)) - steptemp[step][\"yCounter\"]\n movex = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (tx)) - steptemp[step][\"xCounter\"]\n\n -- OutputLogMessage(\"ty=\" .. movey .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \"\\n\")\n -- OutputLogMessage(\"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\")\n\n steptemp[step][\"xCounter\"] = movex + steptemp[step][\"xCounter\"]\n steptemp[step][\"yCounter\"] = movey + steptemp[step][\"yCounter\"]\n\n --ty = math.ceil(ty/(weapon[\"speed\"]/loading[1]))\n --tx = math.ceil(tx/(weapon[\"speed\"]/loading[1]))\n\n movey = movey * 5\n movex = movex * 5\n end\n \n if (weapon and vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time) % weapon[\"speed\"] * 1.5<= loading[1] then\t\n PressAndReleaseMouseButton(1)\n end\n elseif (vars[\"aim\"] or vars[\"right\"] == false) then\n -- \u80a9\u5c04\u7075\u654f\u5ea6\n movey = movey * 1.5\n end\n\n if true then\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n end\n \n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n OutputLogMessage(\"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\")\n OutputLogMessage(\"Step:\t\" .. step .. \"\\n\")\n OutputLogMessage(\"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\")\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n --if weapon and dq[1] and step > #weapon[\"countdatax\"]*(1/4) and vars[\"left\"] then\n if weapon and dq[1] and step>#weapon[\"countdatay\"]/2 and vars[\"left\"] then\n Sleep(1)\n R=dqrate[1]\n MoveMouseRelative(-R,R)\n Sleep(1)\n MoveMouseRelative(R,R)\n Sleep(1)\n MoveMouseRelative(R,-R)\n Sleep(1)\n MoveMouseRelative(-R,-R)\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n SetMKeyState(3)\n end\n",
"",
"",
false
@@ -46,5 +46,23 @@
"",
"",
false
+ ],
+ "myjump": [
+ "PressAndReleaseKey(\"F\")\nfor i=1,683 do\n MoveMouseRelative(-45,0)\nend\n\nPressAndReleaseKey(\"C\")\nSleep(90)\nPressAndReleaseKey(\"1\")",
+ "",
+ "",
+ true
+ ],
+ "changeshield": [
+ "-- \u7532\u5728\u76d2\u5b50\u5185\u7684\u5750\u6807\npoints = {\n {9630,34468,5},\n {9630,35219,5},\n {9630,38403,5}\n}\n-- \u5f00\u76d2\u5b50\nPressKey(\"f\")\nSleep(500)\nReleaseKey(\"f\")\n\n-- \u70b9\u51fb\u4e8b\u4ef6\nfor k, v in ipairs(points) do\n Sleep(1)\n MoveMouseTo(v[1], v[2]);\n Sleep(1)\n PressMouseButton(1)\n Sleep(v[3])\n ReleaseMouseButton(1)\nend\n\n-- \u5173\u95ed\u754c\u9762\nSleep(10)\nPressKey(\"tab\")\nReleaseKey(\"tab\")",
+ "",
+ "\u4e00\u952e\u6362\u7532",
+ true
+ ],
+ "ts": [
+ "OutputLogMessage(\"ts\\n\")\nPressKey(\"c\")\nReleaseKey(\"c\")\nSleep(10)\nPressKey(\"w\")\nReleaseKey(\"w\")",
+ "",
+ "ts",
+ true
]
}
\ No newline at end of file
diff --git a/resource/APEX/resolution/1920_1080.json b/resource/APEX/resolution/1920_1080.json
index 7419bad..31fc619 100644
--- a/resource/APEX/resolution/1920_1080.json
+++ b/resource/APEX/resolution/1920_1080.json
@@ -1,3 +1,3 @@
{
- "weapon1":[1540,957]
+ "weapon1":[1540,957,180,45]
}
\ No newline at end of file
diff --git a/resource/APEX/weapondata/default.lua b/resource/APEX/weapondata/default.lua
index 35766e1..e945903 100644
--- a/resource/APEX/weapondata/default.lua
+++ b/resource/APEX/weapondata/default.lua
@@ -1,6 +1,6 @@
-loading={10}
+loading={5}
-dq={2}
+dq={true}
dqrate={2}
@@ -21,12 +21,12 @@ ballistic={
}
table["zhz"]={
speed=96,
-yrate=1.0,
-xrate=1.0,
+yrate=1.5,
+xrate=1.5,
base=0.0,
single=false,
-countdatax={'0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '-5.00', '-10.00', '-15.00', '-20.00', '-25.00', '-20.00', '-15.00', '-10.00', '-5.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
-countdatay={'30.00', '60.00', '90.00', '120.00', '150.00', '180.00', '195.00', '210.00', '225.00', '242.00', '259.00', '276.00', '293.00', '310.00', '325.00', '340.00', '355.00', '370.00', '385.00', '390.00', '395.00', '400.00', '405.00', '410.00', '415.00', '420.00', '420.00'},
+countdatax={'0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '-7.50', '-7.50', '-7.50', '-7.50', '-7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
+countdatay={'45.00', '45.00', '45.00', '45.00', '45.00', '45.00', '22.50', '22.50', '22.50', '25.50', '25.50', '25.50', '25.50', '25.50', '22.50', '22.50', '22.50', '22.50', '22.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '0.00'},
ballistic={
{1,30,0},
{7,15,0},
@@ -37,31 +37,31 @@ ballistic={
}
}
table["p2020"]={
-speed=11,
+speed=31,
yrate=1.0,
xrate=1.0,
-base=2.0,
+base=20.0,
single=true,
countdatax={'0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
-countdatay={'2.00', '4.00', '6.00', '8.00', '10.00', '12.00', '14.00', '16.00', '18.00', '20.00', '22.00', '24.00', '26.00', '28.00', '30.00', '32.00', '34.00', '36.00', '38.00', '40.00', '42.00', '44.00', '46.00', '48.00', '50.00', '52.00', '54.00', '56.00', '58.00', '60.00', '62.00', '64.00', '66.00', '68.00', '70.00', '72.00', '74.00', '76.00', '78.00', '80.00', '82.00', '84.00', '86.00', '88.00', '90.00', '92.00', '94.00', '96.00', '98.00', '100.00', '102.00', '104.00', '106.00', '108.00', '110.00', '112.00', '114.00', '116.00', '118.00', '120.00', '122.00', '124.00', '126.00', '128.00', '130.00', '132.00', '134.00', '136.00', '138.00', '140.00', '142.00', '144.00', '146.00', '148.00', '150.00', '152.00', '154.00', '156.00', '158.00', '160.00', '162.00', '164.00', '166.00', '168.00', '170.00', '172.00', '174.00', '176.00', '178.00', '180.00', '182.00', '184.00', '186.00', '188.00', '190.00', '192.00', '194.00', '196.00', '198.00', '200.00', '202.00', '204.00', '206.00', '208.00', '210.00', '212.00', '214.00', '216.00', '218.00', '220.00', '222.00', '224.00', '226.00', '228.00', '230.00', '232.00', '234.00', '236.00', '238.00', '240.00', '242.00', '244.00', '246.00', '248.00', '250.00', '252.00', '254.00', '256.00', '258.00', '260.00', '262.00', '264.00', '266.00', '268.00', '270.00', '272.00', '274.00', '276.00', '278.00', '280.00', '282.00', '284.00', '286.00', '288.00', '290.00', '292.00', '294.00', '296.00', '298.00', '300.00', '302.00', '304.00', '306.00', '308.00', '310.00', '312.00', '314.00', '316.00', '318.00', '320.00', '322.00', '324.00', '326.00', '328.00', '330.00', '332.00', '334.00', '336.00', '338.00', '340.00', '342.00', '344.00', '346.00', '348.00', '350.00', '352.00', '354.00', '356.00', '358.00', '360.00', '362.00', '364.00', '366.00', '368.00', '370.00', '372.00', '374.00', '376.00', '378.00', '380.00', '382.00', '384.00', '386.00', '388.00', '390.00', '392.00', '394.00', '396.00', '398.00', '400.00', '402.00', '404.00', '406.00', '408.00', '410.00', '412.00', '414.00', '416.00', '418.00', '420.00', '422.00', '424.00', '426.00', '428.00', '430.00', '432.00', '434.00', '436.00', '438.00', '440.00', '442.00', '444.00', '446.00', '448.00', '450.00', '452.00', '454.00', '456.00', '458.00', '460.00', '462.00', '464.00', '466.00', '468.00', '470.00', '472.00', '474.00', '476.00', '478.00', '480.00', '482.00', '484.00', '486.00', '488.00', '490.00', '492.00', '494.00', '496.00', '498.00', '500.00', '502.00', '504.00', '506.00', '508.00', '510.00', '512.00', '514.00', '516.00', '518.00', '520.00', '522.00', '524.00', '526.00', '528.00', '530.00', '532.00', '534.00', '536.00', '538.00', '540.00', '542.00', '544.00', '546.00', '548.00', '550.00', '552.00', '554.00', '556.00', '558.00', '560.00', '562.00', '564.00', '566.00', '568.00', '570.00', '572.00', '574.00', '576.00', '578.00', '580.00', '582.00', '584.00', '586.00', '588.00', '590.00', '592.00', '594.00', '596.00', '598.00', '600.00'},
+countdatay={'20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00'},
ballistic={
{0,0,0},
{300,0,0},
}
}
table["r301"]={
-speed=73,
-yrate=5.0,
-xrate=5.0,
+speed=72,
+yrate=6.5,
+xrate=6.5,
base=0.0,
single=false,
-countdatax={'-7.50', '-6.50', '-22.00', '-17.50', '-18.00', '-16.00', '-22.00', '-36.00', '-48.50', '-66.00', '-73.50', '-68.50', '-61.50', '-45.50', '-35.50', '-14.00', '-17.50', '-5.00', '-15.50', '-22.50', '-29.50', '-35.50', '-48.00', '-65.50', '-77.00', '-84.50', '-85.50', '-85.50'},
-countdatay={'21.00', '52.00', '79.50', '113.00', '135.00', '143.00', '149.00', '156.00', '166.00', '155.50', '165.00', '171.50', '183.00', '182.50', '185.00', '183.00', '191.50', '201.00', '205.00', '202.00', '203.00', '206.00', '210.00', '197.00', '192.00', '195.50', '203.50', '203.50'},
+countdatax={'-9.75', '1.30', '-20.15', '5.85', '-0.65', '2.60', '-7.80', '-18.20', '-16.25', '-22.75', '-9.75', '6.50', '9.10', '20.80', '13.00', '27.95', '-4.55', '16.25', '-13.65', '-9.10', '-9.10', '-7.80', '-16.25', '-22.75', '-14.95', '-9.75', '-1.30', '0.00'},
+countdatay={'20.80', '33.80', '29.25', '37.05', '28.60', '10.40', '7.80', '9.10', '13.00', '-13.65', '12.35', '8.45', '14.95', '-0.65', '3.25', '-2.60', '11.05', '12.35', '5.20', '-3.90', '1.30', '3.90', '5.20', '-16.90', '-6.50', '4.55', '10.40', '0.00'},
ballistic={
-{1,4.2000,-1.5000},
-{2,6.2000,0.2000},
-{3,5.5000,-3.1000},
-{4,6.7000,0.9000},
+{1,3.2000,-1.5000},
+{2,5.2000,0.2000},
+{3,4.5000,-3.1000},
+{4,5.7000,0.9000},
{5,4.4000,-0.1000},
{6,1.6000,0.4000},
{7,1.2000,-1.2000},
@@ -90,12 +90,12 @@ ballistic={
}
table["r99"]={
speed=55,
-yrate=1.0,
-xrate=1.0,
+yrate=1.4,
+xrate=1.4,
base=0.0,
single=false,
-countdatax={'0.00', '0.00', '0.00', '0.00', '-8.00', '-16.00', '-24.00', '-32.00', '-32.00', '-26.00', '-20.00', '-14.00', '-14.00', '-17.00', '-20.00', '-23.00', '-25.00', '-16.00', '-7.00', '2.00', '10.00', '5.00', '0.00', '-5.00', '-10.00', '-15.00', '-20.00', '-20.00'},
-countdatay={'18.00', '36.00', '54.00', '72.00', '97.00', '122.00', '147.00', '172.00', '191.00', '210.00', '225.00', '240.00', '254.00', '268.00', '270.00', '272.00', '277.00', '282.00', '287.00', '292.00', '292.00', '292.00', '292.00', '292.00', '292.00', '292.00', '292.00', '292.00'},
+countdatax={'0.00', '0.00', '0.00', '0.00', '-11.20', '-11.20', '-11.20', '-11.20', '0.00', '8.40', '8.40', '8.40', '0.00', '-4.20', '-4.20', '-4.20', '-2.80', '12.60', '12.60', '12.60', '11.20', '-7.00', '-7.00', '-7.00', '-7.00', '-7.00', '-7.00', '0.00'},
+countdatay={'25.20', '25.20', '25.20', '25.20', '35.00', '35.00', '35.00', '35.00', '26.60', '26.60', '21.00', '21.00', '19.60', '19.60', '2.80', '2.80', '7.00', '7.00', '7.00', '7.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
ballistic={
{0,18,0},
{5,25,-8},
@@ -115,12 +115,12 @@ ballistic={
}
table["car"]={
speed=62,
-yrate=1.25,
-xrate=1.3,
+yrate=1.4,
+xrate=1.4,
base=0.0,
single=false,
-countdatax={'-6.50', '5.20', '6.50', '22.10', '24.70', '40.30', '53.30', '52.00', '33.80', '33.80', '19.50', '0.00', '-19.50', '-20.80', '-6.50', '18.20', '39.00', '29.90', '14.30', '-5.20', '-18.20', '-31.20', '-26.00', '-26.00', '-22.10', '-11.70', '-11.70'},
-countdatay={'31.25', '53.75', '82.50', '113.75', '146.25', '177.50', '206.25', '242.50', '270.00', '306.25', '322.50', '316.25', '321.25', '335.00', '347.50', '346.25', '353.75', '371.25', '375.00', '376.25', '366.25', '368.75', '380.00', '388.75', '398.75', '403.75', '403.75'},
+countdatax={'-7.00', '12.60', '1.40', '16.80', '2.80', '16.80', '14.00', '-1.40', '-19.60', '0.00', '-15.40', '-21.00', '-21.00', '-1.40', '15.40', '26.60', '22.40', '-9.80', '-16.80', '-21.00', '-14.00', '-14.00', '5.60', '0.00', '4.20', '11.20', '0.00'},
+countdatay={'35.00', '25.20', '32.20', '35.00', '36.40', '35.00', '32.20', '40.60', '30.80', '40.60', '18.20', '-7.00', '5.60', '15.40', '14.00', '-1.40', '8.40', '19.60', '4.20', '1.40', '-11.20', '2.80', '12.60', '9.80', '11.20', '5.60', '0.00'},
ballistic={
{1,25.0000,-5.0000},
{2,18.0000,9.0000},
@@ -152,15 +152,15 @@ ballistic={
}
}
table["ls"]={
-speed=250,
+speed=120,
yrate=1.0,
xrate=1.0,
-base=0.0,
+base=55.0,
single=false,
-countdatax={'0.00', '0.00'},
-countdatay={'80.00', '80.00'},
+countdatax={'15.00', '0.00'},
+countdatay={'90.00', '55.00'},
ballistic={
-{1,80,0},
+{1,35,15},
{2,0,0},
}
}
@@ -170,8 +170,8 @@ yrate=1.0,
xrate=1.0,
base=0.0,
single=false,
-countdatax={'5.00', '5.00'},
-countdatay={'80.00', '80.00'},
+countdatax={'5.00', '0.00'},
+countdatay={'80.00', '0.00'},
ballistic={
{1,80,5},
{2,0,0},
@@ -179,12 +179,12 @@ ballistic={
}
table["vk47"]={
speed=97,
-yrate=1.5,
-xrate=1.0,
+yrate=2.0,
+xrate=2.0,
base=0.0,
single=false,
-countdatax={'4.00', '19.00', '29.00', '34.00', '35.00', '26.00', '12.00', '8.00', '0.00', '-4.00', '6.00', '15.00', '26.00', '38.00', '48.00', '48.00', '52.00', '60.00', '81.00', '84.00', '70.00', '60.00', '54.00', '40.00', '28.00', '24.00', '20.00', '19.00', '8.00', '8.00'},
-countdatay={'22.50', '34.50', '57.00', '78.00', '102.00', '115.50', '103.50', '91.50', '105.00', '130.50', '138.00', '147.00', '154.50', '145.50', '151.50', '180.00', '202.50', '219.00', '223.50', '246.00', '255.00', '261.00', '270.00', '277.50', '271.50', '289.50', '304.50', '325.50', '333.00', '333.00'},
+countdatax={'8.00', '30.00', '20.00', '10.00', '2.00', '-18.00', '-28.00', '-8.00', '-16.00', '-8.00', '20.00', '18.00', '22.00', '24.00', '20.00', '0.00', '8.00', '16.00', '42.00', '6.00', '-28.00', '-20.00', '-12.00', '-28.00', '-24.00', '-8.00', '-8.00', '-2.00', '-22.00', '0.00'},
+countdatay={'30.00', '16.00', '30.00', '28.00', '32.00', '18.00', '-16.00', '-16.00', '18.00', '34.00', '10.00', '12.00', '10.00', '-12.00', '8.00', '38.00', '30.00', '22.00', '6.00', '30.00', '12.00', '8.00', '12.00', '10.00', '-8.00', '24.00', '20.00', '28.00', '10.00', '0.00'},
ballistic={
{1,15.0000,4.0000},
{2,8.0000,15.0000},
@@ -225,7 +225,7 @@ xrate=1.0,
base=3.0,
single=false,
countdatax={'0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
-countdatay={'3.00', '6.00', '9.00', '12.00', '15.00', '18.00', '21.00', '24.00', '27.00', '30.00', '33.00', '36.00', '39.00', '42.00', '45.00', '48.00', '51.00', '54.00', '57.00', '60.00', '63.00', '66.00', '69.00', '72.00', '75.00', '78.00', '81.00', '84.00', '87.00', '90.00', '93.00', '96.00', '99.00', '102.00', '105.00', '108.00', '111.00', '114.00', '117.00', '120.00'},
+countdatay={'3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00', '3.00'},
ballistic={
{0,0,0},
{40,0,0},
@@ -233,12 +233,12 @@ ballistic={
}
table["dc"]={
speed=80,
-yrate=1.3,
-xrate=1.0,
+yrate=1.8,
+xrate=1.8,
base=0.0,
single=false,
-countdatax={'-2.00', '-4.00', '-6.00', '-8.00', '-15.00', '-22.00', '-22.00', '-22.00', '-22.00', '-17.00', '-9.00', '-1.00', '7.00', '15.00', '12.00', '9.00', '6.00', '3.00', '0.00', '5.00', '10.00', '15.00', '20.00', '25.00', '30.00', '30.00'},
-countdatay={'27.30', '54.60', '81.90', '109.20', '135.20', '161.20', '187.20', '213.20', '239.20', '265.20', '270.40', '275.60', '280.80', '286.00', '291.20', '296.40', '301.60', '306.80', '312.00', '318.50', '325.00', '331.50', '338.00', '344.50', '351.00', '351.00'},
+countdatax={'-3.60', '-3.60', '-3.60', '-3.60', '-12.60', '-12.60', '0.00', '0.00', '0.00', '9.00', '14.40', '14.40', '14.40', '14.40', '-5.40', '-5.40', '-5.40', '-5.40', '-5.40', '9.00', '9.00', '9.00', '9.00', '9.00', '9.00', '0.00'},
+countdatay={'37.80', '37.80', '37.80', '37.80', '36.00', '36.00', '36.00', '36.00', '36.00', '36.00', '7.20', '7.20', '7.20', '7.20', '7.20', '7.20', '7.20', '7.20', '7.20', '9.00', '9.00', '9.00', '9.00', '9.00', '9.00', '0.00'},
ballistic={
{1,21,-2},
{5,20,-7},
@@ -252,12 +252,12 @@ ballistic={
}
table["zz"]={
speed=71,
-yrate=1.0,
-xrate=1.0,
+yrate=2.0,
+xrate=2.0,
base=0.0,
single=false,
-countdatax={'3.00', '6.00', '9.00', '12.00', '12.00', '12.00', '12.00', '12.00', '19.00', '26.00', '33.00', '40.00', '47.00', '54.00', '63.00', '72.00', '81.00', '90.00', '99.00', '108.00', '117.00', '126.00', '111.00', '96.00', '81.00', '66.00', '51.00', '36.00', '21.00', '16.00', '11.00', '6.00', '1.00', '-4.00', '-9.00', '-14.00', '-19.00', '-24.00', '-29.00', '-34.00', '-39.00', '-44.00', '-49.00', '-54.00', '-54.00'},
-countdatay={'30.00', '60.00', '90.00', '120.00', '146.00', '172.00', '198.00', '224.00', '239.00', '254.00', '269.00', '284.00', '299.00', '314.00', '314.00', '314.00', '314.00', '314.00', '314.00', '314.00', '314.00', '314.00', '324.00', '334.00', '344.00', '354.00', '364.00', '374.00', '384.00', '389.00', '394.00', '399.00', '404.00', '409.00', '414.00', '419.00', '424.00', '429.00', '434.00', '439.00', '444.00', '449.00', '454.00', '459.00', '459.00'},
+countdatax={'6.00', '6.00', '6.00', '6.00', '0.00', '0.00', '0.00', '0.00', '14.00', '14.00', '14.00', '14.00', '14.00', '14.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '-30.00', '-30.00', '-30.00', '-30.00', '-30.00', '-30.00', '-30.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '-10.00', '0.00'},
+countdatay={'60.00', '60.00', '60.00', '60.00', '52.00', '52.00', '52.00', '52.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '10.00', '0.00'},
ballistic={
{1,30,3},
{5,26,0},
@@ -271,12 +271,12 @@ ballistic={
}
table["hwk"]={
speed=88,
-yrate=1.0,
-xrate=1.0,
+yrate=2.0,
+xrate=2.0,
base=0.0,
single=false,
-countdatax={'-7.00', '-14.00', '-21.00', '-28.00', '-25.00', '-22.00', '-19.00', '-16.00', '-13.00', '-10.00', '-16.00', '-22.00', '-28.00', '-34.00', '-40.00', '-46.00', '-45.00', '-44.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00', '-43.00'},
-countdatay={'20.00', '40.00', '60.00', '80.00', '95.00', '110.00', '125.00', '140.00', '155.00', '170.00', '173.00', '176.00', '179.00', '182.00', '185.00', '188.00', '188.00', '188.00', '188.00', '203.00', '218.00', '233.00', '248.00', '263.00', '278.00', '293.00', '308.00', '323.00', '338.00', '353.00', '368.00', '383.00', '398.00', '413.00', '428.00', '428.00'},
+countdatax={'-14.00', '-14.00', '-14.00', '-14.00', '6.00', '6.00', '6.00', '6.00', '6.00', '6.00', '-12.00', '-12.00', '-12.00', '-12.00', '-12.00', '-12.00', '2.00', '2.00', '2.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
+countdatay={'40.00', '40.00', '40.00', '40.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '6.00', '6.00', '6.00', '6.00', '6.00', '6.00', '0.00', '0.00', '0.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '30.00', '0.00'},
ballistic={
{1,20,-7},
{5,15,3},
@@ -287,28 +287,28 @@ ballistic={
}
}
table["lstar"]={
-speed=10,
+speed=96,
yrate=1.0,
xrate=1.0,
-base=0.0,
+base=25.0,
single=false,
-countdatax={'2.00', '4.00', '6.00', '8.00', '10.00', '12.00', '14.00', '16.00', '18.00', '20.00', '22.00', '24.00', '26.00', '28.00', '30.00', '32.00', '34.00', '36.00', '38.00', '40.00', '42.00', '44.00', '46.00', '48.00', '50.00', '52.00', '54.00', '56.00', '58.00', '60.00', '62.00', '64.00', '66.00', '68.00', '70.00', '72.00', '70.00', '68.00', '66.00', '64.00', '62.00', '60.00', '58.00', '56.00', '54.00', '52.00', '50.00', '48.00', '46.00', '44.00', '42.00', '40.00', '38.00', '36.00', '34.00', '32.00', '30.00', '28.00', '26.00', '24.00', '22.00', '20.00', '18.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00', '16.00'},
-countdatay={'3.00', '6.00', '9.00', '12.00', '15.00', '18.00', '21.00', '24.00', '27.00', '30.00', '33.00', '36.00', '39.00', '42.00', '45.00', '48.00', '51.00', '54.00', '57.00', '60.00', '63.00', '66.00', '69.00', '72.00', '75.00', '78.00', '81.00', '84.00', '87.00', '90.00', '93.00', '96.00', '99.00', '102.00', '105.00', '108.00', '109.00', '110.00', '111.00', '112.00', '113.00', '114.00', '115.00', '116.00', '117.00', '118.00', '119.00', '120.00', '121.00', '122.00', '123.00', '124.00', '125.00', '126.00', '127.00', '128.00', '129.00', '130.00', '131.00', '132.00', '133.00', '134.00', '135.00', '136.00', '138.00', '140.00', '142.00', '144.00', '146.00', '148.00', '150.00', '152.00', '154.00', '156.00', '158.00', '160.00', '162.00', '164.00', '166.00', '168.00', '170.00', '172.00', '174.00', '176.00', '178.00', '180.00', '182.00', '184.00', '186.00', '188.00', '190.00', '192.00', '194.00', '196.00', '198.00', '200.00', '202.00', '204.00', '206.00', '208.00', '210.00', '212.00', '214.00', '216.00', '218.00', '220.00', '222.00', '224.00', '226.00', '228.00', '230.00', '232.00', '234.00', '236.00', '238.00', '240.00', '242.00', '244.00', '246.00', '248.00', '250.00', '252.00', '254.00', '256.00', '258.00', '260.00', '262.00', '264.00', '266.00', '268.00', '270.00', '272.00', '274.00', '276.00', '278.00', '280.00', '282.00', '284.00', '286.00', '288.00', '290.00', '292.00', '294.00', '296.00', '298.00', '300.00', '302.00', '304.00', '306.00', '308.00', '310.00', '312.00', '314.00', '316.00', '318.00', '320.00', '322.00', '324.00', '326.00', '328.00', '330.00', '332.00', '334.00', '336.00', '338.00', '340.00', '342.00', '344.00', '346.00', '348.00', '350.00', '352.00', '354.00', '356.00', '358.00', '360.00', '362.00', '364.00', '366.00', '368.00', '370.00', '372.00', '374.00', '376.00', '378.00', '380.00', '382.00', '384.00', '386.00', '388.00', '390.00', '392.00', '394.00', '396.00', '398.00', '400.00', '402.00', '404.00', '406.00', '408.00', '410.00', '412.00', '414.00', '416.00', '418.00', '420.00', '422.00', '424.00', '426.00', '428.00', '430.00', '432.00', '434.00', '436.00', '438.00', '440.00', '442.00', '444.00', '446.00', '448.00', '450.00', '452.00', '454.00', '456.00', '458.00', '460.00', '462.00', '464.00', '466.00', '468.00', '470.00', '472.00', '474.00', '476.00', '478.00', '480.00', '482.00', '484.00', '486.00', '488.00', '490.00', '492.00', '494.00', '496.00', '498.00', '500.00', '502.00', '504.00', '506.00', '506.00'},
+countdatax={'40.00', '40.00', '-5.00', '-5.00', '-5.00', '-5.00', '-5.00', '-5.00', '-5.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00'},
+countdatay={'25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00', '25.00'},
ballistic={
-{1,3,2},
-{37,1,-2},
-{65,2,0},
-{250,0,0},
+{1,0,40},
+{3,0,-5},
+{10,0,0},
+{30,0,0},
}
}
table["ph"]={
speed=111,
-yrate=1.0,
-xrate=1.0,
+yrate=1.5,
+xrate=1.5,
base=0.0,
single=false,
-countdatax={'10.00', '20.00', '30.00', '40.00', '50.00', '40.00', '30.00', '20.00', '10.00', '25.00', '40.00', '55.00', '70.00', '85.00', '100.00', '115.00', '130.00', '145.00', '160.00', '145.00', '130.00', '115.00', '100.00', '85.00', '70.00', '55.00', '40.00', '33.00', '26.00', '19.00', '12.00', '5.00', '15.00', '25.00', '35.00', '45.00', '55.00', '65.00', '75.00', '75.00', '75.00', '75.00', '75.00', '75.00', '60.00', '45.00', '30.00', '15.00', '0.00', '0.00'},
-countdatay={'30.00', '60.00', '90.00', '120.00', '150.00', '160.00', '170.00', '180.00', '190.00', '200.00', '210.00', '220.00', '230.00', '240.00', '250.00', '260.00', '270.00', '280.00', '290.00', '295.00', '300.00', '305.00', '310.00', '315.00', '320.00', '325.00', '330.00', '335.00', '340.00', '345.00', '350.00', '355.00', '360.00', '365.00', '370.00', '375.00', '380.00', '385.00', '390.00', '400.00', '410.00', '420.00', '430.00', '440.00', '450.00', '460.00', '470.00', '480.00', '490.00', '490.00'},
+countdatax={'15.00', '15.00', '15.00', '15.00', '15.00', '-15.00', '-15.00', '-15.00', '-15.00', '22.50', '22.50', '22.50', '22.50', '22.50', '22.50', '22.50', '22.50', '22.50', '22.50', '-22.50', '-22.50', '-22.50', '-22.50', '-22.50', '-22.50', '-22.50', '-22.50', '-10.50', '-10.50', '-10.50', '-10.50', '-10.50', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '0.00', '0.00', '0.00', '0.00', '0.00', '-22.50', '-22.50', '-22.50', '-22.50', '-22.50', '0.00'},
+countdatay={'45.00', '45.00', '45.00', '45.00', '45.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '7.50', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '15.00', '0.00'},
ballistic={
{1,30,10},
{6,10,-10},
@@ -327,8 +327,8 @@ yrate=1.0,
xrate=1.0,
base=0.0,
single=false,
-countdatax={'2.00', '4.00'},
-countdatay={'35.00', '75.00'},
+countdatax={'2.00', '2.00'},
+countdatay={'35.00', '40.00'},
ballistic={
{1,35,2},
{2,40,2},
@@ -336,12 +336,12 @@ ballistic={
}
table["re45"]={
speed=74,
-yrate=1.0,
-xrate=1.0,
+yrate=2.0,
+xrate=2.0,
base=0.0,
single=false,
-countdatax={'-10.00', '-20.00', '-30.00', '-40.00', '-50.00', '-60.00', '-70.00', '-80.00', '-90.00', '-100.00', '-110.00', '-120.00', '-130.00', '-140.00', '-150.00', '-160.00', '-170.00', '-180.00', '-190.00', '-200.00', '-210.00', '-220.00', '-230.00', '-240.00', '-240.00'},
-countdatay={'25.00', '50.00', '75.00', '100.00', '109.00', '118.00', '127.00', '136.00', '145.00', '154.00', '163.00', '172.00', '181.00', '190.00', '199.00', '208.00', '217.00', '226.00', '235.00', '244.00', '253.00', '262.00', '271.00', '280.00', '280.00'},
+countdatax={'-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '-20.00', '0.00'},
+countdatay={'50.00', '50.00', '50.00', '50.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '18.00', '0.00'},
ballistic={
{1,25,-10},
{5,9,-10},
@@ -349,13 +349,13 @@ ballistic={
}
}
table["volt"]={
-speed=80,
+speed=85,
yrate=1.0,
xrate=1.0,
base=0.0,
single=false,
-countdatax={'-2.00', '-4.00', '-6.00', '-8.00', '-15.00', '-22.00', '-22.00', '-22.00', '-22.00', '-17.00', '-9.00', '-1.00', '7.00', '15.00', '12.00', '9.00', '6.00', '3.00', '0.00', '5.00', '10.00', '15.00', '20.00', '25.00', '30.00', '30.00'},
-countdatay={'21.00', '42.00', '63.00', '84.00', '104.00', '124.00', '144.00', '164.00', '184.00', '204.00', '208.00', '212.00', '216.00', '220.00', '224.00', '228.00', '232.00', '236.00', '240.00', '245.00', '250.00', '255.00', '260.00', '265.00', '270.00', '270.00'},
+countdatax={'-2.00', '-2.00', '-2.00', '-2.00', '-7.00', '-7.00', '0.00', '0.00', '0.00', '5.00', '8.00', '8.00', '8.00', '8.00', '-3.00', '-3.00', '-3.00', '-3.00', '-3.00', '5.00', '5.00', '5.00', '5.00', '5.00', '5.00', '0.00'},
+countdatay={'21.00', '21.00', '21.00', '21.00', '20.00', '20.00', '20.00', '20.00', '20.00', '20.00', '4.00', '4.00', '4.00', '4.00', '4.00', '4.00', '4.00', '4.00', '4.00', '5.00', '5.00', '5.00', '5.00', '5.00', '5.00', '0.00'},
ballistic={
{1,21,-2},
{5,20,-7},
diff --git a/resource/General/config.json b/resource/General/config.json
new file mode 100644
index 0000000..e74cceb
--- /dev/null
+++ b/resource/General/config.json
@@ -0,0 +1,13 @@
+{
+ "macro_config": {
+ "driver": "GHUB-\u901a\u7528\u9f20\u6807",
+ "adsmode": "HOLD",
+ "keybinds": {
+ "lctrl,lshift,lalt+5": "reloadconfig"
+ }
+ },
+ "weapon": {
+ "accuracy": 0.5,
+ "sleep": 81
+ }
+}
\ No newline at end of file
diff --git a/resource/General/ghub2scripts.json b/resource/General/ghub2scripts.json
new file mode 100644
index 0000000..e087cb2
--- /dev/null
+++ b/resource/General/ghub2scripts.json
@@ -0,0 +1,44 @@
+{
+ "reloadconfig": [
+ "\n OutputLogMessage(\"reloadconfig\\n\")\n dofile(vars[\"config_file\"])\n bindkeys(config,vars)\n ",
+ null,
+ "\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e",
+ true
+ ],
+ "leftbutton": [
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\t\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n xCounter=0\n yCounter=0\n",
+ " step = 1\n xCounter=0\n yCounter=0\n vars[\"left\"] = false\n ",
+ "",
+ false
+ ],
+ "rightbutton": [
+ "\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n\n vars[\"right\"] = true\n --start_time = GetRunningTime()\n\n\n -- \u5f00\u542f\u8c03\u8bd5\u6a21\u5f0f\u540e \u6309\u4e0b\u53f3\u952e\u5373\u53ef\u8bfb\u53d6\u65b0\u5f39\u9053\n if debug[1] then\n dofile(vars[\"weapon_file\"])\n end\n\n ",
+ "\n vars[\"right\"] = false\n\n ",
+ "",
+ false
+ ],
+ "ads": [
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] then\n return (mousebtns[1][1] and mousebtns[3][1]) or (mousebtns[1][1] and IsKeyLockOn(\"Capslock\")) or (mousebtns[1][1] and step ~= 1) or mousebtns[3][1]\n end\n return (mousebtns[1][1] and mousebtns[3][1]) or (mousebtns[1][1] and IsKeyLockOn(\"Capslock\")) or (mousebtns[1][1] and step ~=1)\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return mousebtns[1][1] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "",
+ "",
+ false
+ ],
+ "dorecoil": [
+ "\n\n ClearLog()\n log = \"\"\n log = log .. \"---Recoil---\\n\"\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n log = log .. \"Loading:\t\" .. loading_time .. \"\\n\"\n end\n\n current_time = GetRunningTime()\n\n movex = 0\n movey = 0\n \n weapon = table[vars[\"weapon\"]]\n\n if weapon and vars[\"left\"] then\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n if step > #weapon[\"countdatax\"] then\t\n --PressAndReleaseKey(\"x\")\n --PressAndReleaseMouseButton(1)\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n movey = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (ty)) - yCounter\n movex = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (tx)) - xCounter\n log = log .. \"ty=\" .. movey .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \"\\n\"\n log = log .. \"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\"\n\n xCounter = movex + xCounter\n yCounter = movey + yCounter\n movey = movey * 1\n movex = movex * 1\n end\n \n if (weapon and vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time) % weapon[\"speed\"] * 1.5<= loading[1] then\t\n PressAndReleaseMouseButton(1)\n end\n elseif (vars[\"aim\"] or vars[\"right\"] == false) then\n -- \u80a9\u5c04\u7075\u654f\u5ea6\n movey = movey * 1.5\n end\n\n if true then\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n end\n \n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n if vars[\"weapon\"] then\n log = log .. \"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\"\n end\n\n if step then\n log = log .. \"Step:\t\" .. step .. \"\\n\"\n end\n\n if movex and movey then\n log = log .. \"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\"\n end\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n if weapon and dq[1] and step > #weapon[\"countdatax\"]*(1/4) and vars[\"left\"] then\n Sleep(1)\n R=dqrate[1]\n MoveMouseRelative(-R,R)\n Sleep(1)\n MoveMouseRelative(R,R)\n Sleep(1)\n MoveMouseRelative(R,-R)\n Sleep(1)\n MoveMouseRelative(-R,-R)\n end\n OutputLogMessage(log)\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n\n\n",
+ "",
+ "",
+ false
+ ],
+ "script": [
+ "EnablePrimaryMouseButtonEvents(true)\n\nconfig = {{}}\nvars = {{}}\n\ndofile(\"{}\")\nbindkeys(config, vars)\n\nfunction Sleep3(time)\n local a = GetRunningTime()\n while GetRunningTime() - a < time do\n end\nend\n\nClearLog()\nOutputLogMessage(\"Running\"..\"\\n\")\nfunction OnEvent(event, arg)\n -- \u83b7\u53d6\u9f20\u6807\u72b6\u6001\n mousebtns = {{}}\n for i = 1, 5, 1 do\n mousebtns[i] = {{}}\n mousebtns[i][1] = false\n for _, key in pairs(config[\"keys\"]) do\n buttonconfig = config[key]\n if i == buttonconfig[\"button\"] then\n mousebtns[i][2] = buttonconfig\n end\n end\n end\n\n while (true) do\n\n -- \u53ea\u652f\u6301G1-G5 \u548c\u5f53\u524d\u63d2\u5165\u7684\u7f57\u6280\u9f20\u6807\u597d\u50cf\u6ca1\u6709\u5173\u7cfb\n for i = 1, 5, 1 do\n iPressed = IsMouseButtonPressed(i)\n pressed = nil\n if mousebtns[i][1] ~= iPressed then\n -- \u6309\u952e\u72b6\u6001\u6539\u53d8\n if mousebtns[i][1] then\n -- true -> false \u8bf4\u660e\u6309\u952e\u91ca\u653e\n pressed = false\n else\n -- false -> true \u8bf4\u660e\u6309\u952e\u6309\u4e0b\n pressed = true\n end\n\n mousebtns[i][1] = iPressed \n if pressed == false then\n if mousebtns[i][2] ~= nil then\n local func = _G[mousebtns[i][2][\"funcRelease\"]]\n if func then\n func(vars)\n end\n end\n elseif pressed == true then\n if mousebtns[i][2] ~= nil then\n match = true\n for _, modifier in pairs(mousebtns[i][2][\"modifier\"]) do\n if not IsModifierPressed(modifier) then\n match = false\n end\n end\n if match then\n local func = _G[mousebtns[i][2][\"funcPress\"]]\n if func then\n func(vars)\n end\n end\n end\n end\n else\n -- \u6309\u952e\u72b6\u6001\u672a\u6539\u53d8\n if ads(vars) then\n dorecoil(vars)\n end\n end\n\n end\n\n -- \u4fee\u6539\u811a\u672c\u524d\u505c\u6b62\u5faa\u73af \u5426\u5219ghub\u5d29\u6e83\n if mousebtns[1][1] and mousebtns[2][1] then\n OutputLogMessage(\"Exited\\n\")\n return\n end\n\n Sleep3(1)\n end\nend",
+ "",
+ "",
+ false
+ ],
+ "bindkeys": [
+ "\n dofile(vars[\"weapon_file\"])\n",
+ "",
+ "",
+ false
+ ]
+}
\ No newline at end of file
diff --git a/resource/General/ghubscripts.json b/resource/General/ghubscripts.json
new file mode 100644
index 0000000..3f2d704
--- /dev/null
+++ b/resource/General/ghubscripts.json
@@ -0,0 +1,44 @@
+{
+ "reloadconfig": [
+ "\n OutputLogMessage(\"reloadconfig\\n\")\n dofile(vars[\"config_file\"])\n bindkeys(config,vars)\n ",
+ null,
+ "\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e",
+ true
+ ],
+ "leftbutton": [
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\t\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n xCounter=0\n yCounter=0\n dorecoil(vars)",
+ " step = 1\n xCounter=0\n yCounter=0\n vars[\"left\"] = false\n ",
+ "",
+ false
+ ],
+ "rightbutton": [
+ "\n vars[\"right\"] = true\n --start_time = GetRunningTime()\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n\n -- \u5f00\u542f\u8c03\u8bd5\u6a21\u5f0f\u540e \u6309\u4e0b\u53f3\u952e\u5373\u53ef\u8bfb\u53d6\u65b0\u5f39\u9053\n if debug[1] then\n dofile(vars[\"weapon_file\"])\n end\n\n dorecoil(vars)\n ",
+ "\n vars[\"right\"] = false\n\n ",
+ "",
+ false
+ ],
+ "ads": [
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] then\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1) or vars[\"right\"]\n end\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~=1)\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return vars[\"left\"] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "",
+ "",
+ false
+ ],
+ "dorecoil": [
+ "\n repeat\n if ads(vars) then\n ClearLog()\n log = \"\"\n log = log .. \"---Recoil---\\n\"\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n log = log .. \"Loading:\t\" .. loading_time .. \"\\n\"\n end\n\n current_time = GetRunningTime()\n\n movex = 0\n movey = 0\n \n weapon = table[vars[\"weapon\"]]\n\n if weapon and vars[\"left\"] then\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n if step > #weapon[\"countdatax\"] then\t\n --PressAndReleaseKey(\"x\")\n --PressAndReleaseMouseButton(1)\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n movey = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (ty)) - yCounter\n movex = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (tx)) - xCounter\n log = log .. \"ty=\" .. movey .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \"\\n\"\n log = log .. \"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\"\n\n xCounter = movex + xCounter\n yCounter = movey + yCounter\n movey = movey * 1\n movex = movex * 1\n end\n \n if (weapon and vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time) % weapon[\"speed\"] * 1.5<= loading[1] then\t\n PressAndReleaseMouseButton(1)\n end\n elseif (vars[\"aim\"] or vars[\"right\"] == false) then\n -- \u80a9\u5c04\u7075\u654f\u5ea6\n movey = movey * 1.5\n end\n\n if true then\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n end\n \n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n log = log .. \"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\"\n log = log .. \"Step:\t\" .. step .. \"\\n\"\n log = log .. \"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\"\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n if weapon and dq[1] and step > #weapon[\"countdatax\"]*(1/4) and vars[\"left\"] then\n Sleep(1)\n R=dqrate[1]\n MoveMouseRelative(-R,R)\n Sleep(1)\n MoveMouseRelative(R,R)\n Sleep(1)\n MoveMouseRelative(R,-R)\n Sleep(1)\n MoveMouseRelative(-R,-R)\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n SetMKeyState(3)\n end\n\n until (not IsMouseButtonPressed(1))\n",
+ "",
+ "",
+ false
+ ],
+ "script": [
+ "EnablePrimaryMouseButtonEvents(true)\n\nconfig = {{}}\nvars = {{}}\n\ndofile(\"{}\")\nbindkeys(config,vars)\n\nfunction Sleep3(time)\n local a = GetRunningTime()\n while GetRunningTime()-a < time do\n end\nend\n\nfunction OnEvent(event, arg)\n for _,key in pairs(config[\"keys\"]) do\n\t buttonconfig = config[key]\n if arg == buttonconfig[\"button\"] then\n match = true\n for _,modifier in pairs(buttonconfig[\"modifier\"]) do\n if not IsModifierPressed(modifier) then\n match = false\n end\n end\n if match then\n local func = _G[buttonconfig[\"funcPress\"]]\n if func and event==\"MOUSE_BUTTON_PRESSED\" then\n func(vars)\n return\n else\n func = _G[buttonconfig[\"funcRelease\"]]\n if func then\n func(vars)\n\t return\n end\n end\n end\n end\n end\nend\n",
+ "",
+ "",
+ false
+ ],
+ "bindkeys": [
+ "\n dofile(vars[\"weapon_file\"])\n",
+ "",
+ "",
+ false
+ ]
+}
\ No newline at end of file
diff --git a/resource/General/gun/ak47.png b/resource/General/gun/ak47.png
new file mode 100644
index 0000000..21d5e08
Binary files /dev/null and b/resource/General/gun/ak47.png differ
diff --git a/resource/General/gun/aug.png b/resource/General/gun/aug.png
new file mode 100644
index 0000000..a428405
Binary files /dev/null and b/resource/General/gun/aug.png differ
diff --git a/resource/General/gun/famous.png b/resource/General/gun/famous.png
new file mode 100644
index 0000000..39b969b
Binary files /dev/null and b/resource/General/gun/famous.png differ
diff --git a/resource/General/gun/galilar.png b/resource/General/gun/galilar.png
new file mode 100644
index 0000000..e8903d3
Binary files /dev/null and b/resource/General/gun/galilar.png differ
diff --git a/resource/General/gun/m249.png b/resource/General/gun/m249.png
new file mode 100644
index 0000000..0f2b9e9
Binary files /dev/null and b/resource/General/gun/m249.png differ
diff --git a/resource/General/gun/m4a1.png b/resource/General/gun/m4a1.png
new file mode 100644
index 0000000..0eb421a
Binary files /dev/null and b/resource/General/gun/m4a1.png differ
diff --git a/resource/General/gun/m4a4.png b/resource/General/gun/m4a4.png
new file mode 100644
index 0000000..c868868
Binary files /dev/null and b/resource/General/gun/m4a4.png differ
diff --git a/resource/General/gun/ngf.png b/resource/General/gun/ngf.png
new file mode 100644
index 0000000..80ae165
Binary files /dev/null and b/resource/General/gun/ngf.png differ
diff --git a/resource/General/gun/sg553.png b/resource/General/gun/sg553.png
new file mode 100644
index 0000000..30ad4d3
Binary files /dev/null and b/resource/General/gun/sg553.png differ
diff --git a/resource/General/lgsscripts.json b/resource/General/lgsscripts.json
new file mode 100644
index 0000000..7f4614c
--- /dev/null
+++ b/resource/General/lgsscripts.json
@@ -0,0 +1,50 @@
+{
+ "reloadconfig": [
+ "\n OutputLogMessage(\"reloadconfig\\n\")\n dofile(vars[\"config_file\"])\n bindkeys(config,vars)\n ",
+ null,
+ "\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e",
+ true
+ ],
+ "leftbutton": [
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n xCounter=0\n yCounter=0\n steptemp={}\n dorecoil(vars)",
+ " step = 1\n xCounter=0\n yCounter=0\n vars[\"left\"] = false\n ",
+ "",
+ false
+ ],
+ "rightbutton": [
+ "\n vars[\"right\"] = true\n --start_time = GetRunningTime()\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n\n -- \u5f00\u542f\u8c03\u8bd5\u6a21\u5f0f\u540e \u6309\u4e0b\u53f3\u952e\u5373\u53ef\u8bfb\u53d6\u65b0\u5f39\u9053\n if debug[1] then\n dofile(vars[\"weapon_file\"])\n OutputLogMessage(\"reload weapon data\\n\")\n end\n\n dorecoil(vars)\n ",
+ "\n vars[\"right\"] = false\n",
+ "",
+ false
+ ],
+ "aimbutton": [
+ "\n vars[\"aim\"] = true\n ",
+ "\n vars[\"aim\"] = false\n ",
+ "",
+ false
+ ],
+ "ads": [
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] then\n\treturn false\n\t--return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1)\n end\n\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and IsKeyLockOn(\"Capslock\")) or (vars[\"left\"] and step ~= 1)\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return vars[\"left\"] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "",
+ "",
+ false
+ ],
+ "dorecoil": [
+ "\n if ads(vars) then\n ClearLog()\n OutputLogMessage(\"---Recoil---\\n\")\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n OutputLogMessage(\"Loading:\t\" .. loading_time .. \"\\n\")\n end\n\n current_time = GetRunningTime()\n\n movex = 0\n movey = 0\n \n weapon = table[vars[\"weapon\"]]\n\n if weapon and vars[\"left\"] then\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n if step > #weapon[\"countdatax\"] then\t\n --PressAndReleaseKey(\"x\")\n --PressAndReleaseMouseButton(1)\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n\n findstep = false\n for k, v in ipairs(steptemp) do\n if k==step then\n findstep = true\n end\n end\n if not findstep then\n steptemp[step] = {}\n steptemp[step][\"start_time\"] =current_time\n steptemp[step][\"xCounter\"] = 0\n steptemp[step][\"yCounter\"] = 0\n end\n\n movey = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (ty)) - steptemp[step][\"yCounter\"]\n movex = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (tx)) - steptemp[step][\"xCounter\"]\n\n -- OutputLogMessage(\"ty=\" .. movey .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \"\\n\")\n -- OutputLogMessage(\"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\")\n\n steptemp[step][\"xCounter\"] = movex + steptemp[step][\"xCounter\"]\n steptemp[step][\"yCounter\"] = movey + steptemp[step][\"yCounter\"]\n\n --ty = math.ceil(ty/(weapon[\"speed\"]/loading[1]))\n --tx = math.ceil(tx/(weapon[\"speed\"]/loading[1]))\n\n movey = movey * 1\n movex = movex * 1\n\n end\n \n if (weapon and vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time) % weapon[\"speed\"] * 1.5<= loading[1] then\t\n PressAndReleaseMouseButton(1)\n end\n elseif (vars[\"aim\"] or vars[\"right\"] == false) then\n -- \u80a9\u5c04\u7075\u654f\u5ea6\n movey = movey * 1.5\n end\n\n if true then\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n end\n \n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n OutputLogMessage(\"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\")\n OutputLogMessage(\"Step:\t\" .. step .. \"\\n\")\n OutputLogMessage(\"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\")\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n if weapon and dq[1] and step > #weapon[\"countdatax\"]*(1/4) and vars[\"left\"] then\n Sleep(1)\n R=dqrate[1]\n MoveMouseRelative(-R,R)\n Sleep(1)\n MoveMouseRelative(R,R)\n Sleep(1)\n MoveMouseRelative(R,-R)\n Sleep(1)\n MoveMouseRelative(-R,-R)\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n SetMKeyState(3)\n end\n",
+ "",
+ "",
+ false
+ ],
+ "script": [
+ "EnablePrimaryMouseButtonEvents(true)\n\nconfig = {{}}\nvars = {{}}\n\ndofile(\"{}\")\nbindkeys(config,vars)\n\nfunction Sleep3(time)\n local a = GetRunningTime()\n while GetRunningTime()-a < time do\n end\nend\n\nfunction OnEvent(event, arg)\n for _,key in pairs(config[\"keys\"]) do\n\t buttonconfig = config[key]\n if arg == buttonconfig[\"button\"] then\n match = true\n for _,modifier in pairs(buttonconfig[\"modifier\"]) do\n if not IsModifierPressed(modifier) then\n match = false\n end\n end\n if match then\n local func = _G[buttonconfig[\"funcPress\"]]\n if func and event==\"MOUSE_BUTTON_PRESSED\" then\n func(vars)\n return\n else\n func = _G[buttonconfig[\"funcRelease\"]]\n if func then\n func(vars)\n return\n end\n end\n end\n end\n end\n if (event == \"M_RELEASED\" and arg == 3) then\n dorecoil(vars)\n end\nend\n",
+ "",
+ "",
+ false
+ ],
+ "bindkeys": [
+ "\n dofile(vars[\"weapon_file\"])\n",
+ "",
+ "",
+ false
+ ]
+}
\ No newline at end of file
diff --git a/resource/General/resolution/1920_1080.json b/resource/General/resolution/1920_1080.json
new file mode 100644
index 0000000..54e5951
--- /dev/null
+++ b/resource/General/resolution/1920_1080.json
@@ -0,0 +1,3 @@
+{
+ "weapon1":[1755,775,140,60]
+}
\ No newline at end of file
diff --git a/resource/General/weapon_null.png b/resource/General/weapon_null.png
new file mode 100644
index 0000000..68debd4
Binary files /dev/null and b/resource/General/weapon_null.png differ
diff --git a/resource/General/weapondata/default.lua b/resource/General/weapondata/default.lua
new file mode 100644
index 0000000..e306535
--- /dev/null
+++ b/resource/General/weapondata/default.lua
@@ -0,0 +1,176 @@
+loading={10}
+
+dq={false}
+
+dqrate={2}
+
+debug={true}
+
+table["none"]={
+speed=20000,
+yrate=1.0,
+xrate=1.0,
+base=0.0,
+single=false,
+countdatax={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+countdatay={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ballistic={
+{1,0,0},
+{40,0,0,},
+}
+}
+table["ak47"]={
+speed=99,
+yrate=1.3,
+xrate=1.3,
+base=1.0,
+single=false,
+countdatax={'0.00', '-1.30', '0.00', '1.30', '5.20', '13.00', '13.00', '-1.30', '-22.10', '-36.40', '-28.60', '-23.40', '-20.80', '-18.20', '36.40', '18.20', '22.10', '37.70', '36.40', '22.10', '14.30', '-5.20', '-9.10', '16.90', '-11.70', '-26.00', '-53.30', '-53.30', '-23.40', '-22.10', '0.00'},
+countdatay={'1.30', '28.60', '32.50', '45.50', '53.30', '48.10', '48.10', '37.70', '18.20', '10.40', '7.80', '7.80', '3.90', '1.30', '11.70', '6.50', '6.50', '2.60', '5.20', '-2.60', '0.00', '9.10', '6.50', '9.10', '6.50', '-3.90', '-11.70', '-5.20', '-7.80', '0.00', '1.30'},
+ballistic={
+{1,0,0},
+{2,21,-1},
+{3,24,0},
+{4,34,1},
+{5,40,4},
+{6,36,10},
+{7,36,10},
+{8,28,-1},
+{9,13,-17},
+{10,7,-28},
+{11,5,-22},
+{12,5,-18},
+{13,2,-16},
+{14,0,-14},
+{15,8,28},
+{16,4,14},
+{17,4,17},
+{18,1,29},
+{19,3,28},
+{20,-3,17},
+{21,-1,11},
+{22,6,-4},
+{23,4,-7},
+{24,6,13},
+{25,4,-9},
+{26,-4,-20},
+{27,-10,-41},
+{28,-5,-41},
+{29,-7,-18},
+{30,-1,-17},
+{31,0,0},
+}
+}
+table["m4a4"]={
+speed=88,
+yrate=0.3,
+xrate=0.3,
+base=0.0,
+single=false,
+countdatax={'-0.60', '-2.40', '-2.40', '-3.30', '-1.50', '7.50', '11.70', '21.90', '22.50', '-2.40', '-34.02', '-34.02', '-34.02', '-34.02', '-34.02', '-8.30', '-8.30', '-8.30', '19.20', '27.66', '27.66', '27.66', '27.66', '27.66', '4.56', '4.56', '4.56', '4.56', '4.56', '0.00'},
+countdatay={'15.00', '20.10', '20.10', '31.80', '44.40', '47.40', '20.40', '22.80', '20.40', '13.80', '0.00', '0.00', '0.00', '0.00', '0.00', '1.70', '1.70', '1.70', '3.30', '3.72', '3.72', '3.72', '3.72', '3.72', '3.12', '3.12', '3.12', '3.12', '3.12', '0.00'},
+ballistic={
+{1,50.0000,-2.0000},
+{2,67.0000,-8.0000},
+{4,106.0000,-11.0000},
+{5,148.0000,-5.0000},
+{6,158.0000,25.0000},
+{7,68.0000,39.0000},
+{8,76.0000,73.0000},
+{9,68.0000,75.0000},
+{10,46.0000,-8.0000},
+{11,0.0000,-113.4000},
+{16,5.6667,-27.6667},
+{19,11.0000,64.0000},
+{20,12.4000,92.2000},
+{25,10.4000,15.2000},
+{30,0,0},
+}
+}
+table["m4a1"]={
+speed=80,
+yrate=0.15,
+xrate=0.15,
+base=0.0,
+single=false,
+countdatax={'-2.32', '-2.32', '-2.32', '-2.32', '2.92', '2.92', '9.75', '9.75', '9.75', '-20.22', '-20.22', '-20.22', '-20.22', '-20.22', '-3.57', '-3.57', '-3.57', '-3.57', '-3.57', '0.00'},
+countdatay={'19.27', '19.27', '19.27', '19.27', '20.40', '20.40', '16.00', '16.00', '16.00', '1.20', '1.20', '1.20', '1.20', '1.20', '0.60', '0.60', '0.60', '0.60', '0.60', '0.00'},
+ballistic={
+{1,128.5000,-15.5000},
+{5,136.0000,19.5000},
+{7,106.6667,65.0000},
+{10,8.0000,-134.8000},
+{15,4.0000,-23.8000},
+{20,0,0},
+}
+}
+table["aug"]={
+speed=98,
+yrate=0.18,
+xrate=0.18,
+base=0.0,
+single=false,
+countdatax={'-2.70', '-2.70', '-2.70', '-2.70', '-2.70', '7.42', '7.42', '7.42', '7.42', '-1.08', '-1.08', '-1.08', '-20.94', '-20.94', '-20.94', '-20.94', '-20.94', '-20.94', '17.55', '17.55', '17.55', '17.55', '17.46', '17.46', '17.46', '17.46', '-6.96', '-6.96', '-6.96', '0.00'},
+countdatay={'27.11', '27.11', '27.11', '27.11', '27.11', '23.71', '23.71', '23.71', '23.71', '7.56', '7.56', '7.56', '-2.07', '-2.07', '-2.07', '-2.07', '-2.07', '-2.07', '3.69', '3.69', '3.69', '3.69', '-1.12', '-1.12', '-1.12', '-1.12', '1.92', '1.92', '1.92', '0.00'},
+ballistic={
+{1,150.6000,-15.0000},
+{6,131.7500,41.2500},
+{10,42.0000,-6.0000},
+{13,-11.5000,-116.3333},
+{19,20.5000,97.5000},
+{23,-6.2500,97.0000},
+{27,10.6667,-38.6667},
+{30,0,0},
+}
+}
+table["galilar"]={
+speed=100,
+yrate=0.2,
+xrate=0.2,
+base=0.0,
+single=false,
+countdatax={'7.69', '7.69', '7.69', '7.69', '7.69', '7.69', '7.69', '0.00', '-21.40', '-32.95', '-32.95', '-32.95', '-32.95', '-18.70', '5.23', '6.00', '36.30', '36.30', '-17.80', '-17.80', '-17.80', '-17.80', '-17.80', '-17.80', '-17.80', '-17.80', '-26.72', '-26.72', '-26.72', '-26.72', '-26.72', '-21.00', '-21.00', '-21.00', '0.00'},
+countdatay={'23.46', '23.46', '23.46', '23.46', '23.46', '23.46', '23.46', '22.40', '15.40', '-0.10', '-0.10', '-0.10', '-0.10', '2.50', '-0.40', '8.60', '6.70', '6.70', '0.75', '0.75', '0.75', '0.75', '0.75', '0.75', '0.75', '0.75', '0.36', '0.36', '0.36', '0.36', '0.36', '-5.40', '-5.40', '-5.40', '0.00'},
+ballistic={
+{1,117.2857,38.4286},
+{8,112.0000,0.0000},
+{9,77.0000,-107.0000},
+{10,-0.5000,-164.7500},
+{14,12.5000,-93.5000},
+{16,43.0000,30.0000},
+{17,33.5000,181.5000},
+{19,3.7500,-89.0000},
+{15,-2.0000,26.1667},
+{27,1.8000,-133.6000},
+{32,-27.0000,-105.0000},
+{35,0,0},
+}
+}
+table["famous"]={
+speed=100,
+yrate=0.2,
+xrate=0.2,
+base=0.0,
+single=false,
+countdatax={'-11.80', '-3.40', '-2.00', '0.40', '8.00', '13.80', '8.00', '-6.20', '-23.20', '-24.80', '-13.40', '15.60', '25.20', '24.35', '24.35', '24.35', '24.35', '-9.50', '-9.50', '-9.50', '-9.50', '19.40', '19.40', '19.40', '0.00'},
+countdatay={'30.00', '12.40', '13.00', '16.00', '39.20', '32.80', '19.80', '43.40', '14.40', '11.80', '9.80', '6.60', '7.20', '2.75', '2.75', '2.75', '2.75', '2.40', '2.40', '2.40', '2.40', '-9.53', '-9.53', '-9.53', '0.00'},
+ballistic={
+{1,150.0000,-59.0000},
+{2,62.0000,-17.0000},
+{3,65.0000,-10.0000},
+{4,80.0000,2.0000},
+{5,196.0000,40.0000},
+{6,164.0000,69.0000},
+{7,99.0000,40.0000},
+{8,217.0000,-31.0000},
+{9,72.0000,-116.0000},
+{10,59.0000,-124.0000},
+{11,49.0000,-67.0000},
+{12,33.0000,78.0000},
+{13,36.0000,126.0000},
+{14,13.7500,121.7500},
+{18,12.0000,-47.5000},
+{22,-47.6667,97.0000},
+{25,0,0},
+}
+}
diff --git a/resource/General/weights/best.bin b/resource/General/weights/best.bin
new file mode 100644
index 0000000..a3f13d0
Binary files /dev/null and b/resource/General/weights/best.bin differ
diff --git a/resource/General/weights/best.mapping b/resource/General/weights/best.mapping
new file mode 100644
index 0000000..b32c22b
--- /dev/null
+++ b/resource/General/weights/best.mapping
@@ -0,0 +1,1007 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resource/General/weights/best.onnx b/resource/General/weights/best.onnx
new file mode 100644
index 0000000..8ed76ea
Binary files /dev/null and b/resource/General/weights/best.onnx differ
diff --git a/resource/General/weights/best.pt b/resource/General/weights/best.pt
new file mode 100644
index 0000000..0feea71
Binary files /dev/null and b/resource/General/weights/best.pt differ
diff --git a/resource/General/weights/best.xml b/resource/General/weights/best.xml
new file mode 100644
index 0000000..64e8395
--- /dev/null
+++ b/resource/General/weights/best.xml
@@ -0,0 +1,8789 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 640
+ 640
+
+
+ 16
+ 3
+ 6
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 320
+ 320
+
+
+ 1
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 320
+ 320
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 320
+ 320
+
+
+ 32
+ 16
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+ 16
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 1
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 16
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 1
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 16
+ 16
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 1
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+ 16
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 1
+ 16
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+ 1
+ 16
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+ 32
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 160
+ 160
+
+
+ 64
+ 32
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 32
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 32
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 32
+ 32
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 32
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 32
+ 32
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 32
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 128
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 64
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 64
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 128
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 256
+ 128
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 1
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 128
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 128
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 128
+ 128
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 128
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 256
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 1
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 128
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 512
+ 20
+ 20
+
+
+ 256
+ 512
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 1
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 128
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 40
+ 40
+
+
+ 64
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 40
+ 40
+
+
+ 64
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 128
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 64
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 80
+ 80
+
+
+ 32
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 32
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 32
+ 32
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 80
+ 80
+
+
+ 32
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+ 1
+ 32
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 18
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 18
+ 80
+ 80
+
+
+ 1
+ 18
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 18
+ 80
+ 80
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 6
+ 80
+ 80
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 6
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+ 1
+ 3
+ 80
+ 80
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 80
+ 80
+ 6
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 80
+ 80
+
+
+ 64
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 64
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 64
+ 64
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 64
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+ 1
+ 64
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 128
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 18
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 18
+ 40
+ 40
+
+
+ 1
+ 18
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 18
+ 40
+ 40
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 6
+ 40
+ 40
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 6
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+ 1
+ 3
+ 40
+ 40
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 40
+ 40
+ 6
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 40
+ 40
+
+
+ 128
+ 128
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 128
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 128
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 128
+ 128
+ 3
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 128
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+ 1
+ 128
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 256
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 1
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 256
+ 20
+ 20
+
+
+ 18
+ 256
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 18
+ 20
+ 20
+
+
+ 1
+ 18
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 18
+ 20
+ 20
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 6
+ 20
+ 20
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 6
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+ 1
+ 3
+ 20
+ 20
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 3
+ 20
+ 20
+ 6
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 19200
+ 6
+
+
+ 1
+ 4800
+ 6
+
+
+ 1
+ 1200
+ 6
+
+
+
+
+
+
+
+
+
+
+ 1
+ 25200
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resource/General/weights/best.yaml b/resource/General/weights/best.yaml
new file mode 100644
index 0000000..3179169
--- /dev/null
+++ b/resource/General/weights/best.yaml
@@ -0,0 +1,3 @@
+names:
+ 0: '0'
+stride: 32
diff --git a/resource/PUBG/config.json b/resource/PUBG/config.json
index 1dafc07..09efd73 100644
--- a/resource/PUBG/config.json
+++ b/resource/PUBG/config.json
@@ -1,6 +1,6 @@
{
"macro_config": {
- "driver": "LGS",
+ "driver": "GHUB-\u901a\u7528\u9f20\u6807",
"adsmode": "HOLD",
"aimbutton": 11,
"debug": false,
@@ -12,12 +12,12 @@
"a2": 1,
"a3": 1,
"keybinds": {
- "lshift,lctrl,lalt+5": "reloadconfig"
+ "+2": "reloadconfig"
}
},
"pose": {
"accuracy": 0.5,
- "sleep": 67
+ "sleep": 80
},
"attachment": {
"accuracy": 0.9,
@@ -25,6 +25,6 @@
},
"weapon": {
"accuracy": 0.5,
- "sleep": 55
+ "sleep": 75
}
}
\ No newline at end of file
diff --git a/resource/PUBG/ghub2scripts.json b/resource/PUBG/ghub2scripts.json
new file mode 100644
index 0000000..917ca5d
--- /dev/null
+++ b/resource/PUBG/ghub2scripts.json
@@ -0,0 +1,74 @@
+{
+ "fastpickup": [
+ "\n OutputLogMessage(\"fastpickup\\n\")\n\tPressAndReleaseKey(\"lshift\")\n\tPressAndReleaseKey(\"lctrl\")\n\tPressAndReleaseKey(\"lalt\")\n\tPressAndReleaseKey(\"rshift\")\n\tPressAndReleaseKey(\"rctrl\")\n\tPressAndReleaseKey(\"ralt\")\n\tPressAndReleaseKey(\"tab\")\n\tSleep(10)\n\tPressAndReleaseMouseButton(1)\n\n\tlocal lastItemCp = {\n\t\t300 / 2560 * 65535,\n\t\t1210 / 1440 * 65535\n\t}\n\tlocal itemHeight = 83 / 1440 * 65535\n\n\t-- \u91cd\u590d 3 \u6b21\u52a8\u4f5c\uff0c\u5f3a\u5316\u62fe\u53d6\u6210\u529f\u7387\n\tfor i = 1, 3 do\n\t\tfor j = 1, 13 do\n\t\t\tMoveMouseTo(lastItemCp[1], lastItemCp[2] - itemHeight * (j - 1))\n\t\t\tPressMouseButton(1)\n\t\t\tMoveMouseTo(32767, 32767)\n\t\t\tReleaseMouseButton(1)\n\t\tend\n\tend\n\n\tSleep(10 )\n\tMoveMouseTo(lastItemCp[1], lastItemCp[2])\n\tPressAndReleaseKey(\"tab\")\n ",
+ null,
+ "\u4e00\u952e\u62fe\u53d6",
+ true
+ ],
+ "fastlickbox": [
+ "\n OutputLogMessage(\"fastlickbox\\n\")\n PressAndReleaseKey(\"lshift\")\n\tPressAndReleaseKey(\"lctrl\")\n\tPressAndReleaseKey(\"lalt\")\n\tPressAndReleaseKey(\"rshift\")\n\tPressAndReleaseKey(\"rctrl\")\n\tPressAndReleaseKey(\"ralt\")\n\tPressAndReleaseKey(\"tab\")\n\tSleep(10)\n\tPressAndReleaseMouseButton(1)\n\n\tlocal lastItemCp = {\n\t\t300 / 2560 * 65535,\n\t\t1210 / 1440 * 65535\n\t}\n\tlocal itemHeight = 83 / 1440 * 65535\n\n\t-- \u91cd\u590d 3 \u6b21\u52a8\u4f5c\uff0c\u5f3a\u5316\u62fe\u53d6\u6210\u529f\u7387\n\tfor i = 1, 3 do\n\t\tfor j = 1, 13 do\n\t\t\tMoveMouseTo(lastItemCp[1], lastItemCp[2] - itemHeight * (j - 1))\n\t\t\tPressMouseButton(1)\n\t\t\tMoveMouseTo(670 / 2560 * 65535, 710 / 1440 * 65535) -- \u4fee\u6539\u4e3a\u80cc\u5305\u7684\u5750\u6807\n\t\t\tReleaseMouseButton(1)\n\t\tend\n\tend\n\n\tSleep(10)\n\tMoveMouseTo(lastItemCp[1], lastItemCp[2])\n\tPressAndReleaseKey(\"tab\")\n ",
+ null,
+ "\u4e00\u952e\u8214\u5305",
+ true
+ ],
+ "fastdiscard": [
+ "\n OutputLogMessage(\"fastdiscard\\n\")\n\tPressAndReleaseKey(\"lshift\")\n\tPressAndReleaseKey(\"lctrl\")\n\tPressAndReleaseKey(\"lalt\")\n\tPressAndReleaseKey(\"rshift\")\n\tPressAndReleaseKey(\"rctrl\")\n\tPressAndReleaseKey(\"ralt\")\n\tPressAndReleaseKey(\"tab\")\n\tSleep(10)\n\tPressAndReleaseMouseButton(1)\n\tlocal lastItemCp = {\n\t\t630 / 2560 * 65535,\n\t\t1210 / 1440 * 65535\n\t}\n\tlocal itemHeight = 83 / 1440 * 65535\n\t-- \u6e05\u7a7a\u80cc\u5305 \u7b2c\u4e00\u8f6e\n\tSleep(10)\n\tfor i = 1, 5 do\n\t\tfor j = 1, 13 do\n\t\t\tMoveMouseTo(lastItemCp[1], lastItemCp[2] - itemHeight * (j - 1))\n\t\t\tPressMouseButton(1)\n\t\t\tMoveMouseTo(0, 0)\n\t\t\tReleaseMouseButton(1)\n\t\tend\n\tend\n\t-- \u6e05\u7a7a\u6b66\u5668\n\tSleep(10)\n\tlocal itemPos = {\n\t\t{ 1770, 180 },\n\t\t{ 1770, 480 },\n\t\t{ 1770, 780 },\n\t\t{ 1770, 1050 },\n\t\t{ 2120, 1050 }\n\t}\n\tfor i = 1, #itemPos do\n\t\tMoveMouseTo(itemPos[i][1] / 2560 * 65535, itemPos[i][2] / 1440 * 65535)\n\t\tPressAndReleaseMouseButton(3)\n\tend\n\t-- \u6e05\u7a7a\u80cc\u5305 \u7b2c\u4e8c\u8f6e\n\tSleep(10)\n\tfor i = 1, 5 do\n\t\tfor j = 1, 13 do\n\t\t\tMoveMouseTo(lastItemCp[1], lastItemCp[2] - itemHeight * (j - 1))\n\t\t\tPressMouseButton(1)\n\t\t\tMoveMouseTo(0, 0)\n\t\t\tReleaseMouseButton(1)\n\t\tend\n\tend\n\t-- \u6e05\u7a7a\u88c5\u5907\n\tSleep(10)\n\tlocal itemPos2 = {\n\t\t{ 900, 392 },\n\t\t{ 900, 630 },\n\t\t{ 900, 720 },\n\t\t{ 900, 808 },\n\t\t{ 1605, 397 },\n\t\t{ 1605, 481 },\n\t\t{ 1605, 632 },\n\t\t{ 1605, 719 },\n\t\t{ 1605, 807 },\n\t\t{ 1605, 1049 },\n\t\t{ 1605, 1229 }\n\t}\n\tfor i = 1, #itemPos2 do\n\t\tMoveMouseTo(itemPos2[i][1] / 2560 * 65535, itemPos2[i][2] / 1440 * 65535)\n\t\t-- Sleep(300)\n\t\tPressAndReleaseMouseButton(3)\n\tend\n\tSleep(10)\n\tMoveMouseTo(lastItemCp[1], lastItemCp[2])\n\tPressAndReleaseKey(\"tab\")\n ",
+ null,
+ "\u4e00\u952e\u4e22\u5f03",
+ true
+ ],
+ "reloadconfig": [
+ "\n OutputLogMessage(\"reloadconfig\\n\")\n dofile(vars[\"config_file\"])\n bindkeys(config,vars)\n ",
+ null,
+ "\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e",
+ true
+ ],
+ "leftbutton": [
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"pose\"] = rpose\n vars[\"scope\"] = rscope\n vars[\"a2\"] = rattachment2\n vars[\"a3\"] = rattachment3\n if not ads(vars) then\n return\n end\n start_time = GetRunningTime()\n step = 1\n steptemp = {}\n\n ",
+ "\n vars[\"left\"] = false\n step = 1\n ",
+ "",
+ false
+ ],
+ "rightbutton": [
+ "\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"pose\"] = rpose\n vars[\"scope\"] = rscope\n vars[\"a2\"] = rattachment2\n vars[\"a3\"] = rattachment3\n\n if (vars[\"autoshift\"] and vars[\"scope\"] >= vars[\"autoshiftscope\"]) or (table[vars[\"weapon\"]] and table[vars[\"weapon\"]][\"shift\"] == true) then\n Sleep3(10)\n PressKey(\"lshift\")\n end\n if debug then\n dofile(vars[\"weapon_file\"])\n end\n start_time = GetRunningTime()\n step = 1\n steptemp = {}\n ",
+ "\n ReleaseKey(\"lshift\")\n ",
+ "",
+ false
+ ],
+ "aimbutton": [
+ "\n vars[\"aim\"] = true\n ",
+ "\n vars[\"aim\"] = false\n ",
+ "",
+ false
+ ],
+ "ads": [
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] or #table[vars[\"weapon\"]][\"countdatax\"] == 1 then\n return (mousebtns[1][1] and mousebtns[2][1]) or (mousebtns[1][1] and vars[\"aim\"]) or mousebtns[2][1]\n end\n return (mousebtns[1][1] and mousebtns[3][1]) or (mousebtns[1][1] and vars[\"aim\"])\n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return mousebtns[1][1] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "",
+ "",
+ false
+ ],
+ "dorecoil": [
+ "\n\n ClearLog()\n log = \"\"\n log = log .. \"---Recoil---\\n\"\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n log = log .. \"Loading:\t\" .. loading_time .. \"\\n\"\n end\n\n current_time = GetRunningTime()\n\n\n movex = 0\n movey = 0\n\n\n weapon = table[vars[\"weapon\"]]\n if weapon then\n\n\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"pose\"]=rpose\n\n\n if step > #weapon[\"countdatay\"] then\t\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n\n findstep = false\n for k, v in ipairs(steptemp) do\n if k==step then\n findstep = true\n end\n end\n if not findstep then\n steptemp[step] = {}\n steptemp[step][\"start_time\"] =current_time\n steptemp[step][\"xCounter\"] = 0\n steptemp[step][\"yCounter\"] = 0\n end\n\n movey = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (ty)) - steptemp[step][\"yCounter\"]\n movex = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (tx)) - steptemp[step][\"xCounter\"]\n\n steptemp[step][\"xCounter\"] = movex + steptemp[step][\"xCounter\"]\n steptemp[step][\"yCounter\"] = movey + steptemp[step][\"yCounter\"]\n\n movey = movey * 1\n movex = movex * 1\n\n\n movey = movey * weapon[\"scope_sensitive\"][vars[\"scope\"]] * weapon[\"pose_sensitive\"][vars[\"pose\"]] *weapon[\"attachment2_sensitive\"][vars[\"a2\"]]* weapon[\"attachment3_sensitive\"][vars[\"a3\"]] * sensitivityrate[1]\n\n --log = log ..\"ty=\" .. movey .. \"=(\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \") * \" .. weapon[\"scope_sensitive\"][vars[\"scope\"]] .. \"*\" .. weapon[\"pose_sensitive\"][vars[\"pose\"]] .. \"*\" .. weapon[\"attachment2_sensitive\"][vars[\"a2\"]] .. \"*\" .. weapon[\"attachment3_sensitive\"][vars[\"a3\"]] .. \"\\n\"\n --log = log .. \"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\"\n\n if debug[1] then\n movex = 3 * sensitivityrate[1]\n else\n movex = 0\n end\n\n if (IsMouseButtonPressed(1) and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time)%weapon[\"speed\"] <= loading[1]*1.5 then\t\n PressAndReleaseMouseButton(1)\n end\n\n elseif (IsMouseButtonPressed(1) and IsMouseButtonPressed(3)) then\n if (IsModifierPressed(\"lshift\") and (vars[\"scope\"] < 3)) then\n movey = movey * 1.35\n elseif (vars[\"aim\"]) then\n end\n elseif (vars[\"aim\"]) then\n movey = movey * 1.3\n end\n end\n\n\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n if not (movex == 0) then\n log = log .. rx .. \":\" .. ry .. \"\\n\" \n end\n\n \n\n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n\n log = log .. \"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\"\n log = log .. \"Scope:\t\" .. vars[\"scope\"] .. \"\\n\"\n log = log .. \"Pose:\t\" .. vars[\"pose\"] .. \"\\n\"\n log = log .. \"Attachment 2:\t\" .. vars[\"a2\"] .. \"\\n\"\n log = log .. \"Attachment 3:\t\" .. vars[\"a3\"] .. \"\\n\"\n log = log .. \"Hold breath:\t\" .. tostring((vars[\"autoshift\"] and vars[\"scope\"] >= vars[\"autoshiftscope\"]) or (table[vars[\"weapon\"]] and table[vars[\"weapon\"]][\"shift\"]) ) .. \"\\n\"\n log = log .. \"Step:\t\" .. step .. \"\\n\"\n log = log .. \"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\"\n OutputLogMessage(log)\n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n\n\n",
+ "",
+ "",
+ false
+ ],
+ "script": [
+ "EnablePrimaryMouseButtonEvents(true)\n\nconfig = {{}}\nvars = {{}}\n\ndofile(\"{}\")\nbindkeys(config, vars)\n\nfunction Sleep3(time)\n local a = GetRunningTime()\n while GetRunningTime() - a < time do\n end\nend\n\nClearLog()\nOutputLogMessage(\"Running\"..\"\\n\")\nfunction OnEvent(event, arg)\n -- \u83b7\u53d6\u9f20\u6807\u72b6\u6001\n mousebtns = {{}}\n for i = 1, 5, 1 do\n mousebtns[i] = {{}}\n mousebtns[i][1] = false\n for _, key in pairs(config[\"keys\"]) do\n buttonconfig = config[key]\n if i == buttonconfig[\"button\"] then\n mousebtns[i][2] = buttonconfig\n end\n end\n end\n\n while (true) do\n\n -- \u53ea\u652f\u6301G1-G5 \u548c\u5f53\u524d\u63d2\u5165\u7684\u7f57\u6280\u9f20\u6807\u597d\u50cf\u6ca1\u6709\u5173\u7cfb\n for i = 1, 5, 1 do\n iPressed = IsMouseButtonPressed(i)\n pressed = nil\n if mousebtns[i][1] ~= iPressed then\n -- \u6309\u952e\u72b6\u6001\u6539\u53d8\n if mousebtns[i][1] then\n -- true -> false \u8bf4\u660e\u6309\u952e\u91ca\u653e\n pressed = false\n else\n -- false -> true \u8bf4\u660e\u6309\u952e\u6309\u4e0b\n pressed = true\n end\n\n mousebtns[i][1] = iPressed \n if pressed == false then\n if mousebtns[i][2] ~= nil then\n local func = _G[mousebtns[i][2][\"funcRelease\"]]\n if func then\n func(vars)\n end\n end\n elseif pressed == true then\n if mousebtns[i][2] ~= nil then\n match = true\n for _, modifier in pairs(mousebtns[i][2][\"modifier\"]) do\n if not IsModifierPressed(modifier) then\n match = false\n end\n end\n if match then\n local func = _G[mousebtns[i][2][\"funcPress\"]]\n if func then\n func(vars)\n end\n end\n end\n end\n else\n -- \u6309\u952e\u72b6\u6001\u672a\u6539\u53d8\n if ads(vars) then\n dorecoil(vars)\n end\n end\n\n end\n\n -- \u4fee\u6539\u811a\u672c\u524d\u505c\u6b62\u5faa\u73af \u5426\u5219ghub\u5d29\u6e83\n if mousebtns[1][1] and mousebtns[2][1] then\n OutputLogMessage(\"Exited\\n\")\n return\n end\n\n Sleep3(1)\n end\nend",
+ "",
+ "",
+ false
+ ],
+ "bindkeys": [
+ "\n dofile(vars[\"weapon_file\"])\n",
+ "",
+ "",
+ false
+ ],
+ "turn180": [
+ " move=100\n for i=10,1,-1 do\n MoveMouseRelative(move, 0)\n end\n",
+ "",
+ "180\u5ea6\u8f6c\u8eab",
+ true
+ ]
+}
\ No newline at end of file
diff --git a/resource/PUBG/lgsscripts.json b/resource/PUBG/lgsscripts.json
index 39ce158..8fce8fb 100644
--- a/resource/PUBG/lgsscripts.json
+++ b/resource/PUBG/lgsscripts.json
@@ -24,13 +24,13 @@
true
],
"leftbutton": [
- " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"pose\"] = rpose\n vars[\"scope\"] = rscope\n vars[\"a2\"] = rattachment2\n vars[\"a3\"] = rattachment3\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n xCounter=0\n yCounter=0\n dorecoil(vars)\n ",
+ " dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"pose\"] = rpose\n vars[\"scope\"] = rscope\n vars[\"a2\"] = rattachment2\n vars[\"a3\"] = rattachment3\n vars[\"left\"] = true\n start_time = GetRunningTime()\n step = 1\n xCounter=0\n yCounter=0\n steptemp={}\n dorecoil(vars)\n ",
" step = 1\n xCounter=0\n yCounter=0\n vars[\"left\"] = false\n ",
"",
false
],
"rightbutton": [
- "\n vars[\"right\"] = true\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"pose\"] = rpose\n vars[\"scope\"] = rscope\n vars[\"a2\"] = rattachment2\n vars[\"a3\"] = rattachment3\n \n if (vars[\"autoshift\"] and vars[\"scope\"] >= vars[\"autoshiftscope\"]) or (table[vars[\"weapon\"]] and table[vars[\"weapon\"]][\"shift\"] == true) then\n Sleep(10)\n PressKey(\"lshift\")\n end\n if debug[1] then\n dofile(vars[\"weapon_file\"])\n end\n dorecoil(vars)\n ",
+ "\n vars[\"right\"] = true\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"weapon\"] = rweapon\n vars[\"pose\"] = rpose\n vars[\"scope\"] = rscope\n vars[\"a2\"] = rattachment2\n vars[\"a3\"] = rattachment3\n \n if (vars[\"autoshift\"] and vars[\"scope\"] >= vars[\"autoshiftscope\"]) or (table[vars[\"weapon\"]] and table[vars[\"weapon\"]][\"shift\"] == true) then\n Sleep(10)\n PressKey(\"lshift\")\n end\n if debug[1] then\n dofile(vars[\"weapon_file\"])\n OutputLogMessage(\"reloading...\\n\")\n end\n dorecoil(vars)\n ",
"\n vars[\"right\"] = false\n ReleaseKey(\"lshift\")\n ",
"",
false
@@ -42,13 +42,13 @@
false
],
"ads": [
- "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] or #table[vars[\"weapon\"]][\"countdatax\"] == 1 then\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and vars[\"aim\"]) or vars[\"right\"]\n end\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and vars[\"aim\"]) \n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return vars[\"left\"] and IsKeyLockOn(\"Capslock\")\n end\n",
+ "\n if vars[\"adsmode\"] == \"HOLD\" then\n if not table[vars[\"weapon\"]] or #table[vars[\"weapon\"]][\"countdatax\"] == 1 then\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and vars[\"aim\"])\n end\n return (vars[\"left\"] and vars[\"right\"]) or (vars[\"left\"] and vars[\"aim\"]) \n end\n if vars[\"adsmode\"] == \"CLICK\" then\n return vars[\"left\"] and IsKeyLockOn(\"Capslock\")\n end\n",
"",
"",
false
],
"dorecoil": [
- "\n if ads(vars) then\n ClearLog()\n OutputLogMessage(\"---Recoil---\\n\")\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n OutputLogMessage(\"Loading:\t\" .. loading_time .. \"\\n\")\n end\n\n current_time = GetRunningTime()\n\n\n movex = 0\n movey = 0\n\n\n weapon = table[vars[\"weapon\"]]\n if weapon and vars[\"left\"] then\n\n\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"pose\"]=rpose\n\n\n if step > #weapon[\"countdatay\"] then\t\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n\n movey = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (ty)) - yCounter\n movex = math.ceil((current_time - start_time) / (weapon[\"speed\"] * step) * (tx)) - xCounter\n\n\n xCounter = movex + xCounter\n yCounter = movey + yCounter\n\n\n movey = movey * weapon[\"scope_sensitive\"][vars[\"scope\"]] * weapon[\"pose_sensitive\"][vars[\"pose\"]] *weapon[\"attachment2_sensitive\"][vars[\"a2\"]]* weapon[\"attachment3_sensitive\"][vars[\"a3\"]] * sensitivityrate[1]\n\n OutputLogMessage(\"ty=\" .. movey .. \"=(\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \") * \" .. weapon[\"scope_sensitive\"][vars[\"scope\"]] .. \"*\" .. weapon[\"pose_sensitive\"][vars[\"pose\"]] .. \"*\" .. weapon[\"attachment2_sensitive\"][vars[\"a2\"]] .. \"*\" .. weapon[\"attachment3_sensitive\"][vars[\"a3\"]] .. \"\\n\")\n OutputLogMessage(\"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\")\n\n if debug[1] then\n movex = 2 * sensitivityrate[1]\n else\n movex = 0\n end\n\n if (vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time)%weapon[\"speed\"] <= loading[1]*1.5 then\t\n PressAndReleaseMouseButton(1)\n end\n\n elseif (vars[\"left\"] and vars[\"right\"]) then\n if (IsModifierPressed(\"lshift\") and (vars[\"scope\"] < 3)) then\n movey = movey * 1.35\n elseif (vars[\"aim\"]) then\n end\n elseif (vars[\"aim\"]) then\n movey = movey * 1.3\n end\n end\n\n\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n if not (movex == 0) then\n OutputLogMessage(rx .. \":\" .. ry .. \"\\n\" )\n end\n\n \n\n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n OutputLogMessage(\"AutoRecognize:\t\" .. tostring(vars[\"autorecognize\"]) .. \"\\n\")\n OutputLogMessage(\"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\")\n OutputLogMessage(\"Scope:\t\" .. vars[\"scope\"] .. \"\\n\")\n OutputLogMessage(\"Pose:\t\" .. vars[\"pose\"] .. \"\\n\")\n OutputLogMessage(\"Attachment 2:\t\" .. vars[\"a2\"] .. \"\\n\")\n OutputLogMessage(\"Attachment 3:\t\" .. vars[\"a3\"] .. \"\\n\")\n OutputLogMessage(\"Hold breath:\t\" .. tostring((vars[\"autoshift\"] and vars[\"scope\"] >= vars[\"autoshiftscope\"]) or (table[vars[\"weapon\"]] and table[vars[\"weapon\"]][\"shift\"]) ) .. \"\\n\")\n OutputLogMessage(\"Step:\t\" .. step .. \"\\n\")\n OutputLogMessage(\"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\")\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n SetMKeyState(3)\n end\n",
+ "\n if ads(vars) then\n ClearLog()\n OutputLogMessage(\"---Recoil---\\n\")\n\n if current_time then\n loading_time=GetRunningTime() - current_time\n OutputLogMessage(\"Loading:\t\" .. loading_time .. \"\\n\")\n end\n\n current_time = GetRunningTime()\n\n\n movex = 0\n movey = 0\n\n\n weapon = table[vars[\"weapon\"]]\n if weapon and vars[\"left\"] then\n\n\n step = math.ceil(((current_time - start_time == 0 and {1} or {current_time - start_time})[1]) / weapon[\"speed\"])\n\n\n dofile(vars[\"autorecognize_file\"])\n vars[\"pose\"]=rpose\n\n\n if step > #weapon[\"countdatay\"] then\t\n OutputLogMessage(\"Finished \\n\")\n if debug[1] then\n PressAndReleaseMouseButton(1)\n end\n return\n end\n\n ty = weapon[\"countdatay\"][step]\n tx = weapon[\"countdatax\"][step]\n\n findstep = false\n for k, v in ipairs(steptemp) do\n if k==step then\n findstep = true\n end\n end\n if not findstep then\n steptemp[step] = {}\n steptemp[step][\"start_time\"] =current_time\n steptemp[step][\"xCounter\"] = 0\n steptemp[step][\"yCounter\"] = 0\n end\n\n movey = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (ty)) - steptemp[step][\"yCounter\"]\n movex = math.ceil((current_time - steptemp[step][\"start_time\"]) / weapon[\"speed\"] * (tx)) - steptemp[step][\"xCounter\"]\n\n steptemp[step][\"xCounter\"] = movex + steptemp[step][\"xCounter\"]\n steptemp[step][\"yCounter\"] = movey + steptemp[step][\"yCounter\"]\n\n movey = movey * 1\n movex = movex * 1\n\n movey = movey * weapon[\"scope_sensitive\"][vars[\"scope\"]] * weapon[\"pose_sensitive\"][vars[\"pose\"]] *weapon[\"attachment2_sensitive\"][vars[\"a2\"]]* weapon[\"attachment3_sensitive\"][vars[\"a3\"]] * sensitivityrate[1]\n\n OutputLogMessage(\"ty=\" .. movey .. \"=(\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. ty .. \"-\" .. yCounter .. \") * \" .. weapon[\"scope_sensitive\"][vars[\"scope\"]] .. \"*\" .. weapon[\"pose_sensitive\"][vars[\"pose\"]] .. \"*\" .. weapon[\"attachment2_sensitive\"][vars[\"a2\"]] .. \"*\" .. weapon[\"attachment3_sensitive\"][vars[\"a3\"]] .. \"\\n\")\n OutputLogMessage(\"tx=\" .. movex .. \"=\" .. ((current_time - start_time) / (weapon[\"speed\"] * step)) .. \" * \" .. tx .. \"-\" .. xCounter .. \"\\n\")\n\n if debug[1] then\n movex = 2 * sensitivityrate[1]\n else\n movex = 0\n end\n\n if (vars[\"left\"] and weapon[\"single\"] == true) then\n -- \u8fde\u70b9\u6b66\u5668\u81ea\u52a8\u5f00\u542f\n if (current_time - start_time)%weapon[\"speed\"] <= loading[1]*1.5 then\t\n PressAndReleaseMouseButton(1)\n end\n\n elseif (vars[\"left\"] and vars[\"right\"]) then\n if (IsModifierPressed(\"lshift\") and (vars[\"scope\"] < 3)) then\n movey = movey * 1.35\n elseif (vars[\"aim\"]) then\n end\n elseif (vars[\"aim\"]) then\n movey = movey * 1.3\n end\n end\n\n\n dofile(vars[\"autorecognize_file\"])\n movey = movey + ry\n movex = rx + movex\n if not (movex == 0) then\n OutputLogMessage(rx .. \":\" .. ry .. \"\\n\" )\n end\n\n \n\n movex = math.floor(movex+0.5)\n movey = math.floor(movey+0.5)\n\n OutputLogMessage(\"AutoRecognize:\t\" .. tostring(vars[\"autorecognize\"]) .. \"\\n\")\n OutputLogMessage(\"Weapon:\t\" .. vars[\"weapon\"] .. \"\\n\")\n OutputLogMessage(\"Scope:\t\" .. vars[\"scope\"] .. \"\\n\")\n OutputLogMessage(\"Pose:\t\" .. vars[\"pose\"] .. \"\\n\")\n OutputLogMessage(\"Attachment 2:\t\" .. vars[\"a2\"] .. \"\\n\")\n OutputLogMessage(\"Attachment 3:\t\" .. vars[\"a3\"] .. \"\\n\")\n OutputLogMessage(\"Hold breath:\t\" .. tostring((vars[\"autoshift\"] and vars[\"scope\"] >= vars[\"autoshiftscope\"]) or (table[vars[\"weapon\"]] and table[vars[\"weapon\"]][\"shift\"]) ) .. \"\\n\")\n OutputLogMessage(\"Step:\t\" .. step .. \"\\n\")\n OutputLogMessage(\"Move:\t\" .. movex .. \":\" .. movey .. \"\\n\")\n \n if movey > 120 then\n -- move\u6700\u5927\u652f\u6301120\n movey = 120\n end\n\n MoveMouseRelative(movex, movey)\n Sleep3(loading[1])\n SetMKeyState(3)\n end\n",
"",
"",
false
diff --git a/resource/PUBG/weapondata/default.lua b/resource/PUBG/weapondata/default.lua
index 160851a..23250f9 100644
--- a/resource/PUBG/weapondata/default.lua
+++ b/resource/PUBG/weapondata/default.lua
@@ -34,7 +34,7 @@ max=33,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={9, 18, 27, 36, 50, 64, 78, 92, 106, 120, 134, 152, 170, 188, 206, 224, 242, 260, 278, 296, 314, 332, 350, 368, 386, 404, 422, 440, 458, 476, 494, 512, 521},
+countdatay={9, 9, 9, 9, 14, 14, 14, 14, 14, 14, 14, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 9},
ballistic={
{1,0,0},
{5,5,0},
@@ -54,7 +54,7 @@ max=40,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={18, 31, 44, 57, 76, 95, 114, 133, 152, 171, 190, 209, 228, 247, 268, 289, 310, 331, 352, 373, 394, 415, 436, 457, 478, 499, 520, 541, 562, 583, 604, 625, 646, 667, 688, 709, 730, 751, 772, 793},
+countdatay={18, 13, 13, 13, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21},
ballistic={
{1,-3.0000,0.0000},
{2,-7.5556,0.0000},
@@ -79,7 +79,7 @@ max=40,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 230, 250, 270, 290, 310, 330, 350, 370, 390, 410, 430, 450, 470, 490, 510, 530, 550, 570, 590, 610, 630, 650, 670, 690, 710, 725},
+countdatay={15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 15},
ballistic={
{1,0,0},
{15,5,0},
@@ -98,10 +98,11 @@ max=42,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={17, 34, 47, 60, 73, 86, 99, 119, 139, 159, 179, 199, 219, 239, 259, 279, 299, 319, 339, 360, 381, 402, 423, 444, 465, 486, 507, 528, 549, 570, 591, 612, 633, 654, 675, 696, 717, 738, 759, 780, 801, 816},
+countdatay={16, 17, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 15},
ballistic={
-{1,2,0},
-{3,-2,0},
+{1,1,0},
+{2,2,0},
+{3,3,0},
{8,5,0},
{20,6,0},
{42,0,0},
@@ -119,7 +120,7 @@ max=42,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={15, 30, 45, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 282, 304, 326, 348, 370, 392, 414, 436, 458, 480, 502, 524, 546, 568, 590, 612, 634, 656, 678, 700, 722, 744, 766, 788, 810, 832, 854, 874},
+countdatay={15, 15, 15, 15, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 20},
ballistic={
{1,-5,0},
{5,0,0},
@@ -139,7 +140,7 @@ max=40,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={15, 30, 45, 60, 75, 90, 105, 120, 135, 157, 179, 201, 223, 245, 267, 289, 311, 333, 355, 377, 399, 421, 443, 465, 487, 509, 531, 553, 575, 597, 619, 641, 663, 685, 707, 729, 751, 773, 795, 815},
+countdatay={15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 20},
ballistic={
{1,-5,0},
{10,2,0},
@@ -158,7 +159,7 @@ max=40,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={15, 30, 45, 60, 75, 90, 105, 120, 135, 151, 167, 183, 199, 215, 231, 247, 263, 279, 295, 312, 329, 346, 363, 380, 397, 414, 431, 448, 465, 482, 499, 516, 533, 550, 567, 584, 601, 618, 635, 650},
+countdatay={15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 15},
ballistic={
{1,0,0},
{10,1,0},
@@ -178,7 +179,7 @@ max=42,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={22, 26, 30, 49, 68, 87, 106, 125, 144, 163, 182, 201, 220, 239, 258, 281, 304, 327, 350, 373, 396, 419, 442, 465, 488, 511, 534, 557, 580, 603, 626, 649, 672, 695, 718, 741, 764, 787, 810, 833, 856, 875},
+countdatay={22, 4, 4, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 19},
ballistic={
{1,3,0},
{2,-15,0},
@@ -200,7 +201,7 @@ max=42,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={24, 45, 66, 87, 108, 129, 150, 171, 196, 221, 246, 271, 296, 322, 348, 374, 404, 434, 464, 494, 524, 554, 584, 615, 646, 677, 708, 739, 770, 800, 830, 860, 890, 920, 950, 980, 1010, 1040, 1070, 1100, 1130, 1156},
+countdatay={24, 21, 21, 21, 21, 21, 21, 21, 25, 25, 25, 25, 25, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26},
ballistic={
{1,-2,0},
{2,-5,0},
@@ -224,7 +225,7 @@ max=40,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={14, 28, 42, 56, 74, 92, 110, 128, 146, 164, 182, 200, 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, 398, 416, 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, 614, 632, 650, 668, 686, 704},
+countdatay={14, 14, 14, 14, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18},
ballistic={
{1,-3,0},
{5,0,0},
@@ -261,7 +262,7 @@ max=30,
single=true,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425, 442, 459, 476, 493, 510, 527, 544, 561, 578, 595, 612, 629, 646, 663, 680},
+countdatay={17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17},
ballistic={
{1,0,0},
{40,0,0},
@@ -369,7 +370,7 @@ max=20,
single=false,
shift=true,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={22, 34, 46, 78, 110, 142, 174, 196, 218, 255, 292, 329, 366, 403, 440, 477, 514, 551, 588, 610},
+countdatay={22, 12, 12, 32, 32, 32, 32, 22, 22, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 22},
ballistic={
{1,0,0,},
{2,-10,0},
@@ -391,7 +392,7 @@ max=150,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, 257, 259, 261, 263, 265, 267, 269, 271, 273, 275, 277, 279, 281, 283, 285, 287, 289, 291, 293, 295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 317, 320},
+countdatay={3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
ballistic={
{1,0,0,},
{20,-1,0},
@@ -410,7 +411,7 @@ max=47,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={2, 4, 6, 8, 10, 12, 14, 16, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 131},
+countdatay={2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2},
ballistic={
{1,0,0,},
{10,1,0,},
@@ -429,7 +430,7 @@ max=53,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444, 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588, 600, 612, 624, 636},
+countdatay={12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
ballistic={
{1,0,0},
{53,0,0},
@@ -447,7 +448,7 @@ max=75,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={21, 42, 63, 84, 105, 126, 147, 168, 189, 209, 229, 249, 269, 289, 309, 329, 349, 369, 389, 409, 429, 449, 469, 489, 509, 529, 549, 569, 589, 609, 629, 649, 669, 689, 709, 729, 749, 769, 789, 809, 829, 849, 869, 889, 909, 929, 949, 969, 989, 1009, 1029, 1049, 1069, 1089, 1109, 1129, 1149, 1169, 1189, 1209, 1229, 1249, 1269, 1289, 1309, 1329, 1349, 1369, 1389, 1409, 1429, 1449, 1469, 1489, 1509},
+countdatay={21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20},
ballistic={
{1,1,0},
{10,0,0},
@@ -466,7 +467,7 @@ max=22,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={29, 43, 59, 88, 111, 141, 171, 201, 231, 261, 291, 321, 351, 381, 411, 441, 471, 501, 531, 561, 591, 616},
+countdatay={29, 14, 16, 29, 23, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 25},
ballistic={
{1,4,0},
{2,-11,0},
@@ -489,7 +490,7 @@ max=42,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169, 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325, 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, 468, 481, 494, 507, 520, 533, 546},
+countdatay={13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
ballistic={
{1,0,0},
{42,0,0},
@@ -507,7 +508,7 @@ max=50,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={6, 12, 18, 24, 30, 36, 42, 48, 54, 61, 68, 75, 82, 89, 96, 103, 110, 117, 124, 129, 134, 139, 144, 149, 154, 159, 164, 169, 174, 179, 184, 189, 194, 199, 204, 209, 214, 219, 224, 229, 234, 239, 244, 249, 254, 259, 264, 269, 274, 279},
+countdatay={6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
ballistic={
{1,1,0},
{10,2,0},
@@ -527,7 +528,7 @@ max=55,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={12, 24, 36, 48, 63, 78, 93, 108, 123, 145, 167, 189, 211, 233, 255, 277, 299, 321, 343, 365, 387, 409, 431, 453, 475, 497, 519, 541, 563, 585, 607, 629, 651, 673, 695, 717, 739, 761, 783, 805, 827, 849, 871, 893, 915, 937, 959, 981, 1003, 1025, 1047, 1069, 1091, 1113, 1127},
+countdatay={12, 12, 12, 12, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 14},
ballistic={
{1,-2,0},
{5,1,0},
@@ -547,7 +548,7 @@ max=37,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={7, 14, 21, 28, 35, 42, 49, 56, 63, 72, 81, 90, 99, 108, 121, 134, 147, 160, 173, 186, 199, 212, 225, 238, 251, 264, 277, 290, 303, 316, 329, 342, 355, 368, 381, 394, 401},
+countdatay={7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 9, 9, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 7},
ballistic={
{1,0,0},
{10,2,0},
@@ -567,7 +568,7 @@ max=40,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={21, 37, 53, 69, 87, 105, 123, 141, 159, 177, 195, 215, 235, 255, 275, 295, 315, 335, 355, 375, 398, 421, 444, 467, 490, 513, 536, 559, 582, 601, 620, 639, 658, 677, 696, 715, 734, 753, 772, 793},
+countdatay={21, 16, 16, 16, 18, 18, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 23, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 21},
ballistic={
{1,0,0},
{2,-5,0},
@@ -591,7 +592,7 @@ max=35,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={12, 24, 36, 48, 63, 78, 93, 108, 123, 142, 161, 180, 199, 218, 237, 256, 275, 294, 313, 332, 351, 370, 389, 408, 427, 446, 465, 484, 503, 522, 541, 560, 579, 598, 613},
+countdatay={12, 12, 12, 12, 15, 15, 15, 15, 15, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 15},
ballistic={
{1,-3,0},
{5,0,0},
@@ -611,7 +612,7 @@ max=35,
single=false,
shift=false,
countdatax={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-countdatay={14, 28, 42, 56, 70, 84, 98, 112, 127, 142, 157, 172, 187, 202, 217, 232, 247, 259, 271, 283, 295, 307, 319, 331, 343, 355, 367, 379, 391, 403, 415, 427, 439, 451, 463},
+countdatay={14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
ballistic={
{1,2,0},
{9,3,0},
diff --git a/view/widgets/AIWidget.py b/view/widgets/AIWidget.py
index 55e28b1..4c1e201 100644
--- a/view/widgets/AIWidget.py
+++ b/view/widgets/AIWidget.py
@@ -77,7 +77,7 @@ def setUI(self):
providerBox = QComboBox()
# providerBox.addItem("CPUExecutionProvider","CPUExecutionProvider")
providerBox.addItem("DmlExecutionProvider","DmlExecutionProvider")
- # providerBox.addItem("CUDAExecutionProvider","CUDAExecutionProvider")
+ providerBox.addItem("CUDAExecutionProvider","CUDAExecutionProvider")
# providerBox.addItem("TensorrtExecutionProvider","TensorrtExecutionProvider")
self.providerBox = providerBox
# ordmlBTN = QRadioButton("onnxruntime DirectML (AMD-GPU)") #onnxruntime dml (GPU)
@@ -351,9 +351,9 @@ def setUI(self):
# yRate = QSlider(Qt.Orientation.Horizontal)
xRate = QLabeledDoubleSlider(Qt.Orientation.Horizontal)
yRate = QLabeledDoubleSlider(Qt.Orientation.Horizontal)
- xRate.setMaximum(5)
+ xRate.setMaximum(10)
xRate.setMinimum(0)
- yRate.setMaximum(5)
+ yRate.setMaximum(10)
yRate.setMinimum(0)
xRate.setValue(1)
yRate.setValue(0)
diff --git a/view/widgets/ApexWeaponConfigWidget.py b/view/widgets/ApexWeaponConfigWidget.py
index 5705632..f03742a 100644
--- a/view/widgets/ApexWeaponConfigWidget.py
+++ b/view/widgets/ApexWeaponConfigWidget.py
@@ -43,7 +43,7 @@ def ui(self):
weapondataprofiles = QComboBox()
weapondataprofilesgroup = self.lineedit_with_label("预设弹道",weapondataprofiles)
- debug = QCheckBox("debug弹道调试")
+ debug = QCheckBox("debug弹道调试(按右键自动重新加载)")
loading = QLineEdit()
loadinggroup = self.lineedit_with_label("cpu负载",loading)
diff --git a/view/widgets/PubgWeaponConfigWidget.py b/view/widgets/PubgWeaponConfigWidget.py
index 9535b7b..bd42cc3 100644
--- a/view/widgets/PubgWeaponConfigWidget.py
+++ b/view/widgets/PubgWeaponConfigWidget.py
@@ -49,7 +49,7 @@ def ui(self):
sensitivity = QLineEdit("1")
sensitivitygroup = self.lineedit_with_label("灵敏度系数",sensitivity)
- debug = QCheckBox("debug弹道调试")
+ debug = QCheckBox("debug弹道调试(按右键自动重新加载)")
grid.addWidget(weapondataprofilesgroup,0,0,1,2)
grid.addWidget(loadinggroup,1,0,1,2)
diff --git a/view/widgets/SettingWidget.py b/view/widgets/SettingWidget.py
index 207db87..d944df2 100644
--- a/view/widgets/SettingWidget.py
+++ b/view/widgets/SettingWidget.py
@@ -305,7 +305,7 @@ def __init__(self,settingWidget:QSettingWidget) -> None:
gameBtnGroupLayout = QGridLayout()
gameBtnGroup.setLayout(gameBtnGroupLayout)
- for game in ["APEX","PUBG"]:
+ for game in ["APEX","PUBG","General"]:
gameBTN = QRadioButton(game)
gameBTN.setObjectName(game)
gameBtnGroupLayout.addWidget(gameBTN)
@@ -410,6 +410,26 @@ def init_models(self,game=None):
traceback.print_exc()
message_critical("错误",str(e))
+ elif game == "General":
+ try:
+ recognizer = ApexAutoRecognizer()
+ bloodfix = QBloodFix()
+ ai = QAiFix()
+ antishake = QAntiShakeFix()
+ macro = ApexMacroConfigController().view
+ weapon = ApexWeaponConfigController().view
+ recoil = ImageRecoilAnalyze()
+ tab.addTab(recognizer,"自动识别")
+ tab.addTab(bloodfix,"血雾")
+ tab.addTab(ai,"AI")
+ tab.addTab(antishake,"防抖")
+ tab.addTab(macro,"宏配置")
+ tab.addTab(weapon,"武器参数")
+ tab.addTab(recoil,"弹道辅助分析")
+ except Exception as e:
+ traceback.print_exc()
+ message_critical("错误",str(e))
+
def select_monitor(self):
for btn in self.monitorBTNS:
if not btn.isChecked():