8
8
[NOTE]
9
9
10
10
- executor.py is meant to be executed only as an executable, not as a python script!
11
- - the below packages are not required by the executor.py script but is required by the various __modules__ run by the dank.tool.exe
11
+ - the below packages are not required by the executor.py script but are required by the various __modules__ run by the dank.tool.exe
12
12
- they are listed here to be included in the final build of dank.tool.exe
13
13
'''
14
14
20
20
import ctypes
21
21
import winreg
22
22
import sqlite3
23
+ import requests
23
24
import pyminizip
24
25
import subprocess
25
26
import tkinter as tk
33
34
from pynput .keyboard import Key , Listener
34
35
from pynput .mouse import Button , Controller
35
36
from mcstatus import JavaServer , BedrockServer
36
- from dankware import cls , err , multithread , align , github_downloads , github_file_selector , rm_line , random_ip , get_duration , sys_open , is_admin , export_registry_keys , file_selector , folder_selector , get_path
37
+ from concurrent .futures import ThreadPoolExecutor
38
+ from dankware import cls , clr , title , err , multithread , align , github_downloads , github_file_selector , rm_line , random_ip , get_duration , sys_open , is_admin , export_registry_keys , file_selector , folder_selector , get_path
37
39
from dankware import reset , black , blue , cyan , green , magenta , red , white , yellow , black_normal , blue_normal , cyan_normal , green_normal , magenta_normal , red_normal , white_normal , yellow_normal , black_dim , blue_dim , cyan_dim , green_dim , magenta_dim , red_dim , white_dim , yellow_dim
38
40
39
- # required packages for dank.fusion-fall.py
40
-
41
- from unitypackff .asset import Asset
42
- from unitypackff .export import OBJMesh
43
- from unitypackff .object import FFOrderedDict , ObjectPointer
44
- from unitypackff .modding import import_texture , import_mesh , import_audio
45
-
46
41
# required packages for dank.game.py
47
42
48
43
import numpy
49
44
from ursina import *
45
+ from ursina .scripts import *
50
46
from ursina .shaders import *
51
- from ursina .shaders import texture_blend_shader
52
47
from ursina .prefabs .first_person_controller import FirstPersonController
53
48
54
49
# required packages for executor.py
55
50
56
- import requests
57
51
from pypresence import Presence
58
- from dankware import clr , title
59
52
from packaging .version import parse
60
- from concurrent .futures import ThreadPoolExecutor
61
53
62
54
# variables
63
55
64
- DANK_TOOL_VERSION = "3.2.2 "
56
+ DANK_TOOL_VERSION = "3.2.3 "
65
57
session = requests .Session ()
66
58
_executor = ThreadPoolExecutor (10 )
67
59
headers = {"User-Agent" : "dank.tool" }
@@ -85,18 +77,20 @@ def settings_json():
85
77
"offline-mode" : "0" ,
86
78
"dev-branch" : "0" ,
87
79
"force-update" : "0" ,
80
+ "force-translate" : "0" ,
88
81
"force-startup-audio" : "0" ,
89
82
"disable-startup-audio" : "0" ,
90
83
}
91
84
92
85
if not os .path .isfile ('settings.json' ):
93
86
overwrite = True
94
87
else :
95
- keys = json .loads (open ('settings.json' , 'r' , encoding = 'utf-8' ).read ()). keys ( )
88
+ data = json .loads (open ('settings.json' , 'r' , encoding = 'utf-8' ).read ())
96
89
for key in default_settings :
97
- if not key in keys :
90
+ if not key in data . keys () :
98
91
overwrite = True
99
- break
92
+ else :
93
+ default_settings [key ] = data [key ]
100
94
101
95
if overwrite :
102
96
open ('settings.json' , 'w' , encoding = 'utf-8' ).write (json .dumps (default_settings , indent = 4 ))
@@ -114,9 +108,8 @@ def settings_json():
114
108
# handle KeyboardInterrupt
115
109
116
110
def print_warning_symbol ():
117
-
118
- warning_symbol = f'\n \n { red } ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██\n { red } ██ ██\n { red } ██████████████████████████████████████████ \n '
119
- cls (); print (align (warning_symbol ))
111
+
112
+ cls (); print (align (f'\n \n { red } ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██ \n { red } ██ { white } ██████{ red } ██\n { red } ██ ██\n { red } ██████████████████████████████████████████ \n ' ))
120
113
121
114
# get latest version number
122
115
@@ -167,8 +160,6 @@ def dank_tool_installer():
167
160
except : pass
168
161
input (clr (f"{ err_message } \n \n > Press [ENTER] to EXIT... " ,2 ))
169
162
sys .exit (err_message )
170
-
171
- sys .exit ("Updated!" )
172
163
173
164
# update environment variables
174
165
@@ -211,13 +202,16 @@ def check_windows_language():
211
202
break
212
203
213
204
if not locale_name .lower ().startswith ('en' ):
214
- translator = Translator ()
215
- result = translator .translate ("Would you like to enable the translate feature?" , source_language = 'en' , destination_language = locale_name )
216
- print (clr (f"\n - Your windows language is set to '{ cyan } { locale_name } '!" ))
217
- if input (clr (f"\n > { result } [y/n]:" , colour_one = cyan )).lower () == 'y' :
205
+ if int (DANK_TOOL_SETTINGS ['force-translate' ]):
218
206
os .environ ['DANK_TOOL_LANG' ] = locale_name
219
207
else :
220
- os .environ ['DANK_TOOL_LANG' ] = "en"
208
+ translator = Translator ()
209
+ result = translator .translate ("Would you like to enable the translate feature?" , source_language = 'en' , destination_language = locale_name ).result
210
+ print (clr (f"\n - Your windows language is set to '{ cyan } { locale_name } '!" ))
211
+ if input (clr (f"\n > { result } [y/n]: " , colour_one = cyan ) + cyan ).lower () == 'y' :
212
+ os .environ ['DANK_TOOL_LANG' ] = locale_name
213
+ else :
214
+ os .environ ['DANK_TOOL_LANG' ] = "en"
221
215
else :
222
216
os .environ ['DANK_TOOL_LANG' ] = "en"
223
217
@@ -284,6 +278,7 @@ def dank_tool_runs_counter():
284
278
try : session .get ("https://dank-site.onrender.com/counter?id=dank.tool&hit=true" , headers = headers ); break
285
279
except : fail_counter += 1
286
280
time .sleep (60 )
281
+ del globals ()['dank_tool_runs_counter' ]
287
282
288
283
if ONLINE_MODE :
289
284
_executor .submit (dank_tool_runs_counter )
@@ -301,6 +296,7 @@ def dank_tool_chatroom():
301
296
try : session .post ("https://dank-site.onrender.com/chatroom-users" , headers = headers ); fail_counter = 0 # do not add a break here! (keeps user validated)
302
297
except : fail_counter += 1
303
298
time .sleep (240 )
299
+ del globals ()['dank_tool_chatroom' ]
304
300
305
301
if ONLINE_MODE :
306
302
_executor .submit (dank_tool_chatroom )
@@ -321,16 +317,13 @@ def dank_tool_chatroom():
321
317
err_message = err (sys .exc_info ())
322
318
print (clr (err_message , 2 ))
323
319
LATEST_VERSION = latest_dank_tool_version ()
324
-
325
- if "Updated!" in err_message :
326
- sys .exit ("Updated!" )
327
-
328
- elif "Error Type: KeyboardInterrupt" in err_message :
320
+
321
+ if "Error Type: KeyboardInterrupt" in err_message :
329
322
print_warning_symbol ()
330
323
print (clr ("\n - Please select text first and then use [ CTRL + C ]!" ))
331
324
332
325
elif parse (LATEST_VERSION ) > parse (DANK_TOOL_VERSION ):
333
- print (clr (f"\n - Updating to the latest version... \n \n - Update Found: { LATEST_VERSION } " ))
326
+ print (clr (f"\n - Update Found: { LATEST_VERSION } " ))
334
327
dank_tool_installer ()
335
328
336
329
elif ONLINE_MODE :
@@ -342,5 +335,5 @@ def dank_tool_chatroom():
342
335
print (clr ("\n - Error Reported! If it is an OS error, Please run as admin and try again!\n \n - If it is a logic error, it will be fixed soon!" ))
343
336
344
337
input (clr ("\n > Press [ENTER] to EXIT... " ))
345
- os .system ("taskkill /f /im dank.tool.exe" )
338
+ os .system ("taskkill /f /t / im dank.tool.exe" )
346
339
0 commit comments