Aion program to calculate xp per hour

10/19/2009 10:02 nolissa#1
I wonder if someone can do a program to calculate the xp per hour in c++ (reading with offset), and possibly given source code (for learn). I started programming and it helps me a lot. Thank you all. :handsdown:

ps : or a program for view readmemory in game.dll
10/19/2009 10:40 plany123#2
Quote:
Originally Posted by nolissa View Post
I wonder if someone can do a program to calculate the xp per hour in c++ (reading with offset), and possibly given source code (for learn). I started programming and it helps me a lot. Thank you all. :handsdown:

ps : or a program for view readmemory in game.dll
i have a funktion in AutoIt ... Although not c + + but in the end is everything assembler ^^

you need 2 vars ... the start event is a Monster kill
1 var is you new exp ( 12300 ) per mob
2 time between mob kills i use a Timestamp :)

this is the func
Code:
Func calcTime($nep)
	$ntime = _TimeGetStamp() - $timeDiff
	$tmpMep = PlayerMaxEP()
	$tmpCep = playerCurrectEP()
	$timeToLevelUp =(($tmpMep - $tmpCep) / $nep ) * $ntime
	$newTime = Round(($timeToLevelUp/60)/60,2)
	if($lastTime <> 0) Then
		if($newTime > $lastTime) Then
			$difftime = $newTime - $lastTime
			$avgTime = $difftime + $lastTime
		Elseif($lastTime > $newTime) Then
			$difftime = $lastTime - $newTime
			$avgTime = $difftime + $newTime
		EndIf
		$lastTime = $newTime
	Else
		$lastTime = $newTime
		$avgTime = $newTime;
	EndIf
	GUICtrlSetData($TimeCount, timeToHuman($avgTime))
EndFunc
its calculate all 2 mob kills the time to lvl up :) its not perfect but is god :)

the memory Read Func!
Code:
Func OpenAionMemory()
	$pid = ProcessExists("AION.bin")
	If $pid == -1 Then
		Return
	EndIf
	$openmem = _MemoryOpen($pid)
	If @error Then
		Return
	EndIf
	$AionRun = True
EndFunc

Func MemReadDLL($offset)
    $StaticOffset = Dec($offset)
    Global $pid
    Global $CUROffset[1]
    $CUROffset[0] = 0
    $baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemTest = _MemoryRead($finaladdr,$openmem)

    Return $MemTest
EndFunc

Func MemReadDLLFloat($offset)
	$StaticOffset = Dec($offset)
	Global $pid
	Global $CUROffset[1]
	$CUROffset[0] = 0
	$baseADDR = _MemoryModuleGetBaseAddress($pid, "Game.dll")
	$finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
	$MemTest = _MemoryRead($finaladdr,$openmem,"float")
	Return $MemTest
EndFunc
the offset funcs :)
Code:
Func playerCurrectEP()
	return MemReadDLL("8EEEA8")
EndFunc

Func PlayerMaxEP()
	return MemReadDLL("8EEE98")
EndFunc

Func playerCurrectMana()
	return MemReadDLL("8EEEC0")
EndFunc

Func PlayerMaxMana()
	return MemReadDLL("8EEEBC")
EndFunc

Func playerCurrectHp()
	return MemReadDLL("8EEEB8")
EndFunc

Func playerCurrectHpPercent()
	$val = MemReadDLL("8EEEB8")
	$Pval = ($val * 100) / PlayerMaxHp()
	return Round($Pval)
EndFunc

Func PlayerMaxHp()
	return MemReadDLL("8EEEB4")
EndFunc

Func PlayerXPos()
	return MemReadDLLFloat("8E6944")
EndFunc

Func PlayerYPos()
	return MemReadDLLFloat("8E6940")
EndFunc

Func PlayerZPos()
	return MemReadDLLFloat("8E6948")
EndFunc

; Angel of the Player 360� / 2 :)
Func GetPlayerPos()
	Return MemReadDLLFloat("8E40C0")
EndFunc
10/19/2009 15:26 Jatacid#3
Any chance to link the full thing to get a GUI happening plany123?
Cheers
10/21/2009 02:54 blun0r#4
Quote:
Originally Posted by Jatacid View Post
Any chance to link the full thing to get a GUI happening plany123?
Cheers
Would be nice
03/31/2010 09:09 PharmerPhaleMMO#5
Heh.. random... Did a google to find how some people calculate experience per hour (not specific to aion though) and found a function using my functions (memreaddll/etc). Lol.