Nostale - Hack D3D (AutoIT)

03/08/2012 17:34 sfigmo#1
I was write this hack with Narutomega96, it's autoit.
Compile it and enjoy! ;)

Code:
#RequireAdmin

Global $Taglialegnax99_Var = 0,$Cavax99_Var = 0,$Sparax99_Var = 0,$Stagnox99_Var = 0,$Combox10_Var = 0,$Munizioniillimitatespara_Var = 0, $Lv_5_0_Punti_Var = 0, $Roccia_Illuminata_Var = 0
Global $Taglialegnax99_g = 1,$Cavax99_g = 1,$Sparax99_g = 1,$Stagnox99_g = 1,$Combox10_g = 1,$Munizioniillimitatespara_g = 1, $Lv_5_0_Punti_g = 1, $Roccia_Illuminata_g = 1


Opt("TrayMenuMode",1)

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

$P = IniRead("Settings.ini", "Global", "Nostale_Processo", "1")
If $P = "1" Then
	$P = InputBox("Processo di Nostale", "Inserisci il processo di nostale consigliato: " & @CRLF & " - NostaleX.dat")
	If Not ProcessExists($P) Then
		MsgBox(0, "Riprova", "Devi aprire prima nostale")
		Exit
	EndIf
	IniWrite("Settings.ini", "Global", "Nostale_Processo", $P)
EndIf
AdlibRegister("Aggiornamento",20)

Dim  $Taglialegnax99_Var[3] = [0x0,0x0C,0x9C4]
Dim  $Cavax99_Var[3] = [0x0,0x0C,0xFBC]
Dim  $Sparax99_Var[3] = [0x0,0x0C,0x8C4]
Dim  $Stagnox99_Var[3] = [0x0,0x0C,0x16EC]
Dim  $Combox10_Var[3] = [0x0,0x0C,0x9CC]
Dim  $RocciaLuccicante_Var[3] = [0x0,0x0C,0x1008]
Dim  $Munizioniillimitatespara_Var[3] = [0x0,0x0C,0x908]

#include <StructureConstants.au3>
#include <Misc.au3>
#include <GDIplus.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <NosLib.au3>


