Exemplo n.º 1
0
# XA Imports
from xa import xa

# ==============================================================================
#   ADDON REGISTRATION
# ==============================================================================
# Register with EventScripts
info = es.AddonInfo()
info.name       = 'Advert' 
info.version    = '1.1' 
info.author     = 'Rio'
info.basename   = 'xaadvert' 

# Register with XA
xaadvert = xa.register(info.basename) 
adverts              = xaadvert.setting.createVariable('adverts', 1, 'Turns adverts on or off') 
time_between_advert  = xaadvert.setting.createVariable('time_between_advert', 120, 'Time between adverts displayed') 
adverts_chat_area    = xaadvert.setting.createVariable('adverts_chat_area', 1, 'Allow adverts in chat area of screen') 
adverts_top_left     = xaadvert.setting.createVariable('adverts_top_left', 1, 'Allow adverts in top left corner of screen') 
advert_col_red       = xaadvert.setting.createVariable('advert_col_red', 0, 'Red component colour of adverts (255 = max)') 
advert_col_green     = xaadvert.setting.createVariable('advert_col_green', 0, 'Green component colour of adverts (255 = max)') 
advert_col_blue      = xaadvert.setting.createVariable('advert_col_blue', 255, 'Blue component colour of adverts (255 = max)') 
advert_dead_only     = xaadvert.setting.createVariable('advert_dead_only', 0, 'Specify if all players or only dead players can see adverts') 
adverts_bottom_area  = xaadvert.setting.createVariable('adverts_bottom_area', 0, 'Show adverts in the hint text area') 

if xa.isManiMode():
   xaadvertlist = xaadvert.configparser.getList('cfg/mani_admin_plugin/adverts.txt', True)
else:
   xaadvertlist = xaadvert.configparser.getList('adverts.txt')
if not xaadvertlist:
Exemplo n.º 2
0
import playerlib
from xa import xa

playertimes = {}
playerkills = {}
playerheads = {}
firstblood = False

#plugin information
info = es.AddonInfo()
info.name           = "Quake Sounds"
info.version        = "0.2"
info.author         = "Hunter"
info.basename       = "xaquakesounds"

xaquakesounds                       = xa.register(info.basename)
xalanguage                          = xaquakesounds.language.getLanguage()
xaplayerdata_quakesounds            = xaquakesounds.playerdata.createUserSetting('quakesounds')

if xa.isManiMode():
    xaquakesoundslist               = xaquakesounds.configparser.getAliasList('cfg/mani_admin_plugin/quakesoundlist.txt', True)
else:
    xaquakesoundslist               = xaquakesounds.configparser.getAliasList('quakesoundlist.txt')

quake_sounds                        = xaquakesounds.setting.createVariable('quake_sounds', '1', '0 = off, 1 = enable Quake Sounds')
quake_sounds_download               = xaquakesounds.setting.createVariable('quake_auto_download', '0', '0 = Don\'t auto download files to client, 1 = automatically download files to client')
quake_sounds_settings               = xaquakesounds.setting.createVariable('player_settings_quake', '1', '0 = player settings default to off, 1 = player settings default to on')
quake_kill_streak_mode              = xaquakesounds.setting.createVariable('quake_kill_streak_mode', '0', 'Reset kill streaks per round 1 = per round/death, 0 = per death')
quake_humiliation_mode              = xaquakesounds.setting.createVariable('quake_humiliation_mode', '1', '0 = off, 1 = all players hear it, 2 = players involved hear it, 3 = attacker hears it, 4 = victim hears it')
quake_humiliation_visual_mode       = xaquakesounds.setting.createVariable('quake_humiliation_visual_mode', '1', '0 = off, 1 = all players see it, 2 = players involved see it, 3 = attacker sees it, 4 = victim sees it')
quake_humiliation_weapon            = xaquakesounds.setting.createVariable('quake_humiliation_weapon', 'knife', 'Weapon that triggers the humiliation sound')
Exemplo n.º 3
0
import es
import usermsg
import playerlib
from xa import xa
#plugin information
info = es.AddonInfo() 
info.name     = "Most Destructive" 
info.version  = "1.0" 
info.author   = "SumGuy14"
info.basename = "xamostdestructive"
gPlayerInfo = {}
# Make a global dictionary to track things in
# register module with XA
xamostdestructive = xa.register('xamostdestructive')
xalanguage = xamostdestructive.language.getLanguage()
def unload(): 
    xamostdestructive.unregister() 
def round_start(event_var):
    gPlayerInfo.clear()
    players = playerlib.getUseridList("#all")
    for userid in players:
        gPlayerInfo[userid] = [0,0]
        ####################
        # [0] = Damage done
        # [1] = Kills
        ####################
def player_hurt(event_var):
    attacker = event_var['attacker']
    CheckPlayer(attacker) # Create a spot in memory for player if he doesnt have one
    if event_var['es_attackerteam'] != event_var['es_userteam'] and attacker != event_var['userid'] and es.exists('userid',attacker):
Exemplo n.º 4
0
import es
import repeat
import playerlib
from xa import xa

#plugin information
info = es.AddonInfo() 
info.name     = 'High Ping Kicker' 
info.version  = '1.2a'
info.author   = 'SumGuy14'
info.basename = 'xahighpingkick' 

gUserid = {}

# register module with XA
xahighpingkick = xa.register(info.basename)

# Localization helper:
text = xahighpingkick.language.getLanguage()

# make config vars
maxping       = xahighpingkick.setting.createVariable('ping_maxping', 300, 'Maximum ping of a player before they are kicked')
check         = xahighpingkick.setting.createVariable('ping_check', 10, 'How many total times to check the players ping over a period of time before they are kicked')
interval      = xahighpingkick.setting.createVariable('ping_interval', 5, 'How often the players ping is checked, in seconds')
exceedlimit   = xahighpingkick.setting.createVariable('ping_exceedlimit', 3, 'If the players ping is above the max when checked this many times, player will be kicked')

def load():
    """ Make sure all people on the server when this is loaded are not forgotten """
    for userid in playerlib.getUseridList('#human'):
        player_activate({'userid': userid})
Exemplo n.º 5
0
1.3.1 | [FULL] | 16/02/2008 | Fixed a bunch of minor errors in player_team, commented out global variable
1.3.2 | [FULL] | 13/05/2008 | Fixed typo in player_team method/event
1.3.1 | [FULL] | 22/02/2009 | Fixed a chance where a key error could happen when a player would be checked before added to the dictionary.
--Future--
 #  |  Status       | Desc

