[Release]Ingame Itemlevel and DPS Display using Autohotkey

"
rhok90 wrote:
Can anyone answer is this is bannable or not because i have an email stating its not allowed....


Spoiler

Christian K. XXXXXXXXXXXXXX@gmail.com
Jan 21

to support
Hello was curious if this auto hot key macro i found on PoE forums is safe to use or not?


Spoiler


; This script can be found here:
; https://www.pathofexile.com/forum/view-thread/594346
; If you have any questions or comments please post them there as well. If you think you can help
; improve this project. I am looking for contributors. So Pm me if you think you can help.
;
;
; If you have a issue please post what version you are using.
; Reason being is that something that might be a issue might already be fixed.
; Version: 1.2d
;
;
;


#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Persistent ; Stay open in background
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
StringCaseSense, On ; Match strings with case.

; Options
; Base item level display.
DisplayBaseLevel = 1 ; Enabled by default change to 0 to disable

; Pixels mouse must move to auto-dismiss tooltip
MouseMoveThreshold := 40

;How many ticks to wait before removing tooltip. 1 tick = 100ms. Example, 50 ticks = 5secends, 75 Ticks = 7.5Secends
ToolTipTimeoutTicks := 50

; Font size for the tooltip, leave empty for default
FontSize := 12


; Menu tooltip
Menu, tray, Tip, Path of Exile Itemlevel and DPS Display

; Create font for later use
FixedFont := CreateFont()

; Creates a font for later use
CreateFont()
{
global FontSize
Options :=
If (!(FontSize = ""))
{
Options = s%FontSize%
}
Gui Font, %Options%, Courier New
Gui Font, %Options%, Consolas
Gui Add, Text, HwndHidden,
SendMessage, 0x31,,,, ahk_id %Hidden%
return ErrorLevel
}

; Sets the font for a created ahk tooltip
SetFont(Font)
{
SendMessage, 0x30, Font, 1,, ahk_class tooltips_class32 ahk_exe autohotkey.exe
}

; Parse elemental damage
ParseDamage(String, DmgType, ByRef DmgLo, ByRef DmgHi)
{
IfInString, String, %DmgType% Damage
{
IfInString, String, Converted to or IfInString, String, taken as
Return
IfNotInString, String, increased
{
StringSplit, Arr, String, %A_Space%
StringSplit, Arr, Arr2, -
DmgLo := Arr1
DmgHi := Arr2
}
}
}

; Added fuction for reading itemlist.txt added fuction by kongyuyu
if DisplayBaseLevel = 1
{
ItemListArray = 0
Loop, Read, %A_WorkingDir%\ItemList.txt ; This loop retrieves each line from the file, one at a time.
{
ItemListArray += 1 ; Keep track of how many items are in the array.
StringSplit, NameLevel, A_LoopReadLine, |,
Array%ItemListArray%1 := NameLevel1 ; Store this line in the next array element.
Array%ItemListArray%2 := NameLevel2
}
}
;;;Function that check item name against the array
;;;Then add base lvl to the ItemName
CheckBaseLevel(ByRef ItemName)
{
Global
Loop %ItemListArray%
{
element := Array%A_Index%1
IfInString, ItemName, %element%
{
BaseLevel := " " + Array%A_Index%2
StringRight, BaseLevel, BaseLevel, 3
ItemName := ItemName . "Base lvl: " . BaseLevel . "`n"
}
}
}