#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("", 160, 258, 0, 0, BitOR($WS_POPUP, $WS_BORDER))
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetBkColor(0x7a7a7a)
$Group1 = GUICtrlCreateGroup("Minigame Hack", 0, 0, 121, 137)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Taglialegna = GUICtrlCreateCheckbox("Taglialegna x99", 8, 16, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Cava = GUICtrlCreateCheckbox("Cava x99", 8, 32, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Stagno = GUICtrlCreateCheckbox("Stagno x99", 8, 48, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Sparapolli = GUICtrlCreateCheckbox("Sparapolli x99", 8, 64, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Combo = GUICtrlCreateCheckbox("Combo x10", 8, 80, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Munizioni = GUICtrlCreateCheckbox("Munizioni Illimitate", 8, 96, 105, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Roccia = GUICtrlCreateCheckbox("Roccia Illuminata", 8, 112, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Hack Generali", 0, 136, 121, 89)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Checkbox8 = GUICtrlCreateCheckbox("Zoom Hack", 8, 152, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Button1 = GUICtrlCreateButton("Trasforma PG", 8, 192, 75, 25)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Checkbox9 = GUICtrlCreateCheckbox("Speed Hack", 8, 168, 97, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label1 = GUICtrlCreateLabel("~~~Nostrucchi~~~", 8, 232, 137, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###+

$Credits = Display_Rotated_Text($Form1, "Narutomega96 & SCL", 128, 190, 90, 400, 17, 0xFFFF00, 0xFFFF00)
GUICtrlSetColor($Credits, 0xFFFF00)

$Sito = TrayCreateItem("Nostrucchi.altervista.org")
TrayCreateItem("")
$Esci = TrayCreateItem("Esci")

WinSetTrans($Form1, "", "153")

TrayTip("CREDITI", "Hack creato da Narutomega96 & SCL", 5000)


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
            _Form2()
		Case $Taglialegna
			If $Taglialegnax99_Var = 1 Then
				$Taglialegnax99_Var = 0
				GUICtrlSetBkColor($Taglialegna,0x7a7a7a)
			Else
				$Taglialegnax99_Var = 1
				GUICtrlSetBkColor($Taglialegna,0x18DF18)
			EndIf
		Case $Cava
			If $Cavax99_Var = 1 Then
				$Cavax99_Var = 0
				GUICtrlSetBkColor($Cava,0x7a7a7a)
			Else
				$Cavax99_Var = 1
				GUICtrlSetBkColor($Cava,0x18DF18)
			EndIf
		Case $Sparapolli
			If $Sparax99_Var = 1 Then
				$Sparax99_Var = 0
				GUICtrlSetBkColor($Sparapolli,0x7a7a7a)
			Else
				$Sparax99_Var = 1
				GUICtrlSetBkColor($Sparapolli,0x18DF18)
			EndIf
		Case $Stagno
			If $Stagnox99_Var = 1 Then
				$Stagnox99_Var = 0
				GUICtrlSetBkColor($Stagno,0x7a7a7a)
			Else
				$Stagnox99_Var = 1
				GUICtrlSetBkColor($Stagno,0x18DF18)
			EndIf
		Case $Combo
			If $Combox10_Var = 1 Then
				$Combox10_Var = 0
				GUICtrlSetBkColor($Combo,0x7a7a7a)
			Else
				$Combox10_Var = 1
				GUICtrlSetBkColor($Combo,0x18DF18)
			EndIf
		Case $Munizioni
			If $Munizioniillimitatespara_Var = 1 Then
				$Munizioniillimitatespara_Var = 0
				GUICtrlSetBkColor($Munizioni,0x7a7a7a)
			Else
				$Munizioniillimitatespara_Var = 1
				GUICtrlSetBkColor($Munizioni,0x18DF18)
			EndIf
		Case $Roccia
			If $Roccia_Illuminata_Var = 1 Then
				$Roccia_Illuminata_Var = 0
				GUICtrlSetBkColor($Roccia,0x7a7a7a)
			Else
				$Roccia_Illuminata_Var = 1
				GUICtrlSetBkColor($Roccia,0x18DF18)
			EndIf
		Case $Checkbox8
			_ZoomHack()
		Case $Esci
			Exit 0
		Case $Sito
			ShellExecute("www.bordergame.it")
	EndSwitch
WEnd


Func _Form2()
	#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("", 184, 190, 192, 0,BitOR($WS_POPUP, $WS_BORDER))
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetBkColor(0x7a7a7a)
$Label2 = GUICtrlCreateLabel("Sp Spadaccino:", 8, 8, 80, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio1 = GUICtrlCreateRadio("War", 8, 24, 41, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio2 = GUICtrlCreateRadio("Blade", 8, 40, 49, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio3 = GUICtrlCreateRadio("Crociato", 8, 56, 57, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio4 = GUICtrlCreateRadio("Berseker", 8, 72, 65, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Label3 = GUICtrlCreateLabel("Sp Arciere:", 8, 96, 56, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio5 = GUICtrlCreateRadio("Ranger", 8, 112, 57, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio6 = GUICtrlCreateRadio("Sin", 8, 128, 33, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio7 = GUICtrlCreateRadio("Destroyer", 8, 144, 65, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio8 = GUICtrlCreateRadio("Wild-Keeper", 8, 160, 81, 17)
$Label4 = GUICtrlCreateLabel("Sp Mago:", 96, 8, 50, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio9 = GUICtrlCreateRadio("Mago Rosso", 96, 24, 81, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio10 = GUICtrlCreateRadio("Mago Sacro", 96, 40, 81, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio11 = GUICtrlCreateRadio("Mago Blu", 96, 56, 65, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio12 = GUICtrlCreateRadio("Dark-Gunner", 96, 72, 81, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Label5 = GUICtrlCreateLabel("Altri:", 96, 96, 24, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio13 = GUICtrlCreateRadio("Pajama", 96, 112, 57, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio14 = GUICtrlCreateRadio("Pollo", 96, 128, 41, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio15 = GUICtrlCreateRadio("Jajamaru", 96, 144, 65, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
$Radio16 = GUICtrlCreateRadio("Invisibile", 96, 160, 57, 17)
GUICtrlSetBkColor(-1, 0x7a7a7a)
GUISetState(@SW_SHOW)
WinSetTrans($Form2, "", "204")
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Radio1
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "640")
		Case $Radio2
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "896")
		Case $Radio3
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "2688")
		Case $Radio4
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "2944")
		Case $Radio5
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "1152")
		Case $Radio6
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "1408")
		Case $Radio7
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "3200")
		Case $Radio8
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "6784")
		Case $Radio9
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "1664")
		Case $Radio10
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "1920")
		Case $Radio11
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "3712")
		Case $Radio12
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "3968")
		Case $Radio13
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "384")
		Case $Radio14
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "2176")
		Case $Radio15
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "2432")
		Case $Radio16
			_MemoryPointerWrite(0x00644AFC, $P,0x150, "65511")
	EndSwitch
WEnd
EndFunc


Func _ZoomHack()
EndFunc

Func Aggiornamento()
	If $Taglialegnax99_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$Taglialegnax99_Array,9999,"DWORD")
		$Taglialegnax99_g = 0
	Else
		If $Taglialegnax99_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$Taglialegnax99_Array,2,"DWORD")
			$Taglialegnax99_g = 1
		EndIf
	EndIf
	If $Cavax99_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$Cavax99_Array,9999,"DWORD")
		$Cavax99_g = 0
	Else
		If $Cavax99_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$Cavax99_Array,3,"DWORD")
			$Cavax99_g = 1
		EndIf
	EndIf
	If $Sparax99_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$Sparax99_Array,9999,"DWORD")
		$Sparax99_g = 0
	Else
		If $Sparax99_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$Sparax99_Array,2,"DWORD")
			$Sparax99_g = 1
		EndIf
	EndIf
	If $Stagnox99_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$Stagnox99_Array,9999,"DWORD")
		$Stagnox99_g = 0
	Else
		If $Stagnox99_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$Stagnox99_Array,2,"DWORD")
			$Stagnox99_g = 1
		EndIf
	EndIf
	If $Combox10_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$Combox10_Array,9,"DWORD")
		$Combox10_g = 0
	Else
		If $Combox10_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$Combox10_Array,2,"DWORD")
			$Combox10_g = 1
		EndIf
	EndIf
	If $Munizioniillimitatespara_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$Munizioniillimitatespara_Array,9999,"DWORD")
		$Munizioniillimitatespara_g = 0
	Else
		If $Munizioniillimitatespara_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$Munizioniillimitatespara_Array,10,"DWORD")
			$Munizioniillimitatespara_g = 1
		EndIf
	EndIf
	If $Roccia_Illuminata_Var = 1 Then
		_MemoryPointerWrite(0x007D3658,$P,$RocciaLuccicante_Array,9999,"DWORD")
		$Roccia_Illuminata_g = 0
	Else
		If $Roccia_Illuminata_g = 0 Then
			_MemoryPointerWrite(0x007D3658,$P,$RocciaLuccicante_Array,0,"DWORD")
			$Roccia_Illuminata_g = 1
		EndIf
	EndIf
