def change_lobby_check_time(arguments): try: argument = int(arguments[0]) except: _ba.chatmessage("must type numbe to change lobby check time") settings = setting.get_settings_data() settings["white_list"]["lobbychecktime"] = argument setting.commit(settings) _ba.chatmessage(f"lobby check time is {arg} now")
def spectators(arguments): if arguments[0] in ['on', 'off']: settings = setting.get_settings_data() if arguments[0] == 'on': settings["white_list"]["spectators"] = True setting.commit(settings) _ba.chatmessage("spectators on") elif arguments[0] == 'off': settings["white_list"]["spectators"] = False setting.commit(settings) _ba.chatmessage("spectators off")
def __init__(self,position = (0,1.5,0),owner = None,prefix = 'ADMIN',shad = 1.2): _set = setting.get_settings_data() if not _set['enablehptag']: return self.position = position self.owner = owner m = ba.newnode('math', owner=self.owner, attrs={'input1': self.position, 'operation': 'add'}) self.owner.connectattr('position', m, 'input2') prefix = int(prefix) / 10 preFix = u"\ue047" + str(prefix) + u"\ue047" self._Text = ba.newnode('text', owner=self.owner, attrs={ 'text':preFix, 'in_world':True, 'shadow':shad, 'flatness':1.0, 'color':(1,1,1) if int(prefix) >= 20 else (1.0,0.2,0.2), 'scale':0.01, 'h_align':'center'}) m.connectattr('output', self._Text, 'position') def a(): self._Text.delete() m.delete() self.timer = ba.Timer(100, ba.Call(a), timetype=ba.TimeType.SIM, timeformat=ba.TimeFormat.MILLISECONDS)
from spazmod import tag from spazmod import effects import setting from random import randint import _ba, ba _setting = setting.get_settings_data() def update_name(): import _ba from stats import mystats stat = mystats.get_all_stats() ros = _ba.get_game_roster() for i in ros: if i['account_id']: name = i['display_string'] aid = i['account_id'] if aid in stat: stat[aid]['name'] = name mystats.dump_stats(stat) # all activites related to modify spaz by any how will be here def main(spaz, node, player): if _setting['enablehptag']: tag.addhp(spaz) if _setting['enabletags']: tag.addtag(node, player) if _setting['enablerank']:
def addhp(node): hp = node.hitpoints _set = setting.get_settings_data() def showHP(): HitPoint(owner=node,prefix=str(int(hp)),position=(0,0.75,0),shad = 1.4) if hp: t = ba.Timer(100,ba.Call(showHP),repeat = True, timetype=ba.TimeType.SIM, timeformat=ba.TimeFormat.MILLISECONDS)
def __init__(self, spaz, player): ba.Actor.__init__(self) _settings = setting.get_settings_data() custom_tag = pdata.get_custom()['customtag'] custom_effects = pdata.get_custom()['customeffects'] self.source_player = player self.spazRef = weakref.ref(spaz) self.spazNormalColor = spaz.node.color self.Decorations = [] self.Enhancements = [] self._powerScale = 1.0 self._armorScale = 1.0 self._lifeDrainScale = None self._damageBounceScale = None self._remoteMagicDamge = False self._MulitPunch = None self._AntiFreeze = 1.0 self.fallWings = 0 self.checkDeadTimer = None self._hasDead = False self.light = None node_id = self.source_player.node.playerID cl_str = None clID = None for c in _ba.get_foreground_host_session().sessionplayers: if (c.activityplayer) and (c.activityplayer.node.playerID == node_id): profiles = c.inputdevice.get_player_profiles() clID = c.inputdevice.client_id cl_str = c.get_account_id() try: if cl_str in custom_effects: effect = custom_effects[cl_str] if effect == 'ice': self.emitIce() self.snowTimer = ba.Timer(0.5, self.emitIce, repeat=True, timetype=TimeType.SIM) return elif effect == 'sweat': self.smokeTimer = ba.Timer(0.6, self.emitSmoke, repeat=True, timetype=TimeType.SIM) return elif effect == 'scorch': self.scorchTimer = ba.Timer(500, self.update_Scorch, repeat=True, timetype=tt, timeformat=tf) return elif effect == 'glow': self.addLightColor((1, 0.6, 0.4)) self.checkDeadTimer = ba.Timer(150, self.checkPlayerifDead, repeat=True, timetype=tt, timeformat=tf) return elif effect == 'distortion': self.DistortionTimer = ba.Timer(1000, self.emitDistortion, repeat=True, timetype=tt, timeformat=tf) return elif effect == 'slime': self.slimeTimer = ba.Timer(250, self.emitSlime, repeat=True, timetype=tt, timeformat=tf) return elif effect == 'metal': self.metalTimer = ba.Timer(500, self.emitMetal, repeat=True, timetype=tt, timeformat=tf) return elif effect == 'surrounder': self.surround = SurroundBall(spaz, shape="bones") return elif effect == 'spark': self.sparkTimer = ba.Timer(100, self.emitSpark, repeat=True, timetype=tt, timeformat=tf) return except: pass if _settings['enablestats']: pats = mystats.get_all_stats() if cl_str in pats and _settings['enableTop5effects']: rank = pats[cl_str]["rank"] if rank < 6: if rank == 1: self.surround = SurroundBall(spaz, shape="bones") #self.neroLightTimer = ba.Timer(500, ba.WeakCall(self.neonLightSwitch,("shine" in self.Decorations),("extra_Highlight" in self.Decorations),("extra_NameColor" in self.Decorations)),repeat = True, timetype=tt, timeformat=tf) elif rank == 2: self.smokeTimer = ba.Timer(40, self.emitSmoke, repeat=True, timetype=tt, timeformat=tf) elif rank == 3: self.addLightColor((1, 0.6, 0.4));self.scorchTimer = ba.Timer(500, self.update_Scorch, repeat=True, timetype=tt, timeformat=tf) elif rank == 4: self.metalTimer = ba.Timer(500, self.emitMetal, repeat=True, timetype=tt, timeformat=tf) else: self.addLightColor((1, 0.6, 0.4));self.checkDeadTimer = ba.Timer(150, self.checkPlayerifDead, repeat=True, timetype=tt, timeformat=tf) if "smoke" and "spark" and "snowDrops" and "slimeDrops" and "metalDrops" and "Distortion" and "neroLight" and "scorch" and "HealTimer" and "KamikazeCheck" not in self.Decorations: #self.checkDeadTimer = ba.Timer(150, ba.WeakCall(self.checkPlayerifDead), repeat=True, timetype=tt, timeformat=tf) if self.source_player.is_alive() and self.source_player.actor.node.exists(): #print("OK") self.source_player.actor.node.addDeathAction(ba.Call(self.handlemessage,ba.DieMessage()))
top3Name = [] import threading, json, os, urllib.request, ba, _ba, setting from ba._activity import Activity from ba._music import setmusic, MusicType # False-positive from pylint due to our class-generics-filter. from ba._player import EmptyPlayer # pylint: disable=W0611 from ba._team import EmptyTeam # pylint: disable=W0611 from typing import Any, Dict, Optional from ba._lobby import JoinInfo from ba import _activitytypes as ba_actypes from ba._activitytypes import * import urllib.request import custom_hooks import datetime #variables our_settings = setting.get_settings_data() # where our stats file and pretty html output will go base_path = os.path.join(_ba.env()['python_directory_user'], "stats" + os.sep) statsfile = base_path + 'stats.json' htmlfile = base_path + 'stats_page.html' table_style = "{width:100%;border: 3px solid black;border-spacing: 5px;border-collapse:collapse;text-align:center;background-color:#fff}" heading_style = "{border: 3px solid black;text-align:center;}" html_start = f'''<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Test Server</title> <style>table{table_style} th{heading_style}</style> </head> <body> <h3 style="text-align:center">Top 200 Players </h3>
from __future__ import annotations from typing import TYPE_CHECKING from dataclasses import dataclass, field import os import datetime import threading import setting import _ba if TYPE_CHECKING: pass SETTINGS = setting.get_settings_data() SERVER_DATA_PATH = os.path.join(_ba.env()["python_directory_user"], "serverData" + os.sep) if SETTINGS["discordbot"]["enable"]: from features import discord_bot @dataclass class RecentLogs: """Saves the recent logs.""" chats: list[str] = field(default_factory=list) joinlog: list[str] = field(default_factory=list) cmndlog: list[str] = field(default_factory=list) misclogs: list[str] = field(default_factory=list)