; Parse clipboard content for item level and dps
ParseClipBoardChanges()
{
NameIsDone := False
ItemName :=
ItemLevel := -1
IsWeapon := False
PhysLo := 0
PhysHi := 0
Quality := 0
AttackSpeed := 0
PhysMult := 0
ChaoLo := 0
ChaoHi := 0
ColdLo := 0
ColdHi := 0
FireLo := 0
FireHi := 0
LighLo := 0
LighHi := 0

Loop, Parse, Clipboard, `n, `r
{
; Clipboard must have "Rarity:" in the first line
If A_Index = 1
{
IfNotInString, A_LoopField, Rarity:
{
Exit
}
Else
{
Continue
}
}

; Get name
If Not NameIsDone
{
If A_LoopField = --------
{
NameIsDone := True
}
Else
{
ItemName := ItemName . A_LoopField . "`n" ; Add a line of name
CheckBaseLevel(ItemName) ; Checking for base item level.
}
Continue
}

; Get item level
IfInString, A_LoopField, Itemlevel:
{
StringSplit, ItemLevelArray, A_LoopField, %A_Space%
ItemLevel := ItemLevelArray2
Continue
}

; Get quality
IfInString, A_LoopField, Quality:
{
StringSplit, Arr, A_LoopField, %A_Space%, +`%
Quality := Arr2
Continue
}

; Get total physical damage
IfInString, A_LoopField, Physical Damage:
{
IsWeapon = True
StringSplit, Arr, A_LoopField, %A_Space%
StringSplit, Arr, Arr3, -
PhysLo := Arr1
PhysHi := Arr2
Continue
}
;Fix for Elemental damage only weapons. Like the Oro's Sacrifice
IfInString, A_LoopField, Elemental Damage:
{
IsWeapon = True
Continue
}

; These only make sense for weapons
If IsWeapon
{
; Get attack speed
IfInString, A_LoopField, Attacks per Second:
{
StringSplit, Arr, A_LoopField, %A_Space%
AttackSpeed := Arr4
Continue
}

; Get percentage physical damage increase
IfInString, A_LoopField, increased Physical Damage
{
StringSplit, Arr, A_LoopField, %A_Space%, `%
PhysMult := Arr1
Continue
}

;Lines to skip fix for converted type damage. Like the Voltaxic Rift
IfInString, A_LoopField, Converted to
Goto, SkipDamageParse
IfInString, A_LoopField, can Shock
Goto, SkipDamageParse

; Parse elemental damage
ParseDamage(A_LoopField, "Chaos", ChaoLo, ChaoHi)
ParseDamage(A_LoopField, "Cold", ColdLo, ColdHi)
ParseDamage(A_LoopField, "Fire", FireLo, FireHi)
ParseDamage(A_LoopField, "Lightning", LighLo, LighHi)

SkipDamageParse:
}
}
If ItemLevel = -1 ; Something without an itemlevel
{
Exit
}
; Get position of mouse cursor
global X
global Y
MouseGetPos, X, Y

; All items should show name and item level
; Pad to 3 places
ItemLevel := " " + ItemLevel
StringRight, ItemLevel, ItemLevel, 3
TT = %ItemName%Item lvl: %ItemLevel%

; DPS calculations
If IsWeapon {
SetFormat, FloatFast, 5.1

PhysDps := ((PhysLo + PhysHi) / 2) * AttackSpeed
EleDps := ((ChaoLo + ChaoHi + ColdLo + ColdHi + FireLo + FireHi + LighLo + LighHi) / 2) * AttackSpeed
TotalDps := PhysDps + EleDps

TT = %TT%`nPhys DPS: %PhysDps%`nElem DPS: %EleDps%`nTotal DPS: %TotalDps%

; Only show Q20 values if item is not Q20
If Quality < 20
{
TotalPhysMult := (PhysMult + Quality + 100) / 100
BasePhysDps := PhysDps / TotalPhysMult
Q20Dps := BasePhysDps * ((PhysMult + 120) / 100) + EleDps

TT = %TT%`nQ20 DPS: %Q20Dps%
}
}