EndFunc

;Thanks to BugFix
Func Display_Rotated_Text($hGUI, $text, $px, $py, $angle = 90, $tw = 400, $th = 12, $tcolor = 0x000000, $bcolor = 0xF0F0F0, $font = 'Arial', $transparent = True)
    Local $tRect, $rotate, $RotateMe, $rFont, $hDC

    ; Create RECT-structure, fill data
    $tRect = DllStructCreate ($tagRECT)
    DllStructSetData ($tRect, 'Left', $px)
    DllStructSetData ($tRect, 'Top', $py)

    ; Set rotation
    $rotate = $angle * 10

    ; Create structure for rotate text, fill data
    $RotateMe = DllStructCreate ($tagLOGFONT)
    DllStructSetData ($RotateMe, 'Escapement', $rotate)
    DllStructSetData ($RotateMe, 'Weight', $tw)
    DllStructSetData ($RotateMe, 'Height', $th)
    DllStructSetData ($RotateMe, 'FaceName', $font)

    ; Creates a logical font that has specific characteristics
    $rFont = _WinAPI_CreateFontIndirect ($RotateMe)

    ; Retrieves a handle of a display device context for the client area a window
    $hDC = _WinAPI_GetDC ($hGUI)

    ; Set text- and back color
    _WinAPI_SetTextColor ($hDC, $tcolor)
    _WinAPI_SetBkColor ($hDC, $bcolor)
    If $transparent Then _WinAPI_SetBkMode($hDC, $TRANSPARENT)

    ; Selects an object into the specified device context
    _WinAPI_SelectObject ($hdc, $rFont)

    ; Draws formatted text in the specified rectangle
    _WinAPI_DrawText ($hDC, $text, $tRect, $DT_NOCLIP + $DT_NOPREFIX)

    $tRect = 0
