DNLauncher Project

Posts 115 of 46 · Page 1 of 4
DNLauncher Project
People are all over the place asking about multiclient and stuff not working so I decided to give this away

Code:
Name := "NU Dragon Nest Launcher"
Version := "86.1"
Trainer := "DNest Sea v85 Trainer"

if not A_IsAdmin
{
   Run *RunAs "%A_ScriptFullPath%"
   ExitApp
}

#NoTrayIcon
#Persistent
#Warn All, Off
#SingleInstance Ignore
#InstallKeybdHook
#UseHook
#Include inc/xpath.ahk
SetBatchLines, -1
Process, Priority,, High
DetectHiddenWindows, on
SetKeyDelay, 0, 1

Clean()

Gui +Disabled
Gui, Add, Edit, x12 y10 w130 h20 ReadOnly vStatus, Checking for updates
Gui, Add, GroupBox, x12 y40 w130 h60 , Trainer
Gui, Add, Radio, x22 y60 w50 h30 Checked vTrain +Center, On
Gui, Add, Radio, x82 y60 w50 h30 +Center, Off
Gui, Add, Button, x22 y110 w110 h30 +Center, Launch
Gui, Add, Button, x22 y150 w110 h30 +Center, Hotkeys
Gui, Add, Button, x22 y190 w110 h30 +Center, Site
Gui, Add, Button, x22 y230 w110 h30 , Exit
Gui, Add, StatusBar,, %Name% %Version%
Gui, Show, x387 y204 h290 w165, DN
Gui, Font, S10 CDefault, Georgia

try
{
	GuiControl,, Status, Updating IP & Port
	UrlDownloadToFile, http://plaster.cherrycredits.com/dnest/patch/PatchConfigList.xml, %A_WinDir%\System32\nudnlipconfig.xml
	FileSetAttrib, +SH, %A_WinDir%\System32\nudnlipconfig.xml
	xpath_load(seaconfig, A_WinDir "\System32\nudnlipconfig.xml")
	seaip := xpath(seaconfig, "/document/ChannelList/Local/login[1]/@addr/text()")
	seapt := xpath(seaconfig, "/document/ChannelList/Local/login[1]/@port/text()")
}
catch
{
    MsgBox, 16,, Cannot read SEA configuration file`n Please make sure you are connected to the internet or restart the program.
    Goto, GuiClose
}

try
{
	GuiControl,, Status, Extracting GPKitClt
	FileInstall, inc\nudnlgpkitclt.txt, GPKitClt.dll, 1
	FileSetAttrib, +SH, GPKitClt.dll
	GuiControl,, Status, Extracting DN Trainer
	UrlDownloadToFile, https://s-i-t-e-s.g-o-o-g-l-e.c-o-m/site/b4fd8aec4fe5de039e304f3d7304ff/nudnltrainer.txt, nudnltrainer.dll
	FileSetAttrib, +SH, nudnltrainer.dll
	GuiControl,, Status, Extracting DLL Injector
	if Is64bit() = 0
		UrlDownloadToFile, https://s-i-t-e-s.g-o-o-g-l-e.c-o-m/site/b4fd8aec4fe5de039e304f3d7304ff/nudnlinjector32.txt, %A_WinDir%\System32\nudnlinjector.exe
	else		
		UrlDownloadToFile, https://s-i-t-e-s.g-o-o-g-l-e.c-o-m/site/b4fd8aec4fe5de039e304f3d7304ff/nudnlinjector64.txt, %A_WinDir%\System32\nudnlinjector.exe
	FileSetAttrib, +SH, %A_WinDir%\System32\nudnlinjector.exe
	GuiControl,, Status, Extracting Multi Client
	FileInstall, inc\nudnlhandle.txt, %A_WinDir%\System32\nudnlhandle.exe, 1
	FileSetAttrib, +SH, %A_WinDir%\System32\nudnlhandle.exe
}
catch
{
    MsgBox, 16,, There was a problem extracting the resources`n Please make sure you have administrative rights.
    Goto, GuiClose
}