; Replaces Clipboard with tooltip data
StringReplace, clipboard, TT, `n, %A_SPACE% , All

; Show tooltip, with fixed width font
ToolTip, %TT%, X + 35, Y + 35
global FixedFont
SetFont(FixedFont)
; Set up count variable and start timer for tooltip timeout
global ToolTipTimeout := 0
SetTimer, ToolTipTimer, 100
}

; Tick every 100 ms
; Remove tooltip if mouse is moved or 5 seconds pass
ToolTipTimer:
ToolTipTimeout += 1
MouseGetPos, CurrX, CurrY
MouseMoved := (CurrX - X)**2 + (CurrY - Y)**2 > MouseMoveThreshold**2
If (MouseMoved or ToolTipTimeout >= ToolTipTimeoutTicks)
{
SetTimer, ToolTipTimer, Off
ToolTip
}
return

OnClipBoardChange:
ParseClipBoardChanges()


Grinding Gear Games support@grindinggear.com via freshdesk.com
Jan 21

to me
Hi there,

Thanks for contacting us.

Can you please refer to Chris' forum post about addons to the game:
https://www.pathofexile.com/forum/view-thread/592979/page/4#p5284492

"Any kind of addon like this is unfortunately not allowed because it could expose information that the game normally doesn't make clear to the user (giving them an advantage). While I understand this particular one is harmless, the policy is to prevent users feeling that they have to run (potentially dangerous!) third party programs to have a level playing field."

I understand this is a slightly different script. Maybe I can suggest this to the developers to look into adding something official along the lines of this.

Let us know if you have any questions or issues.

Regards,
Stewart
GGG Support
26080


No it is not banabale. It does not modify the client or interact with it at all. It breaks no rules in there TOS. PLus if it was they would have deleted my post a long time ago.

Here is there email why they have not posted and wont be posting.
"
Scott nipper4369@gmail.com
Mar 2 (1 day ago)
to support

I made the tool a few months back. But I still get pms people wanting to hear form GGG if it is ok to use.

As far as I know I do no break any rules in the TOS. So if someone from GGG would be so kind and just post saying it is ok it would be a big help.

http://www.pathofexile.com/forum/view-thread/594346


Grinding Gear Games via freshdesk.com
Mar 2 (1 day ago)

to me
Hi nipper,

While it looks like this isn't against the ToS and is not something we would ban for, directly endorsing programs like this is very risky for us. Chris has said before that if it does not interfere with the game client then we can't ban for it, but directly endorsing each app is a bit more complicated. It would be very easy for you to change your link to a different project that was malicious, or to change your code and its very hard for us to monitor this. We simply do not have the resources to regularly check all of these threads and ensure that nothing has changed.

Simply by leaving it on the forums we are effectively saying that it looks like its okay, anything that looks like it could be malicious is removed very quickly. Unfortunately I don't think we can directly endorse this tool like you have suggested. Let me know if you have any further questions or requests.

Thanks,
RoryC




"
Woodfist wrote:
Hi!

I got it all woprking but the the tooltip pops up just for a brief moment (~0.1 sec or so), then disappears again. What can I do about that?

Kind regards!

"
Woodfist wrote:
"
Kislorod wrote:


Are you sure you are running PoE in "Windowed" or "Fullscreen windowed" mode? Check in options.

If the answer is "yes", open the script in Notepad (or any other simple text editor) and find the following line:

ToolTipTimeoutTicks :=

Be sure that it looks like that:

ToolTipTimeoutTicks := 300


Hi, yes I am running Windowed Fullscreen.

In the script it said already ToolTipTimeoutTicks := 300, I changed it to 3000 just for testing, but the tooltip still disappeared instantly.

I really have no idea what is going on here :(


You must be in windowed mode. Hit Alt+Enter then try it again. Also make sure you are running the newest version of autohotkey. This can also cause it to not work correctly. If it still does not seem to work I will tell you a more directway to modifying the timer. But rather not as it would be only a fix for you and not if others are having the issue as well.




"
adinth wrote:
Sometimes after checking out an item, the tooltip pops out randomly while i'm playing. any ideas why?

great script btw :) very much help for lazy bums like me


Are you hitting ctrl+c or reloading the script? That is the only way I can see why it would pop up over and over.



Tied of trying to figure out iLVL or DPS in game. Check this out http://www.pathofexile.com/forum/view-thread/594346
Last edited by Nipper4369 on Mar 9, 2014, 3:17:34 PM
Hi there!

I downloaded the latest version of AHK and also tried running PoE in Windowed as well as Windowed Fullscreen mode. The outcome is always the same as the tooltip appears only for a split second.

When I pause the script however, I can still use ctrl-c and a tooltip will pop up. However now it will not go away at all >.>
"
Nipper4369 wrote:

"
adinth wrote:
Sometimes after checking out an item, the tooltip pops out randomly while i'm playing. any ideas why?

great script btw :) very much help for lazy bums like me


Are you hitting ctrl+c or reloading the script? That is the only way I can see why it would pop up over and over.


nope im not hitting ctrl+c nor reloading the script. it just pops out randomly while im playing. it is because of my version of AHK? im using the latest one but it did say something was discontinued

EDIT: ok i fixed it. problem was on my end, clipboard manager conflicts
Last edited by adinth on Mar 9, 2014, 4:27:45 PM
"
Woodfist wrote:
Hi there!

I downloaded the latest version of AHK and also tried running PoE in Windowed as well as Windowed Fullscreen mode. The outcome is always the same as the tooltip appears only for a split second.

When I pause the script however, I can still use ctrl-c and a tooltip will pop up. However now it will not go away at all >.>



Just pushed a huge update also new thread. So might want to try it out.
Tied of trying to figure out iLVL or DPS in game. Check this out http://www.pathofexile.com/forum/view-thread/594346
So I downloaded AHK and the Script. Opened up the Script and the icon shows up in my System Tray. When I load up the game (Steam Version by the way) and press Ctrl+C on an item, it doesn't show me a tooltip at all. If I open up a notepad document and hit Ctrl+V it pastes all the data into the document.

Is there a setting that might be broken or am I not doing something right? I'm currently playing at 1920x1080 Windowed Fullscreen. Even tried to load it up in Windowed mode and the tooltip still does not appear on my screen.

Thanks for the reply!
"
Rotguine wrote:
So I downloaded AHK and the Script. Opened up the Script and the icon shows up in my System Tray. When I load up the game (Steam Version by the way) and press Ctrl+C on an item, it doesn't show me a tooltip at all. If I open up a notepad document and hit Ctrl+V it pastes all the data into the document.

Is there a setting that might be broken or am I not doing something right? I'm currently playing at 1920x1080 Windowed Fullscreen. Even tried to load it up in Windowed mode and the tooltip still does not appear on my screen.

Thanks for the reply!



try using the newest version. But there is only one reason why the tooltip wont show and thats due to fullscreen mode.
Tied of trying to figure out iLVL or DPS in game. Check this out http://www.pathofexile.com/forum/view-thread/594346
When I run the script I get.

error at line 1.

line text ÿþ: error this line does not contain a recognized action.

got around the issue by placing all the files in with the default script location (users\documents) and replacing the default script with this script.
Last edited by MrPing1000 on Mar 15, 2014, 6:08:47 PM
Hi.

One of the hardest things in this game is checking every piece of gear for it´s worth. So, I thought about changing your excellent script a bit to do it for me. I started just checking the number and scope of the resists of an item.

It was simple, but worked. The next step would be to expand it to cover all the mods in the game - simply put it, the script should check the item mods against the mod compendium and tells me how many of them are above the average considering the itemlevel. Then it calculates a "item worth" and point out the above average mods in the little window. Sure, a couple of other criterias could be used, but simply knowing how many mods are above average would be a great start.

I could not finish the modification for personal reasons, but I think it would be of immense use to anyone trying to figure out what to sell to the vendors and what to hold on to, so I thought it would be cool to post the idea here, in case someone wants to give it a go.

Also, I apologize for my english. It is not my first language, as I am a brazilian.
fixed it had 64bit autohotkey seems 32 does work though.
http://www.pathofexile.com/forum/view-thread/913599 <--- mirror Thread
Last edited by PaladinSMD on May 22, 2014, 1:01:08 PM
problem solved, i downloaded ahk somewhere else and now its working somehow ^^
Last edited by siMoK on Jun 3, 2014, 11:37:16 AM

Report Forum Post

Report Account:

Report Type

Additional Info