"""python 3.9 | chatcmd for a beutiful game - BombSquad OwO""" # modded by IM_NOT_PRANAV#7874 # biggggggg thankssssssssssssss to FireFighter1037 for helping everything # -*- coding: utf-8 -*- # ba_meta require api 7 from _ba import env, get_foreground_host_activity, get_foreground_host_session, get_game_roster, get_chat_messages, set_party_icon_always_visible, chatmessage as cmsg, screenmessage as smsg import ba # our prefix that what we starts cmds with px = '/' # main class class _cmds: def _process_cmd(): set_party_icon_always_visible(True) messages = get_chat_messages() if len(messages) > 1: lastmsg = messages[len(messages)-1] m = lastmsg.split(' ')[1] if m.startswith(px): return _cmds._handle() else: pass def _handle(): messages = get_chat_messages() if len(messages) > 1: lastmsg = messages[len(messages)-1] m = lastmsg.split(' ')[1] # cmd n = lastmsg.split(' ')[2:] # aguments roster = get_game_roster() session = get_foreground_host_session() session_players = session.sessionplayers activity = get_foreground_host_activity() activity_players = activity.players if m == px: cmsg(px+'help for help') elif m == px+'help': if n == []: cmsg('===========================================') cmsg(f' {px}help 1 - for page 1 | simple commands') cmsg(f' {px}help 2 - for page 2 | all or number of list cmds') cmsg(f' {px}help 3 - for page 3 | Other useful cmds') cmsg('===========================================') elif n[0] == '1': cmsg('============================') cmsg(f' {px}help 1 page 1 |') cmsg(f' {px}help 1 page 2 |') cmsg('============================') if n[1] in ['page', 'Page', ]: if n[2] == '1': cmsg('============== Help 1, Page 1 ==============') cmsg(f' your command prefix is or all commands starts with - {px}') cmsg(f' {px}list or {px}l -- to see ids of players and execute commands') cmsg(f' {px}uniqeid or {px}id -- to see accountid/uniqeid of player') cmsg(f' {px}quit or {px}restart -- to restart the game') cmsg(f' {px}mute/unmute -- to mute chat for everyone in your game') elif n[2] == '2': cmsg('============== Help 1, Page 2 ==============') cmsg(f' {px}pause -- to pause everyone in your game') cmsg(f' {px}nv or {px}night -- to make night in your game') cmsg(f' {px}dv or {px}day -- to make night in your game') cmsg(f' {px}camera_mode -- to rotate camera ,repat to off') cmsg('===========================================') elif n[0] == '2': cmsg('============================') cmsg(f' {px}help 2 page 1 |') cmsg(f' {px}help 2 page 2 |') cmsg(f' {px}help 2 page 3 |') cmsg('============================') if n[1] in ['page', 'Page']: if n[2] == '1': cmsg('============== Help 2 Page 1 ==============') cmsg(f' {px}kill all or {px}kill number of list | kills the player') cmsg(f' {px}heal all or {px}heal number of list | heals the players') cmsg(f' {px}freeze all or {px}freeze number of list | freeze the player') cmsg( f' {px}unfreeze/thaw all or {px}unfreeze/thaw number of list | unfreeze the player') cmsg(f' {px}gloves all or {px}gloves number of list | give gloves to player') cmsg('============================') elif n[2] == '2': cmsg('============== Help 2 Page 2 ==============') cmsg(f' {px}shield all or {px}shield number of list | give shield the player') cmsg( f' {px}fall all or {px}fall number of list | teleport in down and fall up the player') cmsg(f' {px}curse all or {px}curse number of list | curse the player') cmsg( f' {px}creepy all or {px}creepy number of list | make creepy actor of player') cmsg(f' {px}inv all or {px}inv number of list | makes invisible player') cmsg( f' {px}celebrate all or {px}celebrate number of list | celebrate action to the player') cmsg('============================') elif n[2] == '3': cmsg('============== Help 2 Page 3 ==============') cmsg(f' {px}gm all or {px}gm number of list | give bs gods like powers to player') cmsg( f' {px}sp all or {px}sp number of list | give superrrrrrr damages when punch to player') cmsg(f' {px}sleep all or {px}sleep number of list | sleep up the player') cmsg(f' {px}fly all or {px}fly number of list | fly up the player ') cmsg(f' {px}hug number of list | hugup the player') cmsg('============================') elif n[0] == '3': cmsg('============================') cmsg(f" {px}d_bomb bombType | changes default bomb | do {px}d_bomb help for bomb names ") cmsg(f' {px}dbc (number of bombs) | changes default count of player') cmsg('============================') elif m in [px+'list', px+'l', px+'clientids', px+'ids', px+'playerids']: cmsg('======= Indexs ======') for i in session_players: cmsg(i.getname()+' --> '+str(session_players.index(i))+'\n') if not roster == []: for i in roster: cmsg(f'======For {px}kick only======') cmsg(str(i['players'][0]['nam_full'])+' - '+str(i['client_id'])) elif m in [px+'uniqeid', px+'id', px+'pb-id', px+'pb', px+'accountid']: if n == []: cmsg(f'use : {px}uniqeid number of list') else: try: id = session_players[int(n[0])] cmsg(id.getname()+"'s accountid is "+id.get_v1_account_id()) except: cmsg('could not found player') elif m in [px+'quit', px+'restart']: ba.quit() elif m in [px+'mute', px+'mutechat']: cfg = ba.app.config cfg['Chat Muted'] = True cfg.apply_and_commit() cmsg('muted') smsg(f'chat muted use {px}unmute and click on send to unmute') elif m in [px+'unmute', px+'unmutechat']: cfg = ba.app.config cfg['Chat Muted'] = False cfg.apply_and_commit() cmsg('un_muted') smsg('chat un_muted') elif m in [px+'end', px+'next']: if n == []: try: activity.end_game() cmsg('Game ended Hope you scored great') except: cmsg('Game already ended') elif m in [px+'dv', px+'day']: if activity.globalsnode.tint == (1.0, 1.0, 1.0): cmsg(f'alwardy {px}dv is on ,do {px}nv for night') else: activity.globalsnode.tint = (1.0, 1.0, 1.0) cmsg('day mode on!') elif m in [px+'nv', px+'night']: if activity.globalsnode.tint == (0.5, 0.7, 1.0): cmsg(f'alwardy {px}nv is on ,do {px}dv for day') else: activity.globalsnode.tint = (0.5, 0.7, 1.0) cmsg('night mode on!') elif m in [px+'sm', px+'slow', px+'slowmo']: if n == []: if not activity.globalsnode.slow_motion: activity.globalsnode.slow_motion = True cmsg('Game in Epic Mode Now') else: activity.globalsnode.slow_motion = False cmsg('Game in normal mode now ') elif m in [px+'pause', px+'pausegame']: if n == []: if not activity.globalsnode.paused: activity.globalsnode.paused = True cmsg('Game Paused') else: activity.globalsnode.paused = False cmsg('Game un paused') elif m in [px+'cameraMode', px+'camera_mode', px+'rotate_camera']: if n == []: if not activity.globalsnode.camera_mode == 'rotate': activity.globalsnode.camera_mode = 'rotate' cmsg('camera mode is rotate now') else: activity.globalsnode.camera_mode = 'follow' cmsg('camera mode is normal now') elif m in [px+'remove', px+'rm']: if n == []: cmsg(f'{px}remove all or {px}remove number in list') elif n[0] == 'all': for i in session_players: i.remove_from_game() cmsg('Removed All') else: try: r = session_players[int(n[0])] r.remove_from_game() cmsg('Removed') # cant use getname() activity alwrady finish except: cmsg('could not found player') elif m in [px+'inv', px+'invisible']: if n == []: cmsg(f'help : {px}inv all or {px}inv number of list') elif n[0] == 'all': for i in activity_players: body = i.actor.node if not body.torso_model == None: body.head_model = None body.torso_model = None body.upper_arm_model = None body.forearm_model = None body.pelvis_model = None body.hand_model = None body.toes_model = None body.upper_leg_model = None body.lower_leg_model = None body.style = 'cyborg' cmsg('All invisible now Dont get cought') else: cmsg('alwardy invisible') else: body = activity_players[int(n[0])].actor.node is_name = session_players[int(n[0])].getname() if not body.torso_model == None: body.head_model = None body.torso_model = None body.upper_arm_model = None body.forearm_model = None body.pelvis_model = None body.hand_model = None body.toes_model = None body.upper_leg_model = None body.lower_leg_model = None body.style = 'cyborg' cmsg(is_name+' using invisiblelity ') else: cmsg('alwardy invisible') elif m in [px+'hl', px+'headless']: if n == []: cmsg(f'help : {px}spaz all or {px}spaz number of list') elif n[0] == 'all': for i in activity_players: body = i.actor.node if not body.head_model == None: body.head_model = None body.style = 'cyborg' cmsg('headless ? xD') else: cmsg('alwardy headless are you really headless?') else: body = activity_players[int(n[0])].actor.node is_name = session_players[int(n[0])].getname() if not body.head_model == None: body.head_model = None body.style = 'cyborg' cmsg(is_name+'is headless now xD') else: cmsg('alwardy headless are you really headless?') elif m in [px+'creepy', px+'creep']: if n == []: cmsg(f'use: {px}creepy all or {px}creepy number of list') elif n[0] == 'all': for i in activity_players: body = i.actor.node body.head_model = None body.handlemessage(ba.PowerupMessage(poweruptype='punch')) body.handlemessage(ba.PowerupMessage(poweruptype='shield')) cmsg('dont creep out childs all will be scared') else: try: body = activity_players[int(n[0])].actor.node body.head_model = None body.handlemessage(ba.PowerupMessage(poweruptype='punch')) body.handlemessage(ba.PowerupMessage(poweruptype='shield')) cmsg('dont creep out childs all will be scared') except: cmsg('could not found player to make') elif m in [px+'kill', px+'die']: if n == []: cmsg(f'Use : {px}kill all or {px}kill number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.DieMessage()) cmsg('Killed all') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage(ba.DieMessage()) cmsg('Killed '+is_name) elif m in [px+'heal', px+'heath']: if n == []: cmsg(f'Use: {px}heal all or {px}heal number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.PowerupMessage(poweruptype='health')) cmsg('Heald all') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage( ba.PowerupMessage(poweruptype='health')) cmsg('Heald '+is_name) elif m in [px+'curse', px+'cur']: if n == []: cmsg(f'Use: {px}curse all or {px}curse number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.PowerupMessage(poweruptype='curse')) cmsg('Cursed all') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage( ba.PowerupMessage(poweruptype='curse')) cmsg('Cursed '+is_name) elif m in [px+'sleep']: if n == []: cmsg(f'Use: {px}sleep all or {px}sleep number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage('knockout', 8000) cmsg('Sleep all its Night :)') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage('knockout', 8000) cmsg(is_name+' sleeped now') elif m in [px+'sp', px+'superpunch']: if n == []: cmsg(f'Use : {px}sp/superpunch all or {px}sp/superpunch number of list') elif n[0] == 'all': for i in activity_players: if not i.actor._punch_power_scale == 15: i.actor._punch_power_scale = 15 i.actor._punch_cooldown = 0 cmsg('Everyone enjoy your Super punches') else: i.actor._punch_power_scale = 1.2 i.actor._punch_cooldown = 400 cmsg('Super punches off now') else: try: if not activity_players[int(n[0])].actor._punch_power_scale == 15: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor._punch_power_scale = 15 activity_players[int(n[0])].actor._punch_cooldown = 0 cmsg(is_name+' using super punches get away from him') else: activity_players[int(n[0])].actor._punch_power_scale = 1.2 activity_players[int(n[0])].actor._punch_cooldown = 400 cmsg(':( ') except: pass elif m in [px+'gloves', px+'punch']: if n == []: cmsg(f'Use: {px}gloves all or {px}gloves number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.PowerupMessage(poweruptype='punch')) cmsg('Free Gloves enjoy all') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage( ba.PowerupMessage(poweruptype='punch')) cmsg(is_name+' using gloves') elif m in [px+'shield', px+'protect']: if n == []: cmsg(f'Use: {px}shield all or {px}shield number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.PowerupMessage(poweruptype='shield')) cmsg('Everyone enjoy free shield :)') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage( ba.PowerupMessage(poweruptype='shield')) cmsg(is_name+' using shield') elif m in [px+'freeze', px+'ice']: if n == []: cmsg(f'Use: {px}freeze all or {px}freeze number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.FreezeMessage()) cmsg('Freezed all') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage(ba.FreezeMessage()) cmsg('Un freezed '+is_name) elif m in [px+'unfreeze', px+'thaw']: if n == []: cmsg(f'Use: {px}unfreeze/thaw all or {px}unfreeze/thaw number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.ThawMessage()) cmsg('Un freezed all ') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage(ba.ThawMessage()) cmsg('Un freezed '+is_name) elif m in [px+'fall']: if n == []: cmsg(f'Use: {px}fall all or {px}fall number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.StandMessage()) cmsg('Felt everyone') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage(ba.StandMessage()) cmsg(is_name+' got felt') elif m in [px+'celebrate', px+'celeb']: if n == []: cmsg(f'Use: {px}celebrate all or {px}celebrate number of list') elif n[0] == 'all': for i in activity_players: i.actor.node.handlemessage(ba.CelebrateMessage()) cmsg('Celebrate all :)') else: is_name = session_players[int(n[0])].getname() activity_players[int(n[0])].actor.node.handlemessage(ba.CelebrateMessage()) cmsg(is_name+' is celebrating bt why?') elif m in [px+'fly']: if n == []: cmsg(f'Use: {px}fly all or {px}fly number of list') elif n[0] == 'all': for i in activity_players: if not i.actor.node.fly == True: i.actor.node.fly = True cmsg('fly all dont go out ok') else: i.actor.node.fly = False cmsg('flying mode off') else: try: is_name = session_players[int(n[0])].getname() if not activity_players[int(n[0])].actor.node.fly == True: activity_players[int(n[0])].actor.node.fly = True cmsg(is_name+' is flying') else: activity_players[int(n[0])].actor.node.fly = False cmsg('fly off :(') except: cmsg('player not found') pass elif m in [px+'gm', px+'godmode']: if n == []: cmsg(f'Use: {px}gm all or {px}gm number of list') elif n[0] == 'all': for i in activity_players: if not i.actor.node.hockey == True: i.actor.node.hockey = True i.actor.node.invincible = True i.actor._punch_power_scale = 7 cmsg('Gmed all ') else: i.actor.node.hockey = False i.actor.node.invincible = False i.actor._punch_power_scale = 1.2 cmsg('Un gmed all') else: try: is_name = session_players[int(n[0])].getname() if not activity_players[int(n[0])].actor.node.hockey == True: activity_players[int(n[0])].actor.node.hockey = True activity_players[int(n[0])].actor.node.invincible = True activity_players[int(n[0])].actor._punch_power_scale = 7 cmsg('Gmed '+is_name) else: activity_players[int(n[0])].actor.node.hockey = False activity_players[int(n[0])].actor.node.invincible = False activity_players[int(n[0])].actor._punch_power_scale = 1.2 cmsg('un gmed '+is_name) except: cmsg('could not found player') elif m in [px+'d_bomb', px+'default_bomb']: if n == []: cmsg( f'Use: {px}d_bomb/default_bomb all or {px}d_bomb number of list ,type {px}d_bomb help for help') elif n[0] == 'help': cmsg("bombtypes - ['ice', 'impact', 'land_mine', 'normal', 'sticky','tnt']") elif n[0] in ['ice', 'impact', 'land_mine', 'normal', 'sticky', 'tnt']: for i in activity_players: i.actor.bomb_type = n[0] cmsg('default bomb type - '+str(n[0])+' now') else: cmsg('unkwon bombtype , type {px}d_bomb help for help') elif m in [px+'d_bomb_count', px+'default_bomb_count', px+'dbc']: if n == []: cmsg( f'Use: {px}d_bomb_count/default_bomb/dbc all or {px}d_bomb_count/default_bomb_count/dbc number of list') else: try: for i in activity_players: i.actor.set_bomb_count(int(n[0])) cmsg('default bomb count is '+(str(n[0]))+' now') except: cmsg('Must use number to use') elif m in [px+'credits']: if n == []: cmsg(u'\U0001F95A created by Nazz \U0001F95A') cmsg(u'\U0001F95A Nazz are past/present/future \U0001F95A') cmsg(u'\U0001F95A everything is Nazz \U0001F95A') # ba.timer(0.05, _update, repeat=True) def same(): ba.timer(0.5, _cmds._process_cmd, True) # ba_meta export plugin class _enableee(ba.Plugin): same()