Blizzhackers

Home of the Dupe since 2001

* Login   * Register    * FAQ    * Search

Join us on IRC: #bh@irc.synirc.net (or Mibbit Web IRC)


MuleFactory


It is currently Sat Dec 20, 2014 5:26 pm


All times are UTC [ DST ]





Post new topic Reply to topic  [ 111 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 8  Next
Author Message
 Post subject:
PostPosted: Mon Apr 05, 2010 7:39 pm 
 
User
User

Joined: Mon Apr 05, 2010 6:13 pm
Just curious as to how this would be set up. I linked my original keys to a BNet account, so I have the 26-char install, and ordered two sets of 16-char keys.

Now, it seems that the thread above using mpq changer only allows you to put your 26 char keys into a 16 char file/mpq... am I right?

I may very well be wrong. But help!

Can you just create the 16-char mpq files with serby's and then use them, even though I'm running a 26-char install? What should I do?

Top
 Profile  
 Post subject:
PostPosted: Wed Apr 07, 2010 11:37 pm 
 
User
User
User avatar

Joined: Wed Sep 01, 2004 4:40 am
hmm where do the cdkey.mpq get stored?

Top
 Profile  
 Post subject:
PostPosted: Thu Apr 08, 2010 3:59 am 
 
User
User
User avatar

Joined: Sat Jun 19, 2004 3:21 am
WalletStomper wrote:
hmm where do the cdkey.mpq get stored?

_________________
Image

Top
 Profile  
 Post subject:
PostPosted: Thu Apr 08, 2010 4:23 pm 
 
User
User

Joined: Fri Apr 02, 2010 2:38 pm
how would i do this when i have a 26 dig install with another 26 digit cd key? serbys doesnt work if you have a 26 dig install then try and put a 16 dig key into your game.

Top
 Profile  
 Post subject:
PostPosted: Thu Apr 08, 2010 10:33 pm 
 
User
User

Joined: Tue Mar 30, 2010 3:20 am
pretty sure this doesnt work with serby's

Top
 Profile  
 Post subject:
PostPosted: Fri Apr 09, 2010 1:26 am 
 
User
User

Joined: Sat Jun 21, 2008 8:59 pm
Tomed wrote:
I have a few 16digit sets and a friend gave me a 26 digit set since he can't find his old discs. Is it possible to make a 26 digit MPQ and use it for my 16 digit install?


Finally got around to trying this and it definitely works. Fucking awesome thanks to the OP.

Top
 Profile  
 Post subject:
PostPosted: Fri Apr 09, 2010 2:07 am 
 
User
User

Joined: Tue Mar 30, 2010 3:20 am
I've tried this various times, let me know what you did, because every time i try to modify the cd key serby's crashes after performing his steps.

Top
 Profile  
 Post subject:
PostPosted: Fri Apr 09, 2010 12:01 pm 
 
User
User
User avatar

Joined: Thu Jul 11, 2002 4:15 pm
IM WITH u guys, I installed d2 using the 26 digit key (downloaded from bnet)..


Tried serbies,, to change the key with a 16 dig key... Crashed...

I then just created cdkey.mpqs using serbies to make a 16 digit mpqs... But IM pretty sure there not wokring cuz any time i bot im not stop realm down



EDIT... WAit I dont get it... y would u wanna change ur 26 key cdkey. Into a Cdkey.mpq....

That still doesnt help me get ym 16 digit cdkeys working for teh bot...

Top
 Profile  
 Post subject:
PostPosted: Fri Apr 09, 2010 10:46 pm 
 
User
User
User avatar

Joined: Wed Sep 01, 2004 4:40 am
I'm following all the steps, and even telling my bot to use cdkey2.mpq and once i get both bots going, the second one says the cdkey is in use by the first one.

Ive tryed this with multible keys, not sure whats going on.

Top
 Profile  
 Post subject:
PostPosted: Sat Apr 10, 2010 4:43 pm 
 
User
User

Joined: Sat Aug 02, 2008 8:26 pm
Got the same problem

I followed all steps and now when I launch the bot no problem.
After 10 runs he changes the key BUT
I can't use anymoreD2Multi with my two keys to go on Bnet at the same time

Any ideas for going on Bnet with my too keys ?

Top
 Profile  
 Post subject:
PostPosted: Sat Apr 10, 2010 8:04 pm 
 
Moderator
Moderator
User avatar

Joined: Thu Dec 09, 2004 6:49 pm
Location: L1 Cache (Data & Instruction)
Are you using the more recent version of D2Multi? The version I have doesn't support mpq injection.

Top
 Profile  
 Post subject:
PostPosted: Sat Apr 10, 2010 8:05 pm 
 
Moderator
Moderator
User avatar

Joined: Thu Dec 09, 2004 6:49 pm
Location: L1 Cache (Data & Instruction)
WalletStomper wrote:
hmm where do the cdkey.mpq get stored?


It gets put in the d2 directory.

Top
 Profile  
 Post subject:
PostPosted: Thu Apr 15, 2010 10:39 pm 
 
User
User

Joined: Tue Sep 28, 2004 4:03 am
This is the same method used by mmbot to switch keys. If you run it in "play mode" it will automate this task for you.

These functions do the same (I rewrote LoadKeys() more cleanly than the version in mmbot but otherwise similar other than to adjust to a few different function calls in the new bot). Same key file format as mmbot. Just delete the few functions that would be irrelevant to a stand-alone key-swapper.


;===============================================================
; Load Up keys and check if any user changes in mm.MultiKeys.ini
; Returns 0 upon failure to parse multikeys.ini Else returns 1
;===============================================================
Func LoadKeys()
   $LastKeysDate = IniRead(@ScriptDir & "\Config\mm.BotState.ini", "mmBotState", $LastKeysState, "0")
   $TS_KeysDate = FileGetTime($KeysFile_F, 0, 1)

   Local $D2_KeySetDump = IniReadSection($KeysFile_F, "MyD2CdKeys")
   
   If @error Then
      FatalErrorMsg("Failed while reading multikeys.ini. Check to make sure that it is formatted correctly.")
      LogEvent (1, "Failed while reading multikeys.ini. Check to make sure that it is formatted correctly.")
      Return 0
   EndIf

   Global $D2_KeySet[$D2_KeySetDump[0][0]][2]
   
   For $SetID = 1 To $D2_KeySetDump[0][0]
      If StringLen($D2_KeySetDump[$SetID][1]) <> 16 Then
         ReDim $D2_KeySet[Floor($SetID / 2) + 1][2]
         ExitLoop
      EndIf
      If StringInStr($D2_KeySetDump[$SetID][0], "D2_Classic-Key_") Then
         $D2_KeySet[StringReplace($D2_KeySetDump[$SetID][0], "D2_Classic-Key_", "") ][0] = $D2_KeySetDump[$SetID][1]
      Else
         $D2_KeySet[StringReplace($D2_KeySetDump[$SetID][0], "D2_Expansi-Key_", "") ][1] = $D2_KeySetDump[$SetID][1]
      EndIf
   Next

   If (StringLen($D2_KeySet[1][0]) <> 16) Or (StringLen($D2_KeySet[2][0]) <> 16) Then
      FatalErrorMsg("You must have at least 2 sets of working cdkeys in the " & $KeysFile_F & " file. Ensure these are correct.")
      LogEvent (3, "You must have at least 2 working complete cdkey sets in the " & $KeysFile_F & " file. Ensure these are correct. Stop.")
      Return 0
   EndIf
   
   For $SetID = 1 To UBound($D2_KeySet, 1) - 1
      If $TS_KeysDate <> $LastKeysDate Then
         CreateKeyFiles($SetID)
      EndIf
   Next

   LogEvent (1, UBound($D2_KeySet, 1) - 1 & " Cd-key sets available.")
   IniWrite(@ScriptDir & "\Config\mm.BotState.ini", "mmBotState", $LastKeysState, " " & $TS_KeysDate)
   Return 1
EndFunc   ;==>LoadKeys

;==================================
; Swapping d2 launching parameters.
;==================================
Func CdKeySwap()
   If $MultiKeys = "Yes" Then
      $SetID = IniRead(@ScriptDir & "\Config\mm.BotState.ini", "mmBotState", "LastUsedSet", 1)
      $SetID = $SetID + 1
      If $SetID > (UBound($D2_KeySet, 1) - 1) Then
         $SetID = 1
      EndIf
      InjectKeys($SetID)
   EndIf
EndFunc   ;==>CdKeySwap


;====================================================================================
; Inject the passed ID extracted-encrypted keyfiles into Diablo II Mpq files.
;====================================================================================

Func InjectKeys($SetID)
   If (ProcessExists("Game.exe") Or ProcessExists("Diablo II.exe")) Then
      FatalErrorMsg("Warning: A Diablo II process already exists. Close it and click OK.")
   EndIf
   SplashTextOn("", "D2Au3 : Cd-Key set " & $SetID & " : injecting...", 400, 22, 312, 375, 1, "system", "", "")
   For $CheckInject = 1 To 10
      If Not FileExists(@ScriptDir & '\Config\KeySet-' & $SetID) Then
         FatalErrorMsg("Could not find the " & @ScriptDir & "\Config\KeySet-" & $SetID & " folder. Edit and SAVE your Multikeys.ini or PlayKeys.ini files.")
         LogEvent (3, "Could not find set \Config\KeySet-" & $SetID & " folder. Stop.")
         Exit
      EndIf
      $injectTimer = TimerInit()
      $TS1_d2sfx = FileGetTime($D2Path & '\d2sfx.mpq', 0, 1)
      $TS1_d2char = FileGetTime($D2Path & '\d2char.mpq', 0, 1)
      $Mpq2k_F = @ScriptDir & '\Config\System\mpq2k.exe'
      $Mpq2k_D = @ScriptDir & '\Config\System'
      $D2sfx_F = $D2Path & '\d2sfx.mpq'
      $D2char_F = $D2Path & '\d2char.mpq'
      $Owner_M = 'data\global\sfx\cursor\curindx.wav'
      $ClaKey_M = 'data\global\sfx\cursor\wavindx.wav'
      $ExpKey_M = 'data\global\chars\am\cof\amblxbow.cof'
      $Owner_F = @ScriptDir & '\Config\KeySet-' & $SetID & '\curindx.wav'
      $ClaKey_F = @ScriptDir & '\Config\KeySet-' & $SetID & '\wavindx.wav'
      $ExpKey_F = @ScriptDir & '\Config\KeySet-' & $SetID & '\amblxbow.cof'
      RunWait('"' & $Mpq2k_F & '" a "' & $D2sfx_F & '" "' & $Owner_F & '" "' & $Owner_M & '"', $Mpq2k_D, @SW_HIDE)
      RunWait('"' & $Mpq2k_F & '" a "' & $D2sfx_F & '" "' & $ClaKey_F & '" "' & $ClaKey_M & '"', $Mpq2k_D, @SW_HIDE)
      RunWait('"' & $Mpq2k_F & '" a "' & $D2char_F & '" "' & $ExpKey_F & '" "' & $ExpKey_M & '"', $Mpq2k_D, @SW_HIDE)
      $InjectElapsed = TimerDiff($injectTimer)
      Sleep(1000 - $InjectElapsed)
      $TS2_d2sfx = FileGetTime($D2Path & '\d2sfx.mpq', 0, 1)
      $TS2_d2char = FileGetTime($D2Path & '\d2char.mpq', 0, 1)
      For $CheckDates = 1 To 50
         If $TS1_d2sfx <> $TS2_d2sfx And $TS1_d2char <> $TS2_d2char Then
            LogEvent (1, "Cd-Key set id " & $SetID & " correctly injected into .mpq files")
            SplashOff()
            Return
         Else
            Sleep(200)
         EndIf
      Next
      Sleep(1000)
   Next
   FatalErrorMsg("Error while injecting keys, Impossible to inject key set " & $SetID)
   LogEvent (3, "Error while injecting keys : Impossible to inject key set " & $SetID & ". Stop.")
   Exit
EndFunc   ;==>InjectKeys


;====================================================================================
; Create and Extract the encrypted keyfiles through the .mpq to D2Au3 config folder
;====================================================================================

Func CreateKeyFiles($SetID)
   If (ProcessExists("Game.exe") Or ProcessExists("Diablo II.exe")) Then
      FatalErrorMsg("Warning: A Diablo II process already exists. Close it and retry.")
   EndIf

   SplashTextOn("", "D2Au3 : Cd-Key set " & $SetID & " : Files -creation- and -extraction- Please wait...", 500, 22, 312, 375, 1, "system", "", "")

   DirRemove(@ScriptDir & '\Config\KeySet-' & $SetID, 1)
   DirCreate(@ScriptDir & '\Config\KeySet-' & $SetID)

   $D2Path_Reg = $D2Path & "\"
   $D2Path_Reg = StringReplace($D2Path_Reg, "\\", "\")

   $HKCU_b = 'HKEY_LOCAL_MACHINE\Software\Blizzard Entertainment\Diablo II'
   RegWrite($HKCU_b, 'owner', 'REG_SZ', $SetID)
   RegWrite($HKCU_b, 'd2cdkeympq', 'REG_SZ', 'd2sfx.mpq')
   RegWrite($HKCU_b, 'd2xcdkeympq', 'REG_SZ', 'd2char.mpq')
   RegWrite($HKCU_b, 'InstallPath', 'REG_SZ', $D2Path_Reg)
   RegWrite($HKCU_b, 'Save Path', 'REG_SZ', $D2Path_Reg & 'save\')
   RegWrite($HKCU_b, 'd2cdkey', 'REG_SZ', $D2_KeySet[$SetID][0])
   RegWrite($HKCU_b, 'd2xcdkey', 'REG_SZ', $D2_KeySet[$SetID][1])
   $HKLM_b = 'HKEY_CURRENT_USER\Software\Blizzard Entertainment\Diablo II'
   RegWrite($HKLM_b, 'owner', 'REG_SZ', $SetID)
   RegWrite($HKLM_b, 'd2cdkeympq', 'REG_SZ', 'd2sfx.mpq')
   RegWrite($HKLM_b, 'd2xcdkeympq', 'REG_SZ', 'd2char.mpq')
   RegWrite($HKLM_b, 'InstallPath', 'REG_SZ', $D2Path_Reg)
   RegWrite($HKLM_b, 'Save Path', 'REG_SZ', $D2Path_Reg & 'save\')
   RegWrite($HKLM_b, 'd2cdkey', 'REG_SZ', $D2_KeySet[$SetID][0])
   RegWrite($HKLM_b, 'd2xcdkey', 'REG_SZ', $D2_KeySet[$SetID][1])

   WinClose('Refill CdKey', '')
   ProcessWaitClose('d2-cdkey.exe', 5)

   Run(@ScriptDir & '\Config\System\d2-cdkey.exe', @ScriptDir & '\Config\System')

   $MpqSuccess = 0
   For $R = 1 To 50
      WinActivate('Refill CdKey', '')
      If WinActive('Refill CdKey') Then
         Send('^r')
         For $T = 1 To 50
            $T_d2sfx = FileGetTime($D2Path & '\d2sfx.mpq')
            $T_d2char = FileGetTime($D2Path & '\d2char.mpq')
            If $T_d2sfx[3] == @HOUR And $T_d2sfx[4] == @MIN And $T_d2char[3] == @HOUR And $T_d2char[4] == @MIN Then
               $MpqSuccess = 1
               ExitLoop 2
            EndIf
            Sleep(100)
         Next
      EndIf
      Sleep(100)
   Next

   Sleep(2000)
   WinClose('Refill CdKey', '')
   ProcessWaitClose('d2-cdkey.exe', 5)

   If $MpqSuccess == 0 Then
      FatalErrorMsg("Error with D2 Cd-Keys Unable to modify .mpq files")
      LogEvent (3, "Error with D2 Cd-Keys: Unable to modify .mpq files. Stop.")
      Exit
   EndIf
   LogEvent (1, 'D2 Cd-Keys: .mpq files refilled for Key set ' & $SetID & ' successfully.')

   $HKCU_b = 'HKEY_LOCAL_MACHINE\Software\Blizzard Entertainment\Diablo II'
   RegDelete($HKCU_b, 'owner')
   RegDelete($HKCU_b, 'd2cdkeympq')
   RegDelete($HKCU_b, 'd2xcdkeympq')
   RegDelete($HKCU_b, 'd2cdkey')
   RegDelete($HKCU_b, 'd2xcdkey')
   $HKLM_b = 'HKEY_CURRENT_USER\Software\Blizzard Entertainment\Diablo II'
   RegDelete($HKLM_b, 'owner')
   RegDelete($HKLM_b, 'd2cdkeympq')
   RegDelete($HKLM_b, 'd2xcdkeympq')
   RegDelete($HKLM_b, 'd2cdkey')
   RegDelete($HKLM_b, 'd2xcdkey')

   $Mpq2k_F = @ScriptDir & '\Config\System\mpq2k.exe'
   $Mpq2k_D = @ScriptDir & '\Config\System'
   $D2sfx_F = $D2Path & '\d2sfx.mpq'
   $D2char_F = $D2Path & '\d2char.mpq'
   $Owner_M = 'data\global\sfx\cursor\curindx.wav'
   $ClaKey_M = 'data\global\sfx\cursor\wavindx.wav'
   $ExpKey_M = 'data\global\chars\am\cof\amblxbow.cof'
   $Owner_D = @ScriptDir & '\Config\KeySet-' & $SetID
   $ClaKey_D = @ScriptDir & '\Config\KeySet-' & $SetID
   $ExpKey_D = @ScriptDir & '\Config\KeySet-' & $SetID
   $Owner_F = @ScriptDir & '\Config\KeySet-' & $SetID & '\curindx.wav'
   $ClaKey_F = @ScriptDir & '\Config\KeySet-' & $SetID & '\wavindx.wav'
   $ExpKey_F = @ScriptDir & '\Config\KeySet-' & $SetID & '\amblxbow.cof'

   RunWait('"' & $Mpq2k_F & '" e "' & $D2sfx_F & '" ' & $Owner_M & ' "' & $Owner_D & '"', $Mpq2k_D, @SW_HIDE)
   RunWait('"' & $Mpq2k_F & '" e "' & $D2sfx_F & '" ' & $ClaKey_M & ' "' & $ClaKey_D & '"', $Mpq2k_D, @SW_HIDE)
   RunWait('"' & $Mpq2k_F & '" e "' & $D2char_F & '" ' & $ExpKey_M & ' "' & $ExpKey_D & '"', $Mpq2k_D, @SW_HIDE)

   If FileExists($Owner_F) And FileExists($ClaKey_F) And FileExists($ExpKey_F) Then
      LogEvent (1, 'D2 Cd-Keys: Key set ' & $SetID & ' : Files successfully extracted from .mpq')
   Else
      FatalErrorMsg("Error with D2 Cd-Keys: Unable to extract Files for Key set " & $SetID)
      LogEvent (1, "Error with D2 Cd-Keys: Unable to extract Files for Key set " & $SetID & ". Stop.")
      Exit
   EndIf

   SplashOff()

EndFunc   ;==>CreateKeyFiles

_________________
Image

Top
 Profile  
 Post subject:
PostPosted: Fri Apr 16, 2010 10:24 pm 
 
User
User
User avatar

Joined: Mon Jul 05, 2004 10:32 pm
How do we put new keys in?

_________________
Image

Top
 Profile  
 Post subject:
PostPosted: Sat Apr 17, 2010 10:47 pm 
 
User
User
User avatar

Joined: Mon Jul 05, 2004 10:32 pm
greeneyed wrote:
How do we put new keys in?

_________________
Image

Top
 Profile  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 111 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 8  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron