def copy_user(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} be_copy_character_obj = tb_character_info.getObj(int(args.get('be_copy_uid'))) if not be_copy_character_obj.exists(): return {'success': 0, 'message': 2} be_copy_character_info = be_copy_character_obj.hgetall() character_obj.hmset(be_copy_character_info) return {'success': 1}
def copy_user(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} be_copy_character_obj = tb_character_info.getObj( int(args.get('be_copy_uid'))) if not be_copy_character_obj.exists(): return {'success': 0, 'message': 2} be_copy_character_info = be_copy_character_obj.hgetall() character_obj.hmset(be_copy_character_info) return {'success': 1}
def reset_star_gift(args): uids = tb_character_info.smem('all') for uid in uids: character_obj = tb_character_info.getObj(uid) data = {'award_info': {}} character_obj.hmset(data) return {"success": 1}
def get_user_heros(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} message = {} char_obj = character_obj.getObj('heroes') heros = char_obj.hgetall() for hid, data in heros.items(): hero_mes = {} hero_mes['level'] = data['level'] hero_mes['exp'] = data['exp'] hero_mes['break_level'] = data['break_level'] hero_mes['refine'] = data['refine'] if data['is_guard']: hero_mes['is_guard'] = 1 else: hero_mes['is_guard'] = 0 if data['is_online']: hero_mes['is_online'] = 1 else: hero_mes['is_online'] = 0 message[data['hero_no']] = hero_mes return {'success': 1, 'message': message}
def get_user_guild_info(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} guild_id = character_obj.hget('guild_id') if guild_id == 'no': return {'success': 0, 'message': 2} message = {} position = character_obj.hget('position') contribution = character_obj.hget('contribution') all_contribution = character_obj.hget('all_contribution') k_num = character_obj.hget('k_num') worship = character_obj.hget('worship') worship_time = character_obj.hget('worship_time') exit_time = character_obj.hget('exit_time') message = { 'guild_id': guild_id, 'position': position, 'contribution': contribution, 'all_contribution': all_contribution, 'k_num': k_num, 'worship': worship, 'worship_time': worship_time, 'exit_time': exit_time } return {'success': 1, 'message': message}
def get_user_guild_info(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} guild_id = character_obj.hget('guild_id') if guild_id == 'no': return {'success': 0, 'message': 2} message = {} position = character_obj.hget('position') contribution = character_obj.hget('contribution') all_contribution = character_obj.hget('all_contribution') k_num = character_obj.hget('k_num') worship = character_obj.hget('worship') worship_time = character_obj.hget('worship_time') exit_time = character_obj.hget('exit_time') message = {'guild_id': guild_id, 'position': position, 'contribution': contribution, 'all_contribution': all_contribution, 'k_num': k_num, 'worship': worship, 'worship_time': worship_time, 'exit_time': exit_time} return {'success': 1, 'message': message}
def ban_speak(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} closure = character_obj.hget('gag') data = {'gag': int(args['lock_time'])} character_obj.hmset(data) return {'success': 1}
def get_user_finances(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} finances = character_obj.hget('finances') del finances[0] return {'success': 1, 'message': finances}
def get_user_items(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} items = character_obj.hget('items') message = {} if items: for no, num in items.items(): message[no] = num return {'success': 1, 'message': message}
def get_user_eq_chips(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} equipment_chips = character_obj.hget('equipment_chips') message = {} if equipment_chips: for no, num in equipment_chips.items(): message[no] = num return {'success': 1, 'message': message}
def get_user_hero_chips(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} hero_chips_data = character_obj.hget('hero_chips') message = {} if hero_chips_data: for no, num in hero_chips_data.items(): message[no] = num return {'success': 1, 'message': message}
def get_user_eqs(args): character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} message = {} # eqs = character_obj.hget('equipments') char_obj = character_obj.getObj('equipments') eqs = char_obj.hgetall() for hid, data in eqs.items(): equipment_info = data.get('equipment_info') equipment_id = data.get('id') eq_mes = {} eq_mes['eq_no'] = equipment_info['equipment_no'] eq_mes['slv'] = equipment_info['slv'] eq_mes['alv'] = equipment_info['alv'] eq_mes['prefix'] = equipment_info['prefix'] message[equipment_id] = eq_mes return {'success': 1, 'message': message}
def modify_user_info(args): # oldvcharacter = VCharacterManager().get_by_id(int(args.get('uid'))) # if oldvcharacter: # args = (args.get('command'), oldvcharacter.dynamic_id, # cPickle.dumps(args)) # child_node = groot.child(oldvcharacter.node) # return child_node.callbackChild(*args) # else: if not args['attr_name'] or not args['attr_value']: return {'success': 0, 'message': 5} character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} if args['attr_name'] == 'user_level': data = {'level': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'newbee_guide': data = {'current_newbee_guide': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'vip_level': data = {'vip_level': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'user_exp': data = {'exp': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'buy_stamina_times': stamina_data = character_obj.hget('stamina') stamina = Stamina_DB() stamina.ParseFromString(stamina_data) stamina.buy_stamina_times = int(args['attr_value']) data = {'stamina': stamina.SerializeToString()} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'stamina': finance = character_obj.hget('finances') finance[7] = int(args['attr_value']) data = {'finances': finance} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'stage1': return {'success': 0} stage_ids = args['attr_value'].split(';') for stage_id in stage_ids: stage_id = int(stage_id) stages = character_obj.hget('stage_info') stage_info = game_configs.stage_config.get('stages').get(stage_id) if not stage_info: return {'success': 0, 'message': 4} if not next_stages.get(stage_id): return {'success': 0, 'message': 4} if game_configs.stage_config.get('stages').get( stage_id)['type'] != 1: return {'success': 0, 'message': 4} stage_objs = {} for stage_id_a, stage in stages.items(): stage_objs[stage_id_a] = Stage.loads(stage) stage_obj = get_stage(stage_objs, stage_id) stage_obj.state = 1 elif args['attr_name'] == 'stage': stage_id = int(args['attr_value']) attr_value = int(args['attr_value']) stages = character_obj.hget('stage_info') next_stages = game_configs.stage_config.get('condition_mapping') stage_info = game_configs.stage_config.get('stages').get(stage_id) if not stage_info: return {'success': 0, 'message': 4} if not next_stages.get(stage_id): return {'success': 0, 'message': 4} if game_configs.stage_config.get('stages').get(stage_id)['type'] != 1: return {'success': 0, 'message': 4} stage_objs = {} for stage_id_a, stage in stages.items(): stage_objs[stage_id_a] = Stage.loads(stage) stage_obj = get_stage(stage_objs, stage_id) stage_obj.state = -1 first_stage_id = game_configs.stage_config.get('first_stage_id') stage_id_a = stage_id while True: if not next_stages.get(stage_id_a): break for stage in [ get_stage(stage_objs, stage_id_1) for stage_id_1 in next_stages.get(stage_id_a) ]: stage.state = -2 for stage_id_1 in next_stages.get(stage_id_a): if game_configs.stage_config.get('stages').get( stage_id_1)['type'] == 1: stage_id_a = stage_id_1 break else: break while True: the_last_stage_id = game_configs.stage_config.get('stages').get( stage_id)['condition'] stage_obj = get_stage(stage_objs, stage_id) stage_obj.state = 1 if next_stages.get(the_last_stage_id): for stage in [ get_stage(stage_objs, stage_id_1) for stage_id_1 in next_stages.get(the_last_stage_id) ]: if stage_id != stage.stage_id: stage.state = -1 if stage_id == first_stage_id: break else: stage_id = the_last_stage_id stage_obj = get_stage(stage_objs, attr_value) stage_obj.state = -1 if game_configs.stage_config.get('stages').get( attr_value)['section'] == 1: chapter_id = game_configs.stage_config.get('stages').get( attr_value)['chapter'] else: chapter_id = game_configs.stage_config.get('stages').get( attr_value)['chapter'] + 1 data = { 'stage_progress': attr_value, 'stage_info': dict([(stage_id, stage.dumps()) for stage_id, stage in stage_objs.iteritems()]), 'plot_chapter': chapter_id } character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'nickname': nickname = args['attr_value'] match = re.search(u'[\uD800-\uDBFF][\uDC00-\uDFFF]', nickname) if match: return {'success': 0, 'message': 2} if trie_tree.check.replace_bad_word(nickname) != nickname: return {'success': 0, 'message': 2} nickname_obj = tb_character_info.getObj('nickname') result = nickname_obj.hsetnx(args['attr_value'], args['uid']) if result: data = {'nickname': args['attr_value']} character_obj.hmset(data) return {'success': 1} else: return {'success': 0, 'message': 0} else: return {'success': 0, 'message': 3}
def modify_user_info(args): # oldvcharacter = VCharacterManager().get_by_id(int(args.get('uid'))) # if oldvcharacter: # args = (args.get('command'), oldvcharacter.dynamic_id, # cPickle.dumps(args)) # child_node = groot.child(oldvcharacter.node) # return child_node.callbackChild(*args) # else: if not args['attr_name'] or not args['attr_value']: return {'success': 0, 'message': 5} character_obj = tb_character_info.getObj(int(args.get('uid'))) if not character_obj.exists(): return {'success': 0, 'message': 1} if args['attr_name'] == 'user_level': data = {'level': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'newbee_guide': data = {'newbee_guide_id': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'vip_level': data = {'vip_level': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'user_exp': data = {'exp': int(args['attr_value'])} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'buy_stamina_times': stamina_data = character_obj.hget('stamina') stamina = Stamina_DB() stamina.ParseFromString(stamina_data) stamina.buy_stamina_times = int(args['attr_value']) data = {'stamina': stamina.SerializeToString()} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'stamina': finance = character_obj.hget('finances') finance[7] = int(args['attr_value']) data = {'finances': finance} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'stage1': return {'success': 0} stage_ids = args['attr_value'].split(';') for stage_id in stage_ids: stage_id = int(stage_id) stages = character_obj.hget('stage_info') stage_info = game_configs.stage_config.get('stages').get(stage_id) if not stage_info: return {'success': 0, 'message': 4} if not next_stages.get(stage_id): return {'success': 0, 'message': 4} if game_configs.stage_config.get('stages').get(stage_id)['type'] != 1: return {'success': 0, 'message': 4} stage_objs = {} for stage_id_a, stage in stages.items(): stage_objs[stage_id_a] = Stage.loads(stage) stage_obj = get_stage(stage_objs, stage_id) stage_obj.state = 1 elif args['attr_name'] == 'stage': stage_id = int(args['attr_value']) attr_value = int(args['attr_value']) stages = character_obj.hget('stage_info') next_stages = game_configs.stage_config.get('condition_mapping') stage_info = game_configs.stage_config.get('stages').get(stage_id) if not stage_info: return {'success': 0, 'message': 4} if not next_stages.get(stage_id): return {'success': 0, 'message': 4} if game_configs.stage_config.get('stages').get(stage_id)['type'] != 1: return {'success': 0, 'message': 4} stage_objs = {} for stage_id_a, stage in stages.items(): stage_objs[stage_id_a] = Stage.loads(stage) stage_obj = get_stage(stage_objs, stage_id) stage_obj.state = -1 first_stage_id = game_configs.stage_config.get('first_stage_id') stage_id_a = stage_id while True: if next_stages.get(stage_id): for stage in [get_stage(stage_objs, stage_id_1) for stage_id_1 in next_stages.get(stage_id_a)]: stage.state = -2 for stage_id_1 in next_stages.get(stage_id_a): if game_configs.stage_config.get('stages').get(stage_id_1)['type'] == 1: stage_id_a = stage_id_1 break else: break else: logger.error('modify_user_info,stage,stageid:', stage_id) return {'success': 0, 'message': 4} while True: the_last_stage_id = game_configs.stage_config.get('stages').get(stage_id)['condition'] stage_obj = get_stage(stage_objs, stage_id) stage_obj.state = 1 if next_stages.get(the_last_stage_id): for stage in [get_stage(stage_objs, stage_id_1) for stage_id_1 in next_stages.get(the_last_stage_id)]: if stage_id != stage.stage_id: stage.state = -1 if stage_id == first_stage_id: break else: stage_id = the_last_stage_id stage_obj = get_stage(stage_objs, attr_value) stage_obj.state = -1 if game_configs.stage_config.get('stages').get(attr_value)['section'] == 1: chapter_id = game_configs.stage_config.get('stages').get(attr_value)['chapter'] else: chapter_id = game_configs.stage_config.get('stages').get(attr_value)['chapter'] + 1 data = {'stage_progress': attr_value, 'stage_info': dict([(stage_id, stage.dumps()) for stage_id, stage in stage_objs.iteritems()]), 'plot_chapter': chapter_id} character_obj.hmset(data) return {'success': 1} elif args['attr_name'] == 'nickname': nickname = args['attr_value'] match = re.search(u'[\uD800-\uDBFF][\uDC00-\uDFFF]', nickname) if match: return {'success': 0, 'message': 2} if trie_tree.check.replace_bad_word(nickname) != nickname: return {'success': 0, 'message': 2} nickname_obj = tb_character_info.getObj('nickname') result = nickname_obj.hsetnx(args['attr_value'], args['uid']) if result: data = {'nickname': args['attr_value']} character_obj.hmset(data) return {'success': 1} else: return {'success': 0, 'message': 0} else: return {'success': 0, 'message': 3}
def get_user_info(args): if args['search_type'] == '1': character_obj = tb_character_info.getObj(args['search_value']) isexist = character_obj.exists() elif args['search_type'] == '2': nickname_obj = tb_character_info.getObj('nickname') isexist = nickname_obj.hexists(args['search_value']) pid = nickname_obj.hget(args['search_value']) character_obj = tb_character_info.getObj(pid) elif args['search_type'] == '3': uuid = args['search_value'] sql_result = util.GetOneRecordInfo('tb_account', dict(uuid=uuid)) if sql_result is not None: pid = sql_result['id'] character_obj = tb_character_info.getObj(pid) isexist = character_obj.exists() else: return {'success': 0, 'message': 3} else: return {'success': 0, 'message': 1} if not isexist: return {'success': 0, 'message': 2} character_info = character_obj.hmget([ 'nickname', 'attackPoint', 'heads', 'upgrade_time', 'level', 'id', 'exp', 'vip_level', 'register_time', 'upgrade_time', 'guild_id', 'position', 'finances', 'recharge_accumulation', 'gen_balance' ]) finances = character_info['finances'] if character_info['guild_id'] == 'no': position = 0 guild_name = '' guild_id = '' else: guild_id = character_info['guild_id'] guild_obj = tb_guild_info.getObj(guild_id) if guild_obj.exists(): guild_info = guild_obj.hmget(['name']) position = character_info['position'] guild_name = guild_info['name'] else: position = 0 guild_name = '' return { 'success': 1, 'message': { 'uid': character_info['id'], 'nickname': character_info['nickname'], 'level': character_info['level'], 'exp': character_info['exp'], 'vip_level': character_info['vip_level'], 'register_time': character_info['register_time'], 'recently_login_time': character_info['upgrade_time'], 'guild_id': guild_id, 'guild_name': guild_name, 'gold': finances[2], 'gold_all_cost': finances[9], 'gold_all_recharge': character_info['recharge_accumulation'], 'gold_all_send': character_info['gen_balance'], 'position': position } }
def get_user_info(args): if args['search_type'] == '1': character_obj = tb_character_info.getObj(args['search_value']) isexist = character_obj.exists() elif args['search_type'] == '2': nickname_obj = tb_character_info.getObj('nickname') isexist = nickname_obj.hexists(args['search_value']) pid = nickname_obj.hget(args['search_value']) character_obj = tb_character_info.getObj(pid) elif args['search_type'] == '3': uuid = args['search_value'] sql_result = util.GetOneRecordInfo('tb_account', dict(uuid=uuid)) if sql_result is not None: pid = sql_result['id'] character_obj = tb_character_info.getObj(pid) isexist = character_obj.exists() else: return {'success': 0, 'message': 3} else: return {'success': 0, 'message': 1} if not isexist: return {'success': 0, 'message': 2} finances = character_obj.hget('finances') character_info = character_obj.hmget(['nickname', 'attackpoint', 'heads', 'upgrade_time', 'level', 'id', 'exp', 'vip_level', 'register_time', 'upgrade_time', 'guild_id', 'position', 'finances', 'recharge_accumulation', 'gen_balance']) finances = character_info['finances'] if character_info['guild_id'] == 'no': position = 0 guild_name = '' guild_id = '' else: guild_id = character_info['guild_id'] guild_obj = tb_guild_info.getObj(guild_id) if guild_obj.exists(): guild_info = guild_obj.hmget(['name']) position = character_info['position'] guild_name = guild_info['name'] else: position = 0 guild_name = '' return {'success': 1, 'message': {'uid': character_info['id'], 'nickname': character_info['nickname'], 'level': character_info['level'], 'exp': character_info['exp'], 'vip_level': character_info['vip_level'], 'register_time': character_info['register_time'], 'recently_login_time': character_info['upgrade_time'], 'guild_id': guild_id, 'guild_name': guild_name, 'gold': finances[2], 'gold_all_cost': finances[9], 'gold_all_recharge': character_info['recharge_accumulation'], 'gold_all_send': character_info['gen_balance'], 'position': position}}