EndFunc

Func SPLASHIMAGEONCENTER($TITLE, $FILE, $WIDTH, $HEIGH, $OPT)
	SplashImageOn($TITLE, $FILE, $WIDTH, $HEIGH, @DesktopWidth / 2 - $WIDTH / 2, @DesktopHeight / 2 - $HEIGH / 2, $OPT)
EndFunc
03/08/2012 17:44 GsC RedRum#2
noslib.au3 is missing :)
03/08/2012 17:49 sfigmo#3
sorry, this is the noslib.au3 ;) save it in AutoIT\Include

Code:
;Libreria Creata da Narutomega96
;AutoIt Version:   3.3.6.1 (beta)
; Language:    Italiano
; Platform:    All Windows
; Author:      Narutomega96


Global $Taglialegnax99_Var = 0,$Cavax99_Var = 0,$Sparax99_Var = 0,$Stagnox99_Var = 0,$Combox10_Var = 0,$Munizioniillimitatespara_Var = 0, $Lv_5_0_Punti_Var = 0, $Roccia_Illuminata_Var = 0
Global $Taglialegnax99_g = 1,$Cavax99_g = 1,$Sparax99_g = 1,$Stagnox99_g = 1,$Combox10_g = 1,$Munizioniillimitatespara_g = 1, $Lv_5_0_Punti_g = 1, $Roccia_Illuminata_g = 1
Global $Paused

Global $WinTitle = "光之历险 - Nostale"
If Not WinExists($WinTitle) Then
	$WinTitle = "NosTale"
If Not	$WinTitle = "NosTale" Then
	$WinTitle = "Nostale"
If Not	$WinTitle = "Nostale" Then
$WinTitle = "nostale"
If Not	$WinTitle = "nostale" Then
	$WinTitle = "nosTale"
If Not	$WinTitle = "nosTale" Then
	$WinTitle = "篮蝴 康去狼 规尔磊 - Nostale"
EndIf
EndIf
EndIf
EndIf
EndIf

Global $FinestraNosIta = "NosTale"


Global Const $Processo = WinGetProcess($FinestraNosIta)
Global $P = _MemoryOpen($Processo)

;///////////////////////////            Address            ///////////////////////////