1.5 | [UNSTARTED]   | Add other features, provide admin notification / features, add further config options
'''

# the dictionary to track blinded players
blinded = {}
# same idea but for spectators
spec_blinded = {}

# Register the module
ghosting = xa.register(info.basename) 

# Grab the languages file using the XA langlib wrapper
text = ghosting.language.getLanguage()

# Public variable for version
#es.ServerVar("xa_blind_ip_ghosters_ver",str(info.version), "Blind IP Ghosters, version").makepublic()

'''
Internal classes
'''
class Player(playerlib.Player):
    '''
    Extends playerlib.Player to provide special functions
    '''
    def blind(self):
Exemplo n.º 6
0
import es
import playerlib
import popuplib
import gamethread
from xa import xa

info = es.AddonInfo()
info.name       = 'Victim Stats'
info.version    = '4.2'
info.author     = 'Satoon101'
info.basename   = 'xavictimstats'

xavictimstats = xa.register(info.basename)
xavictimstats.addRequirement('xasettings')
victimstats_setting = xavictimstats.playerdata.createUserSetting('victimstats_setting')
victimstats_timeout_death = xavictimstats.setting.createVariable('victimstats_timeout_death', 15, 'Time till gui closes with inaction after player_death')
victimstats_timeout_round = xavictimstats.setting.createVariable('victimstats_timeout_round', 10, 'Time till gui closes with inaction after round_end or when using victimstats_command command')
victimstats_distance = xavictimstats.setting.createVariable('victimstats_distance', 3, 'When displaying distance, which system to use \n// 1 = Imperial (Feet), 2 = Metric (Meters), 3 = Both / Off is not an option')
victimstats_default = xavictimstats.setting.createVariable('victimstats_default', 5, 'Stats Display user default\n// 0 = Off, 1 = Text:Hitbox, 2 = Text:No Hitbox, 3 = GUI:Hitbox, 4 = GUI:No Hitbox, 5 = GUI: Menu')
victimstats_command = xavictimstats.setting.createVariable('victimstats_command', '', 'Set to command for displaying current stats while alive (LEAVE BLANK to disable)')

xalang = xavictimstats.language.getLanguage()

xavictimstats_menu = {0:'Off',1:'Text: Hitgroups',2:'Text: No Hitgroups',3:'GUI: Hitgroups',4:'GUI: No Hitgroups',5:'GUI: Menu'}
hitgroups = {1:'Head',2:'Chest',3:'Stomach',4:'Left Arm',5:'Right Arm',6:'Left Leg',7:'Right Leg'}

PlayerList = {}

class Player:
    def __init__(self, userid):
        self.userid = str(userid)
Exemplo n.º 7
0
import es
import langlib
import os
import playerlib
import time
from xa import xa

#plugin information
info = es.AddonInfo()
info.name       = "Flood Control"
info.version    = "0.2"
info.author     = "Venjax"
info.basename   = "xafloodcontrol"

xafloodcontrol = xa.register(info.basename)
lang_text = xafloodcontrol.language.getLanguage() 
chat_flood_time = xafloodcontrol.setting.createVariable('chat_flood_time', '1.5', "The amount of time (in seconds) that after a player speaks they are restricted from speaking again")
timer = {}

def floodcontrol(userid, message, teamonly):
    #floodcontrol function. Eats spam according to time set in config options.
    global timer
    try:
        if not userid in timer.keys():
         timer[userid] = time.time()
         return userid, message, teamonly
        else:
         if time.time() - float(chat_flood_time) < timer[userid]:
             es.tell(userid, lang_text('chat flood', {}, playerlib.getPlayer(userid).get('lang')))
             xafloodcontrol.logging.log("has been stopped from talking due to flooding, %.2f seconds from last message" % (time.time() - timer[userid] ), userid )
             timer[userid] = time.time()
Exemplo n.º 8
0
import playerlib
from xa import xa

playertimes = {}
playerkills = {}
playerheads = {}
firstblood = False

#plugin information
info = es.AddonInfo()
info.name           = "Quake Sounds"
info.version        = "0.2"
info.author         = "Hunter"
info.basename       = "xaquakesounds"

xaquakesounds                       = xa.register(info.basename)
xalanguage                          = xaquakesounds.language.getLanguage()
xaplayerdata_quakesounds            = xaquakesounds.playerdata.createUserSetting('quakesounds')

if xa.isManiMode():
    xaquakesoundslist               = xaquakesounds.configparser.getAliasList('cfg/mani_admin_plugin/quakesoundlist.txt', True)
else:
    xaquakesoundslist               = xaquakesounds.configparser.getAliasList('quakesoundlist.txt')
if not xaquakesoundslist:
    raise ImportError('No quakesoundslist.txt found!')

quake_sounds                        = xaquakesounds.setting.createVariable('quake_sounds', '1', '0 = off, 1 = enable Quake Sounds')
quake_sounds_download               = xaquakesounds.setting.createVariable('quake_auto_download', '0', '0 = Don\'t auto download files to client, 1 = automatically download files to client')
quake_sounds_settings               = xaquakesounds.setting.createVariable('player_settings_quake', '1', '0 = player settings default to off, 1 = player settings default to on')
quake_kill_streak_mode              = xaquakesounds.setting.createVariable('quake_kill_streak_mode', '0', 'Reset kill streaks per round 1 = per round/death, 0 = per death')
quake_humiliation_mode              = xaquakesounds.setting.createVariable('quake_humiliation_mode', '1', '0 = off, 1 = all players hear it, 2 = players involved hear it, 3 = attacker hears it, 4 = victim hears it')
Exemplo n.º 9
0
                'Retrieved latest version information from %s' % self.url)
            logging.log('xaupdate',
                        'Latest version is %s' % self.remote_version)
            if xa.info.version != self.remote_version:
                logging.log('xaupdate',
                            'There is a newer version of XA available')
            else:
                logging.log('xaupdate', 'XA is up to date')
        except HTTPError:
            # error
            logging.log('xaupdate', 'Unable to download version information')


check = Check()

xamodule = xa.register(info.basename)
xalanguage = xamodule.language.getLanguage()


def load():
    # if we are loading xaupdate at the same time as server boot then we can safely run a check
    if es.ServerVar('eventscripts_currentmap') != "":
        es_map_start({})
    else:
        # otherwise just create a dummy menu
        create_menu()
    xamodule.addMenu('xaupdate_menu', xalanguage['xaupdate'], 'xaupdate_menu',
                     'xaupdate_menu', 'ADMIN')


def es_map_start():
Exemplo n.º 10
0
# ./xa/modules/xathetime/xathetime.py

import es
import time
from xa import xa

#plugin information
info = es.AddonInfo()
info.name = "The Time"
info.version = "1.0"
info.author = "Unknown"
info.basename = "xathetime"

xathetime = xa.register(info.basename)
adjust_time = xathetime.setting.createVariable(
    'adjust_time', 0, 'Minutes to add to server clock')
military_time = xathetime.setting.createVariable(
    'military_time', 0, '0 = use 12hr format, 1 = use 24hr format')
thetime_player_only = xathetime.setting.createVariable(
    'thetime_player_only', 1,
    '0 = time is sent to all players on request, 1 = time is only sent to the requesting player'
)
thetime_timezone = xathetime.setting.createVariable(
    'thetime_timezone', 'GMT',
    'Timezone to display -- DOES NOT AFFECT TIME DISPLAYED')


def load():
    """ """
    xathetime.addCommand('thetime', show_time, 'display_thetime',
                         'UNRESTRICTED').register(('console', 'say'))
Exemplo n.º 11
0
import playerlib
import usermsg
from xa import xa

#plugin information
info = es.AddonInfo()
info.name = "Rates"
info.version = "1.0"
info.author = "Unknown"
info.basename = "xarates"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to your module
xarates = xa.register(info.basename)


def load():
    xarates.addCommand('xa_rates', xarates_cmd, 'display_rates',
                       'UNRESTRICTED').register('console')


def unload():
    xarates.unregister()


def xarates_cmd():
    int_userid = es.getcmduserid()
    xarates.logging.log('requested xarates', int_userid)
    dict_rates = {}
Exemplo n.º 12
0
import es
import playerlib
import popuplib
import gamethread
from xa import xa
#plugin information
info = es.AddonInfo()
info.name = "Player Management"
info.version = "0.2"
info.author = "Hunter"
info.basename = "xaplayers"
manage_choice = {}
manage_method = {}
manage_display = {}
manage_target = {}
manage_targetlist = {}
manage_pmenus = {}
manage_argc = {}
manage_cross_ref = {}
xaplayers = xa.register(info.basename)
xalanguage = xaplayers.language.getLanguage()
xa_adminkick_anonymous = xaplayers.setting.createVariable(
    'adminkick_anonymous', 0,
    "When an admin kicks a player, will no text be sent?")
xa_adminban_anonymous = xaplayers.setting.createVariable(
    'adminban_anonymous', 0,
    "When an admin bans a player, will no text be sent?")
xa_ban_time = xaplayers.setting.createVariable(
    'ban_time', 0,
    "The amount of time (in minutes) to ban a player for (0 = forever)")
Exemplo n.º 13
0
import random
from xa import xa

#plugin information
info = es.AddonInfo()
info.name = "Observe"
info.version = "1.1"
info.author = "Unknown"
info.basename = "xaobserve"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module

xaobserve = xa.register('xaobserve')

#######################################
# SERVER VARIABLES
# The list of our server variables

allow_chase = xaobserve.setting.createVariable(
    'observe_allow_chase', 1,
    'xaobserve: 0 = only allow first-person view for dead players, 1 = allow frist-person or chase-cam view for dead players'
)
spec_delay = xaobserve.setting.createVariable(
    'observe_spec_delay', 3,
    'xaobserve: Number of seconds after death a player can be spectated')

#######################################
# GLOBALS
Exemplo n.º 14
0
import gamethread
import playerlib
import msglib
import usermsg
import time
from xa import xa

#plugin information
info = es.AddonInfo()
info.name = 'Advert'
info.version = '1.0'
info.author = 'Rio'
info.basename = 'xaadvert'

# register module with XA
xaadvert = xa.register(info.basename)

next_advert = 0
colors = {
    '{RED}': '255 0 0 255',
    '{BLUE}': '0 0 255 255',
    '{GREEN}': '0 255 0 255',
    '{MAGENTA}': '139 0 139 255',
    '{BROWN}': '128 42 42 255',
    '{GREY}': '128 128 128',
    '{CYAN}': '0 204 204 255',
    '{YELLOW}': '255 255 0 255',
    '{ORANGE}': '255 127 0 255',
    '{WHITE}': '255 255 255 255',
    '{PINK}': '255 0 204 255'
}
Exemplo n.º 15
0
import es
import popuplib
import playerlib

import cPickle
import os

from xa import xa

info                = es.AddonInfo() 
info.basename       = "xateleport"
info.name           = "Telport"
info.version        = "1.0.1"

xateleport   = xa.register(info.basename)
xalanguage   = xateleport.language.getLanguage() 

xa_anonymous = xateleport.setting.createVariable('teleport_anonymous', 0, "When an admin teleports a player, is it anonymous?")

def load():
    global locations
    strPath = os.path.join(es.getAddonPath("xa"), "data", "locations.db")
    if not os.path.isfile(strPath):
        fStream = open(strPath, "w")
        cPickle.dump({}, fStream)
        fStream.close()
    fStream   = open(strPath, "r")
    locations = cPickle.load(fStream)
    fStream.close()
    
    """ Popup register """
Exemplo n.º 16
0
import playerlib
from xa import xa

#plugin information
info = es.AddonInfo() 
info.name     = "Redirect Users"
info.version  = "1.1" 
info.author   = "Unknown"
info.basename = "xaredirect"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module

xaredirect = xa.register(info.basename)


#######################################
# SERVER VARIABLES
# The list of our server variables

var_ip    = xaredirect.setting.createVariable('redirect_ip', '127.0.0.1:27015', 'IP players will be redirected to')
var_delay = xaredirect.setting.createVariable('redirect_delay', 15, 'Number of seconds to show redirect prompt')
var_kick  = xaredirect.setting.createVariable('redirect_kick', 0, '0 = do nothing when players choose not to be redirected, 1 = kick players who choose not to be redirected')
var_count = xaredirect.setting.createVariable('redirect_count', 0, 'Number of connected players required to automatically send redirect prompt, 0 = never automatically send redirect prompt')


#######################################
# GLOBALS
# Initialize our general global data here.
Exemplo n.º 17
0
            self.remote_version = u.read()
            self.last = time.time()
            logging.log("xaupdate", "Retrieved latest version information from %s" % self.url)
            logging.log("xaupdate", "Latest version is %s" % self.remote_version)
            if xa.info.version != self.remote_version:
                logging.log("xaupdate", "There is a newer version of XA available")
            else:
                logging.log("xaupdate", "XA is up to date")
        except HTTPError:
            # error
            logging.log("xaupdate", "Unable to download version information")


check = Check()

xamodule = xa.register(info.basename)
xalanguage = xamodule.language.getLanguage()


def load():
    # if we are loading xaupdate at the same time as server boot then we can safely run a check
    if es.ServerVar("eventscripts_currentmap") != "":
        es_map_start({})
    else:
        # otherwise just create a dummy menu
        create_menu()
    xamodule.addMenu("xaupdate_menu", xalanguage["xaupdate"], "xaupdate_menu", "xaupdate_menu", "ADMIN")


def es_map_start():
    if check.last or (time.time() - last_check) > update_every:
Exemplo n.º 18
0
        self.con = sqlite.connect(path)
        self.cur = self.con.cursor()

    def execute(self, sql):
        self.cur.execute(sql)
        self.con.commit()

    def query(self, sql):
        self.cur.execute(sql)
        return self.cur.fetchall()

    def close(self):
        self.con.close()


xaauthmanage = xa.register(info.basename)
lang = xaauthmanage.language.getLanguage()

auth = services.use('auth')
authaddon = auth.name
if authaddon not in ('group_auth', 'basic_auth'):
    raise ImportError('Unsupported Auth Provider!')

prefix = '#green[AuthManage]#default'

###################################################
#      EVENTS


def load():
    es.dbgmsg(1, '*****authmanage load')
Exemplo n.º 19
0
import es
import popuplib
import random
from xa import xa

info = es.AddonInfo()
info.name        = "Config"
info.version     = "0.1"
info.author      = "Hunter"
info.basename    = "xaconfig"

xaconfig = xa.register(info.basename)
lang = xaconfig.language.getLanguage()
menulist = []

def load():
    global menulist,mainmenu
    xacmd = xaconfig.addCommand('xa_config', _sendmain, 'change_config', 'ROOT')
    xacmd.register('say')  

    xaclientcmd = xaconfig.addCommand('setconfig', _inputbox_handle, 'change_config', 'ROOT', 'Set config')
    xaclientcmd.register('console')

    mainmenu = popuplib.easymenu('xamainconfigmenu',None,_mainmenu_select)
    mainmenu.settitle(lang['main config'])
    mainmenu.addoption('core', lang['core config'])
    mainmenu.addoption('module', lang['module config'])
    menulist.append(mainmenu)
    xaconfig.addMenu('xamainconfigmenu',lang['xa menu choice'],'xamainconfigmenu','change_config','ROOT')
	
def unload():
Exemplo n.º 20
0
import es
import popuplib
import random
from xa import xa

info = es.AddonInfo()
info.name = "Config"
info.version = "0.1"
info.author = "Hunter"
info.basename = "xaconfig"

xaconfig = xa.register(info.basename)
lang = xaconfig.language.getLanguage()
menulist = []


def load():
    global menulist, mainmenu
    xacmd = xaconfig.addCommand('xa_config', _sendmain, 'change_config',
                                'ROOT')
    xacmd.register('say')

    xaclientcmd = xaconfig.addCommand('setconfig', _inputbox_handle,
                                      'change_config', 'ROOT', 'Set config')
    xaclientcmd.register('console')

    mainmenu = popuplib.easymenu('xamainconfigmenu', None, _mainmenu_select)
    mainmenu.settitle(lang['main config'])
    mainmenu.addoption('core', lang['core config'])
    mainmenu.addoption('module', lang['module config'])
    menulist.append(mainmenu)
Exemplo n.º 21
0
import es
from playerlib import getPlayerList
from xa import xa

info = es.AddonInfo()
info.name       = "Objectives"
info.version    = "0.1"
info.author     = "Wonder"
info.basename   = "xaobjectives"

xaobjectives = xa.register(info.basename)

def load():
    global slay, text

    slay = xaobjectives.setting.createVariable("css_objectives", "1", "If 1, losing team will be slain.")
    text = xaobjectives.language.getLanguage()

    if es.getgame() != "Counter-Strike: Source":
        raise AttributeError, "Counter-Strike: Source"

def unload():
    xaobjectives.unregister()

def round_end(eventVar):
    if int(slay):
        if eventVar["winner"] == "2" and es.getlivingplayercount(3):
            cts, ts = getPlayerList("#ct"), getPlayerList("#t")
            for i in cts:
                i.kill()
                es.tell(int(i), "#multi", text("lost"))
import es
import playerlib
import random
import gamethread
import os
import effectlib
from xa import xa

info = es.AddonInfo()
info.name = "Extended Punishments"
info.version = "0.4s"
info.author = "freddukes"
info.basename = "xaextendedpunishments"

xaextendedpunishments = xa.register(info.basename)
xalanguage = xaextendedpunishments.language.getLanguage()

#######################
# Variables
xa_adminblind_anonymous = xaextendedpunishments.setting.createVariable(
    'adminblind_anonymous', 0,
    "When an admin blinds a player, will a message be sent? 1 = no, 0 = yes")
xa_adminfreeze_anonymous = xaextendedpunishments.setting.createVariable(
    'adminfreeze_anonymous', 0,
    "When an admin freezes a player, will a message be sent? 1 = no, 0 = yes")
xa_admingimp_anonymous = xaextendedpunishments.setting.createVariable(
    'admingimp_anonymous', 0,
    "When an admin gimps a player, will a message be sent? 1 = no, 0 = yes")
xa_admindrug_anonymous = xaextendedpunishments.setting.createVariable(
    'admindrug_anonymous', 0,
    "When an admin drugs a player, will a message be sent? 1 = no, 0 = yes")
Exemplo n.º 23
0
import es
import os
import cfglib
import popuplib
import playerlib
import langlib
import random
from xa import xa

info = es.AddonInfo()
info.name        = "Language Management"
info.version     = "0.1"
info.author      = "Hunter"
info.basename    = "xalanguage"

xalanguage = xa.register(info.basename)
xalang = xalanguage.language.getLanguage()
langlist = {}
menulist = []

def load():
    global menulist,mainmenu
    xaclientcmd = xalanguage.addCommand('setlanguage', _inputbox_handle, 'change_language', 'ROOT', 'Set language')
    xaclientcmd.register('console')

    mainmenu = popuplib.easymenu('xamainlanguagemenu',None,_mainmenu_select)
    mainmenu.settitle(xalang['main language'])
    mainmenu.addoption('module', xalang['module language'])
    menulist.append(mainmenu)
    xalanguage.addMenu('xamainlanguagemenu',xalang['xa menu choice'],'xamainlanguagemenu','change_language','ROOT')
Exemplo n.º 24
0
import es
import os
import cfglib
import popuplib
import playerlib
import langlib
import random
from xa import xa

info = es.AddonInfo()
info.name = "Language Management"
info.version = "0.1"
info.author = "Hunter"
info.basename = "xalanguage"

xalanguage = xa.register(info.basename)
xalang = xalanguage.language.getLanguage()
langlist = {}
menulist = []


def load():
    global menulist, mainmenu
    xaclientcmd = xalanguage.addCommand('setlanguage', _inputbox_handle,
                                        'change_language', 'ROOT',
                                        'Set language')
    xaclientcmd.register('console')

    mainmenu = popuplib.easymenu('xamainlanguagemenu', None, _mainmenu_select)
    mainmenu.settitle(xalang['main language'])
    mainmenu.addoption('module', xalang['module language'])
Exemplo n.º 25
0
 - [FIX] bug fixes (module was still registering as xateamwound)
== 1.0.1 ==
 - [FIX] Problem where the player_team code tried to re-add players that had disconnected
== 1.0.0 ==
 - Released publicly
 - Name change to XAProtect
 - [+] Team kill protection
 - [FIX] Changed the protection levels from 5000 to 1124
== OY1 ==
 - [+] Added basic spawn protection (raised health)
 - [+] Added the ability to kill people who spawn kill
 - [+] Added reflect damage ability against team wounders
''' 

