mirror of
https://github.com/Freaku17/BombSquad-Mods-byFreaku
synced 2025-11-11 03:05:57 +00:00
192 lines
No EOL
6.2 KiB
Python
192 lines
No EOL
6.2 KiB
Python
#Made by your friend: @[Just] Freak#4999 / Freaku
|
|
|
|
# Defines a simple plugin that allows you to:
|
|
## See any errors of your mods (if present) in folder BombSquad/logging/logs.txt
|
|
## Get config contents
|
|
## Enable internal debugging
|
|
## Create/Delete sys
|
|
|
|
# Note: Please perform the activities to log, if its a gamemode pls open and play it and then see logs. If its a window please touch buttons and then see logs.
|
|
# and so on according to the mod you're working...
|
|
|
|
|
|
|
|
|
|
# https://discord.gg/ucyaesh
|
|
|
|
__author__ = "Freaku"
|
|
__version__ = 2
|
|
|
|
##### Goals for v3: #####
|
|
# Focusing on universal platform modding (instead of just Android)
|
|
# Terminal UI
|
|
# Ability to get 2D/3D points for nodes like text or object positions (live via UI to adjust them)
|
|
# Creating mod environment with a click!
|
|
# Move the bottom index thingy somewhere in UI (or yeet it's existance 😨)
|
|
|
|
|
|
|
|
|
|
########## INDEX ##########
|
|
'''
|
|
- Must READ
|
|
- For beginners
|
|
- Fixing errors...
|
|
'''
|
|
|
|
|
|
# ----- MUST READ -----
|
|
'''
|
|
# I hope you know Python Programming Language and have seen Bombsquad's API, avaiable at
|
|
# https://ballistica.net/wiki
|
|
|
|
# else... its still fine :)
|
|
|
|
# Python is easiest language, hardly will take 1 week to learn (See YouTube tutorials)
|
|
|
|
|
|
# This mod is *genuinely* for Mobile Modders,
|
|
# in PC you can directly get these Terminal Errors in console.
|
|
# but sadly on mobile there's no way to view console.
|
|
# We can, by following GitHub's Android coding environment
|
|
# https://github.com/efroemling/ballistica/wiki/Coding-Environment-(Android)
|
|
# but it's long process, additionally around 500mb of data to download
|
|
# for Pydroid 3 and it's Pydroid's plugins... (not guaranteed to work properly)
|
|
# This is helpful for new Modders (who don't use PC)
|
|
# Also I'll ***HIGHLY*** suggest to not use this when other mods are installed
|
|
# As a TONS of other mods includes errors (which aren't fixed)
|
|
# Rename BombSquad folder to BombSquad1 and make a
|
|
# new BombSquad folder and paste this in that
|
|
# and also the mod you're working on....
|
|
# Happy coding! 🔥
|
|
|
|
# Dont worry about those currency mods or similar stuffs...
|
|
# Their data is still stored on app so whenever you use them back
|
|
# (deleting BombSquad folder and renaming BombSquad1 back to BombSquad)
|
|
# All currency/data will still be avaiable!!
|
|
|
|
|
|
|
|
#AndroidModdersRock
|
|
'''
|
|
|
|
# ----- For beginners -----
|
|
'''
|
|
# Use create_sys / delete_sys in Plugins
|
|
# and a Code Editor app (on Play Store)
|
|
'''
|
|
|
|
# ----- Fixing errors... -----
|
|
'''
|
|
# Incase you haven't ever seen console:
|
|
# The logs.txt shows full stuff ...
|
|
# Like say you made a mod but in logs you'll see entire file paths of in-game files.
|
|
|
|
# Over here you should ignore in-game files and just see Exception/Traceback (or the path where your mod file is named)
|
|
# and bottom lines (to know what error is it exactly)
|
|
|
|
# Reason? Game is certainly completed so no matter what it wont have any error, the error causing is just your file.
|
|
# Traceback could look like: Game called a activity as said in this-this line of file, then Map was loaded by the activity, then Map tried to fetch spawn points, but spawn points have error (since you modified it)
|
|
'''
|
|
|
|
# Additionally, errors like
|
|
# - Invalid Syntax (if you use code editor just press 3 dots and off word wrap, so you can scroll left/right so you can see the ^ arrow pointing correctly) This error is either cuz of some brackets opened but not closed or the other way around. Could also be if you put = instead of ==
|
|
# - Indentation error (this is related to spaces, Google can help/explain you in this...)
|
|
# - etc etc (take help of Google 🤐)
|
|
|
|
# Sometimes you can't just solve it yourself, so you need to ask someone for help
|
|
# I would suggest this lovely discord server,
|
|
# https://discord.gg/ucyaesh
|
|
|
|
# That's it UwU #
|
|
|
|
|
|
|
|
|
|
|
|
# ba_meta require api 6
|
|
|
|
import _ba, ba, os
|
|
folder = _ba.env()['python_directory_user'] + "/logging/"
|
|
log_copy = folder + 'logs.txt'
|
|
config_copy = folder + 'config.txt'
|
|
|
|
def make_folder():
|
|
if not os.path.exists(folder):
|
|
os.makedirs(folder)
|
|
|
|
def make_logs(content):
|
|
with open(log_copy, 'w+') as l:
|
|
l.write(content)
|
|
l.close()
|
|
|
|
def log_it():
|
|
our_logs = _ba.getlog()
|
|
if our_logs != "":
|
|
make_logs(our_logs)
|
|
else:
|
|
make_logs("🔥 Congratulations! No errors were found during this playing session!! 🔥")
|
|
|
|
def make_config():
|
|
configs = _ba.app.config_file_path
|
|
config_contents = ''
|
|
with open(configs) as f:
|
|
config_contents = f.read()
|
|
with open(config_copy, 'w+') as e:
|
|
e.write(config_contents)
|
|
e.close()
|
|
|
|
def internal_debug():
|
|
"""
|
|
Eg. May show some error via screen msg even if try except is used.
|
|
Use only if you are going for really ADVANCED modding...
|
|
"""
|
|
setattr(_ba.app, '_debug_enabled', True)
|
|
|
|
def make_sys():
|
|
path = _ba.app.python_directory_user +'/sys/'+_ba.app.version
|
|
if not os.path.exists(path):
|
|
ba.modutils.create_user_system_scripts()
|
|
ba.screenmessage(f"Scripts created at {path}",color=(0, 1, 0))
|
|
ba.screenmessage("Restart BombSquad to use them",color=(0, 1, 0))
|
|
ba.app.config['Plugins'][__name__+'.create_sys']['enabled'] = False
|
|
ba.app.config.apply_and_commit()
|
|
else: ba.screenmessage('Cannot run '+__name__+'.create_sys\nScripts already exist :/',color=(1,0,0))
|
|
|
|
def yeet_sys():
|
|
path = _ba.app.python_directory_user +'/sys/'+_ba.app.version
|
|
if os.path.exists(path):
|
|
ba.modutils.delete_user_system_scripts()
|
|
ba.screenmessage("Scripts deleted!",color=(1, 1, 0))
|
|
ba.screenmessage("Restart BombSquad to use internal",color=(1, 1, 0))
|
|
ba.app.config['Plugins'][__name__+'.delete_sys']['enabled'] = False
|
|
ba.app.config.apply_and_commit()
|
|
else: ba.screenmessage('Cannot run '+__name__+'.delete_sys\nNo Scripts exist :/',color=(1,0,0))
|
|
|
|
|
|
# ba_meta export plugin
|
|
class get_logs(ba.Plugin):
|
|
def on_app_launch(self):
|
|
make_folder()
|
|
log_it()
|
|
ba.timer(1, log_it, repeat=True)
|
|
|
|
|
|
# ba_meta export plugin
|
|
class get_config(ba.Plugin):
|
|
def __init__(self): make_config()
|
|
|
|
|
|
# ba_meta export plugin
|
|
class live_debug(ba.Plugin):
|
|
def __init__(self): internal_debug()
|
|
|
|
|
|
# ba_meta export plugin
|
|
class create_sys(ba.Plugin):
|
|
def __init__(self): ba.timer(3, make_sys)
|
|
|
|
|
|
# ba_meta export plugin
|
|
class delete_sys(ba.Plugin):
|
|
def __init__(self): ba.timer(3.5, yeet_sys) |