;//Nostale.it
Global Const    $Address_HP_MP = 0x007B93D4
Global Const	$Address_SOLDI = 0x007B95F0
Global Const 	$Address_EXP = 0x007B95EC
Global Const 	$Address_JOB = 0x007B9534
Global Const    $Address_Minigame = 0x007BA60C
Global Const    $Address_Lv_5_0_Punti = 0x007BA2F0
Global Const    $Address_X_Y = 0x007BA63C
Global Const  	$Addy_Zoom_Hack1 = 0x006252C4
Global Const  	$Addy_Zoom_Hack2 = 0x00634D38
Global Const	$Trasforma_PG = 0x0062CBE0

;//99Nos
Global Const 	$Address_HP_MP_99Nos = 0x007b2194
Global Const 	$Address_SOLDI_99Nos  = 0x007b21dc
Global Const 	$Address_EXP_99Nos  = 0x007b21dc
Global Const 	$Address__JOB_99Nos  = 0x007b22f4
Global Const    $Address_Minigame_99Nos = 0x007AE224
Global Const    $Address_Lv_5_0_Punti_99Nos = 0x007B2084
Global Const    $Pointer_X_Y_99Nos = 0x624C74

;//Nostale Se

Global Const 	$Address_HP_MP_Se = 0x007b2194
Global Const 	$Address_SOLDI_Se  = 0x007b21dc
Global Const 	$Address_EXP_Se  = 0x007b21dc
Global Const 	$Address__JOB_Se  = 0x007b22f4
Global Const    $Address_Minigame_Se = 0x007D6224
Global Const    $Address_Lv_5_0_Punti_Se = 0x007B2084
Global Const    $Pointer_X_Y_Se = 0x624C74

;///////////////////////////            OffSet            ///////////////////////////

;//Nostale.it

Global Const  $Taglialegnax99_Array[3] = [0x0,0x0C,0x9C4]
Global Const  $Cavax99_Array[3] = [0x0,0x0C,0xFBC]
Global Const  $Sparax99_Array[3] = [0x0,0x0C,0x8C4]
Global Const  $Stagnox99_Array[3] = [0x0,0x0C,0x16EC]
Global Const  $Combox10_Array[3] = [0x0,0x0C,0x9CC]
Global Const  $RocciaLuccicante_Array[3] = [0x0,0x0C,0x1008]
Global Const  $Munizioniillimitatespara_Array[3] = [0x0,0x0C,0x908]
Global Const  $OffsetHP[3] = [0, 0xAC, 0x4C]
Global Const  $OffsetMax_HP[3] = [0, 0xAC, 0x48]
Global Const  $OffsetMP[3] = [0, 0xB0, 0x4C]
Global Const  $OffsetMax_MP[3] = [0, 0xB0, 0x48]
Global Const  $OffsetSoldi[2] = [0, 0x268]
Global Const  $OffsetLv[2] = [0, 0x2A8]
Global Const  $OffsetJob[2] = [0, 0x194]
Global Const  $Off_X[2] = [0, 0x4]
Global Const  $Off_Y[2] = [0, 0x6]
Global Const  $Off_ZoomHack[6] = [0x0, 0x39C, 0x5A4, 0x1EC, 0x610, 0x5C]
Global Const  $Off_TrasformaPG [2] = [0x0, 0x150]
;//99Nos
Global Const  $Taglialegnax99_Array_99Nos[3] = [0x0,0x18,0x9C4]
Global Const  $Cavax99_Array_99Nos[3] = [0x0,0x18,0xFBC]
Global Const  $Sparax99_Array_99Nos[3] = [0x0,0x18,0x8C4]
Global Const  $Stagnox99_Array_99Nos[3] = [0x0,0x18,0x16EC]
Global Const  $Combox10_Array_99Nos[3] = [0x0,0x18,0x9CC]
Global Const  $RocciaLuccicante_Array_99Nos[3] = [0x0,0x18,0x1008]
Global Const  $Munizioniillimitatespara_Array_99Nos[3] = [0x0,0x18,0x908]
Global Const  $OffsetHP_99Nos [3] = [0, 0xAC, 0x4C]
Global Const  $OffsetMax_HP_99Nos [3] = [0, 0xAC, 0x48]
Global Const  $OffsetMP_99Nos [3] = [0, 0xB0, 0x4C]
Global Const  $OffsetMax_MP_99Nos [3] = [0, 0xB0, 0x48]
Global Const  $OffsetSoldi_99Nos [2] = [0, 0x13c]
Global Const  $OffsetLv_99Nos [2] = [0, 0x12C]
Global Const  $OffsetJob_99Nos [2] = [0, 0x194]
Global Const  $OffsetTrasformazione_99Nos[2] = [0, 0x150]
Global Const  $Off_X_99Nos[2] = [0, 0xC]
Global Const  $Off_Y_99Nos[2] = [0, 0xE]

