Exemple #1
0
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)}
Exemple #2
0
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}
Exemple #3
0
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':'没有相应的等级任务'}
Exemple #4
0
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
Exemple #5
0
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'}