# register module with XA 
xaprotect = xa.register(info.basename) 

# Localization helper: 
#text = xaprotect.language.getLanguage() 

# make config vars 
protect_wound                     = xaprotect.setting.createVariable('protect_wound', 1, '1 = ON, 0 = OFF') 
protect_spawn_protection_time     = xaprotect.setting.createVariable('protect_spawn_protection_time', 3, 'The number of seconds to make people invulnerable at spawn (0 = OFF)') 
protect_spawn_protection_mode     = xaprotect.setting.createVariable('protect_spawn_protection_mode', 0, '(1 = Anytime players spawn, 0 = Only at round start)') 
protect_reflect_damage            = xaprotect.setting.createVariable('protect_reflect_damage', 0, '(0 = OFF, 1 = Reflect all damage, 2 = reflect some damage)') 
protect_reflect_damage_percentage = xaprotect.setting.createVariable('protect_reflect_damage_percentage', 10, '(0 to 10: the percentage of damage to reflect)') 
protect_spawn_slay                = xaprotect.setting.createVariable('protect_spawn_slay', 0, 'Slay spawn attackers(0=OFF, 1=ON)') 
protect_spawn_slay_time           = xaprotect.setting.createVariable('protect_spawn_slay_time', 3, '# of seconds after spawning an attacker is slayed for team attacking')    
protect_teamkill_slay             = xaprotect.setting.createVariable('protect_teamkill_slay', 0, 'Slay team killers(0=OFF, 1=ON)') 
protect_teamattack_slay           = xaprotect.setting.createVariable('protect_teamattack_slay', 0, 'Slay team attackers(0=OFF, 1=ON)') 
Exemplo n.º 26
0
import es
import popuplib
import playerlib