;//Nostale Se
Global Const  $Taglialegnax99_Array_Se[3] = [0x0,0x18,0x9C4]
Global Const  $Cavax99_Array_Se[3] = [0x0,0x18,0xFBC]
Global Const  $Sparax99_Array_Se[3] = [0x0,0x18,0x8C4]
Global Const  $Stagnox99_Array_Se[3] = [0x0,0x18,0x16EC]
Global Const  $Combox10_Array_Se[3] = [0x0,0x18,0x9CC]
Global Const  $RocciaLuccicante_Array_Se[3] = [0x0,0x18,0x1008]
Global Const  $Munizioniillimitatespara_Array_Se[3] = [0x0,0x18,0x908]
Global Const  $OffsetHP_Se [3] = [0, 0xAC, 0x4C]
Global Const  $OffsetMax_HP_Se [3] = [0, 0xAC, 0x48]
Global Const  $OffsetMP_Se [3] = [0, 0xB0, 0x4C]
Global Const  $OffsetMax_MP_Se [3] = [0, 0xB0, 0x48]
Global Const  $OffsetSoldi_Se [2] = [0, 0x13c]
Global Const  $OffsetLv_Se [2] = [0, 0x12C]
Global Const  $OffsetJob_Se [2] = [0, 0x194]
Global Const  $OffsetTrasformazione_Se[2] = [0, 0x150]

;///////////////////////////            Funzioni            ///////////////////////////

Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_InheritHandle = 1)

    If Not ProcessExists($iv_Pid) Then
        SetError(1)
        Return 0
    EndIf

    Local $ah_Handle[2] = [DllOpen('kernel32.dll')]

    If @Error Then
        SetError(2)
        Return 0
    EndIf

    Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $iv_InheritHandle, 'int', $iv_Pid)

    If @Error Then
        DllClose($ah_Handle[0])
        SetError(3)
        Return 0
    EndIf

    $ah_Handle[1] = $av_OpenProcess[0]

    Return $ah_Handle

EndFunc

Func _MemoryClose($ah_Handle)

    If Not IsArray($ah_Handle) Then
        SetError(1)
        Return 0
    EndIf

    DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
    If Not @Error Then
        DllClose($ah_Handle[0])
        Return 1
    Else
        DllClose($ah_Handle[0])
        SetError(2)
        Return 0
    EndIf

EndFunc

Func _MemoryPointerRead($iv_Address, $ah_Handle, $av_Offset, $sv_Type = 'dword')

    If IsArray($av_Offset) Then
        If IsArray($ah_Handle) Then
            Local $iv_PointerCount = UBound($av_Offset) - 1
        Else
            SetError(2)
            Return 0
        EndIf
    Else
        SetError(1)
        Return 0
    EndIf

    Local $iv_Data[2], $i
    Local $v_Buffer = DllStructCreate('dword')

    For $i = 0 To $iv_PointerCount

        If $i = $iv_PointerCount Then
            $v_Buffer = DllStructCreate($sv_Type)
            If @error Then
                SetError(@error + 2)
                Return 0
            EndIf

            $iv_Address = '0x' & Hex($iv_Data[1] + $av_Offset[$i])
            DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
            If @error Then
                SetError(7)
                Return 0
            EndIf

            $iv_Data[1] = DllStructGetData($v_Buffer, 1)

        ElseIf $i = 0 Then
            DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
            If @error Then
                SetError(7)
                Return 0
            EndIf

            $iv_Data[1] = DllStructGetData($v_Buffer, 1)

        Else
            $iv_Address = '0x' & Hex($iv_Data[1] + $av_Offset[$i])
            DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
            If @error Then
                SetError(7)
                Return 0
            EndIf

            $iv_Data[1] = DllStructGetData($v_Buffer, 1)

        EndIf

    Next

    $iv_Data[0] = $iv_Address

    Return $iv_Data

