[Release]Ingame Itemlevel and DPS Display using Autohotkey

"
kymeimei wrote:
We allowed to use this or what??


Here is a email from GGG I asked a day ago.

"
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



So in other words yes you can use it and not be banned for it. But it is not backed by GGG them self. That is there reasoning behind not posting. As long as I as the maker and people that modify it keep in line with the TOS it can be used. So use at your own risk. But I am one that will offer my program open source never precompiled. So if you think something is wrong don't use it.
Tied of trying to figure out iLVL or DPS in game. Check this out http://www.pathofexile.com/forum/view-thread/594346



i use this to start two of my .Ahk
Spoiler
;##### Master.ahk
Run, C:\Program Files (x86)\AutoHotKey\Macros.ahk
Run, C:\Program Files (x86)\AutoHotKey\POEiLvlandDPSDisplay-master\POE_iLVL_DPS-Revealer.ahk
ExitApp


There seems to be a problem with getting the info from "maplist.txt", the files for this ahk are all in the same folder, (itemlist, maplist and the .ahk)

EDIT: It works fine if i manually open and run the .ahk

its not too big of a deal cause i can just remove it and use the rest of its features, but thought i might see if im doin it wrong :P

The "Macros.ahk" works fine.
IGN: MouseSupreme
Last edited by Mouse on Mar 4, 2014, 6:49:02 PM
"



i use this to start two of my .Ahk
Spoiler
;##### Master.ahk
Run, C:\Program Files (x86)\AutoHotKey\Macros.ahk
Run, C:\Program Files (x86)\AutoHotKey\POEiLvlandDPSDisplay-master\POE_iLVL_DPS-Revealer.ahk
ExitApp


There seems to be a problem with getting the info from "maplist.txt", the files for this ahk are all in the same folder, (itemlist, maplist and the .ahk)

EDIT: It works fine if i manually open and run the .ahk

its not too big of a deal cause i can just remove it and use the rest of its features, but thought i might see if im doin it wrong :P

The "Macros.ahk" works fine.



I addressed the issue just incase. Updated to 1.4.1 for bug fix. I will add better external file handling at a later date.

Edit:
Went and looked up the run command.

Use
Spoiler
;##### Master.ahk
Run, C:\Program Files (x86)\AutoHotKey\Macros.ahk, C:\Program Files (x86)\AutoHotKey\
Run, C:\Program Files (x86)\AutoHotKey\POEiLvlandDPSDisplay-master\POE_iLVL_DPS-Revealer.ahk, C:\Program Files (x86)\AutoHotKey\
ExitApp


that will solve the issue. This is due to the location of master.ahk not being in the same folder.

You can also add this at the top if all your script if they are located all in the same dir.

SetWorkingDir, C:\Program Files (x86)\AutoHotKey\
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 4, 2014, 9:38:29 PM
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
IGN:Phantamo
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:
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!


Do not move your mouse.
"
Kislorod wrote:
"
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!


Do not move your mouse.


Doesn't help :/
"
Woodfist wrote:
"
Kislorod wrote:
"
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!


Do not move your mouse.


Doesn't help :/


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
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
"
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 :(

Report Forum Post

Report Account:

Report Type

Additional Info