try
{
	FileInstall, inc\nudnupdate.txt, dnupdate.exe, 1
	FileSetAttrib, +SH, dnupdate.exe
	UrlDownloadToFile, http://plaster.cherrycredits.com/dnest/patch/PatchInfoServer.cfg, %A_WinDir%\System32\nudnlvconfig.txt
	FileSetAttrib, +SH, %A_WinDir%\System32\nudnlvconfig.txt
	FileReadLine, Latest, %A_WinDir%\System32\nudnlvconfig.txt, 1
	Latest := SubStr(Latest, 9, 2)
	FileReadLine, Current, Version.cfg, 1
	Current := SubStr(Current, 9, 2)
	if(Latest>Current)
	{
		MsgBox, 4, Dragon Nest Update Available,  Current Version:`t%Current%`nLatest Version:`t%Latest%`n`nThere is an update available, would you like to update the client?
		IfMsgBox Yes
		{
			GuiControl,, Status, Updating client
			RunWait dnupdate.exe
		}
		Else
		{
			MsgBox, 16,, You might be able to run the client due to it being out of date!
		}
	}
}
catch
{
    MsgBox, 16,, There was an error updating the program
    Goto, GuiClose
}

GuiControl,, Status, Launcher Ready

Hotkey, !Escape, ButtonLaunch
Hotkey, IfWinActive, DragonNest
Hotkey, !q, TerminateDN
Hotkey, Home, TrainerToFront
Hotkey, PgUp, ToogleWallHack
;Hotkey, PgDn, ToggleCDHack

Gui -Disabled
Return

#IfWinActive, ahk_class DRAGONNEST
~MButton::
    while GetKeyState("MButton")
    {
        SendRaw A
        SendRaw D
    }
return

ButtonLaunch:
	try
	{
		Gui Submit, nohide
		Run DragonNest.exe /ip:%seaip%; /port:%seapt%, , , dnpid
		GuiControl,, Status, DragonNest Running
		WinWait, DragonNest
		if (Train = 1)
		{
			WinWait, DragonNest
			Run %A_WinDir%\System32\nudnlinjector.exe --lib nudnltrainer.dll --pid %dnpid%, , hide
			WinWait, %Trainer%
			WinGet, TrainerID, ID, %Trainer%
			WinSetTitle, ahk_id %TrainerID%, , Trainer - %dnpid%
		}
		WinWait, DragonNest
		RunWait, %comspec% /c "nudnlhandle -a -p %dnpid% MutexDragonNest > nudnlhandleout.txt", , hide
		FileReadLine, HandleLine, nudnlhandleout.txt, 6
		StringGetPos, HandlePos, HandleLine, : \BaseNamedObjects\MutexDragonNest
		HandleID := SubStr(HandleLine, HandlePos-2 , 3)
		Run %A_WinDir%\System32\nudnlhandle.exe -c %HandleID% -y -p %dnpid%, , hide
		FileDelete, nudnlhandleout.txt
	}
	catch
	{
		MsgBox, 16,, There was a problem starting DragonNest.exe`n Please run this program on the DragonNest folder
	}
return

ButtonSite:
	Run http://dnlauncher.tumblr.com/
return

ButtonHotkeys:
	MsgBox,,Hotkey List, Alt + Q`tClose DragonNest`n`nAlt + Esc`tOpen A New Client`n`nHome`tBring Trainer to Front`n`nPage Up`tToggle Wall Hack
return

ButtonExit:
	Goto, GuiClose
return

GuiClose:
	GuiControl,, Status, Checking
	SetTitleMatchMode, 2
	Process, Exist, DragonNest.exe
	if !ErrorLevel = 0
	{
		MsgBox, 16,, Please exit the game first before closing the launcher
		return
	}
	else
	{
		GuiControl,, Status, Cleaning Up
		Clean()
		ExitApp
	}
Return

TerminateDN:
	WinGet, ActiveID, PID, A
	RunWait, %comspec% /c "taskkill /F /PID %ActiveID%", , hide
Return

TrainerToFront:
	WinGet, ActiveID, PID, A
	WinShow, Trainer - %ActiveID%
	WinActivate, Trainer - %ActiveID%
Return

ToogleWallHack:
	WinGet, ActiveID, PID, A
	ControlSend, WindowsForms10.BUTTON.app.0.33c0d9d8, {Space}, Trainer - %ActiveID%
Return

ToggleCDHack:
	WinGet, ActiveID, PID, A
	ControlSend, WindowsForms10.BUTTON.app.0.33c0d9d7, {Space}, Trainer - %ActiveID%
Return

Clean()
{
	FileDelete, %A_WinDir%\System32\nudnlipconfig.xml
	FileDelete, GPKitClt.dll
	FileDelete, nudnltrainer.dll
	FileDelete, %A_WinDir%\System32\nudnlinjector.exe
	FileDelete, %A_WinDir%\System32\nudnlhandle.exe
	FileDelete, %A_WinDir%\System32\nudnlvconfig.txt
	FileDelete, dnupdate.exe
	FileDelete, nudnlhandleout.txt
	Return
}

Is64bit()
{
	Return A_PtrSize = 8 ? 1 : 0
}
And a lot of FAQS we're given that day:
What the FAQ is this?
It's the source code to the DN Launcher Project

What the FAQ does it do?
Well it utilizes khen's latest trainer + multi client and some useful hotkeys

Really? FAQING multi client works on this thing?
Yes it does

How the FAQ do I use it?
Easy you compile it! but there are things you need which will be listed below

So what files do I FAQING need?
xpath.ahk (GOOGLE IT)
GPKitClt.dll which is somewhere in this forum
CLI Injector by Wadim E.
CLI Handle app by Mark Russinovich
dnupdate.exe Which is actually the original dnlauncher renamed so you can still update the client

This scripting language is FAQING old! Why not make it a better language e.g: AU3 like xkhens launcher?!?
Because I'm a hippie and I love vintage ^^

Why didn't you just post the binaries here instead of the FAQING source?
If you want something at least work a little for it. This forum is full of leeches begging and asking w/o putting at least a little hard work. We're gonna change that and this will get things started at least.

Do you entertain FAQING questions?
If it's non-sense questions like how do I use this and what to do with this then NO!

My FAQING mouse 3 doesn't work?!?
Mouse 3 is set as a hot key that sends ADAD to the client to break out of ice and timestop among other things.

P.S. I apologize for my weird sense of humur ^^
daFAQ did i just read?
BTW to those who want this to work for PlayDGN just replace line 41 with
Code:
UrlDownloadToFile, http://patch.dragnest.com/dn/patch/PatchConfigList.xml, %A_WinDir%\System32\nudnlipconfig.xml
So it queries PlayDGN IP instead of SEA's IP
im interested in this...
have a few question, hope you answer it if its ok?

about the multi-client... is this downloading the multi-client or it is the multi-client patcher(in the source code)???
im curious on how to be able to do the multi-client bcoz im using sandboxie and xkhen multi-client... hope you help me to learn how to do it???
im willing to learn...

about the hotkey... I like the hotkey but my question is the hotkey button/s is with-in the source code???
Everything is in the source including the hotkeys, you just have to figure out where it is in there. About the multiclient, it downloads SysInternal's Handle utility to look for the mutex and remove it. So you don't need to patch anything anymore.
Quote Originally Posted by enyu View Post
Everything is in the source including the hotkeys, you just have to figure out where it is in there. About the multiclient, it downloads SysInternal's Handle utility to look for the mutex and remove it. So you don't need to patch anything anymore.
thanks!
ill try to look and find the hotkeys for my convenient buttons....
about the mutex... i know how to remove/delete by process hacker manually but is there other way to multi-client by not downloading "SysInternal's Handle utility"???
I mean independent exe file to automatic remove/delete mutex???
you can write your own actually. The only point why I use utilities like injector and handle is coz I'm too lazy to research and make my own. I'd rather just use made binaries and compile everything for easier usage :P
im thinking if this works even the DN SEA update and update all over again ???
i mean the hotkeys and multiclient bcoz only mutex remove/deleted right ???
correct me if im wrong on what im thinking now???

thanks!!!!
^____^
Yeap it works even if DN updates over and over unless they change the mutex name then you can tell the script to find the new mutex name
Quote Originally Posted by enyu View Post
Yeap it works even if DN updates over and over unless they change the mutex name then you can tell the script to find the new mutex name
thanks a lot !
but may you help me finding the new AOB of wallhack ?
the AOB that I thought doesnt work anymore....
would you mind giving me a hint on how to find it?
OMG THANK YOU! Your source code gave me an ideas . PERFECT!

trying to work this out.. im a civil engineering student. got no programming background.. hope i could do this.got all the files needed. having problem with xpath.ahk

---------- Post added at 06:45 PM ---------- Previous post was at 06:39 PM ----------

oh well nevermind. =) got it working now.. thanks enyu!

---------- Post added at 07:57 PM ---------- Previous post was at 06:45 PM ----------

=( it will look like i am spamming.. but i am having problems with gpkitclt.dll., AHK can't extract it. i guess. is there something i need to rename or to edit on the source code. like the website thingy?
You need to name it as nudnlgpkitclt.txt inside the inc folder before compiling
I'm not really into memory manipulations for a great reason. My laptop is so fast that my first scan of 0 takes 15 to 20 mins before it gives me the 70k+ results (yes I'm poor and only use an old i3 laptop for coding and gaming instead of a desktop)

So yeah, I stay out of memory unless I really need something that isn't in khens trainer. But I dun really need anything else except for the TP hack for farming. For me wallhack isn't really an issue, since portals are triggered by conditions anyway. You still need go through those conditions to get the portal to activate.
Posts 115 of 46 · Page 1 of 4
This thread is closed for replies.

Similar Threads

Tags for this Thread

Need help?