Add files via upload

This commit is contained in:
Freaku17 2022-03-16 08:57:34 +05:30 committed by GitHub
parent c4f188aa1d
commit 1827e1193a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,33 +1,57 @@
#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 BombSquad/logging/logs.txt
# 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 youre working...
# 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...'''
- Fixing errors...
'''
# ----- MUST READ -----
'''
# I hope you know Python and have seen Bombsquad's API, avaiable at
# 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 tho, by following GitHub's Android coding environment
# 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...
# 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)
@ -44,51 +68,27 @@
#AndroidModdersRock
# Btw I'll probably edit/add new things if you would like, I'm also currently learning Bombsquad modding stuffs!!
'''
# ----- For beginners -----
'''
# You should have Custom Scripts mod
# https://youtu.be/z4IvcyWQqsw
# and you should also view other mods file (if you don't have, you can get some mods from same channel)
# and a Code Editor app (on Play Store)'''
# 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 even file paths of in-game files. Example:'''
# Like say you made a mod but in logs you'll see entire file paths of in-game files.
'''ERROR: error adding level '<ba.Level object at 0x78b4614a60>'
root call: <unavailable>
context: <UI Context>
real-time: 1773
sim-time: <unavailable>
base-time: <unavailable>
PRINTED-FROM:
File "ba_data/python/ba/_app.py", line 387, in on_app_launch
self.plugins.on_app_launch()
File "ba_data/python/ba/_plugin.py", line 35, in on_app_launch
plugin.on_app_launch()
File "/storage/emulated/0/BombSquad/MoreMinigames.py", line 1979, in on_app_launch
new_campaigns()
File "/storage/emulated/0/BombSquad/MoreMinigames.py", line 1945, in new_campaigns
print_exception("error adding level '"+str(level)+"'")
File "ba_data/python/ba/_error.py", line 155, in print_exception
stackstr = ''.join(traceback.format_stack())
EXCEPTION:
Traceback (most recent call last):
File "/storage/emulated/0/BombSquad/MoreMinigames.py", line 1943, in new_campaigns
campaign.addlevel(level)
File "ba_data/python/ba/_campaign.py", line 49, in addlevel
raise RuntimeError('Level already belongs to a campaign.')
RuntimeError: Level already belongs to a campaign.'''
'''
# 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...)
@ -98,39 +98,95 @@
# I would suggest this lovely discord server,
# https://discord.gg/ucyaesh
# That's it UwU'''
# That's it UwU #
# ba_meta require api 6
import ba, _ba, os, pickle
import _ba, ba, os
folder = _ba.env()['python_directory_user'] + "/logging/"
file = folder + 'logs.txt'
log_copy = folder + 'logs.txt'
config_copy = folder + 'config.txt'
def make_folder():
if not os.path.exists(folder):
os.makedirs(folder)
if not os.path.exists(file):
with open(file, 'wb') as f:
pickle.dump({}, f)
def make_dirty_logs(logg):
f= open(file, "w+")
f.write(logg)
f.close()
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_dirty_logs(our_logs)
make_logs(our_logs)
else:
make_dirty_logs("🔥 Congratulations! No errors were found during this playing session!! 🔥")
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 seeINDEX_IN_thisFile(ba.Plugin):
class get_logs(ba.Plugin):
def on_app_launch(self):
make_folder()
log_it()
self.update_logging = ba.timer(3, log_it, True)
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)