Ejemplo n.º 1
0
def drop_item(_, arg):
    '''/drop <amount> <name or id>'''
    s = arg.split(None, 1)

    try:
        amount = int(s[0])
    except ValueError:
        debuglog.warning('Usage: /drop <amount> <name or id>')
        return

    item_id = -10
    item_db = itemdb.item_names

    try:
        item_id = int(s[1])
    except ValueError:
        for id_, name in item_db.iteritems():
            if name == s[1]:
                item_id = id_

    if item_id < 0:
        debuglog.warning("Unknown item: %s", s[1])
        return

    index = get_item_index(item_id)
    if index > 0:
        mapserv.cmsg_player_inventory_drop(index, amount)
    else:
        debuglog.error("You don't have %s", s[1])
Ejemplo n.º 2
0
def drop_item(_, arg):
    '''/drop <amount> <name or id>'''
    s = arg.split(None, 1)

    try:
        amount = int(s[0])
    except ValueError:
        debuglog.warning('Usage: /drop <amount> <name or id>')
        return

    item_id = -10
    item_db = itemdb.item_names

    try:
        item_id = int(s[1])
    except ValueError:
        for id_, name in item_db.iteritems():
            if name == s[1]:
                item_id = id_

    if item_id < 0:
        debuglog.warning("Unknown item: %s", s[1])
        return

    index = get_item_index(item_id)
    if index > 0:
        mapserv.cmsg_player_inventory_drop(index, amount)
    else:
        debuglog.error("You don't have %s", s[1])
Ejemplo n.º 3
0
def item_action(cmd, name_or_id):
    '''/use <item>
/equip <item>
/unequip <item>
item can be either item name or ID'''
    item_id = -10
    item_db = itemdb.item_names

    try:
        item_id = int(name_or_id)
    except ValueError:
        for id_, name in item_db.iteritems():
            if name == name_or_id:
                item_id = id_

    if item_id < 0:
        debuglog.warning("Unknown item: %s", name_or_id)
        return

    index = get_item_index(item_id)
    if index > 0:
        if cmd == 'use':
            mapserv.cmsg_player_inventory_use(index, item_id)
        elif cmd == 'equip':
            mapserv.cmsg_player_equip(index)
        elif cmd == 'unequip':
            mapserv.cmsg_player_unequip(index)
    else:
        debuglog.error("You don't have %s", name_or_id)
Ejemplo n.º 4
0
def item_action(cmd, name_or_id):
    '''/use <item>
/equip <item>
/unequip <item>
item can be either item name or ID'''
    item_id = -10
    item_db = itemdb.item_names

    try:
        item_id = int(name_or_id)
    except ValueError:
        for id_, name in item_db.iteritems():
            if name == name_or_id:
                item_id = id_

    if item_id < 0:
        debuglog.warning("Unknown item: %s", name_or_id)
        return

    index = get_item_index(item_id)
    if index > 0:
        if cmd == 'use':
            mapserv.cmsg_player_inventory_use(index, item_id)
        elif cmd == 'equip':
            mapserv.cmsg_player_equip(index)
        elif cmd == 'unequip':
            mapserv.cmsg_player_unequip(index)
    else:
        debuglog.error("You don't have %s", name_or_id)
Ejemplo n.º 5
0
def cmd_npcinput(_, arg):
    if npc_id < 0:
        return

    global input_type

    if input_type in ('int', 'select'):
        try:
            n = int(arg)
        except ValueError, e:
            debuglog.error(e.message)
            return
Ejemplo n.º 6
0
def cmd_npcinput(_, arg):
    if npc_id < 0:
        return

    global input_type

    if input_type in ('int', 'select'):
        try:
            n = int(arg)
        except ValueError, e:
            debuglog.error(e.message)
            return
Ejemplo n.º 7
0
def item_use(_, name_or_id):
    item_id = -10
    item_db = itemdb.item_names

    try:
        item_id = int(name_or_id)
    except ValueError:
        for id_, name in item_db.iteritems():
            if name == name_or_id:
                item_id = id_

    if item_id < 0:
        debuglog.warning("Unknown item: %s", name_or_id)
        return

    index = get_item_index(item_id)
    if index > 0:
        mapserv.cmsg_player_inventory_use(index, item_id)
    else:
        debuglog.error("You don't have %s", name_or_id)
Ejemplo n.º 8
0
def reload_function(name, delay):
    def recurs_import(name):
        m = __import__(name)
        for n in name.split('.')[1:]:
            m = getattr(m, n)
        return m

    ss = name.rsplit('.', 1)

    if len(ss) == 1:
        ss.insert(0, 'net.mapserv')
        name = 'net.mapserv.' + name

    try:
        module = recurs_import(ss[0])
        func_name = ss[1]
        reloaded_functions[name] = getattr(module, func_name)
        setattr(module, func_name, delayed_function(name, delay))
        debuglog.debug('function %s wrapped with delay %d', name, delay)

    except Exception as e:
        debuglog.error('error wrapping function %s: %s', name, e)
Ejemplo n.º 9
0
def reload_function(name, delay):

    def recurs_import(name):
        m = __import__(name)
        for n in name.split('.')[1:]:
            m = getattr(m, n)
        return m

    ss = name.rsplit('.', 1)

    if len(ss) == 1:
        ss.insert(0, 'net.mapserv')
        name = 'net.mapserv.' + name

    try:
        module = recurs_import(ss[0])
        func_name = ss[1]
        reloaded_functions[name] = getattr(module, func_name)
        setattr(module, func_name, delayed_function(name, delay))
        debuglog.debug('function %s wrapped with delay %d', name, delay)

    except Exception as e:
        debuglog.error('error wrapping function %s: %s', name, e)
Ejemplo n.º 10
0
def cmd_exec(_, arg):
    try:
        exec arg
    except Exception, e:
        debuglog.error(e.message)
Ejemplo n.º 11
0
def cmd_exec(_, arg):
    try:
        exec arg
    except Exception, e:
        debuglog.error(e.message)
Ejemplo n.º 12
0
def connection_problem(data):
    error_codes = {2: "Account already in use"}
    msg = error_codes.get(data.code, str(data.code))
    debuglog.error('Connection problem: %s', msg)
Ejemplo n.º 13
0
def connection_problem(data):
    error_codes = {
        2 : "Account already in use"
    }
    msg = error_codes.get(data.code, str(data.code))
    debuglog.error('Connection problem: %s', msg)