EndFunc

Func _MemoryPointerWrite ($iv_Address, $ah_Handle, $av_Offset, $v_Data, $sv_Type = 'dword')

    If IsArray($av_Offset) Then
        If IsArray($ah_Handle) Then
            Local $iv_PointerCount = UBound($av_Offset) - 1
        Else
            SetError(2)
            Return 0
        EndIf
    Else
        SetError(1)
        Return 0
    EndIf

    Local $iv_StructData, $i
    Local $v_Buffer = DllStructCreate('dword')

    For $i = 0 to $iv_PointerCount
        If $i = $iv_PointerCount Then
            $v_Buffer = DllStructCreate($sv_Type)
            If @Error Then
                SetError(@Error + 3)
                Return 0
            EndIf

            DllStructSetData($v_Buffer, 1, $v_Data)
            If @Error Then
                SetError(8)
                Return 0
            EndIf

            $iv_Address = '0x' & hex($iv_StructData + $av_Offset[$i])
            DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
            If @Error Then
                SetError(9)
                Return 0
            Else
                Return $iv_Address
            EndIf
        ElseIf $i = 0 Then
            DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
            If @Error Then
                SetError(3)
                Return 0
            EndIf

            $iv_StructData = DllStructGetData($v_Buffer, 1)

        Else
            $iv_Address = '0x' & hex($iv_StructData + $av_Offset[$i])
            DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
            If @Error Then
                SetError(3)
                Return 0
            EndIf

            $iv_StructData = DllStructGetData($v_Buffer, 1)

        EndIf
    Next

EndFunc

Func _MemoryGetBaseAddress($ah_Handle, $iHexDec = 0)

    Local $iv_Address = 0x00100000
    Local $v_Buffer = DllStructCreate('dword;dword;dword;dword;dword;dword;dword')
    Local $vData
    Local $vType

    If Not IsArray($ah_Handle) Then
        SetError(1)
        Return 0
    EndIf


    DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))

    If Not @Error Then

        $vData = Hex(DllStructGetData($v_Buffer, 2))
        $vType = Hex(DllStructGetData($v_Buffer, 3))

        While $vType <> "00000080"
            DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))
            $vData = Hex(DllStructGetData($v_Buffer, 2))
            $vType = Hex(DllStructGetData($v_Buffer, 3))
            If Hex($iv_Address) = "01000000" Then ExitLoop
            $iv_Address += 65536

        WEnd

        If $vType = "00000080" Then
            SetError(0)
            If $iHexDec = 1 Then
                Return Dec($vData)
            Else
                Return $vData
            EndIf

        Else
            SetError(2)
            Return 0
        EndIf

    Else
        SetError(3)
        Return 0
    EndIf

EndFunc

Func _MEMORYASMWRITE($IADRESSE, $ISTACK, $IMEMOPEN)
	Local $ISPLIT = StringRegExp(StringReplace($ISTACK, " ", ""), "(..)", 3)
	Local $ISTEP = 0
	For $I = 0 To $ISPLIT
		_MEMORYWRITE($IADRESSE + $ISTEP, $IMEMOPEN, "0x" & $ISPLIT[$ISTEP], "byte")
		$ISTEP += 1
	Next
EndFunc