import cPickle
import os

from xa import xa

info                = es.AddonInfo() 
info.basename       = "xateleport"
info.name           = "Telport"
info.version        = "1.0.1"

xateleport   = xa.register(info.basename)
xalanguage   = xateleport.language.getLanguage() 

xa_anonymous = xateleport.setting.createVariable('teleport_anonymous', 0, "When an admin teleports a player, is it anonymous?")

def load():
    global locations
    strPath = os.path.join(es.getAddonPath("xa"), "data", "locations.db")
    if not os.path.isfile(strPath):
        fStream = open(strPath, "w")
        cPickle.dump({}, fStream)
        fStream.close()
    fStream   = open(strPath, "r")
    locations = cPickle.load(fStream)
    fStream.close()
    
    """ Popup register """
Exemplo n.º 27
0
 - [FIX] bug fixes (module was still registering as xateamwound)
== 1.0.1 ==
 - [FIX] Problem where the player_team code tried to re-add players that had disconnected
== 1.0.0 ==
 - Released publicly
 - Name change to XAProtect
 - [+] Team kill protection
 - [FIX] Changed the protection levels from 5000 to 1124
== OY1 ==
 - [+] Added basic spawn protection (raised health)
 - [+] Added the ability to kill people who spawn kill
 - [+] Added reflect damage ability against team wounders
