Пример #1
0
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
Пример #2
0
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
Пример #3
0
def enterStarMap():
	print '--> enter star map'
	key.pressEx(sc.Map)
	begin = time.time()
	while findAtProgressBar('initializing_map') or time.time() - begin < 3:
		time.sleep(0.5)
	mouse.moveToP(panel.center(panel.Full))
	mouse.wheel(100)
	print '<-- enter star map\n'
Пример #4
0
def openInventory():
	print '--> open inventory'

	key.pressEx(sc.Inventory)
	mouse.moveToP(panel.center(panel.Inventory))
	while not findAtInventory('x'):
		time.sleep(0.2)

	print '<-- open inventory\n'
	return True
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
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
Пример #9
0
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
Пример #10
0
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
Пример #11
0
def back():
	print '--> drones return'

	key.pressEx(sc.DronesReturn)

	mouse.moveToP(panel.center(panel.Drones))
	mouse.wheel(-100)
	mouse.moveToP(panel.center(panel.Full))

	print 'wait until drones return'
	while findAtDrones('returning') or findAtDrones('fighting') or findAtDrones('idle'):
		key.pressEx(sc.DronesReturn)
		time.sleep(0.2)

	print '<-- drones return\n'
	return True
Пример #12
0
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
Пример #13
0
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
Пример #14
0
def run():
	print '--> mission Intercept The Sabateurs'

	if not ship.enableDefense():
		return False

	if not drones.launchSmall():
		return False

	overview.seekAndDestory()

	if not drones.back():
		return False

	ship.enableAfterburn()

	if not overview.activateAccelerationGate():
		return False

	# pocket 1
	# main enemies are 90km away
	# approach for 85 secs
	# mean while clean up nearby enemy

	drones.launchSmall()
	
	if not overview.switchTo('battle'):
		return False

	if not overview.lockEnemy(20):
		return False

	ship.fireOnce()

	if not overview.lockTarget('transport', 1):
		return False

	ship.enableAfterburn()

	ship.approachFor(85)

	# wait for stop
	begin = time.time()
	while time.time() - begin < 20:
		ship.stop()
		key.pressEx(sc.Unlock)

	mouse.moveToP(panel.center(panel.Drones))

	mouse.wheel(-100)

	while findAtDrones('fighting'):
		time.sleep(10)

	drones.back()

	# use sentry to destory all the smalls

	for i in range(6):
		overview.lockTarget('s', 1)

	drones.launchSentry()

	begin = time.time()
	while overview.lockTarget('s', 1) and time.time() - begin < 130:
		ship.fireOnce()
		drones.engage()

	drones.back()

	# do the rest

	ship.fireOnce()

	drones.launchSmall()

	overview.seekAndDestory()

	while not overview.pickCargo():
		pass

	drones.back()

	print '<-- mission Intercept The Sabateurs\n'
	return True
Пример #15
0
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)