View Full Version : Probe helper
drokk
05-13-2011, 08:04 AM
This seemed to be quite popular before so I thought I might post it up again..
To use: Unzip
Drag ProbeHelpery.py onto lolpy2.exe
Adds 4 buttons to the scanner window
Save/Load button - Hold shift and click to save probe configuration, single click
loads
Expand/Contract buttons - Pretty obvious what these do.
Center button - Centers the probes on the selected signature.
This script was in no way written by me and I can offer no support apart from what is written here. Although I'm sure there is plenty of others here who can help.
7
wibiti
05-16-2011, 10:02 PM
It was written by me. (The script and parts of the injector.)
I don't recommend anyone use this script.
From the upcoming patch notes:
"When holding down ‘alt’, your probes will scale around the center, making it easier to adjust them. A green line has added to make it more intuitive."
Finally, CCP is adding this feature. It works pretty well, and makes the probehelper script much less desirable. There are still some nice things about using the script, but the benefits will now be too little to justify the risk for most people.
Also, the script will likely need a small fix after the next patch, judging by the changes on the test server.
Manofstone
05-17-2011, 04:34 PM
This means that probably bout the only thing different is the option to send probes to the selected result?
Carcaradon
05-26-2011, 12:22 PM
I have a modified version of the script. It is a combination of a few modifications from one of the posters in the original thread and myself. Some of the changes include averaging the position of signatures selected so your probe is positioned at the middle of them, and added save/ignore lists. Here's the code, save as .py and inject like you would with the original.
import copy
import svc
import service
import uix
import uiconst
import form.Scanner
from foo import Vector3
from eve import eve
import sys
if (form.Scanner.ApplyAttributes.__func__.func_name is not 'ProbeHelperApplyAttributes'):
old_apply_attributes = form.Scanner.ApplyAttributes
def ContractProbes(self, *args):
probeData = sm.GetService("scanSvc").GetProbeData()
if probeData == {}:
return
avg = Vector3( 0,0,0 )
min_range = const.scanProbeNumberOfRangeSteps
for key in probeData:
min_range = min( min_range, probeData[key].rangeStep )
avg = avg + probeData[key].destination
if (min_range <= 1):
return
avg = avg / len(probeData)
for key in probeData:
destination = (probeData[key].destination + avg)/2
sm.GetService("scanSvc").SetProbeDestination(key, destination)
sm.GetService("scanSvc").SetProbeRangeStep(key, probeData[key].rangeStep - 1)
self.UpdateProbeSpheres()
form.Scanner.ContractProbes = ContractProbes
def ScLoadIgnoreList(self, *args):
sm.services["scanSvc"].resultsIgnored = copy.deepcopy(ignoreData[eve.session.solarsystemid])
self.DoRefresh()
form.Scanner.ScLoadIgnoreList = ScLoadIgnoreList
def ScSaveIgnoreList(self, *args):
ignoreData[eve.session.solarsystemid] = copy.deepcopy(sm.services["scanSvc"].resultsIgnored)
form.Scanner.ScSaveIgnoreList = ScSaveIgnoreList
def ScLoadIgnoreList2(self, *args):
sm.services["scanSvc"].resultsIgnored = copy.deepcopy(ignoreData[eve.session.solarsystemid])
self.DoRefresh()
form.Scanner.ScLoadIgnoreList2 = ScLoadIgnoreList2
def ScSaveIgnoreList2(self, *args):
ignoreData[eve.session.solarsystemid] = copy.deepcopy(sm.services["scanSvc"].resultsIgnored)
form.Scanner.ScSaveIgnoreList2 = ScSaveIgnoreList2
def ExpandProbes(self, *args):
probeData = sm.GetService("scanSvc").GetProbeData()
if probeData == {}:
return
avg = Vector3( 0,0,0 )
max_range = 1
for key in probeData:
max_range = max(max_range, probeData[key].rangeStep)
avg = avg + probeData[key].destination
if (max_range >= const.scanProbeNumberOfRangeSteps):
return
avg = avg / len(probeData)
for key in probeData:
destination = (2*probeData[key].destination) - avg
sm.GetService("scanSvc").SetProbeDestination(key, destination)
sm.GetService("scanSvc").SetProbeRangeStep(key, probeData[key].rangeStep + 1)
self.UpdateProbeSpheres()
form.Scanner.ExpandProbes = ExpandProbes
def SendProbes(self, *args):
try:
selected = self.sr.resultscroll.GetSelected()
points = []
for sel in selected:
data = sel.result.data
if isinstance(data, float):
data = sel.result.pos
if not isinstance(data, Vector3):
data = data.point
points.append(data)
target = Vector3(0,0,0)
csum = 0
for p in points:
target += p
target /= len(points)
probeData = sm.GetService("scanSvc").GetProbeData()
if probeData == {}:
return
avg = Vector3( 0,0,0 )
for key in probeData:
avg = avg + probeData[key].destination
avg = avg / len(probeData)
for key in probeData:
destination = target + probeData[key].destination - avg
sm.GetService("scanSvc").SetProbeDestination(key, destination)
self.UpdateProbeSpheres()
except:
print "SendProbes: an exception occured\n"
print sys.exc_info()
pass
form.Scanner.SendProbes = SendProbes
def SaveLoadProbePositions(self, *args):
probeData = sm.GetService("scanSvc").GetProbeData()
if probeData == {}:
return
avg = Vector3( 0,0,0 )
for key in probeData:
avg = avg + probeData[key].destination
avg = avg / len(probeData)
shift = uicore.uilib.Key(uiconst.VK_SHIFT)
if( shift ):
pos = []
for key in probeData:
pos.append( [probeData[key].destination - avg, probeData[key].rangeStep] )
settings.public.ui.Set("ProbePositions%d"%(args[0]), pos)
return
pos = settings.public.ui.Get("ProbePositions%d"%(args[0]),[])
if( pos == [] ):
return
i = 0
for key in probeData:
sm.GetService("scanSvc").SetProbeDestination(key, pos[i][0] + avg)
sm.GetService("scanSvc").SetProbeRangeStep(key, pos[i][1])
i = i + 1
if( i >= len(pos) ):
break
self.UpdateProbeSpheres()
def SaveLoadProbePositions1(self, *args):
SaveLoadProbePositions(self, 1, args)
def SaveLoadProbePositions2(self, *args):
SaveLoadProbePositions(self, 2, args)
def SaveLoadProbePositions3(self, *args):
SaveLoadProbePositions(self, 3, args)
form.Scanner.SaveLoadProbePositions = SaveLoadProbePositions
form.Scanner.SaveLoadProbePositions1 = SaveLoadProbePositions1
form.Scanner.SaveLoadProbePositions2 = SaveLoadProbePositions2
form.Scanner.SaveLoadProbePositions3 = SaveLoadProbePositions3
def ProbeHelperApplyAttributes(self, attributes):
old_apply_attributes(self, attributes)
self.sr.destroyBtn.Close()
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=120)
btn.OnClick = self.SaveLoadProbePositions1
btn.hint = "Saved probe positions 1: SHIFT-CLICK TO SAVE, CLICK TO LOAD"
uix.MapSprite('44_60', btn.sr.icon)
self.sr.saveloadBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=152)
btn.OnClick = self.SaveLoadProbePositions2
btn.hint = "Saved probe positions 2: SHIFT-CLICK TO SAVE, CLICK TO LOAD"
uix.MapSprite('44_61', btn.sr.icon)
self.sr.saveloadBtn2 = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=184)
btn.OnClick = self.SaveLoadProbePositions3
btn.hint = "Saved probe positions 3: SHIFT-CLICK TO SAVE, CLICK TO LOAD"
uix.MapSprite('44_62', btn.sr.icon)
self.sr.saveloadBtn3 = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=228)
btn.OnClick = self.ContractProbes
btn.hint = "CONTRACT PROBES"
uix.MapSprite('44_43', btn.sr.icon)
self.sr.contractBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=260)
btn.OnClick = self.ExpandProbes
btn.hint = "EXPAND PROBES"
uix.MapSprite('44_44', btn.sr.icon)
self.sr.expandBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=304)
btn.OnClick = self.SendProbes
btn.hint = "SEND PROBES TO SELECTED RESULT"
uix.MapSprite('44_59', btn.sr.icon)
self.sr.sendBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=352)
btn.OnClick = self.ScSaveIgnoreList
btn.hint = "SAVE IGNORE LIST"
uix.MapSprite('77_21', btn.sr.icon)
self.sr.saveignoreBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=384)
btn.OnClick = self.ScLoadIgnoreList
btn.hint = "LOAD IGNORE LIST"
uix.MapSprite('44_47', btn.sr.icon)
self.sr.loadignoreBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=416)
btn.OnClick = self.ScSaveIgnoreList2
btn.hint = "SAVE IGNORE LIST2"
uix.MapSprite('77_21', btn.sr.icon)
self.sr.saveignoreBtn = btn
btn = uix.GetBigButton(32, self.sr.systemTopParent, left=448)
btn.OnClick = self.ScLoadIgnoreList2
btn.hint = "LOAD IGNORE LIST2"
uix.MapSprite('44_47', btn.sr.icon)
self.sr.loadignoreBtn = btn
form.Scanner.ApplyAttributes = ProbeHelperApplyAttributes
global ignoreData
ignoreData = dict()
ignoreData[eve.session.solarsystemid] = set()
The script works as of the latest patch, btw. I'm not sure how risky this script is with the latest increased detection, but a few friends of mine and I have been using it for a while now and none of us ever got banned.
Manofstone
05-26-2011, 01:04 PM
Been using this one for a long time now, what is this save/ignore list, saving what?
Carcaradon
05-27-2011, 01:44 PM
For saving/ignoring signatures, obviously. It's useful for when you have to leave system, or keep track of different sets of filtered results.
Manofstone
05-27-2011, 02:51 PM
Ah ok, I had thought you meant different saved probe setups... cool cool. :)
Carcaradon
05-28-2011, 11:09 AM
Ah ok, I had thought you meant different saved probe setups... cool cool. :)
There're 3 slots for saving probe setups as well.
Manofstone
05-28-2011, 12:03 PM
Oooh, very nice, thanks.
Siffli
05-31-2011, 08:28 PM
Hi Guys
Thanks for yours jobs
Bad news,
ProbeHelper doesn't work with new update :confused:
Manofstone
06-01-2011, 02:42 AM
Yes, i can confirm that it breaks the scanner all together.
nm was drunk when posted that
testy123
06-01-2011, 07:56 PM
Newest patch causes the scanner button to be unresponsive on my client.
Its only been 1/2 a day and I miss this program so much.
Please consider updating this for the new patch.
civan
06-01-2011, 11:55 PM
Please cease using the ProbeHelper for now. It generates quite obvious exceptions in eve, and might trigger a banwave.
Manofstone
06-02-2011, 12:21 AM
Nope, don't think probehelper will ever generate such attention as to trigger a banwave. But its up to the developer...
civan
06-02-2011, 12:27 AM
Last one was half-finished mining bot, so I wouldn't bet on it. Quick fix is quite easy anyhow but I will hold a couple of days before publishing it.
Manofstone
06-02-2011, 12:32 AM
Yeh, you could be right but im betting on the general importance of mining bots, they are being targeted in every form atm, due to the all known crusade going on. Of course, never too certain with the boards being monitored by watchful eyes.
Powered by vBulletin® Version 4.1.10 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.