'''

# register module with XA
xaprotect = xa.register(info.basename)

# Localization helper:
#text = xaprotect.language.getLanguage()

# make config vars
protect_wound = xaprotect.setting.createVariable('protect_wound', 1,
                                                 '1 = ON, 0 = OFF')
protect_spawn_protection_time = xaprotect.setting.createVariable(
    'protect_spawn_protection_time', 3,
    'The number of seconds to make people invulnerable at spawn (0 = OFF)')
protect_spawn_protection_mode = xaprotect.setting.createVariable(
    'protect_spawn_protection_mode', 0,
    '(1 = Anytime players spawn, 0 = Only at round start)')
protect_reflect_damage = xaprotect.setting.createVariable(
    'protect_reflect_damage', 0,
Exemplo n.º 28
0
import es
import repeat
import playerlib
from xa import xa

#plugin information
info = es.AddonInfo()
info.name = 'High Ping Kicker'
info.version = '1.2a'
info.author = 'SumGuy14'
info.basename = 'xahighpingkick'

gUserid = {}

# register module with XA
xahighpingkick = xa.register(info.basename)

# Localization helper:
text = xahighpingkick.language.getLanguage()

# make config vars
maxping = xahighpingkick.setting.createVariable(
    'ping_maxping', 300, 'Maximum ping of a player before they are kicked')
check = xahighpingkick.setting.createVariable(
    'ping_check', 10,
    'How many total times to check the players ping over a period of time before they are kicked'
)
interval = xahighpingkick.setting.createVariable(
    'ping_interval', 5, 'How often the players ping is checked, in seconds')
exceedlimit = xahighpingkick.setting.createVariable(
    'ping_exceedlimit', 3,
Exemplo n.º 29
0
import es
import popuplib
import playerlib
from xa import xa

#plugin information
info = es.AddonInfo()
info.name           = "Bot Management"
info.version        = "0.1.1"
info.author         = "GODJonez"
info.basename       = "xabotmanagement"

xabotmanagement     = xa.register(info.basename)
xalanguage          = xabotmanagement.language.getLanguage()

xabmmenu = None
menu_display = {
    'state': False,
    'displays': {},
    }
menu_actions = {}

def load():
    '''
Load Function for Bot Management in XA
Called automatically when loading this script
    '''
    global xabmmenu
    xabmmenu = popuplib.easymenu("xabotmanagementmenu", None, _select_action)
    xabmmenu.settitle(xalanguage["bot management"])
    xabotmanagement.addMenu("xabotmanagementmenu", xalanguage["manage bots"], "xabotmanagementmenu", "manage_bots", "ADMIN")
Exemplo n.º 30
0
1.3.1 | [FULL] | 16/02/2008 | Fixed a bunch of minor errors in player_team, commented out global variable
1.3.2 | [FULL] | 13/05/2008 | Fixed typo in player_team method/event
1.3.1 | [FULL] | 22/02/2009 | Fixed a chance where a key error could happen when a player would be checked before added to the dictionary.
--Future--
 #  |  Status       | Desc

1.5 | [UNSTARTED]   | Add other features, provide admin notification / features, add further config options
'''

# the dictionary to track blinded players
blinded = {}
# same idea but for spectators
spec_blinded = {}

# Register the module
ghosting = xa.register(info.basename)

# Grab the languages file using the XA langlib wrapper
text = ghosting.language.getLanguage()

# Public variable for version
#es.ServerVar("xa_blind_ip_ghosters_ver",str(info.version), "Blind IP Ghosters, version").makepublic()
'''
Internal classes
'''


class Player(playerlib.Player):
    '''
    Extends playerlib.Player to provide special functions
    '''
Exemplo n.º 31
0
import es
import playerlib
import popuplib
from xa import xa

#plugin information
info = es.AddonInfo()
info.name           = "Settings"
info.version        = "0.1"
info.author         = "Hunter"
info.basename       = "xasettings"

setting_object = {}

xasettings                  = xa.register(info.basename)
xalanguage                  = xasettings.language.getLanguage()

def load():
    #Load Function for Player Settings for XA.    
    xasettingmenu = popuplib.easymenu("xasettingmenu", "_tempcore", _select_setting)
    xasettingmenu.settitle(xalanguage["player settings"])
    xasettings.addMenu("xasettingmenu", xalanguage["player settings"], "xasettingmenu", "change_playersetting", "UNRESTRICTED")
    xacommand = xasettings.addCommand("settings", _send_menu, "change_playersetting", "UNRESTRICTED")
    xacommand.register(["console","say"])

def unload():
    popuplib.delete("xasettingmenu")
    xasettings.unregister()
    
def _send_menu():
    userid = es.getcmduserid()
Exemplo n.º 32
0
    'reserved_ct', 'misc'
]
skinlist = {}
playermenu = {}
skins_downloadable = 1

if xa.isManiMode():
    xaskins_skinfiles_path = xa.gamedir() + "/cfg/mani_admin_plugin/skins/"
else:
    xaskins_skinfiles_path = xa.gamedir() + "/cfg/xa/skins/"

###############
### GLOBALS ###
###############

xaskins = xa.register(info.basename)
xalanguage = xaskins.language.getLanguage()

players = {}
players['exists'] = xaskins.playerdata.createUserSetting("exists")
players['admin_t'] = xaskins.playerdata.createUserSetting("admin_t")
players['admin_ct'] = xaskins.playerdata.createUserSetting("admin_ct")
players['reserved_t'] = xaskins.playerdata.createUserSetting("reserved_t")
players['reserved_ct'] = xaskins.playerdata.createUserSetting("reserved_ct")
players['public_t'] = xaskins.playerdata.createUserSetting("public_t")
players['public_ct'] = xaskins.playerdata.createUserSetting("public_ct")

