def unloadItem(item): print '--> unload item ' + item result = findAtInventory('ship', 0.5) if not result: return False mouse.leftClickAtP(result) time.sleep(2) result = findAtInventory(item) while not result: mouse.moveToP(panel.center(panel.Inventory)) mouse.wheel(-12) mouse.moveTo(100, 100) result = findAtInventory(item) mouse.leftDownAtP(result) result = findAtInventory('item_hangar', 0.5) if not result: mouse.leftUp() return False mouse.moveToP(result) mouse.leftUp() time.sleep(1) print '<-- unload item ' + item + '\n' return True
def run(): print '--> mission What Comes Around Goes Around' if not ship.enableDefense(): return False if not drones.launchSmall(): return False result = None begin = time.time() while not result and time.time() - begin < 5: time.sleep(0.2) result = findAtFull('close') if result: mouse.leftClickAtP(result) if not general.openMissionDetails(): return False if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission What Comes Around Goes Around\n' return True
def run(): print '--> mission Dawning The Slavers (2 of 2)' if not ship.enableDefense(): return False result = None begin = time.time() while not result and time.time() - begin < 5: time.sleep(0.5) result = findAtFull('close') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False overview.seekAndDestory() if not drones.back(): return False if not overview.activateAccelerationGate(): return False if not drones.launchSmall(): return False overview.seekAndDestory() if not drones.back(): return False print '<-- mission Dawning The Slavers (2 of 2)\n' return True
def run(): print "--> mission Intercept the Pirate Smugglers" result = None begin = time.time() while not result and time.time() - begin < 5: time.sleep(0.2) result = findAtFull("close") if result: mouse.leftClickAtP(result) if not ship.enableDefense(): return False if not drones.launchSmall(): return False if not general.openMissionDetails(): return False ship.enableAfterburn() overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print "<-- mission Intercept the Pirate Smugglers\n" return True
def pickTarget(target): print '--> picking wreck' result = findTarget(target) if not result: return False mouse.doubleClickAtP(result) print 'wait until cargo open' result = None begin = time.time() while not result and time.time() - begin < 120: time.sleep(0.2) result = findAtFull('loot_all') if not result: return False mouse.leftClickAtP(result) time.sleep(2) result = findAtFull('x') if not result: return False mouse.leftClickAtP(result) print '<-- picking wreck\n' return True
def run(): print '--> mission Eliminate the Pirate Campers' if not ship.enableDefense(): return False if not drones.launchSentry(): return False if not overview.switchTo('battle'): return False begin = time.time() result = None while not result and time.time() - begin < 5: result = findAtFull('close') if result: mouse.leftClickAtP(result) # kill small count = 0 while count < 4: result = overview.lockTarget('s', 1) if result: count += 1 begin = time.time() while time.time() - begin < 120: overview.lockTarget('s', 1) ship.fireOnce() drones.engage() if not drones.back(): return False # seek and destory if not general.openMissionDetails(): return False ship.enableAfterburn() if not drones.launchSmall(): return False overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission Eliminate the Pirate Campers\n' return True
def completeMission(): print '--> complete mission\n' result = None while not result: time.sleep(0.2) result = findAtMissionRight('complete_mission') mouse.leftClickAtP(result) mouse.moveTo(result[0], result[1] - 100) print 'wait until complete mission' result = None flag = False while not result: result = findAtMissionRight('request_mission') if result: flag = True break result = findAtMissionRight('can_not_complete_mission') if result: flag = False break if not flag: print 'can not complete' result = None while not result: time.sleep(0.2) result = findAtFull('ok') mouse.leftClickAtP(result) result = None while not result: time.sleep(0.2) result = findAtMissionRight('quit_mission') mouse.leftClickAtP(result) result = None while not result: time.sleep(0.2) result = findAtFull('yes') mouse.leftClickAtP(result) mouse.moveToP(panel.center(panel.MissionLeft)) result = None while not result: time.sleep(0.2) result = findAtMission('x') mouse.leftClickAtP(result) print '<-- complete mission\n' return True
def run(): print '--> mission The Spy Stash' if not ship.enableDefense(): return False if not overview.activateAccelerationGate(): return False # pocket 1 direct access ship.enableAfterburn() if not overview.activateAccelerationGate(): return False # pocket 2 if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False result = findAtOverview('officers') if not result: return False mouse.doubleClickAtP(result) print 'wait until cargo open' result = None while not result: time.sleep(0.5) result = findAtFull('report') mouse.leftDownAtP(result) result = findAtFull('ship', 0.5) if not result: mouse.leftUp() return False mouse.moveToP(result) mouse.leftUp() time.sleep(2) result = findAtFull('x') if not result: return False mouse.leftClickAtP(result) print '<-- mission The Spy Stash\n' return True
def handleDangerousAction(): result = findAtFull('dangerous') if result: mouse.moveToP(result) result = None while not result: result = findAtFull('x') mouse.leftClickAtP(result) key.pressEx(sc.Unlock) return True else: return False
def repair(): print '--> repair' result = findAtStationServices('repair_shop') if not result: return mouse.leftClickAtP(result) print 'wait until open repair facilities' result = None while not result: result = findAtFull('repair_facilities') time.sleep(0.5) time.sleep(0.5) mouse.leftClickAt(result[0], result[1] + 70) key.pressEx('ctrl+a') result = None while not result: result = findAtFull('repair_item') time.sleep(0.2) mouse.leftClickAtP(result) print 'wait...' while not findAtFull('pick_new_item'): time.sleep(0.2) result = findAtFull('repair_all') if result: mouse.leftClickAtP(result) print 'repairing...' result = None while not result: time.sleep(0.2) result = findAtFull('ok') if not result: result = findAtFull('yes') mouse.leftClickAtP(result) result = findAtFull('repair_facilities') mouse.moveToP(result) else: print 'nothing to repair' result = None while not result: time.sleep(0.2) result = findAtFull('x') mouse.leftClickAtP(result) print '<-- repair\n' return True
def lockEnemy(wait = 5): print '--> lock enemy' result = findEnemy() if not result: return False mouse.leftClickAtP(result) key.pressEx(sc.Lock) print 'wait for ' + str(wait) + ' seconds' time.sleep(wait) print '<-- lock enemy' return True
def lockTarget(target, wait = 5): result = findTarget(target) if not result: return False print '--> lock target "' + target + '"' mouse.leftClickAtP(result) key.pressEx(sc.Lock) print 'wait for ' + str(wait) + ' seconds' time.sleep(wait) print '<-- lock target "' + target + '"\n' return True
def missionObjectiveComplete(): print '--> judge if mission complete' print 'wait until mission complete' while not findAtMissionDetails('v'): time.sleep(1) mouse.moveToP(panel.center(panel.MissionDetails)) result = None while not result: time.sleep(0.5) result = findAtMissionDetails('x') mouse.leftClickAtP(result) print '<-- judge if mission complete\n' return True
def run(): print '--> mission New Frontiers - Raw Materials (5 of 7)' if not ship.enableDefense(): return False if not drones.launchSentry(): return False if not overview.switchTo('battle'): return False if not overview.lockTarget('drone_energy', 25): return False drones.engage() time.sleep(160) if not drones.back(): return False mouse.moveTo(100, 100) result = findAtDrones('sentry') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False overview.seekAndDestory() ship.enableAfterburn() while not overview.pickCargo(): time.sleep(5) while overview.pickCargo(): pass if not drones.back(): return False print '<-- mission New Frontiers - Raw Materials (5 of 7)\n' return True
def acceptMission(): print '--> accept mission' result = findAtMissionRight('accept') if not result: return False mouse.leftClickAtP(result) mouse.moveTo(result[0], result[1] - 80) print 'wait until accepting mission' while not findAtMissionRight('complete_mission'): time.sleep(0.2) time.sleep(0.5) result = findAtMissionRight('x') if not result: return False mouse.leftClickAtP(result) print '<-- accept mission\n' return True
def switchTo(name): print '--> switch overview setting to ' + name trycount = 0 success = False while not success and trycount < 3: success = True trycount += 1 result = findAtOverview('overview') if not result: success = False mouse.leftClickAtP(result) mouse.moveTo(result[0] - 400, result[1]) time.sleep(0.5) result = findAtOverview(name) if not result: success = False mouse.leftClickAtP(result) time.sleep(0.5) if not success: mouse.leftClickAtP(panel.center(panel.Full)) if not success: return False print '<-- switch overview setting to ' + name + '\n' return True
def declineMission(): print '--> decline mission' result = None while not result: time.sleep(0.2) result = findAtMissionRight('decline') mouse.leftClickAtP(result) begin = time.time() result = None while not result and time.time() - begin < 5: time.sleep(0.5) result = findAtFull('yes') if result: mouse.leftClickAtP(result) print 'wait until decline' while not findAtMission('request_mission'): time.sleep(0.5) mouse.moveToP(panel.center(panel.MissionLeft)) result = None while not result: time.sleep(0.5) result = findAtFull('x') mouse.leftClickAtP(result) time.sleep(1) print '<-- decline mission\n' return True
def activateShip(ship): print '--> activate ship "' + ship + '"' key.pressEx(sc.ShipHangar) time.sleep(3) result = None while not result: time.sleep(0.5) result = findAtInventory(ship) mouse.rightClickAtP(result) mouse.moveTo(result[0] + 200, result[1]) result = findAtInventory('make_active') if result: mouse.leftClickAtP(result) key.pressEx(sc.ShipHangar) time.sleep(2) print '<-- activate ship "' + ship + '"\n' return True
def openMissionDetails(): enterStarMap() print '--> open mission detail' openMissionMenu() result = findAtInfo('read_details') while not result: result = findAtInfo('read_details') time.sleep(0.5) mouse.leftClickAtP(result) print 'wait until find mission objective' while not findAtMissionDetails('o'): mouse.leftClickAt(panel.MissionDetails[0] + 20, panel.MissionDetails[1] + 20) mouse.wheel(-20) print '<-- open mission detail\n' exitStarMap() return True
def undock(): print '--> undock' result = findAtMenu('undock') if not result: return False mouse.leftClickAtP(result) mouse.moveTo(result[0] + 200, result[1]) print 'wait until undock' while findAtMenu('undock'): time.sleep(0.5) print 'wait until entering space' begin = time.time() while not findAtProgressBar('entering_space') and time.time() - begin < 10: time.sleep(0.1) time.sleep(3) print '<-- undock\n' return True
def setMissionWaypoint(retry = False): print '--> set mission waypoint' enterStarMap() openMissionMenu() while True: result = findAtInfo('set_destination') if not result and not retry: return False elif not result: time.sleep(1) mouse.leftClickAtP(panel.center(panel.Full)) else: break mouse.leftClickAtP(result) exitStarMap() print '<-- set mission waypoint\n' return True
def backToAgentStation(): print '--> back to agent station' if setMissionWaypoint(): pilot.autopilot() else: result = findAtInfo('dock') while not result: result = findAtInfo('dock') time.sleep(0.5) mouse.leftClickAtP(result) exitStarMap() print 'wait until reach station' time.sleep(10) while not findAtMenu('undock'): time.sleep(1) time.sleep(4) print '<-- back to agent station\n' return True
def warpToMissionLocation(): print '--> warp to mission location' enterStarMap() mouse.moveToP(panel.center(panel.Full)) mouse.leftDown() mouse.move(500, 200) mouse.leftUp() openMissionMenu() result = findAtInfo('warp_to_location') while not result: result = findAtInfo('warp_to_location') time.sleep(1) mouse.leftClickAtP(result) time.sleep(1) print 'wait to activate gate' while not findAtDashboard('warp_drive_active'): result = findAtFull('close') if not result: result = findAtFull('ok') if result: mouse.leftClickAtP(result) mouse.moveTo(result[0], result[1] - 200) time.sleep(1) print 'wait until reach location' while findAtDashboard('warp_drive_active'): time.sleep(0.5) result = findAtFull('close') if not result: result = findAtFull('ok') if result: mouse.leftClickAtP(result) mouse.moveTo(result[0], result[1] - 200) time.sleep(1) while findAtDashboard('warp_drive_active'): time.sleep(0.5) exitStarMap() print '<-- warp to mission location\n' return True
def activateAccelerationGate(): switchTo('pilot') general.enterStarMap() print '--> activate acceleration gate\n' mouse.leftDownAtP(panel.center(panel.Full)) mouse.move(500, 200) mouse.leftUp() result = findTarget('acceleration_gate') if not result: return False mouse.leftClickAtP(result) key.pressEx(sc.Activate) print 'wait to activate gate' while not findAtDashboard('warp_drive_active'): result = findAtFull('close') if not result: result = findAtFull('ok') if result: mouse.leftClickAtP(result) mouse.moveTo(result[0], result[1] - 200) handleDangerousAction(); key.pressEx(sc.Activate) time.sleep(1) print 'wait until reach location' while findAtDashboard('warp_drive_active'): time.sleep(0.5) result = findAtFull('close') if not result: result = findAtFull('ok') if result: mouse.leftClickAtP(result) mouse.moveTo(result[0], result[1] - 200) time.sleep(1) while findAtDashboard('warp_drive_active'): time.sleep(0.5) print '<-- activate acceleration gate\n' general.exitStarMap() return True
def _launch(group): result = None while not result: mouse.moveToP(panel.center(panel.Drones)) mouse.wheel(100) mouse.moveToP(panel.center(panel.Full)) result = findAtDrones('bay') if group == None: mouse.rightClickAtP(result) else: if not findAtDrones(group): mouse.leftClickAtP(result) result = findAtDrones(group) while not result: time.sleep(0.5) result = findAtDrones(group) mouse.rightClickAtP(result) result = findAtDrones('launch_drones') while not result: time.sleep(0.5) result = findAtDrones('launch_drones') mouse.leftClickAtP(result) print 'wait until drones launching..' mouse.moveToP(panel.center(panel.Full)) # time.sleep(5) while not findAtDrones('idle') and not findAtDrones('fighting') and not findAtDrones('returning'): mouse.moveToP(panel.center(panel.Drones)) mouse.wheel(-100) mouse.moveToP(panel.center(panel.Full)) if not findAtDrones('idle') and not findAtDrones('fighting') and not findAtDrones('returning'): result = findAtDrones('local_space') if result: mouse.leftClickAtP(result) mouse.wheel(-100) mouse.leftClickAt(result[0], result[1] + 20) return True
def run(): print '--> mission New Frontiers - Raw Materials (2 of 7)' if not ship.enableDefense(): return False ship.enableAfterburn() if not overview.activateAccelerationGate(): return False print 'pocket 1' if not overview.switchTo('battle'): return False if not drones.launchSentry(): return False if not overview.lockTarget('drone_energy', 25): return False drones.engage() time.sleep(160) if not drones.back(): return False mouse.moveTo(100, 100) result = findAtDrones('sentry') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not overview.switchTo('lcs'): return False if not overview.lockTarget('delainens', 1): return False ship.approachFor(30) drones.engage() overview.switchTo('battle') while not overview.pickCargo(): pass while overview.pickCargo(): pass overview.seekAndDestory() if not drones.back(): return False print '<-- mission New Frontiers - Raw Materials (2 of 7)\n' return True
def run(): print '--> mission Pick Your Position' if not overview.activateAccelerationGate(): return False if not overview.switchTo('battle'): return False # pocket 1 result = None while not result: time.sleep(0.5) result = findAtFull('close') mouse.leftClickAtP(result) if not overview.pickTarget('minmatar_emissary_1'): return False result = None while not result: time.sleep(0.5) result = findAtFull('close') mouse.leftClickAtP(result) if not overview.activateAccelerationGate(): return False if not overview.switchTo('battle'): return False # back to pocket 0 # double click will not open it! result = overview.findTarget('cargo') if not result: return False mouse.leftClickAtP(result) ship.approach() result = findAtSelectedItem('cargo_small') if not result: result = findAtSelectedItem('cargo_big') if not result: return False mouse.leftClickAtP(result) print 'wait until cargo open' while not findAtFull('loot_all'): time.sleep(0.2) mouse.leftClickAtP(result) result = findAtFull('ship') while not result: result = findAtFull('ship') mouse.leftClickAtP(result) result = findAtFull('minmatar_emissary') while not result: result = findAtFull('minmatar_emissary') mouse.leftDownAtP(result) result = findAtFull('ship_hl') while not result: result = findAtFull('ship_hl') mouse.moveTo(result[0] + 40, result[1] + 60) mouse.leftUp() result = findAtFull('close') while not result: result = findAtFull('close') mouse.leftClickAtP(result) time.sleep(1) result = findAtFull('ship_hl') if not result: result = findAtFull('ship') if result: mouse.moveToP(result) result = findAtFull('x') if result: mouse.leftClickAtP(result) print '<-- mission Pick Your Position\n' return True
if not overview.activateAccelerationGate(): return False if not overview.switchTo('lcs'): return False if not overview.lockTarget('guristas_space', 15): return False if not drones.launchSmall(): return False ship.fireOnce() drones.engage() if not general.openMissionDetails(): return False if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission The Space Telescope\n' return True if __name__ == '__main__': mouse.leftClickAtP(panel.center(panel.Full)) run()
def run(): print '--> mission Silence The Informant' if not ship.enableDefense(): return False if not general.openMissionDetails(): return False if not overview.activateAccelerationGate(): return False print 'pocket 1' if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False if not overview.activateAccelerationGate(): return False print 'pocket 2' result = None begin = time.time() while not result and time.time() - begin < 4: time.sleep(0.5) result = findAtFull('close') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False if not overview.activateAccelerationGate(): return False print 'pocket 3' result = None begin = time.time() while not result and time.time() - begin < 4: time.sleep(0.5) result = findAtFull('close') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission Silence The Informant\n' return True
def autopilot(): print '--> autopilot' overview.switchTo('pilot') while True: print 'try to find target stargate or station' finded = '' result = None for retry in range(3): print 'try: ' + str(retry + 1) result = findAtOverview('target_station', 0.2) if result: print 'station finded' finded = 'station' break result = findAtOverview('target_star_gate', 0.2) if result: print 'stargate finded' finded = 'gate' break x, y = panel.center(panel.Overview) y += random.random() * 200 - 100 mouse.leftClickAt(x, y) mouse.wheel(-12) mouse.moveToP(panel.center(panel.Full)) if finded == '': print "can't find any waypoint" print '<-- autopilot\n' return False if finded == 'station': print 'docking...' mouse.leftClickAtP(result) key.pressEx(sc.Activate) print 'wait until entering station' begin = time.time() result = findAtProgressBar('entering_station', 0.1) while not result and time.time() - begin < 80: result = findAtProgressBar('entering_station', 0.1) time.sleep(0.1) if result: print 'entering station' time.sleep(4) print '<-- autopilot\n' return True if finded == 'gate': print 'jump...' mouse.leftClickAtP(result) key.pressEx(sc.Activate) print 'wait until entering space' begin = time.time() result = findAtProgressBar('entering_space', 0.1) while not result and time.time() - begin < 80: result = findAtProgressBar('entering_space', 0.1) time.sleep(0.1) if result: print 'entering space' time.sleep(3)