예제 #1
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_level_info instance
        with config.cfg_cvar('gg_level_info') as cvar:

            cvar.name = 'LEVEL INFO'
            cvar.description.append(
                'Sends hudhints to players for level info.')
            cvar.options.append('0 = (Disabled) Do not load gg_level_info.')
            cvar.options.append('1 = (Enabled) Load gg_level_info.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_level_info.'
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_leader_messages instance
        with config.cfg_cvar('gg_leader_messages') as cvar:

            cvar.name = 'LEADER MESSAGES'
            cvar.description.append('Sends messages to ' +
                                    'players when the current leaders change.')
            cvar.options.append(
                '0 = (Disabled) Do not load gg_leader_messages.')
            cvar.options.append('1 = (Enabled) Load gg_leader_messages.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_leader_messages.'
예제 #3
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_reload instance
        with config.cfg_cvar('gg_reload') as cvar:

            cvar.name = 'RELOAD'
            cvar.description.append(
                'When a player gains a ' +
                'level, the ammo in their clip is replenished.')
            cvar.options.append('0 = (Disabled) Do not load gg_reload.')
            cvar.options.append('1 = (Enabled) Load gg_reload.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_reload.'
예제 #4
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_dead_strip instance
        with config.cfg_cvar('gg_dead_strip') as cvar:

            cvar.name = 'DEAD STRIP'
            cvar.description.append(
                "Removes a player's weapons when they die.")
            cvar.notes.append(
                'Prevents players from picking up the wrong weapon.')
            cvar.options.append('0 = (Disabled) Do not load gg_dead_strip.')
            cvar.options.append('1 = (Enabled) Load gg_dead_strip.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_dead_strip.'
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_random_spawn instance
        with config.cfg_cvar('gg_random_spawn') as cvar:

            cvar.name = 'RANDOM SPAWNPOINTS'
            cvar.description.append(
                'Loads random spawnpoints if a ' +
                'spawnpoint file for the current map has been created.')
            cvar.notes.append('Create spawnpoint files ' +
                              'with the gg_spawnpoints included addon.')
            cvar.options.append('0 = (Disabled) Do not load gg_random_spawn.')
            cvar.options.append('1 = (Enabled) Load gg_random_spawn.')
            cvar.default = 0
            cvar.text = 'Enables/Disables random spawn points.'
예제 #6
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_knife_elite instance
        with config.cfg_cvar('gg_knife_elite') as cvar:

            cvar.name = 'KNIFE ELITE'
            cvar.description.append(
                'Once a player levels up, ' +
                'they only get a knife until the next round.')
            cvar.notes.requires.append('gg_dead_strip')
            cvar.notes.conflict.append('gg_turbo')
            cvar.options.append('0 = (Disabled) Do not load gg_knife_elite.')
            cvar.options.append('1 = (Enabled) Load gg_knife_elite.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_knife_elite.'
예제 #7
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_earn_nade instance
        with config.cfg_cvar('gg_earn_nade') as cvar:

            cvar.name = 'EARN GRENADES'
            cvar.description.append(
                'When a player reaches grenade level, they can earn ' +
                'extra grenades by killing enemies with another weapon.')
            cvar.notes.append(
                'Players can only carry one hegrenade at a time.')
            cvar.options.append('0 = (Disabled) Do not load gg_earn_nade.')
            cvar.options.append('1 = (Enabled) Load gg_earn_nade.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_earn_nade.'
예제 #8
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_dissolver instance
        with config.cfg_cvar('gg_dissolver') as cvar:

            cvar.name = 'DISSOLVER'
            cvar.description.append(
                'Removes ragdolls by dissolving them with various effects.')
            cvar.options.append('0 = Disabled')
            cvar.options.append('1 = No Effect')
            cvar.options.append('2 = Energy')
            cvar.options.append('3 = Heavy Electrical')
            cvar.options.append('4 = Light Electrical')
            cvar.options.append('5 = Core Effect')
            cvar.options.append('6 = Random Effect')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_dissolver.'
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_stats_logging instance
        with config.cfg_cvar('gg_stats_logging') as cvar:

            cvar.name = 'STATS LOGGING'
            cvar.description.append(
                'When enabled, this addon will log game events ' +
                'for stats tracking for HLstatsX, Psychostats, and etc.')
            cvar.notes.append(
                'Other options available in "gg_stats_logging.txt".')
            cvar.notes.append(
                'This should be used with third-party stats programs.')
            cvar.options.append('0 = (Disabled) Do not load gg_stats_logging.')
            cvar.options.append('1 = (Enabled) Load gg_stats_logging.')
            cvar.default = 0
            cvar.text = ('Enables/Disables stats ' +
                         'logging for third-party programs.')
예제 #10
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_deathmatch instance
        with config.cfg_cvar('gg_deathmatch') as cvar:

            cvar.name = 'DEATHMATCH'
            cvar.description.append('Emulates a team-deathmatch mode, ' +
                                    'and players will respawn when they die.')
            cvar.notes.requires.append('gg_dead_strip')
            cvar.notes.requires.append('gg_dissolver')
            cvar.notes.conflict.append('gg_elimination')
            cvar.options.append('0 = (Disabled) Do not load gg_deathmatch.')
            cvar.options.append('1 = (Enabled) Load gg_deathmatch.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_deathmatch.'

        # Create the gg_dm_respawn_delay instance
        with config.cfg_cvar('gg_dm_respawn_delay') as cvar:

            cvar.name = 'DEATHMATCH RESPAWN DELAY'
            cvar.description.append(
                'The amount of time (in seconds)' +
                ' to wait before respawning a player after they die')
            cvar.notes.append('The respawn delay must be greater than 0.')
            cvar.notes.append(
                'You can use 0.1 for a nearly immediate respawn time')
            cvar.notes.append(
                'If set to 0 or less, the delay will be set to 0.1.')
            cvar.options.append(
                '# = Time (in seconds) to wait before respawning a player.')
            cvar.default = 2
            cvar.text = (
                'Seconds to wait before respawning a player after death.')
예제 #11
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_prop_physics instance
        with config.cfg_cvar('gg_prop_physics') as cvar:

            cvar.name = 'PROP PHYSICS'
            cvar.description.append(
                'Earn Levels/Multikills with prop_physics kills.')
            cvar.options.append('0 = (Disabled) Do not load gg_prop_physics.')
            cvar.options.append('1 = (Enabled) Load gg_prop_physics.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_prop_physics.'

        # Create the gg_prop_physics_increment_nade instance
        with config.cfg_cvar('gg_prop_physics_increment_nade') as cvar:

            cvar.name = 'INCREMENT NADE'
            cvar.options.append(
                '0 = Do not increment or levelup on Nade level')
            cvar.options.append('1 = Increment or Levelup on Nade level')
            cvar.default = 0
            cvar.text = 'Increment or Levelup when on Nade level.'

        # Create the gg_prop_physics_increment_knife instance
        with config.cfg_cvar('gg_prop_physics_increment_knife') as cvar:

            cvar.name = 'INCREMENT KNIFE'
            cvar.options.append(
                '0 = Do not increment or levelup on Knife level')
            cvar.options.append('1 = Increment or Levelup on Knife level')
            cvar.default = 0
            cvar.text = 'Increment or Levelup when on Knife level.'
예제 #12
0
def load():

    # Create the cfg file
    with ConfigContextManager(
      path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_teamplay instance
        with config.cfg_cvar('gg_teamplay') as cvar:

            cvar.name = 'TEAMPLAY'
            cvar.description.append('Level-up as a Team')
            cvar.description.append('The team that wins ' +
                'each round increases their multikill value')
            cvar.description.append('When a team reaches ' +
                "their current level's multikill, they level up")
            cvar.options.append('0 = (Disabled) Do not load gg_teamplay.')
            cvar.options.append('1 = (Enabled) Load gg_teamplay.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_teamplay.'

        # Create the gg_teamplay_roundend_messages instance
        with config.cfg_cvar('gg_teamplay_roundend_messages') as cvar:

            cvar.name = 'TEAMPLAY ROUNDEND MESSAGES'
            cvar.description.append('Send messages on ' +
                'round_end when a team earns a multikill or level')
            cvar.options.append('0 = (Disabled) Do not show chat messages ' +
                'when a team levels up or earns a multikill on round_end')
            cvar.options.append('1 = (Enabled) Show chat messages ' +
                'when a team levels up or earns a multikill on round_end')
            cvar.default = 1
            cvar.text = ('Enables/Disables showing chat messages ' +
                'when a team levels up or earns a multikill on round_end')

        # Create the gg_teamplay_level_info instance
        with config.cfg_cvar('gg_teamplay_level_info') as cvar:

            cvar.name = 'TEAMPLAY LEVEL INFO'
            cvar.description.append('Show team level ' +
                'info in chat at the start of each round')
            cvar.options.append(
                '0 = (Disabled) Do not show level info messages')
            cvar.options.append(
                '1 = (Enabled) Show level info messages')
            cvar.default = 1
            cvar.text = 'Enables/Disables showing level info messages'

        # Create the gg_teamplay_winner_messages instance
        with config.cfg_cvar('gg_teamplay_winner_messages') as cvar:

            cvar.name = 'TEAMPLAY WINNER MESSAGES'
            cvar.description.append('Send Winner Messages when a team wins')
            cvar.options.append('0 = (Disabled) Do not show Winner Messages')
            cvar.options.append('1 = (Enabled) Show Winner Messages')
            cvar.default = 1
            cvar.text = 'Enables/Disables showing Winner Messages'

        # Create the gg_teamplay_end_on_first_kill instance
        with config.cfg_cvar('gg_teamplay_end_on_first_kill') as cvar:

            cvar.name = 'TEAMPLAY END ON FIRST KILL'
            cvar.description.append('First kill by a team on the last ' +
                'multikill of the last level will win the match')
            cvar.options.append('0 = (Disabled) Only end match ' +
                'when a team wins the final round')
            cvar.options.append('1 = (Enabled) First player to get a kill ' +
                'with the last level weapon (if the team is ' +
                'on the last multikill) will win the match')
            cvar.default = 0
            cvar.text = ('Enables/Disables team winning with ' +
                'the first kill on the last weapon')
예제 #13
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_knife_pro instance
        with config.cfg_cvar('gg_knife_pro') as cvar:

            cvar.name = 'KNIFE PRO'
            cvar.description.append(
                'When you kill a player with a knife, ' +
                'you will level up, and the victim will level down.')
            cvar.description.append(
                'The attacker will not steal a level if they are on ' +
                "hegrenade or knife level, or if the victim can't level down.")
            cvar.options.append('0 = (Disabled) Do not load gg_knife_pro.')
            cvar.options.append('1 = (Enabled) Load gg_knife_pro.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_knife_pro.'

        # Create the gg_knife_pro_limit instance
        with config.cfg_cvar('gg_knife_pro_limit') as cvar:

            cvar.name = 'KNIFE PRO LIMIT'
            cvar.description.append('Limits level stealing to ' +
                                    'players close to your own level.')
            cvar.examples.append(
                'If this is set to 3, you will not gain a ' +
                'level if you knife someone more than 3 levels below you.')
            cvar.options.append(
                '0 = (Disabled) Do not enable the knife pro limit.')
            cvar.options.append(
                '# = (Enabled) Limit level ' +
                'stealing to this # of levels below the attacker.')
            cvar.default = 0
            cvar.text = ('Limit level stealing ' +
                         'to this # of levels below the attacker.')

        # Create the gg_knife_pro_always_level instance
        with config.cfg_cvar('gg_knife_pro_always_level') as cvar:

            cvar.name = 'KNIFE PRO ALWAYS LEVEL'
            cvar.description.append(
                'The attacker will always ' +
                'level up unless they are on hegrenade level.')
            cvar.description.append('The victim will always level down.')
            cvar.notes.append(
                'gg_knife_pro_limit still prevents leveling if enabled.')
            cvar.options.append(
                '0 = (Disabled) Conform to logical gg_knife_pro ruling')
            cvar.options.append(
                '1 = (Enabled) Always affect levels with ' +
                'exception to the situations in the description above.')
            cvar.default = 0
            cvar.text = 'Enables/Disables always stealing levels.'

        # Create the gg_knife_pro_skip_nade instance
        with config.cfg_cvar('gg_knife_pro_skip_nade') as cvar:

            cvar.name = 'KNIFE PRO ALLOW SKIP NADE'
            cvar.description.append(
                'The attacker may skip grenade level with a knife kill.')
            cvar.notes.append(
                'gg_knife_pro_limit still prevents leveling if enabled.')
            cvar.options.append(
                '0 = (Disabled) Conform to logical gg_knife_pro ruling')
            cvar.options.append(
                '1 = (Enabled) Allow players to knife past nade level.')
            cvar.default = 0
            cvar.text = 'Enables/Disables always skipping nade.'
예제 #14
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_teamwork instance
        with config.cfg_cvar('gg_teamwork') as cvar:

            cvar.name = 'TEAMWORK'
            cvar.description.append('Level-up to the highest ' +
                                    '"team" level at the end of every round')
            cvar.notes.append(
                'Work together to get 1 player to level up ' +
                'as much as possible during the round, so that your team ' +
                'achieves the highest level it can each round.')
            cvar.notes.append(
                'To have even more fun with this mod, it is ' +
                'highly recommended you use gg_assist at the same ' +
                'time:\n\thttp://forums.gungame.net/viewtopic.php?f=74&t=1294')
            cvar.options.append('0 = (Disabled) Do not load gg_teamwork.')
            cvar.options.append('1 = (Enabled) Load gg_teamwork.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_teamwork.'

        # Create the gg_teamwork_jointeam_level instance
        with config.cfg_cvar('gg_teamwork_jointeam_level') as cvar:

            cvar.name = 'TEAMWORK JOINTEAM LEVEL'
            cvar.description.append(
                'What level to set a ' +
                'player that joins the team during the match')
            cvar.options.append(
                '0 = Set players to level 1 when joining a team.')
            cvar.options.append(
                '1 = Set players to the level ' +
                'that the team started on for the current round.')
            cvar.default = 1
            cvar.text = ('Set players to level 1 or the level ' +
                         'the team started the round when joining a team')

        # Create the gg_teamwork_messages instance
        with config.cfg_cvar('gg_teamwork_round_messages') as cvar:

            cvar.name = 'TEAMWORK ROUND MESSAGES'
            cvar.description.append(
                'Send messages on ' +
                'round_end about what level each team was set to.')
            cvar.options.append(
                '0 = (Disabled) Do not send messages on round_end')
            cvar.options.append('1 = (Enabled) Send messages on round_end')
            cvar.default = 1
            cvar.text = ('Enable/Disable sending messages on ' +
                         'round_end about what level each team is now on')

        # Create the gg_teamwork_leader_messages instance
        with config.cfg_cvar('gg_teamwork_leader_messages') as cvar:

            cvar.name = 'TEAMPLAY LEADER MESSAGES'
            cvar.description.append(
                'Send messages when the ' +
                'leader on each team increases their level.')
            cvar.options.append(
                '0 = (Disabled) Do not ' +
                "send messages when the team's level increases")
            cvar.options.append('1 = (Enabled) Send ' +
                                "messages when the team's level increases")
            cvar.default = 1
            cvar.text = ('Enable/Disable sending messages ' +
                         "when a player increases the team's level")

        # Create the gg_teamwork_winner_messages instance
        with config.cfg_cvar('gg_teamwork_winner_messages') as cvar:

            cvar.name = 'TEAMPLAY WINNER MESSAGES'
            cvar.description.append(
                'Send messages when a team wins the match.')
            cvar.options.append('0 = (Disabled) Do not ' +
                                'send messages when a team wins the match')
            cvar.options.append('1 = (Enabled) Send ' +
                                'messages when a team wins the match')
            cvar.default = 1
            cvar.text = ('Enable/Disable sending ' +
                         'messages when a team wins the match')
예제 #15
0
def load():

    # Create the cfg file
    with ConfigContextManager(
      path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_nade_bonus instance
        with config.cfg_cvar('gg_nade_bonus') as cvar:

            cvar.name = 'GRENADE BONUS'
            cvar.description.append('Players on grenade level ' +
                'will receive weapons along with the hegrenade.')
            cvar.notes.append('You can have multiple weapons ' +
                'by separating them with commas.')
            cvar.notes.append('If you choose to have multiple weapons, you ' +
                'can only have one primary weapon, one secondary ' +
                'weapon, and one grenade (not an hegrenade).')
            cvar.notes.append(
                'You can list a weapon order file that players will ' +
                'progress through while remaining on hegrenade level.')
            cvar.notes.append(
                '/cfg/gungame51/weapon_orders/nade_bonus_order.txt ' +
                'has examples and more information on this feature.')
            cvar.examples.append('gg_nade_bonus aug')
            cvar.examples.append('gg_nade_bonus glock,aug')
            cvar.examples.append('gg_nade_bonus nade_bonus_order')
            cvar.options.append('awp      scout   aug      ' +
                'mac10   tmp     mp5navy   ump45')
            cvar.options.append('galil    famas   ak47     ' +
                'sg552   sg550   g3sg1     m249')
            cvar.options.append('xm1014   m4a1    glock    ' +
                'usp     p228    deagle    elite')
            cvar.options.append('m3       p90     fiveseven')
            cvar.options.append('flashbang        smokegrenade')
            cvar.options.append('')
            cvar.options.append('0 = (Disabled) Do not load gg_nade_bonus.')
            cvar.default = 0
            cvar.text = ('The weapon(s) to be given as a ' +
                'grenade level bonus weapon.')

        # Create the gg_nade_bonus_mode instance
        with config.cfg_cvar('gg_nade_bonus_mode') as cvar:

            cvar.name = 'NADE BONUS MODE'
            cvar.description.append('Defines how gg_nade_bonus will ' +
                'function when a weapon order is given and ' +
                'the player makes it through the entire order.')
            cvar.notes.append('Not necessary to change unless ' +
                'you are using a weapon order above.')
            cvar.options.append('0 = (Enabled) Keep ' +
                'the player on the last gun.')
            cvar.options.append('1 = (Enabled) Go through ' +
                'the list again (start over).')
            cvar.options.append('2 = (Enabled) Levelup the ' +
                'player (same as nade kill).')
            cvar.default = 0
            cvar.text = 'Defines how the last weapon in the order is handled.'

        # Create the gg_nade_bonus_reset instance
        with config.cfg_cvar('gg_nade_bonus_reset') as cvar:

            cvar.name = 'NADE BONUS DEATH RESET'
            cvar.description.append(
                'When enabled, every time a player spawns on nade level ' +
                'they will start over on the first weapon in the order.')
            cvar.notes.append('Not necessary to change ' +
                'unless you are using a weapon order above.')
            cvar.options.append('0 = (Disabled) Players ' +
                'will resume where they left off.')
            cvar.options.append('1 = (Enabled) Players will ' +
                'go back to the first weapon every spawn.')
            cvar.default = 0
            cvar.text = 'Enables/Disables gg_nade_bonus_reset.'
예제 #16
0
def load():

    # Create the .cfg file
    with ConfigContextManager(path(__file__).namebase.replace('_config',
                                                              '')) as config:

        # Add the config file base attributes
        config.name = 'Punishments Configuration'
        config.description = 'This file controls GunGame51 punishment settings'

        # Create the gg_afk_rounds instance
        with config.cfg_cvar('gg_afk_rounds') as cvar:

            cvar.name = 'AFK ROUNDS'
            cvar.options.append('0  = Disabled')
            cvar.options.append(
                '# = The number of rounds ' +
                'the player can be AFK before punishment occurs.')
            cvar.default = 0
            cvar.text = ('The number of rounds a player ' +
                         'can be AFK before punishment occurs.')

        # Create the gg_afk_punish instance
        with config.cfg_cvar('gg_afk_punish') as cvar:

            cvar.name = 'AFK PUNISHMENT'
            cvar.notes.append('Requires "gg_afk_rounds 1" or higher')
            cvar.options.append('0 = No punishment.')
            cvar.options.append('1 = Kick the player.')
            cvar.options.append('2 = Move the player to spectator.')
            cvar.default = 0
            cvar.text = ('The punishment for players ' +
                         'who are AFK longer than "gg_afk_rounds".')
            cvar.notify = True

        # Create the gg_suicide_punish instance
        with config.cfg_cvar('gg_suicide_punish') as cvar:

            cvar.name = 'SUICIDE PUNISHMENT'
            cvar.options.append('0 = No punishment.')
            cvar.options.append('# = The number of levels a ' +
                                'player will lose if they commit suicide.')
            cvar.default = 0
            cvar.text = ('The number of levels a ' +
                         'player will lose if they commit suicide.')
            cvar.notify = True

        # Create the gg_tk_punish instance
        with config.cfg_cvar('gg_tk_punish') as cvar:

            cvar.name = 'TEAM KILL PUNISHMENT'
            cvar.options.append('0 = No punishment.')
            cvar.options.append('# = The number of levels ' +
                                'a player will lose if they kill a teammate.')
            cvar.default = 0
            cvar.text = ('The number of levels a player ' +
                         'will lose if they kill a teammate.')
            cvar.notify = True

        # Create the gg_retry_punish instance
        with config.cfg_cvar('gg_retry_punish') as cvar:

            cvar.name = 'RETRY/RECONNECT PUNISHMENT'
            cvar.options.append('0 = No punishment.')
            cvar.options.append(
                '# = The number of levels a ' +
                'player will lose if they reconnect in the same round.')
            cvar.default = 0
            cvar.text = ('The number of levels a player will ' +
                         'lose if they reconnect in the same round.')
            cvar.notify = True

        # Create the gg_hostage_killed_punish instance
        with config.cfg_cvar('gg_hostage_killed_punish') as cvar:

            cvar.name = 'HOSTAGE KILLED PUNISHMENT'
            cvar.options.append('0 = No punishment.')
            cvar.options.append('# = The number of levels ' +
                                'a player will lose if they kill hostages.')
            cvar.default = 0
            cvar.text = ('The number of levels a ' +
                         'player will lose if they kill hostages.')
            cvar.notify = True

        # Create the gg_hostage_killed_kills instance
        with config.cfg_cvar('gg_hostage_killed_kills') as cvar:

            cvar.name = 'HOSTAGE KILLED REQUIRED KILLS'
            cvar.options.append('# = The number of hostages ' +
                                'killed required to level the player down')
            cvar.default = 0
            cvar.text = ('The number of hostages ' +
                         'killed required to level the player down')
예제 #17
0
def load():

    # Create the .cfg file
    with ConfigContextManager(path(__file__).namebase) as config:

        # Add the config file base attributes
        config.name = 'English Server Configuration'
        config.description = 'This file controls GunGame51 settings.'

        # Create the Weapon Settings section
        config.cfg_section('WEAPON SETTINGS')

        # Create the gg_weapon_order_file instance
        with config.cfg_cvar('gg_weapon_order_file') as cvar:

            cvar.name = 'WEAPON ORDER FILE'
            cvar.notes.append('The file must be ' +
                'located under "cfg/gungame51/weapon_orders/".')
            cvar.notes.append('Changing this variable ' +
                'in-game will result in a restart.')
            cvar.notes.append('If gg_weapon_order_random = 1' +
                ', this will be the starting weapon order.')
            cvar.default = 'default_weapon_order'
            cvar.text = 'The file that will be used for the weapon order.'
            cvar.notify = True

        # Create the gg_weapon_order_random instance
        with config.cfg_cvar('gg_weapon_order_random') as cvar:

            cvar.name = 'RANDOM WEAPON ORDER FILE'
            cvar.options.append('0 = (Disabled) use ' +
                'gg_weapon_order for a static weapon order.')
            cvar.options.append('1 = (Enabled) ' +
                'get a new weapon order each map change.')
            cvar.default = 0
            cvar.text = 'Randomly select a new weapon order file each map.'
            cvar.notify = True

        # Create the gg_weapon_order_random_excluded instance
        with config.cfg_cvar('gg_weapon_order_random_excluded') as cvar:

            cvar.name = 'RANDOM WEAPON ORDER EXCLUDED FILES'
            cvar.options.append('"" = (Disabled) No weapon orders are ' +
                'excluding when choosing a random weapon order ' +
                'with gg_weapon_order_random enabled above.')
            cvar.options.append('"name1,name2" = (Enabled) Exclude these ' +
                'orders when choosing a random weapon order ' +
                'with gg_weapon_order_random enabled above.')
            cvar.default = 'weapon_short,nade_bonus_order'
            cvar.text = ('Excluded orders when choosing ' +
                'a random order with gg_weapon_order_random.')
            cvar.notify = True

        # Create the gg_weapon_order_sort_type instance
        with config.cfg_cvar('gg_weapon_order_sort_type') as cvar:

            cvar.name = 'WEAPON ORDER SORT TYPE'
            cvar.options.append('#default  = Order will go Top -> Bottom.')
            cvar.options.append('#random   = Order will be randomly shuffled.')
            cvar.notes.append('#random sort type will move ' +
                'hegrenade and knife levels to the end of the order.')
            cvar.default = '#default'
            cvar.text = ('The order in which ' +
                'the weapons and levels will be sorted.')
            cvar.notify = True

        # Create the gg_multikill_override instance
        with config.cfg_cvar('gg_multikill_override') as cvar:

            cvar.name = 'MULTIKILL OVERRIDE'
            cvar.notes.append(
                'Keep this variable set to 0 unless you want to ' +
                'override the values you have set in your weapon order file.')
            cvar.notes.append('This will not override ' +
                'hegrenade and knife, these are always 1.')
            cvar.default = 0
            cvar.text = ('The amount of kills a ' +
                'player needs to level up per weapon.')
            cvar.notify = True

        # Create the gg_map_strip_exceptions instance
        with config.cfg_cvar('gg_map_strip_exceptions') as cvar:

            cvar.name = 'WEAPON REMOVAL'
            cvar.notes.append('Only weapon_* entities are supported.')
            cvar.default = 'hegrenade,flashbang,smokegrenade'
            cvar.text = 'The weapons that will not be removed from the map.'

        # Create the Map Settings section
        config.cfg_section('MAP SETTINGS')

        # Create the gg_dynamic_chattime instance
        with config.cfg_cvar('gg_dynamic_chattime') as cvar:

            cvar.name = 'DYNAMIC END OF MAP CHAT TIME'
            cvar.notes.append('Dynamic chat time is ' +
                'based on the end of round winner music.')
            cvar.notes.append('When enabled, the players will be able to ' +
                'chat for the length of the winner music.')
            cvar.notes.append('If disabled, the ' +
                '"mp_chattime" variable will be used.')
            cvar.options.append("0 = (Disabled) Use " +
                "the server's mp_chattime variable.")
            cvar.options.append('1 = (Enabled) Use the ' +
                'length of the individual audio file.')
            cvar.default = 0
            cvar.text = ('Enables dynamic end of round ' +
                'chat time based on the winner music.')

        # Create the Player Settings section
        config.cfg_section('PLAYER SETTINGS')

        # Create the gg_player_defuser instance
        with config.cfg_cvar('gg_player_defuser') as cvar:

            cvar.name = 'DEFUSERS'
            cvar.options.append('0 = Disabled')
            cvar.options.append('1 = Enabled')
            cvar.default = 0
            cvar.text = ('Automatically equip Counter-Terrorist ' +
                'players with defusal kits on bomb maps.')

        # Create the gg_player_armor instance
        with config.cfg_cvar('gg_player_armor') as cvar:

            cvar.name = 'ARMOR'
            cvar.options.append('0 = No armor')
            cvar.options.append('1 = Kevlar only')
            cvar.options.append('2 = Assaultsuit (Kevlar + Helmet)')
            cvar.default = 2
            cvar.text = ('The type of armor players ' +
                'are equipped with when they spawn.')

        # Create the Sound Settings section
        config.cfg_section('SOUND SETTINGS')

        # Create the gg_soundpack instance
        with config.cfg_cvar('gg_soundpack') as cvar:

            cvar.name = 'SOUND PACK'
            cvar.notes.append('Sound packs are located in ' +
                '"../cstrike/cfg/gungame51/sound_packs".')
            cvar.notes.append('The INI file names located in the ' +
                '"sound_packs" directory minus the ".ini" extension are ' +
                'what you would use when declaring the default sound pack ' +
                'that players will hear when sounds are played.')
            cvar.default = 'default'
            cvar.text = 'Controls which sound pack will be used by default.'

        # Create the Database section
        config.cfg_section('DATABASE SETTINGS')

        # Create the gg_prune_database instance
        with config.cfg_cvar('gg_prune_database') as cvar:

            cvar.name = 'STATS DATABASE PRUNE'
            cvar.description.append('The number of days of ' +
                'inactivity for a winner that is tolerated until')
            cvar.description.append('they are removed from the database.')
            cvar.notes.append('Pruning the database of ' +
                'old entries is STRONGLY RECOMMENDED for ')
            cvar.notes.append('high-volume servers.')
            cvar.options.append(
                '0 = Do not prune inactive winners from the database.')
            cvar.options.append('# = Number of inactive days ' +
                'before a winner is pruned from the database.')
            cvar.default = 0
            cvar.text = ('The number inactive days ' +
                'before a winner is removed from the database.')
예제 #18
0
def load():

    # Create the .cfg file
    with ConfigContextManager(path(__file__).namebase.replace('_config',
                                                              '')) as config:

        # Add the config file base attributes
        config.name = 'Objectives Configuration'
        config.description = 'This file controls GunGame51 objectives settings'

        # Create the gg_map_obj instance
        with config.cfg_cvar('gg_map_obj') as cvar:

            cvar.name = 'MAP OBJECTIVES'
            cvar.options.append('0 = No objectives disabled.')
            cvar.options.append('1 = All objectives disabled.')
            cvar.options.append('2 = Bomb objective disabled.')
            cvar.options.append('3 = Hostage objective disabled.')
            cvar.default = 0
            cvar.text = 'Controls which objectives will be disabled.'
            cvar.notify = True

        # Create the Bomb Defusal section
        config.cfg_section('BOMB DEFUSAL OBJECTIVE')

        # Create the gg_bomb_defused_levels instance
        with config.cfg_cvar('gg_bomb_defused_levels') as cvar:

            cvar.name = 'BOMB DEFUSED LEVELS'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 3"')
            cvar.options.append('0 = Disabled.')
            cvar.options.append('# = The number of levels ' +
                                'to reward a player for bomb defusal')
            cvar.default = 0
            cvar.text = 'Levels to reward a player for bomb defusal.'
            cvar.notify = True

        # Create the gg_bomb_defused_skip_knife instance
        with config.cfg_cvar('gg_bomb_defused_skip_knife') as cvar:

            cvar.name = 'BOMB DEFUSED LEVELING (KNIFE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 3"')
            cvar.notes.append('Requires "gg_bomb_defused_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to ' +
                'level up if they defuse the bomb while on knife level.')
            cvar.options.append(
                '1 = Allow players to level ' +
                'up if they defuse the bomb while on knife level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on knife level.')

        # Create the gg_bomb_defused_skip_nade instance
        with config.cfg_cvar('gg_bomb_defused_skip_nade') as cvar:

            cvar.name = 'BOMB DEFUSED LEVELING (HEGRENADE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 3"')
            cvar.notes.append('Requires "gg_bomb_defused_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to ' +
                'level up if they defuse the bomb while on hegrenade level.')
            cvar.options.append(
                '1 = Allow players to level ' +
                'up if they defuse the bomb while on hegrenade level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on HEGrenade level.')

        # Create the Bomb Explode section
        config.cfg_section('BOMB EXPLODE OBJECTIVE')

        # Create the gg_bomb_exploded_levels instance
        with config.cfg_cvar('gg_bomb_exploded_levels') as cvar:

            cvar.name = 'BOMB EXPLODED LEVELS'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 3"')
            cvar.options.append('0 = Disabled.')
            cvar.options.append('# = The number of levels ' +
                                'to reward a player for the bomb exploding')
            cvar.default = 0
            cvar.text = 'Levels to reward a player for bomb exploding.'
            cvar.notify = True

        # Create the gg_bomb_exploded_skip_knife instance
        with config.cfg_cvar('gg_bomb_exploded_skip_knife') as cvar:

            cvar.name = 'BOMB EXPLODED LEVELING (KNIFE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 3"')
            cvar.notes.append('Requires "gg_bomb_exploded_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to ' +
                'level up if the bomb explodes while on knife level.')
            cvar.options.append(
                '1 = Allow players to level ' +
                'up if the bomb explodes while on knife level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on knife level.')

        # Create the gg_bomb_exploded_skip_nade instance
        with config.cfg_cvar('gg_bomb_exploded_skip_nade') as cvar:

            cvar.name = 'BOMB EXPLODED LEVELING (HEGRENADE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 3"')
            cvar.notes.append('Requires "gg_bomb_exploded_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to ' +
                'level up if the bomb explodes while on hegrenade level.')
            cvar.options.append(
                '1 = Allow players to level ' +
                'up if the bomb explodes while on hegrenade level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on hegrenade level.')

        # Create the Hostage Rescue section
        config.cfg_section('HOSTAGE RESCUE OBJECTIVE')

        # Create the gg_hostage_rescued_levels instance
        with config.cfg_cvar('gg_hostage_rescued_levels') as cvar:

            cvar.name = 'HOSTAGE RESCUED LEVELS'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.options.append('0 = Disabled.')
            cvar.options.append('# = The number of levels ' +
                                'to reward a player for rescuing hostages')
            cvar.default = 0
            cvar.text = 'Levels to reward a player for rescuing hostages.'
            cvar.notify = True

        # Create the gg_hostage_rescued_rescues instance
        with config.cfg_cvar('gg_hostage_rescued_rescues') as cvar:

            cvar.name = 'HOSTAGE RESCUED REQUIRED RESCUES'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.notes.append('Requires ' +
                              '"gg_hostage_rescued_levels 1" or higher')
            cvar.options.append('# = The number of ' +
                                'hostages a player must rescue to level up.')
            cvar.default = 0
            cvar.text = 'Number of hostages rescued required to level up.'

        # Create the gg_hostage_rescued_skip_knife instance
        with config.cfg_cvar('gg_hostage_rescued_skip_knife') as cvar:

            cvar.name = 'HOSTAGE RESCUED LEVELING (KNIFE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.notes.append('Requires ' +
                              '"gg_hostage_rescued_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to level ' +
                'up when they rescue hostages while on knife level.')
            cvar.options.append(
                '1 = Allow players to level ' +
                'up when they rescue hostages while on knife level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on knife level.')

        # Create the gg_hostage_rescued_skip_nade instance
        with config.cfg_cvar('gg_hostage_rescued_skip_nade') as cvar:

            cvar.name = 'HOSTAGE RESCUED LEVELING (HEGRENADE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.notes.append('Requires ' +
                              '"gg_hostage_rescued_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to level ' +
                'up when they rescue hostages while on hegrenade level.')
            cvar.options.append(
                '1 = Allow players to level ' +
                'up when they rescue hostages while on hegrenade level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on hegrenade level.')

        # Create the Hostage Stop section
        config.cfg_section('HOSTAGE STOP OBJECTIVE')

        # Create the gg_hostage_stopped_levels instance
        with config.cfg_cvar('gg_hostage_stopped_levels') as cvar:

            cvar.name = 'HOSTAGE STOPPED LEVELS'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.options.append('0 = Disabled.')
            cvar.options.append(
                '# = The number of levels to reward ' +
                'a player for stopping others from rescuing hostages')
            cvar.default = 0
            cvar.text = ('Levels to reward a player for ' +
                         'stopping other players from rescuing hostages.')
            cvar.notify = True

        # Create the gg_hostage_stopped_stops instance
        with config.cfg_cvar('gg_hostage_stopped_stops') as cvar:

            cvar.name = 'HOSTAGE STOPPED REQUIRED STOPS'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.notes.append('Requires ' +
                              '"gg_hostage_stopped_levels 1" or higher')
            cvar.options.append(
                '# = The number of hostages ' +
                'a player must stop from being rescued to level up.')
            cvar.default = 0
            cvar.text = 'Number of hostages stopped required to level up.'

        # Create the gg_hostage_stopped_skip_knife instance
        with config.cfg_cvar('gg_hostage_stopped_skip_knife') as cvar:

            cvar.name = 'HOSTAGE STOPPED LEVELING (KNIFE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.notes.append('Requires ' +
                              '"gg_hostage_stopped_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to level up when ' +
                'they stop hostages from being rescued while on knife level.')
            cvar.options.append(
                '1 = Allow players to level up when ' +
                'they stop hostages from being rescued while on knife level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on knife level.')

        # Create the gg_hostage_stopped_skip_nade instance
        with config.cfg_cvar('gg_hostage_stopped_skip_nade') as cvar:

            cvar.name = 'HOSTAGE STOPPED LEVELING (HEGRENADE LEVEL)'
            cvar.notes.append('Requires "gg_map_obj 0" or "gg_map_obj 2"')
            cvar.notes.append('Requires ' +
                              '"gg_hostage_stopped_levels 1" or higher')
            cvar.options.append(
                '0 = Do not allow players to level up when they stop ' +
                'hostages from being rescued while on hegrenade level.')
            cvar.options.append(
                '1 = Allow players to level up when they ' +
                'stop hostages from being rescued while on hegrenade level.')
            cvar.default = 0
            cvar.text = ('Allow players to level ' +
                         'up when they are on hegrenade level.')
예제 #19
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_multi_level instance
        with config.cfg_cvar('gg_multi_level') as cvar:

            cvar.name = 'MULTI-LEVEL'
            cvar.description.append(
                'The number of times a player has to level up without ' +
                'dying prior to recieving the multi-level bonus:')
            cvar.extra.append('      * The attacker will be ' +
                              'given a speed boost.')
            cvar.extra.append('      * The attacker will have ' +
                              'sparks fly from their feet.')
            cvar.extra.append('      * The attacker will have ' +
                              'music emitted from their location.')
            cvar.notes.append('Formally knows as Triple Level Bonus.')
            cvar.options.append('0 = (Disabled) Do not load gg_multi_level.')
            cvar.options.append(
                '# = (Enabled) The number of levels a ' +
                'player must get before achieving the multi-level bonus.')
            cvar.default = 0
            cvar.text = ('The # of levels it takes ' +
                         'to get the multi-level bonus.')

        # Create the gg_multi_level_speed instance
        with config.cfg_cvar('gg_multi_level_speed') as cvar:

            cvar.name = 'MULTI-LEVEL SPEED'
            cvar.description.append(
                'The percentage of speed that ' +
                'players receieving the multi-level bonus will have.')
            cvar.options.append(
                "100 = (Disabled) Keep the player's speed unchanged.")
            cvar.options.append('# = (Enabled) The percentage ' +
                                'of normal speed the player will have.')
            cvar.default = 150
            cvar.text = ('The percentage of gravity ' +
                         'included with the multi-level bonus.')

        # Create the gg_multi_level_gravity instance
        with config.cfg_cvar('gg_multi_level_gravity') as cvar:

            cvar.name = 'MULTI-LEVEL GRAVITY'
            cvar.description.append(
                'The percentage of gravity that ' +
                'players receieving the multi-level bonus will have.')
            cvar.options.append(
                "100 = (Disabled) Keep the player's gravity unchanged.")
            cvar.options.append('# = (Enabled) The percentage ' +
                                'of normal gravity the player will have.')
            cvar.default = 100
            cvar.text = ('The percentage of gravity ' +
                         'included with the multi-level bonus.')

        # Create the gg_multi_level_tk_reset instance
        with config.cfg_cvar('gg_multi_level_tk_reset') as cvar:

            cvar.name = 'MULTI-LEVEL TK VICTIM RESET'
            cvar.description.append(
                'Victims of team killings ' +
                'will not have their level-up count reset.')
            cvar.options.append(
                '0 = (Disabled) All players ' +
                'will have their level-up count reset when they die.')
            cvar.options.append(
                '1 = (Enabled) Team kill victims ' +
                'not have their level-up count reset when they die.')
            cvar.default = 0
            cvar.text = 'Continue multi level count for TK victims.'
예제 #20
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_handicap instance
        with config.cfg_cvar('gg_handicap') as cvar:

            cvar.name = 'HANDICAP'
            cvar.description.append(
                'Helps newly connected players by adjusting their level.')
            cvar.description.append('Basically "catching them up".')
            cvar.options.append('0 = (Disabled) Do not load gg_handicap.')
            cvar.options.append('1 = Set player to the ' +
                                'lowest level of all the other players.')
            cvar.options.append('2 = Set player to the ' +
                                'average level of all the other players.')
            cvar.default = 0
            cvar.text = ('Helps newly connected ' +
                         'players by adjusting their level.')

        # Create the gg_handicap_max instance
        with config.cfg_cvar('gg_handicap_max') as cvar:

            cvar.name = 'HANDICAP MAXIMUM FIRST LEVEL'
            cvar.description.append(
                'The highest level a player ' +
                'may receive when first joining the server.')
            cvar.notes.append('If you are running ' +
                              'handicap update, this setting is pointless.')
            cvar.options.append('0 = (Disabled)')
            cvar.options.append('# = Max. level a player may join in on.')
            cvar.default = 0
            cvar.text = ('Helps newly connected ' +
                         'players by adjusting their level. (max)')

        # Create the gg_handicap_no_reconnect instance
        with config.cfg_cvar('gg_handicap_no_reconnect') as cvar:

            cvar.name = 'HANDICAP NO RECONNECT'
            cvar.description.append(
                'gg_handicap will only process a handicap level for the ' +
                'first time a player joins a team.  This prevents players ' +
                'from abusing the handicap system. (reconnecting to level up)')
            cvar.notes.append('If you are running ' +
                              'handicap update, this setting is pointless.')
            cvar.options.append('0 = (Disabled)')
            cvar.options.append('1 = (Enabled)')
            cvar.default = 0
            cvar.text = 'Prevents abuse from reconnecting'

        # Create the gg_handicap_update instance
        with config.cfg_cvar('gg_handicap_update') as cvar:

            cvar.name = 'HANDICAP UPDATE'
            cvar.description.append(
                'A timer (in seconds) that updates ' +
                'players with the lowest level to the lowest level of the ' +
                'other players. Basically "catching them up".')
            cvar.options.append(
                '0 = (Disabled) Do not load gg_handicap_update.')
            cvar.options.append(
                '180 = (Enabled) Update the ' +
                'lowest level players every 180 seconds (3 minutes).')
            cvar.default = 0
            cvar.text = ('The time (in seconds) to update ' +
                         "players' levels using handicap.")

        # Create the gg_handicap_legacy_mode instance
        with config.cfg_cvar('gg_handicap_legacy_mode') as cvar:

            cvar.name = 'LEGACY MODE'
            cvar.description.append(
                'This enables the old method of ' +
                'handicap adjustment, which is based on when a player ' +
                'joins the server. Instead of the new method, which is ' +
                'when the player joins a team for the first time.')
            cvar.options.append('0 = (Disabled)')
            cvar.options.append('1 = (Enabled)')
            cvar.default = 0
            cvar.text = 'Legacy mode'
예제 #21
0
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the Map Vote section
        config.cfg_section('MAP VOTE SETTINGS')

        # Create the gg_map_vote instance
        with config.cfg_cvar('gg_map_vote') as cvar:

            cvar.name = 'GUNGAME MAP VOTE'
            cvar.description.append('Allows players to vote for the next map.')
            cvar.notes.append('This does not require any additional plug-ins.')
            cvar.options.append('0 = (Disabled) Do not use voting.')
            cvar.options.append(
                "1 = (Enabled) Use GunGame's map voting system.")
            cvar.options.append('2 = (Enabled) Use a 3rd-party voting system.')
            cvar.default = 0
            cvar.text = "Controls GunGame's map voting."

        # Create the gg_map_vote_command instance
        with config.cfg_cvar('gg_map_vote_command') as cvar:

            cvar.name = '3RD PARTY VOTE COMMAND'
            cvar.description.append(
                'If gg_map_vote is set to 2, this is ' +
                'the command that will be issued when the vote is triggered.')
            cvar.examples.append('Mani:        gg_map_vote_command ' +
                                 '"ma_voterandom end 4"')
            cvar.examples.append('BeetlesMod:  gg_map_vote_command ' +
                                 '"admin_votemaps"')
            cvar.examples.append('SourceMod:   gg_map_vote_command ' +
                                 '"sm_mapvote" (with mapchooser.smx enabled)')
            cvar.default = 'ma_voterandom end 4'
            cvar.text = 'Triggers 3rd party voting.'

        # Create the gg_map_vote_size instance
        with config.cfg_cvar('gg_map_vote_size') as cvar:

            cvar.name = 'MAP VOTE SIZE'
            cvar.description.append(
                'This variable controls the number of ' +
                'maps that will be displayed as options in the vote menu.')
            cvar.notes.append('It is recommended not to set this too high.')
            cvar.options.append('0 = (Enabled) Use entire map list.')
            cvar.options.append('# = (Enabled) Use # amount of options.')
            cvar.default = 6
            cvar.text = "Controls GunGame's map vote size."

        # Create the gg_map_vote_trigger instance
        with config.cfg_cvar('gg_map_vote_trigger') as cvar:

            cvar.name = 'MAP VOTE TRIGGER LEVEL'
            cvar.description.append('This variable controls what ' +
                                    'level the GunGame Vote is fired on.')
            cvar.description.append('The value will be subtracted ' +
                                    'from the total number of levels.')
            cvar.notes.append(
                'If there are 23 levels, and "gg_vote_trigger" ' +
                'is set to "3", voting will start on level 20.')
            cvar.options.append(
                '# = (Enabled) # from the last level to start the voting.')
            cvar.default = 4
            cvar.text = "Which level to trigger GunGame's map voting."

        # Create the gg_map_vote_time instance
        with config.cfg_cvar('gg_map_vote_time') as cvar:

            cvar.name = 'MAP VOTE TIME'
            cvar.description.append(
                'This variable controls how long the vote will last for.')
            cvar.notes.append('It is recommended not to set this too high.')
            cvar.notes.append(
                'If nobody votes, it will default to the "mapcycle.txt".')
            cvar.options.append(
                '# = (Enabled) Time in seconds to allow voting.')
            cvar.default = 30
            cvar.text = "GunGame's map voting time limit."

        # Create the gg_map_vote_dont_show_last_maps instance
        with config.cfg_cvar('gg_map_vote_dont_show_last_maps') as cvar:

            cvar.name = 'EXCLUDE RECENTLY PLAYED MAPS'
            cvar.description.append(
                'This variable will exclude the ' +
                'selected number of recently played maps from the vote menu.')
            cvar.notes.append(
                'Make sure you have enough maps listed in your source.')
            cvar.options.append('0 = (Disabled) Do not exclude recent maps.')
            cvar.options.append('# = (Enabled) # of last maps to exclude.')
            cvar.default = 0
            cvar.text = "Exclude recent maps from GunGame's map voting."

        # Create the gg_map_vote_show_player_vote instance
        with config.cfg_cvar('gg_map_vote_show_player_vote') as cvar:

            cvar.name = 'SHOW PLAYER VOTES'
            cvar.description.append('This variable controls ' +
                                    'if votes will be publically announced.')
            cvar.examples.append('Monday voted for gg_funtimes.')
            cvar.examples.append('XE_ManUp voted for ' +
                                 'gg_hello_kitty_island_adventure.')
            cvar.examples.append('Warren voted for aim_shotty.')
            cvar.options.append(
                '0 = (Disabled) Do not use display player votes.')
            cvar.options.append('1 = (Enabled) Display player votes.')
            cvar.default = 0
            cvar.text = "Shows player feedback from GunGame's map voting."

        # Create the gg_map_vote_list_source instance
        with config.cfg_cvar('gg_map_vote_list_source') as cvar:

            cvar.name = 'MAP LIST SOURCE'
            cvar.description.append('Controls which map list ' +
                                    'will be used to build the vote menu.')
            cvar.notes.append('You may only filter maps with ' +
                              'option 3. See below for more information.')
            cvar.options.append('1 = mapcycle.txt')
            cvar.options.append('2 = maplist.txt')
            cvar.options.append('3 = "gg_map_vote_file" variable')
            cvar.options.append('4 = All maps in the "maps" folder')
            cvar.default = 1
            cvar.text = "Source of maps for GunGame's map voting."

        # Create the gg_map_vote_file instance
        with config.cfg_cvar('gg_map_vote_file') as cvar:

            cvar.name = 'MAP LIST FILE'
            cvar.description.append('This variable is not used, ' +
                                    'unless the above variable is set to 3.')
            cvar.notes.append('You may filter out maps by player count.')
            cvar.notes.append('See "/cfg/gungame51/gg_vote_list.txt" ' +
                              'for examples and information.')
            cvar.notes.append('You can NOT add filters to ' +
                              '"maplist.txt" and "mapcycle.txt"')
            cvar.examples.append(
                'gg_map_vote_file "cfg/gungame51/my_list.txt"')
            cvar.examples.append('gg_map_vote_file "cfg/my_other_list.txt"')
            cvar.default = 'cfg/gungame51/gg_vote_list.txt'
            cvar.text = "Map list for GunGame's map voting."

        # Create the gg_map_vote_player_command instance
        with config.cfg_cvar('gg_map_vote_player_command') as cvar:

            cvar.name = 'PLAYER VOTE COMMAND'
            cvar.description.append('Allows players to vote for the next map.')
            cvar.notes.append(
                'Players can vote or revote using this say command.')
            cvar.examples.append('gg_map_vote_player_command "!ggvote"')
            cvar.examples.append('gg_map_vote_player_command "!vote"')
            cvar.default = '!vote'
            cvar.text = "Player say command for GunGame's map voting."

        # Create the gg_map_vote_after_death instance
        with config.cfg_cvar('gg_map_vote_after_death') as cvar:

            cvar.name = 'DEAD FILTER'
            cvar.description.append(
                'This will only send the vote menu to dead players.')
            cvar.description.append(
                'Players will receive the menu once they die.')
            cvar.notes.append(
                'Players can use the player vote command ' +
                'to load the menu if they wish to vote while alive.')
            cvar.options.append(
                '0 = (Disabled) Send the vote menu to everyone.')
            cvar.options.append(
                '1 = (Enabled) Only send the vote menu to dead players.')
            cvar.default = 0
            cvar.text = "Only the dead get popups during GunGame's map voting."

        # Create the RTV section
        config.cfg_section('ROCK THE VOTE SETTINGS')

        # Create the gg_map_vote_rtv instance
        with config.cfg_cvar('gg_map_vote_rtv') as cvar:

            cvar.name = 'ROCK THE VOTE'
            cvar.description.append('Allows players to request a ' +
                                    'map vote in the middle of a map.')
            cvar.notes.append('Only takes effect with "gg_map_vote 1" set.')
            cvar.examples.append('0 = (Disabled)')
            cvar.examples.append('1 = (Enabled)')
            cvar.default = 1
            cvar.text = 'Allow rocking the vote.'
            cvar.notify = True

        # Create the gg_map_vote_rtv_command instance
        with config.cfg_cvar('gg_map_vote_rtv_command') as cvar:

            cvar.name = 'ROCK THE VOTE COMMAND'
            cvar.description.append('Allows players to rock the vote.')
            cvar.examples.append('gg_map_vote_rtv_command "rtv"')
            cvar.default = '!rtv'
            cvar.text = "Player say command for GunGame's RTV."

        # Create the gg_map_vote_rtv_levels_required instance
        with config.cfg_cvar('gg_map_vote_rtv_levels_required') as cvar:

            cvar.name = 'ROCK THE VOTE DISABLE LEVEL'
            cvar.description.append(
                'The percentage of total number of levels which, when ' +
                'the leader reaches it, disables RTV for that map.')
            cvar.examples.append(
                '60 = (If there are 24 total levels, when ' +
                'the leader hits level 15 (we round down), RTV is disabled)')
            cvar.default = 60
            cvar.text = 'Level percentage when RTV gets disabled.'

        # Create the gg_map_vote_rtv_percent instance
        with config.cfg_cvar('gg_map_vote_rtv_percent') as cvar:

            cvar.name = 'ROCK THE VOTE PERCENTAGE'
            cvar.description.append(
                'The percentage of total ' +
                'players required to rtv before the vote gets rocked.')
            cvar.examples.append('60 = 60% of players ' +
                                 '(rounded down) on the server need to RTV.')
            cvar.default = 60
            cvar.text = "Player say command for GunGame's rtv."

        # Create the Nomination section
        config.cfg_section('NOMINATION SETTINGS')

        # Create the gg_map_vote_nominate instance
        with config.cfg_cvar('gg_map_vote_nominate') as cvar:

            cvar.name = 'NOMINATE FOR VOTE'
            cvar.description.append(
                'Allows players to request a map to be in the next vote.')
            cvar.notes.append('Only takes effect with "gg_map_vote 1" set.')
            cvar.notes.append('Only gg_map_vote_size nominations can be made.')
            cvar.notes.append(
                "gg_map_vote_dont_show_last_maps can't be nominated.")
            cvar.options.append('0 = (Disabled)')
            cvar.options.append('1 = (Enabled)')
            cvar.default = 1
            cvar.text = 'Allow vote nominations.'

        # Create the gg_map_vote_nominate_command instance
        with config.cfg_cvar('gg_map_vote_nominate_command') as cvar:

            cvar.name = 'ROCK THE VOTE COMMAND'
            cvar.description.append('Allows players to nominate.')
            cvar.options.append('gg_map_vote_nominate_command "!nominate"')
            cvar.default = '!nominate'
            cvar.text = "Player say command for GunGame's nominate."
def load():

    # Create the cfg file
    with ConfigContextManager(
            path(__file__).parent.split('scripts')[~0][1:]) as config:

        # Create the gg_spawn_protect instance
        with config.cfg_cvar('gg_spawn_protect') as cvar:

            cvar.name = 'SPAWN PROTECTION'
            cvar.description.append(
                'The number of seconds to allow spawn ' +
                'protection, in which they will be immune to other players ' +
                'fire but cannot levelup if they kill a player.')
            cvar.options.append('0 = (Disabled) Do not load gg_spawn_protect.')
            cvar.options.append('# = Time (in seconds) ' +
                                'for players to be spawn protected.')
            cvar.default = 0
            cvar.text = 'Enables/Disables spawn protection.'

        # Create the gg_spawn_protect_red instance
        with config.cfg_cvar('gg_spawn_protect_red') as cvar:

            cvar.name = 'SPAWN PROTECTION COLORS'
            cvar.description.append(
                "The player's color while under spawn protection.")
            cvar.notes.append(
                'Colors are set via the RGB (red/green/blue) ' +
                'model. For more information on how to get the color you ' +
                'want, visit:\n\thttp://www.tayloredmktg.com/rgb/')
            cvar.notes.append(
                'Alpha is the transparency of the player.  The lower ' +
                'the number, the more transparent the player becomes.')
            cvar.options.append('0-255')
            cvar.default = 255
            cvar.default_text = [
                'Default Values:',
                '   * Red: 255',
                '   * Green: 255',
                '   * Blue: 255',
                '   * Alpha: 255',
            ]
            cvar.text = 'The red shade of the spawn protected player.'

        # Create the gg_spawn_protect_green instance
        with config.cfg_cvar('gg_spawn_protect_green') as cvar:

            cvar.name = ''
            cvar.default = 255
            cvar.default_text = ''
            cvar.text = 'The green shade of the spawn protected player.'

        # Create the gg_spawn_protect_blue instance
        with config.cfg_cvar('gg_spawn_protect_blue') as cvar:

            cvar.name = ''
            cvar.default = 255
            cvar.default_text = ''
            cvar.text = 'The blue shade of the spawn protected player.'

        # Create the gg_spawn_protect_alpha instance
        with config.cfg_cvar('gg_spawn_protect_alpha') as cvar:

            cvar.name = ''
            cvar.default = 150
            cvar.default_text = ''
            cvar.text = 'The alpha of the spawn protected player.'

        # Create the gg_spawn_protect_cancelonfire instance
        with config.cfg_cvar('gg_spawn_protect_cancelonfire') as cvar:

            cvar.name = 'SPAWN PROTECTION "CANCEL-ON-FIRE"'
            cvar.description.append(
                'Cancels the spawn protection timer when the player ' +
                'fires their weapon and allows the player to level up.')
            cvar.notes.append(
                'Uses "eventscripts_noisy", which "may" cause lag.')
            cvar.options.append(
                '0 = (Disabled) Do not load gg_spawn_protect_cancelonfire.')
            cvar.options.append(
                '1 = (Enabled) Load gg_spawn_protect_cancelonfire.')
            cvar.default = 0
            cvar.text = 'Cancels spawn protection when the weapon is fired.'
            cvar.notify = True

        # Create the gg_spawn_protect_can_level_up instance
        with config.cfg_cvar('gg_spawn_protect_can_level_up') as cvar:

            cvar.name = 'ALLOW LEVELING WHILST PROTECTED'
            cvar.description.append(
                'Players can level up while spawn protected.')
            cvar.options.append('0 = (Disabled) Do not allow ' +
                                'players to level up while spawn protected.')
            cvar.options.append('1 = (Enabled) Allow players ' +
                                'to level up while spawn protected.')
            cvar.default = 0
            cvar.text = 'Allow players to level up while spawn protected'