skins = {}
skins['admin_t_skin'] = xaskins.playerdata.createUserSetting("admin_t_skin")
skins['admin_ct_skin'] = xaskins.playerdata.createUserSetting("admin_ct_skin")
skins['reserved_t_skin'] = xaskins.playerdata.createUserSetting(
Exemplo n.º 33
0
import os
import popuplib
import playerlib
import langlib
from xa import xa

playerlimit = {}

#plugin information
info = es.AddonInfo()
info.name           = "Sounds"
info.version        = "0.2"
info.author         = "Hunter"
info.basename       = "xasounds"

xasounds                            = xa.register(info.basename)
xalanguage                          = xasounds.language.getLanguage()
xaplayerdata_sounds                 = xasounds.playerdata.createUserSetting('sounds')

if xa.isManiMode():
    xasoundslist                    = xasounds.configparser.getAliasList('cfg/mani_admin_plugin/soundlist.txt', True)
else:
    xasoundslist                    = xasounds.configparser.getAliasList('soundlist.txt')

sounds_per_round                    = xasounds.setting.createVariable('sounds_per_round', '0', 'Number of sounds a regulary player can play in the course of a round')
sounds_filter_if_dead               = xasounds.setting.createVariable('sounds_filter_if_dead', '0', '1 = If a player is dead then only other dead players will hear it')
sounds_download                     = xasounds.setting.createVariable('sounds_auto_download', '0', '0 = Don\'t auto download files to client, 1 = automatically download files to client')
sounds_settings                     = xasounds.setting.createVariable('player_settings_sounds', '1', '0 = player settings default to off, 1 = player settings default to on')

def load():
    global mainmenu
Exemplo n.º 34
0
"""
Executes ./cfg/xa/xaprefixexec/<map prefix>.cfg every map
"""

#plugin information
info = es.AddonInfo()
info.name = "Map Prefix cfg"
info.version = "1.1"
info.author = "Unknown"
info.basename = "xaprefixexec"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module
xaprefixexec = xa.register(info.basename)

#######################################
# GLOBALS
# Initialize our general global data here.

str_dir = None  # Directory of the .cfg files

#######################################
# LOAD AND UNLOAD
# Formal system registration and unregistration


def load():
    """
    Ensures the .cfg directories exist
Exemplo n.º 35
0
 -- OY4 --
 * [FIX] silly bug (my fault) where a text sting in the mani cfg was stripped of spaces.. duh!
 -- OY3 --
 * [FIX] reserved slot failing when a player joined
 * [FIX] a missing bracket
 * [TEST] getting it working some more
 -- OY2 --
 * [FIX] a load of dbg msgs
 * [+] cleaned the code slightly
 -- OY1  -- OY
 * [+] released

'''

# Register the module
xareserveslots = xa.register(info.basename)

# Get the lang file
text = xareserveslots.language.getLanguage()

# load the list of reserved players
if xa.isManiMode():
    xaReservedList = xareserveslots.configparser.getList("cfg/mani_admin_plugin/reserveslots.txt", True)
else:
    xaReservedList = None

if not xaReservedList:
    xaReservedList = xareserveslots.configparser.getList("reserved_slots_list.txt")
else:
    xaReservedList.extend(xareserveslots.configparser.getList("reserved_slots_list.txt"))
Exemplo n.º 36
0
import playerlib
import random
from xa import xa

# plugin information
info = es.AddonInfo()
info.name = "Restrict Weapons"
info.version = "1.3"
info.author = "Unknown"
info.basename = "xarestrict"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module
xarestrict = xa.register(info.basename)


#######################################
# SERVER VARIABLES
# The list of our server variables

repickup = xarestrict.setting.createVariable(
    "restrict_restrict_repickup",
    "2",
    "Number of seconds a weapon will be unavaible for pickup after a restricted player attempts to pick the weapon up",
)
removebanned = xarestrict.setting.createVariable(
    "restrict_restrict_removebanned",
    1,
    "0 = no change, 1 = when a player picks up a weapon both team are restricted from the weapon is removed",
Exemplo n.º 37
0
import es
import playerlib
from xa import xa

#plugin information
info = es.AddonInfo() 
info.name     = "Grenade Spam Prevention" 
info.version  = "1.2" 
info.author   = "Unknown"
info.basename = "xanadespam"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module
xanadespam = xa.register(info.basename)


#######################################
# SERVER VARIABLES
# The list of our server variables

punish_strip = xanadespam.setting.createVariable('nadespam_punishment_strip', 0, '0 = do not strip weapons as punishment, 1 = strip weapons as punishment')
punish_cash  = xanadespam.setting.createVariable('nadespam_punishment_cash', 0, '0 = do not remove cash as punishment, 1 = remove cash as punishment')
punish_slay  = xanadespam.setting.createVariable('nadespam_punishment_slay', 0, '0 = do not slay as punishment, 1 = slay as punishment')
punish_kick  = xanadespam.setting.createVariable('nadespam_punishment_kick', 0, '0 = do not kick as punishment, 1 = kick as punishment')

dict_grenade_limits = {'hegrenade':xanadespam.setting.createVariable('nadespam_limit_he', 1, 'Maximum number of HE grenades players may purchase per round'), 'flashbang':xanadespam.setting.createVariable('nadespam_limit_flashbang', 2, 'Maximum number of flashbangs players may purchase per round'), 'smokegrenade':xanadespam.setting.createVariable('nadespam_limit_smoke', 1, 'Maximum number of smoke grenades players may purchase per round')}


#######################################
Exemplo n.º 38
0
import os
import popuplib
import playerlib
import langlib
from xa import xa

playerlimit = {}

#plugin information
info = es.AddonInfo()
info.name = "Sounds"
info.version = "0.2"
info.author = "Hunter"
info.basename = "xasounds"

xasounds = xa.register(info.basename)
xalanguage = xasounds.language.getLanguage()
xaplayerdata_sounds = xasounds.playerdata.createUserSetting('sounds')

if xa.isManiMode():
    xasoundslist = xasounds.configparser.getAliasList(
        'cfg/mani_admin_plugin/soundlist.txt', True)
else:
    xasoundslist = xasounds.configparser.getAliasList('soundlist.txt')

sounds_per_round = xasounds.setting.createVariable(
    'sounds_per_round', '0',
    'Number of sounds a regulary player can play in the course of a round')
sounds_filter_if_dead = xasounds.setting.createVariable(
    'sounds_filter_if_dead', '0',
    '1 = If a player is dead then only other dead players will hear it')
Exemplo n.º 39
0
skinmenu                = ['Admin T', 'Admin CT', 'Public T', 'Public CT', 'Reserved T', 'Reserved CT', 'Misc']
skinnames               = ['admin_t', 'admin_ct', 'public_t', 'public_ct', 'reserved_t', 'reserved_ct', 'misc']
skinlist                = {}
playermenu              = {}
skins_downloadable      = 1

if xa.isManiMode():
    xaskins_skinfiles_path  = xa.gamedir() + "/cfg/mani_admin_plugin/skins/"
else:
    xaskins_skinfiles_path  = xa.gamedir() + "/cfg/xa/skins/"

###############
### GLOBALS ###
###############

xaskins                 = xa.register(info.basename)
xalanguage              = xaskins.language.getLanguage()

players = {}
players['exists']         = xaskins.playerdata.createUserSetting("exists")
players['admin_t']        = xaskins.playerdata.createUserSetting("admin_t")
players['admin_ct']       = xaskins.playerdata.createUserSetting("admin_ct")
players['reserved_t']     = xaskins.playerdata.createUserSetting("reserved_t")
players['reserved_ct']    = xaskins.playerdata.createUserSetting("reserved_ct")
players['public_t']       = xaskins.playerdata.createUserSetting("public_t")
players['public_ct']      = xaskins.playerdata.createUserSetting("public_ct")

skins = {}
skins['admin_t_skin']        = xaskins.playerdata.createUserSetting("admin_t_skin")
skins['admin_ct_skin']       = xaskins.playerdata.createUserSetting("admin_ct_skin")
skins['reserved_t_skin']     = xaskins.playerdata.createUserSetting("reserved_t_skin")
Exemplo n.º 40
0
import es
import popuplib
import playerlib
import cfglib
from xa import xa

import os

#plugin information
info = es.AddonInfo()
info.name = "XA CFG Loader"
info.version = "1"
info.author = "Errant"
info.basename = "xacfgloader"

xacfgl = xa.register(info.basename)
xalanguage = xacfgl.language.getLanguage()

cfg_dir = "%s/cfg" % es.ServerVar("eventscripts_gamedir")


def load():
    menu = _create_menu()
    xacfgl.addMenu('xacfgloader_menu', xalanguage['cfgloader_title'],
                   'xacfgloader_menu', 'xa_cfgloader', 'ADMIN')


def _create_menu():
    if popuplib.exists('xacfgloader_menu'):
        popuplib.delete('xacfgloader_menu')
    menu = popuplib.easymenu("xacfgloader_menu", "_unused", _select_cfg)
Exemplo n.º 41
0
# ./xa/modules/xathetime/xathetime.py

import es
import time
from xa import xa

#plugin information
info = es.AddonInfo()
info.name       = "The Time"
info.version    = "1.0"
info.author     = "Unknown"
info.basename   = "xathetime"

xathetime               = xa.register(info.basename)
adjust_time             = xathetime.setting.createVariable('adjust_time', 0, 'Minutes to add to server clock')
military_time           = xathetime.setting.createVariable('military_time', 0, '0 = use 12hr format, 1 = use 24hr format')
thetime_player_only     = xathetime.setting.createVariable('thetime_player_only', 1, '0 = time is sent to all players on request, 1 = time is only sent to the requesting player')
thetime_timezone        = xathetime.setting.createVariable('thetime_timezone', 'GMT', 'Timezone to display -- DOES NOT AFFECT TIME DISPLAYED')


def load():
    """ """
    xathetime.addCommand('thetime', show_time, 'display_thetime', 'UNRESTRICTED').register(('console', 'say'))


def unload():
    """ """
    xathetime.unregister()


def show_time():
Exemplo n.º 42
0
# XA Imports
from xa import xa

# ==============================================================================
#   ADDON REGISTRATION
# ==============================================================================
# Register with EventScripts
info = es.AddonInfo()
info.name       = 'Admin Give'
info.version    = '1.1'
info.author     = 'freddukes'
info.basename   = 'xaadmingive'

# Register with XA
xaadmingive  			 = xa.register('xaadmingive')
xalanguage 			     = xaadmingive.language.getLanguage()
admingive_anonymous      = xaadmingive.setting.createVariable('admingive_anonymous' , 0, 'Whether or not giving a player a weapon is anonymous... 1 = Anonymous, 0 = Global')
admingive_stripfirst     = xaadmingive.setting.createVariable("admingive_stripfirst", 1, 'Whether or not the target is striped of their weapon before being gave another.\n // Will only strip the same slot as their being given.')

# ==============================================================================
#   GLOBALS
# ==============================================================================
weapons = {}
weapons['pistols']  = set(weaponlib.getWeaponNameList('#pistol'))
weapons['shotguns'] = set(weaponlib.getWeaponNameList('#shotgun'))
weapons['smgs']     = set(weaponlib.getWeaponNameList('#smg'))
weapons['snipers']  = set(weaponlib.getWeaponNameList('#sniper'))
weapons['rifles']   = set(weaponlib.getWeaponNameList('#rifle'))
weapons['rifles']   = weapons['rifles'].difference(weapons['snipers'])
weapons['grenades'] = set(weaponlib.getWeaponNameList('#grenade'))
Exemplo n.º 43
0
import es
from xa import xa

#plugin information
info = es.AddonInfo() 
info.name     = "Admin rcon" 
info.version  = "1.0" 
info.author   = "McFly"
info.basename = "xarcon"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module
xarcon = xa.register(info.basename)


#######################################
# GLOBALS
# We initialize our general global data here.

list_round_rcon = []
list_map_rcon = []


#######################################
# LOAD AND UNLOAD
# Formal system registration and unregistration
def load():
    """Registers the xarcon commands"""
Exemplo n.º 44
0
import es
import playerlib
from xa import xa

#plugin information
info = es.AddonInfo() 
info.name     = "Grenade Spam Prevention" 
info.version  = "1.2" 
info.author   = "Unknown"
info.basename = "xanadespam"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to our module
xanadespam = xa.register(info.basename)


#######################################
# SERVER VARIABLES
# The list of our server variables

punish_strip = xanadespam.setting.createVariable('nadespam_punishment_strip', 0, '0 = do not strip weapons as punishment, 1 = strip weapons as punishment')
punish_cash  = xanadespam.setting.createVariable('nadespam_punishment_cash', 0, '0 = do not remove cash as punishment, 1 = remove cash as punishment')
punish_slay  = xanadespam.setting.createVariable('nadespam_punishment_slay', 0, '0 = do not slay as punishment, 1 = slay as punishment')
punish_kick  = xanadespam.setting.createVariable('nadespam_punishment_kick', 0, '0 = do not kick as punishment, 1 = kick as punishment')

dict_grenade_limits = {'hegrenade':xanadespam.setting.createVariable('nadespam_limit_he', 1, 'Maximum number of HE grenades players may purchase per round'), 'flashbang':xanadespam.setting.createVariable('nadespam_limit_flashbang', 2, 'Maximum number of flashbangs players may purchase per round'), 'smokegrenade':xanadespam.setting.createVariable('nadespam_limit_smoke', 1, 'Maximum number of smoke grenades players may purchase per round')}


#######################################
Exemplo n.º 45
0
info = es.AddonInfo()
info.name           = "Player Punishments"
info.version        = "0.2"
info.author         = "Hunter"
info.basename       = "xapunishments"

punishment_choice = {}
punishment_method = {}
punishment_display = {}
punishment_target = {}
punishment_targetlist = {}
punishment_pmenus = {}
punishment_argc = {}
punishment_cross_ref = {}

xapunishments               = xa.register(info.basename)
xalanguage                  = xapunishments.language.getLanguage()
xa_adminburn_anonymous      = xapunishments.setting.createVariable('adminburn_anonymous', 0, "When an admin burns a player, will the text be cut out from chat?")
xa_adminslap_anonymous      = xapunishments.setting.createVariable('adminslap_anonymous', 0, "When an admin slaps a player, will the text be cut out from chat?")
xa_adminslay_anonymous      = xapunishments.setting.createVariable('adminslay_anonymous', 0, "When an admin slays a player, will the text be cut out from chat?")
xa_admin_burn_time          = xapunishments.setting.createVariable('admin_burn_time', 20, "The amount of time (in seconds) to burna  player for")
xa_slap_to_damage           = xapunishments.setting.createVariable('slap_to_damage', 10, "How much health to slap a player to")

def load():
    #Load Function for Player Settings for XA.
    xapunishmentmenu = popuplib.easymenu("xapunishmentmenu", "_tempcore", _select_punishment)
    xapunishmentmenu.settitle(xalanguage["choose punishment"])
    xapunishments.addMenu("xapunishmentmenu", xalanguage["punish players"], "xapunishmentmenu", "punish_player", "ADMIN")
    
    xapunishtargetmenu = popuplib.easymenu("xapunishtargetmenu", "_tempcore", _select_target)
    xapunishtargetmenu.settitle(xalanguage["choose target"])
Exemplo n.º 46
0
import es
import gamethread
import popuplib
import playerlib

from xa import xa

import psyco
psyco.full()

info = es.AddonInfo()
info.name     = 'Admin Give'
info.version  = '1.0.4'
info.basename = 'xaadmingive'

xaadmingive  			 = xa.register('xaadmingive')
xalanguage 			     = xaadmingive.language.getLanguage()
admingive_anonymous      = xaadmingive.setting.createVariable('admingive_anonymous' , 0, 'Whether or not giving a player a weapon is anonymous... 1 = Anonymous, 0 = Global')
admingive_stripfirst     = xaadmingive.setting.createVariable("admingive_stripfirst", 1, 'Whether or not the target is striped of their weapon before being gave another.\n // Will only strip the same slot as their being given.')

pistols  = ('usp','glock','p228','deagle','elite','fiveseven')
shotguns = ('m3','xm1014')
smgs     = ('tmp','mac10','mp5navy','ump45','p90')
rifles   = ('famas','galil','ak47','m4a1','sg552','aug')
snipers  = ('scout','sg550','g3sg1','awp')
grenades = ('hegrenade','smokegrenade','flashbang')
items    = ('vest','vesthelm','nvgs','c4','defuser')
admins   = {}
gamename = str(es.ServerVar('eventscripts_gamedir')).replace('\\', '/').split('/')[~0]

####################
Exemplo n.º 47
0
import es
import playerlib
from xa import xa

info                = es.AddonInfo() 
info.name           = "Extended Admin Say" 
info.version        = "0.2" 
info.author         = "freddukes" 
info.basename       = "xaextendedsay" 

xaextendedsay = xa.register(info.basename) 
xalanguage    = xaextendedsay.language.getLanguage() 

def load():
    xaextendedsay.addRequirement("xasay")
    xaextendedsay.xasay.registerSayPrefix("@@" , _admin_say_tell, "admin_tell", "ADMIN")
    xaextendedsay.xasay.registerSayPrefix("@@@", _admin_say_center, "admin_say", "ADMIN")

def unload():
    xaextendedsay.delRequirement("xasay")
    xaextendedsay.unregister() 
    
def _admin_say_tell(adminid, message, teamonly):
    position = 0 
    tokens = {}
    username = ''
    messagetokens = message.split()
    if not messagetokens:
        return
    if messagetokens[0].startswith('"') and message.count('"') >= 2:
        for part in messagetokens:
Exemplo n.º 48
0
import es
import playerlib
import popuplib
from xa import xa

#plugin information
info = es.AddonInfo()
info.name = "Settings"
info.version = "0.1"
info.author = "Hunter"
info.basename = "xasettings"

setting_object = {}

xasettings = xa.register(info.basename)
xalanguage = xasettings.language.getLanguage()


def load():
    #Load Function for Player Settings for XA.
    xasettingmenu = popuplib.easymenu("xasettingmenu", "_tempcore",
                                      _select_setting)
    xasettingmenu.settitle(xalanguage["player settings"])
    xasettings.addMenu("xasettingmenu", xalanguage["player settings"],
                       "xasettingmenu", "change_playersetting", "UNRESTRICTED")
    xacommand = xasettings.addCommand("settings", _send_menu,
                                      "change_playersetting", "UNRESTRICTED")
    xacommand.register(["console", "say"])


def unload():
Exemplo n.º 49
0
#######################################
# ADDON INFORMATION
# This describes the XA module
info = es.AddonInfo()
info.name           = "Say"
info.version        = "0.2"
info.author         = "Mattie"
info.basename       = "xasay"


#######################################
# MODULE SETUP
# Register the module
# this is a global reference to your module
xasay = xa.register(info.basename)


#######################################
# SERVER VARIABLES
# The list of our my server variables
say_admin_prefix = xasay.setting.createVariable('say_admin_prefix', '@', "Prefix for admin chat")
say_admin_soundfile = xasay.setting.createVariable('say_admin_soundfile', 'ui/buttonclick.wav', "Determines the sound played with an admin say.")
# normal admin say
# normal

#######################################
# GLOBALS
# Initialize our general global data here.
# Localization helper:
text = xasay.language.getLanguage()
Exemplo n.º 50
0
ToDo: 

-Add option in admin menu to cancel RTV 
-Option & command for refreshing variables 
-Admin & Server command to cancel RTV 
-Output to server console (logging excluded) 
-mapchange protection 
-find a better way to open the mapfiles 
-german translation of strings.ini (0.02) 

Notes: 

''' 

xartv = xa.register(info.basename) 

vote_req_time       = xartv.setting.createVariable('vote_time_before_rock_the_vote',           120, "Time before rockthevote can be started after a new map starts in seconds")  
vote_maps           = xartv.setting.createVariable('vote_rock_the_vote_number_of_maps',          6, "Number of random maps chosen from the votelist after nominations have been taken into account.")
vote_req_p          = xartv.setting.createVariable('vote_vote_rock_the_vote_threshold_percent', 60, "Percentage of players on server required to type rockthevote before it starts (min 1, max 100)") 
vote_req_min        = xartv.setting.createVariable('vote_rock_the_vote_threshold_minimum',       4, "Minimum number of players required to type rockthevote before it starts")

if int(vote_req_min) < 1:
    vote_req_min = 4
     
if not 1 < int(vote_req_p) < 100: 
    vote_req_p = 60
     
if int(vote_maps) < 1:
    vote_maps = 6 
Exemplo n.º 51
0
class connection(object):
    def __init__(self,path):
        self.con = sqlite.connect(path)
        self.cur = self.con.cursor()
    def execute(self,sql):
        self.cur.execute(sql)
        self.con.commit()
    def query(self,sql):
        self.cur.execute(sql)
        return self.cur.fetchall()
    def close(self):
        self.con.close()


xaauthmanage = xa.register(info.basename)
lang = xaauthmanage.language.getLanguage()

auth = services.use('auth')
authaddon = auth.name
if authaddon not in ('group_auth','basic_auth'):
    raise ImportError('Unsupported Auth Provider!')

prefix = '#green[AuthManage]#default'

###################################################
#      EVENTS

def load():
    es.dbgmsg(1,'*****authmanage load')
    xaauthcmd = xaauthmanage.addCommand('xa_auth', _sendmain, 'manage_auth', 'ADMIN')
Exemplo n.º 52
0
    "cs_office",
    "de_aztec",
    "de_cbble",
    "de_chateau",
    "de_dust",
    "de_dust2",
    "de_inferno",
    "de_nuke",
    "de_piranesi",
    "de_port",
    "de_prodigy",
    "de_tides",
    "de_train",
)

xamapmanagement = xa.register("xamapmanagement")
xalanguage = xamapmanagement.language.getLanguage()
xa_announce_setnextmap = xamapmanagement.setting.createVariable(
    "announce_setnextmap", 1, "Announce that a new map has been set in chat to all players?"
)

nextmapvar = es.ServerVar("eventscripts_nextmapoverride")


def load():
    xamapmainmenu = popuplib.easymenu("xamapmainmenu", None, xamapmainmenu_handler)
    xamapmainmenu.settitle(xalanguage["map management"])
    xamapmainmenu.addoption("changemap", xalanguage["change map"])
    xamapmainmenu.addoption("setnextmap", xalanguage["set map"])
    xamapmanagement.addMenu("xamapmainmenu", xalanguage["map management"], "xamapmainmenu", "manage_maps", "ADMIN")
    xamapmanagement.addCommand("nextmap", show_nextmap, "use_nextmap", "UNRESTRICTED").register(("console", "say"))
Exemplo n.º 53
0
import es
import time
from xa import xa

#plugin information
info = es.AddonInfo()
info.name       = "Timeleft"
info.version    = "1.2"
info.author     = "Unknown"
info.basename   = "xatimeleft"

#######################################
# MODULE SETUP
# Register the module
# this is a global reference to your module
xatimeleft = xa.register(info.basename)


startTime          = 0
playersConnected   = False
reset              = True

def load():
    """ Initialize and register the module with XA Core """
    xatimeleft.addCommand('timeleft', timeleft_cmd, 'display_timeleft', 'UNRESTRICTED').register(('console', 'say'))
    
    """ If XA loads late, then send es_map_start event to load the start time """
    if str(es.ServerVar('eventscripts_currentmap')) != "":
        es_map_start({})

Exemplo n.º 54
0
import es
import usermsg
import playerlib
from xa import xa
#plugin information
info = es.AddonInfo()
info.name = "Most Destructive"
info.version = "1.0"
info.author = "SumGuy14"
info.basename = "xamostdestructive"
gPlayerInfo = {}
# Make a global dictionary to track things in
# register module with XA
xamostdestructive = xa.register('xamostdestructive')
xalanguage = xamostdestructive.language.getLanguage()

def unload():
    xamostdestructive.unregister()

def round_start(event_var):
    gPlayerInfo.clear()
    players = playerlib.getUseridList("#all")
    for userid in players:
        gPlayerInfo[userid] = [0, 0]
        ####################
        # [0] = Damage done
        # [1] = Kills
        ####################

def player_hurt(event_var):