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])
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)
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
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)
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)
def cmd_exec(_, arg): try: exec arg except Exception, e: debuglog.error(e.message)
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)
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)