def run(self): global FirstTime, Times logger.info('zengzanThread start') if Delay_Time > 0: logger.info('I will start zengzan at ' + util.next_time(Delay_Time)) time.sleep(Delay_Time) while True: ni = self.getNpcInfo() remain_times = ni.getNumber() if remain_times > 0: time.sleep(2) res = self.zengzan(Npc_String, remain_times + 100) if res.has_key('exception'): msg = res['exception']['message'] logger.info('zengzan exception: %s'%(msg)) if msg == 'waittingOrder': gi = GeneralInfo() sp = util.get_sleep_time(gi.get_mobility_CDTime(), gi.get_localTime()-gi.get_serverTime()) logger.info('I will sleep for mobility CD to %s'%(util.next_time(sp))) time.sleep(sp) FirstTime = True continue elif msg == 'lessMobility': return else: time.sleep(2) FirstTime = True continue nrt = util.get_next_refresh_time(ni.getServerTime()) sp = util.get_sleep_time(nrt, ni.getLocalTime()-ni.getServerTime()) + 1 logger.info('I will sleep till time %s'%(util.next_time(sp))) time.sleep(sp)
def run(self): global Local_Server_Diff,Server_Time logger.info('MagicThread start') while True: try: gi = GeneralInfo() Server_Time = gi.get_serverTime() Local_Server_Diff = gi.get_localTime() - Server_Time #logger.info('Server_Time=%d Local_Server_Diff=%d'%(Server_Time, Local_Server_Diff)) magic = int(gi.get_magic()) logger.info('get magic=%d'%(magic)) self.notify(magic) self.get_next_half_hour() sp = Server_Time + Local_Server_Diff - int(time.time()) + 60 logger.info('I will sleep %d seconds'%(sp)) time.sleep(sp) except: logger.error(traceback.format_exc()) time.sleep(60)
def run(self): global g_previous_armyid logger.info('pozen Thread start, will pozen campaign %s'%(str(Campaign))) if Delay_Time > 0: logger.info('I will start pozen at ' + util.next_time(Delay_Time)) time.sleep(Delay_Time) #self.bianzhen('yanxing') time.sleep(2) for campaignid in Campaign: while True: try: #res = self.get_pozen_info(2) #print json.dumps(res, sort_keys = False, indent = 4) #return armyid = self.get_next_id(campaignid) if armyid is None: logger.info('pozen network error') time.sleep(2) continue elif armyid == -1: logger.info('pozen %d finished'%(campaignid)) break elif armyid == g_previous_armyid: logger.info('pozen %d falied, %d lose'%(campaignid, armyid)) return g_previous_armyid = armyid time.sleep(2) logger.info('pozen army %d'%(armyid)) res = self.do_pozen(armyid) if res.has_key('exception'): logger.error('Got Exception "%s"'%(res['exception']['message'])) if 'waittingOrder' == res['exception']['message']: gi = GeneralInfo() sp = util.get_sleep_time(gi.get_mobility_CDTime(), gi.get_localTime()-gi.get_serverTime()) logger.info('I will sleep for mobility CD to %s'%(util.next_time(sp))) time.sleep(sp) g_previous_armyid = 0 continue return time.sleep(2) except: logger.info(traceback.format_exc()) time.sleep(10)
def run(self): logger.info('BossThread start') if Delay_Time > 0: logger.info('I will start attack at ' + util.next_time(Delay_Time)) time.sleep(Delay_Time) gi = GeneralInfo() start_time = util.get_xiongsou_refresh_time(gi.get_serverTime()) ls_diff = gi.get_localTime() - gi.get_serverTime() sp = util.get_sleep_time(start_time, ls_diff) + 1 if sp > 0: logger.info('I will sleep till start time, will attack at %s'%(util.next_time(sp))) time.sleep(sp) else: time.sleep(2) times = 0 while True: times += 1 if times > Times: logger.info('already attack %d times, exit'%(Times)) break res = self.do_attack() if res.has_key('exception'): logger.error('Got Exception "%s"'%(res['exception']['message'])) if 'attackCoolTime' == res['exception']['message']: times -= 1 else: break logger.info('attacked %d times'%(times)) gi = GeneralInfo() cd = gi.get_xiongsou_CDTime() stime = gi.get_serverTime() if cd > stime: sp = cd - stime + 1 logger.info('I will sleep CD, will attack at %s'%(util.next_time(sp))) time.sleep(sp) else: time.sleep(2)