Func _MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')

    If Not IsArray($ah_Handle) Then
        SetError(1)
        Return 0
    EndIf

    Local $v_Buffer = DllStructCreate($sv_Type)

    If @Error Then
        SetError(@Error + 1)
        Return 0
    Else
        DllStructSetData($v_Buffer, 1, $v_Data)
        If @Error Then
            SetError(6)
            Return 0
        EndIf
    EndIf

    DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')

    If Not @Error Then
        Return 1
    Else
        SetError(7)
        Return 0
    EndIf

EndFunc


Func Bot_Exp()
	While 1
            ControlSend($WinTitle, "", "", "{SPACE}")
                Sleep(500)
			ControlSend($WinTitle, "", "", "1")
				Sleep(500)
            ControlSend($WinTitle, "", "", "{SPACE}")
                Sleep(500)
			ControlSend($WinTitle, "", "", "{SPACE}")
				Sleep(500)
	WEnd
EndFunc

Func Bot_Job()
While 1
            ControlSend($WinTitle, "", "", "z")
                Sleep(500)
			ControlSend($WinTitle, "", "", "z")
				Sleep(500)
            ControlSend($WinTitle, "", "", "z")
                Sleep(500)
			ControlSend($WinTitle, "", "", "z")
				Sleep(500)
	WEnd
EndFunc

Func Ferma_Bot()
	While 1
		Sleep(100)
	WEnd
EndFunc

Func Esci()
	Exit 0
EndFunc
03/09/2012 03:29 Mr.Tr33#4
Hey,
nice that you are starting to release some "hacks". But can you do your hacks in english please, because this forum is only for english and german languages but everyone is still welcome :)
03/09/2012 13:39 sfigmo#5
Ok sorry, I forgot
03/11/2012 15:23 ernilos#6
Please, Can post version for Nostale(es)?
03/11/2012 19:08 GameCrime#7
Dont work on DE
03/11/2012 19:26 GsC RedRum#8
Nat黵lich funktioniert es nicht. Die Pointer sind ja ganz anders.
Ich denke er wollte nur die Oberfl鋝che pr鋝entieren.
03/11/2012 22:35 Elektrochemie#9
So wie ich das sehe ist es aber kein wirklicher D3D Hack, sondern einfach nur ein Overlay.
03/11/2012 22:51 ronrocks123#10
Quote:
Originally Posted by Elektrochemie View Post
So wie ich das sehe ist es aber kein wirklicher D3D Hack, sondern einfach nur ein Overlay.
ich kenne mich damit zwar 0 aus aber ich bin 100% deiner meinung ! :D
03/12/2012 05:09 Mr.Tr33#11
Es ist ein Fenster was nicht ein mal sich an das NosTale Fenster h鋘gt, bzw. ich habe nichts beim r黚erschauen gesehen.
03/12/2012 15:43 sfigmo#12
yes, you can see the form to the 0.0 screen;)
however, only works for nostale Italy.
For nostale.de you must change the pointers.
The thick, are seen only locally;) But, now i have gm fixato all ..
03/14/2012 03:16 Mr.Tr33#13
Quote:
Originally Posted by sfigmo View Post
yes, you can see the form to the 0.0 screen;)
however, only works for nostale Italy.
For nostale.de you must change the pointers.
The thick, are seen only locally;) But, now i have gm fixato all ..
You probably don't understand our text but it doesn't matter.
You know that only a cuple of people from elitepvpers are playing nostale.it and they probably don't care about your hack ...
If you want that somebody cares for your hack, then you need to post a tutorial how to get your pointer or you have to realese a german and english version of your hack.
And please don't mix up english and italian together. My english is not the best one, but I really don't understand your third part of your text.

And btw. it isn't a D3D hack. Your window looks like a D3D hack, but isn't included into the NosTale window.
03/14/2012 14:59 sfigmo#14
I posted a video on youtube on how to find it, here it is
03/19/2012 18:45 Vivalaa#15
The video doesnt workes :O