def acceptSystemReward(playerId,sysRewardId): if not str(sysRewardId): return {'status':0,'msg':'no sysRewardId'} player = db_tool.__getPlayerById(playerId) system_reward = player['system_reward'] system_reward_list = str2list(system_reward) if str(sysRewardId) in system_reward_list: #更新领取状态 system_reward_list.remove(str(sysRewardId)) db_tool.__updatePlayer(playerId,{'system_reward':list2str(system_reward_list)}) #给与奖励 for systemReward in SYSTEM_REWARD_CONFIG[sysRewardId]: system_reward_type = systemReward['type'] system_reward_num = systemReward['num'] db_tool.addPropAndMoney(playerId,system_reward_type,system_reward_num) propDict = db_tool.getAllProp(playerId) player = db_tool.__getPlayerById(playerId) return {'status':1,'sysRewardId':sysRewardId,'player':player,'bag':propDict} else: return {'status':0,'msg':'no sysRewardId '+str(sysRewardId)}
def updateGuide(id,guide_id): bool= db_tool.__updatePlayer(id,{"guide":guide_id}); if(bool): #做完新手导读 if(guide_id == GUIDE_STEP['totalsteps']): reward = [] for rewardType in GUIDE_CONFIG.keys(): db_tool.addPropAndMoney(id,rewardType,GUIDE_CONFIG[rewardType]) #format retval = {} retval['definationID'] = rewardType retval['num'] = GUIDE_CONFIG[rewardType] reward.append(retval) #增加3点经验使玩家升级 player = db_tool.__getPlayerById(id) player['exp'] = player['exp']+3 db_tool.__updatePlayer(id,{'exp':player['exp']}); return {'status':1,'player':player,'guide':guide_id,'reward':reward,'bag':db_tool.getAllProp(id)} else: return {'status':1,'guide':guide_id} else: return {'status':0,'guide':guide_id}
def finishLevelTask(db,conn,playerId,taskId): taskinfo = getLevelTaskById(db,conn,playerId) taskdict = __stringToDict(taskinfo['task_info']) taskId = int(taskId) if(taskdict.has_key(taskId)): taskdict.pop(taskId) propDict = db_tool.getAllProp(playerId) #任务奖励 taskReward = TASK_AWARD_CONFIG[taskId] if taskReward.has_key('gb'): db_tool.addPropAndMoney(playerId,'2',taskReward['gb']) if taskReward.has_key('exp'): db_tool.addPropAndMoney(playerId,'3',taskReward['exp']) if taskReward.has_key('item'): for item in taskReward['item']: db_tool.__addPropItem(propDict,item['definitionID'],item['num']) db_tool.saveAllProp(playerId,propDict) #更新任务状态 taskstr = __dictToString(taskdict) updateLevelTaskById(db,conn,playerId,taskstr) player = db_tool.__getPlayerById(playerId) #触发的新任务 triggerTasks = addTriggerTask(playerId,taskId) return{'status':1,'player':player,'bag':propDict,'task_id':taskId,'new_task':triggerTasks} else: return {'status':0,'msg':'没有相应的等级任务'}
def addVisitReward(playerId,type): rewardInfo = {} if(type == 0): rewardInfo = FIRST_VISIT elif(type == 1): item = random_tool.getRandomItem('daily_visit_random_table',DAILY_VISIT) rewardInfo = item #print 'type=',type,' rewardinfo=',rewardInfo rewardType = rewardInfo['type'] rewardNum = rewardInfo['num'] reward = {rewardType:rewardNum} db_tool.addPropAndMoney(playerId,rewardType,rewardNum) return reward
def doDailyTask(db,conn,playerId,task_id): db.execute("SELECT * FROM daily_task WHERE player_id = %s",(playerId,)) taskinfo = db.fetchone() taskdict = __stringToDict(taskinfo['task_info']) if(taskdict.has_key(task_id)): taskdict.pop(task_id) taskstr = __dictToString(taskdict) db.execute("UPDATE daily_task set task_info = %s WHERE player_id = %s",(taskstr,playerId)) conn.commit() #任务奖励 100gb rewardType = '2' rewardNum = 100 reward = {rewardType:rewardNum} db_tool.addPropAndMoney(playerId,rewardType,rewardNum) player = db_tool.__getPlayerById(playerId) playergb = player['gb'] return{'status':1,'reward':reward,'playergb':playergb,'daily_task':taskdict,'task_id':task_id} else: return {'status':0,'msg':'has get daily task reward'}