trainerbase 2.12.4__tar.gz → 2.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trainerbase-2.12.4 → trainerbase-2.13.0}/PKG-INFO +1 -1
- {trainerbase-2.12.4 → trainerbase-2.13.0}/pyproject.toml +5 -1
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/codeinjection.py +3 -2
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/common.py +3 -3
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/gui.py +30 -3
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/gui.py +4 -4
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/scripts.py +0 -1
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/tts.py +1 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/LICENSE +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/README.md +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/fasm/FASM.EXE +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/__init__.py +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/config.py +1 -1
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/gameobject.py +1 -1
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/memory.py +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/scriptengine.py +0 -0
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/__init__.py +0 -0
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/injections.py +0 -0
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/main.py +0 -0
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/memory.py +0 -0
- {trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/objects.py +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/template/trainerbase.toml +0 -0
- {trainerbase-2.12.4 → trainerbase-2.13.0}/trainerbase/use_trainer_template.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "TrainerBase"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.13.0"
|
|
4
4
|
description = "Framework for creating game trainers/mods"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "v01d", email = "v01d@v01d.ru" },
|
|
@@ -33,6 +33,10 @@ target-version = [
|
|
|
33
33
|
]
|
|
34
34
|
line-length = 120
|
|
35
35
|
|
|
36
|
+
[tool.isort]
|
|
37
|
+
lines_after_imports = 2
|
|
38
|
+
skip = "trainerbase/template/"
|
|
39
|
+
|
|
36
40
|
[tool.pdm.build]
|
|
37
41
|
includes = [
|
|
38
42
|
"fasm/",
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
from pathlib import Path
|
|
3
|
-
from subprocess import
|
|
3
|
+
from subprocess import DEVNULL
|
|
4
|
+
from subprocess import run as run_executable
|
|
4
5
|
from tempfile import TemporaryDirectory
|
|
5
6
|
from uuid import uuid4
|
|
6
7
|
|
|
7
|
-
from trainerbase.memory import ARCH, Address,
|
|
8
|
+
from trainerbase.memory import ARCH, Address, make_address, pm
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
FASM_EXECUTABLE_PATH = Path(__file__).resolve().parent.parent / "fasm" / "FASM.EXE"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
from
|
|
2
|
-
from itertools import starmap, repeat
|
|
1
|
+
from itertools import repeat, starmap
|
|
3
2
|
from math import sqrt
|
|
3
|
+
from operator import add, mul
|
|
4
4
|
|
|
5
5
|
from pymem.exception import MemoryReadError
|
|
6
6
|
|
|
7
|
-
from trainerbase.gameobject import
|
|
7
|
+
from trainerbase.gameobject import GameFloat, GameInt
|
|
8
8
|
from trainerbase.scriptengine import Script
|
|
9
9
|
|
|
10
10
|
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
from collections.abc import Callable
|
|
2
|
+
from functools import partial
|
|
3
|
+
from typing import Any
|
|
2
4
|
|
|
3
5
|
from dearpygui import dearpygui as dpg
|
|
4
6
|
from keyboard import add_hotkey
|
|
5
7
|
|
|
6
|
-
from trainerbase.scriptengine import Script
|
|
7
|
-
from trainerbase.gameobject import GameObject
|
|
8
8
|
from trainerbase.codeinjection import AbstractCodeInjection
|
|
9
9
|
from trainerbase.common import Teleport
|
|
10
|
+
from trainerbase.gameobject import (
|
|
11
|
+
GameBool,
|
|
12
|
+
GameByte,
|
|
13
|
+
GameDouble,
|
|
14
|
+
GameFloat,
|
|
15
|
+
GameInt,
|
|
16
|
+
GameLongLong,
|
|
17
|
+
GameObject,
|
|
18
|
+
GameShort,
|
|
19
|
+
GameUnsignedInt,
|
|
20
|
+
GameUnsignedLongLong,
|
|
21
|
+
GameUnsignedShort,
|
|
22
|
+
)
|
|
23
|
+
from trainerbase.scriptengine import Script
|
|
10
24
|
from trainerbase.tts import say
|
|
11
25
|
|
|
12
26
|
|
|
@@ -76,6 +90,7 @@ def add_gameobject_to_gui(
|
|
|
76
90
|
gameobject: GameObject,
|
|
77
91
|
label: str,
|
|
78
92
|
hotkey: str = None,
|
|
93
|
+
default_setter_input_value: Any = 0,
|
|
79
94
|
before_set: Callable = int,
|
|
80
95
|
tts_on_hotkey: bool = True,
|
|
81
96
|
):
|
|
@@ -108,11 +123,23 @@ def add_gameobject_to_gui(
|
|
|
108
123
|
|
|
109
124
|
label = f"[{hotkey}] {label}"
|
|
110
125
|
|
|
126
|
+
match gameobject:
|
|
127
|
+
case GameFloat():
|
|
128
|
+
add_setter_input = dpg.add_input_float
|
|
129
|
+
case GameDouble():
|
|
130
|
+
add_setter_input = dpg.add_input_double
|
|
131
|
+
case GameByte() | GameShort() | GameInt() | GameLongLong() | GameBool():
|
|
132
|
+
add_setter_input = dpg.add_input_int
|
|
133
|
+
case GameUnsignedShort() | GameUnsignedInt() | GameUnsignedLongLong():
|
|
134
|
+
add_setter_input = partial(dpg.add_input_int, min_clamped=True, min_value=0)
|
|
135
|
+
case _:
|
|
136
|
+
add_setter_input = dpg.add_input_text
|
|
137
|
+
|
|
111
138
|
with dpg.group(horizontal=True):
|
|
112
139
|
dpg.add_checkbox(tag=gameobject.dpg_tag_frozen, callback=on_frozen_state_change)
|
|
113
140
|
dpg.add_text(label)
|
|
114
141
|
dpg.add_input_text(width=220, tag=gameobject.dpg_tag_getter, readonly=True)
|
|
115
|
-
|
|
142
|
+
add_setter_input(width=220, tag=gameobject.dpg_tag_setter, default_value=default_setter_input_value)
|
|
116
143
|
dpg.add_button(label="Set", callback=on_value_set)
|
|
117
144
|
|
|
118
145
|
|
{trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/gui.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import dearpygui
|
|
1
|
+
from dearpygui import dearpygui as dpg
|
|
2
2
|
from trainerbase.gui import add_script_to_gui, add_gameobject_to_gui, add_codeinjection_to_gui, simple_trainerbase_menu
|
|
3
3
|
|
|
4
4
|
from scripts import *
|
|
@@ -11,13 +11,13 @@ def run_menu():
|
|
|
11
11
|
with dpg.tab_bar():
|
|
12
12
|
# (!) Example:
|
|
13
13
|
#
|
|
14
|
-
# with dpg.tab(label="Scripts"
|
|
14
|
+
# with dpg.tab(label="Scripts"):
|
|
15
15
|
# add_script_to_gui(script, "Readable Name")
|
|
16
16
|
#
|
|
17
|
-
# with dpg.tab(label="Objects"
|
|
17
|
+
# with dpg.tab(label="Objects"):
|
|
18
18
|
# add_gameobject_to_gui(game_object, "Readable Name")
|
|
19
19
|
#
|
|
20
|
-
# with dpg.tab(label="Code Injections"
|
|
20
|
+
# with dpg.tab(label="Code Injections"):
|
|
21
21
|
# add_codeinjection_to_gui(injection, "Injection Name")
|
|
22
22
|
|
|
23
23
|
...
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trainerbase-2.12.4/trainerbase/template/scr → trainerbase-2.13.0/trainerbase/template/src}/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|