Steam 1.05b
Code:BP0 = 0x00269311 + 0x00400000 BP1 = 0x00269319 + 0x00400000 BP2 = 0x0026935B + 0x00400000
Steam 1.05b
Code:BP0 = 0x00269311 + 0x00400000 BP1 = 0x00269319 + 0x00400000 BP2 = 0x0026935B + 0x00400000
Poe crashes instantly when starting the script since i added these steam offsets.
Code:Log: ======================================== Started ItemAlertPoE version 20131123 at 2014-01-20 17:50:15.383000. Python version: sys.version_info(major=2, minor=7, micro=6, releaselevel='candidate', serial=1) "pathofexilesteam.exe" processes found: [4368L] Base address: 0x00180000 bp0: 0x003e9311: push eax bp1: 0x003e9319: mov edi,eax bp2: 0x003e935b: mov eax,[esi+0x54] Starting main loop.
Last edited by jumpcloned; 01-20-2014 at 12:51 PM.
Oops sorry, i messed up BP1/BP0
I never understood why the original developer decided to put BP0/BP1 backwards. Common sense dictates that BP0 would be the first address, but its actually the 2nd and labeled as the first. OhwellCode:BP0 = 0x00269319 + 0x00400000 BP1 = 0x00269311 + 0x00400000 BP2 = 0x0026935B + 0x00400000
i obtain the offsets using ida pro, i have custom search parameters i use to be able to find offsets every new patch
Does anyone have an updated version of this script cause all alerts doesnt seem to work correctly.. some white map said legendary when it dropped and so on kinda confusing![]()
Someone asked me in a private message for my search parameters I use, You know who you are if you're reading this, and your inbox is full so I was unable to PM you.
I instead place it here
I only update the search parameters when they change. Even if I labeled it as for an older version, it should still work. Until the pattern changes anyway.
On patch day, I simply run the new exe through IDA, then search these accompanied hex strings. As long as nothing serious changed, I get instant results. Its pretty rare that these change however.
AOBscans.txt
Code:1.0.3b ZoomHack Zoom1 76 04 8d 44 24 ?? d9 00 d9 9e Zoom2 F3 0F 10 83 88 01 00 00 56 Zoom3 F3 0F 10 83 88 01 00 00 8B Maphack D9 00 8B 0C 24 D9 19 8B 0C 24 03 CA 89 0C 24 D9 00 D9 19 8B 0C 24 03 CA 89 0C 24 FullBright mist 66 0F D6 8F 50 01 00 00 light1 4C 3E 00 80 A2 44 light2 00 00 AF 43 00 40 D3 44 lowlife F3 0F 59 44 24 18 f3 0f 59 25 FlickerZoom Bugfix F3 0F 11 8E ?? ?? ?? ?? F3 0F 7E Map Opacity D9 83 A4 09 00 00 8B 83 64 09 00 00 LogOff 6A FF 68 ?? ?? ?? ?? 50 64 ?? ?? ?? ?? ?? ?? A1 ?? ?? ?? ?? 81 EC ?? ?? ?? ?? 53 55 56 57 33 FF 3B C7 ItemAlerter 53 33 DB 38 5E 79 0F 84 9E 00 00 00 8B 86 8C 00
Last edited by DaxxTrias; 01-23-2014 at 07:11 PM.
You can customize the sounds, to your likings, just the default sound for maps is the legendary sound. Also if you look through some of the previous post, there is info on how to add some of the newer maps into the itemalert list, so it can give off an alert.
Someone has updated item llist ?
I don't have the latest list, but here is the info for some of the maps, copy these into the itemlist.py file
_items[0xEDF386A5] = (0xEDF386A5, "Museum Map", "Metadata/Items/Maps/MapTier3_3")
_items[0xF4E421BE] = (0xF4E421BE, "Storm Call", "Metadata/Items/Gems/SkillGemStormCall")
_items[0xc4db9307] = (0xc4db9307, "Bazaar Map", "Metadata/Items/Maps/MapTier10_3")
_items[0xb509fb6e] = (0xb509fb6e, "Precinct Map", "Metadata/Items/Maps/MapTier11_2")
_items[0xc55b5c02] = (0xc55b5c02, "Academy Map", "Metadata/Items/Maps/MapTier11_3")
_items[0x5dc51d50] = (0x5dc51d50, "Shipyard Map", "Metadata/Items/Maps/MapTier12_1")
_items[0x9c9a040] = (0x9c9a040, "Shrine Map", "Metadata/Items/Maps/MapTier12_2")
_items[0x4fba3a54] = (0x4fba3a54, "Colonnade Map", "Metadata/Items/Maps/MapTier6_5")
_items[0x290bd2a2] = (0x290bd2a2, "Labyrinth Map", "Metadata/Items/Maps/MapTier7_6")
_items[0xcdb4fd0c] = (0xcdb4fd0c, "Residence Map", "Metadata/Items/Maps/MapTier9_6")
_items[0x2f78a37b] = (0x2f78a37b, "Palace Map", "Metadata/Items/Maps/MapTier13_2")
_items[0xcf258af6] = (0xcf258af6, "Orchard Map", "Metadata/Items/Maps/MapTier1_6")
Only Courtyard is missing now, so if anyone has that info please post it, thx.
Last edited by ReadyToKill; 01-27-2014 at 10:11 PM.
Hey badboyac, i tried using this code you pasted a while back to get an alert for ring/amulet drops; however i could never get it to work, i already have the code and sound file in place and properly named. I tried to PM u, but it said your box was full.
u just need to add under a new if function.. for rings/amulet
if SOUND_Jewellery == True:
jewellery = PlaySoundJewellery()
jewellery.start()
ofc must be for all rarities..
and under the sounds..
class PlaySoundJewellery(threading.Thread):
def run(self):
winsound.PlaySound(r'sounds\jewellery.wav', winsound.SND_FILENAME)
and
#Jewellery
SOUND_Jewellery = True
and ofc u need a soundfile.. u can either use something thats already there. ór make ur own.. but must be the same name like in the example: jewellery.wav
Here is the info i have
if isJewelleryItem(itemName):
if rarity == 2 and ALERT_RARES == True:
print Style.BRIGHT + Fore.YELLOW + str.format('JEW: {0}, rarity: {1}',itemName,rarity)
number_of_rares += 1
if (rarity == 0 or rarity == 1) and (itemId == 0x29F77698 or itemId == 0xDE069771) and ALERT_JEW_VALUES == True:
_implicitmods = int(buffer.nextDword())
_mod = buffer.nextDword()
_modvalues = buffer.nextByte()
_modvalue = int(buffer.nextDword())
if _modvalue >= 12 and itemId == 0x29F77698:
print Fore.WHITE + str.format('JEW: {0}, Value: {1}',itemName,_modvalue)
if _modvalue >= 18 and itemId == 0xDE069771:
print Fore.WHITE + str.format('JEW: {0}, Value: {1}',itemName,_modvalue)
elif rarity == 3:
if SOUND_Jewellery == True:
jewellery = PlaySoundJewellery()
jewellery.start()
if identified == 1 and itemId == 0x29F77698:
if RUN == False:
RUN = True
number_of_uniques = 0
number_of_rares = 0
number_of_orbs = 0
number_of_maps = 0
staTime= datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
startTime = str.format('{0}',staTime)
print Style.BRIGHT + Fore.GREEN + str.format('==== {0} ===== RUN started ===========',startTime)
#print >>self.logFile, str.format('{0}', startTime)
# measure runtime later on here, get the start time
else:
RUN = False
stoTime = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
stopTime = str.format('{0}',stoTime)
print Style.BRIGHT + Fore.GREEN + str.format('==== {0} ===== RUN stopped ===========',stopTime)
print >>self.statFile, str.format('{0},{1},{2},{3},{4}', stopTime,number_of_uniques,number_of_rares,number_of_orbs,number_of_maps)
else:
print Fore.YELLOW + str.format('UNI JEW: {0}, rarity: {1}',itemName,rarity)
if SOUND_uniques == True:
unique = PlaySoundUnique()
unique.start()
number_of_uniques += 1
print >>self.logFile, '---------------------------------'
return
106 out
would really appreciate new offsets, non-steam especially![]()
new offsets non steam
BP0 = 0x00269f09 + 0x00400000
BP1 = 0x00269f01 + 0x00400000
BP2 = 0x00269f4b + 0x00400000