• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

hauptinstallation und registry

kalomina

Guest
servus,

ich spiele im sp mehrere versionen gleichzeig und möchte nicht, dass meine 109er saves im 107er ordner landen, obwohl ich die version 107 nach der 109er installiert habe...

was genau muss ich in der registry tun, um meine 109er zu befördern :clown:
 
Das geht meines Erachtens nicht. D2 legt genau ein Pfad in der Registry an:
Code:
[HKEY_USERS\S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-500\Software\Blizzard Entertainment\Diablo II]
"Save Path"="E:\\Diablo\\2\\save\\"
[I]pro Benutzer und[/I]
[HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\Diablo II]
"Save Path"="E:\\Diablo\\2\\save\\"
[I]für den Rechner allgemein[/I]


€: Du könntest höchstens diese Pfade überschreiben ... zB mit einer Batch oder Skriptdatei. Dann würdest Du Dia in der jeweiligen Version nicht mehr über die "Game.exe" sondern über eine .cmd oder .vbs-Datei starten.
 
soweit ich mich erinnere hat mir mal jemand gezeigt, wie das geht, aber ich habs vergessen :rolleyes:

€: ich werds morgen früh einfach mal mit überschreiben versuchen...
 
Gehen tuts nur, wenn Du Dich mit verschiedenen Benutzernamen anmeldest. Oder eben, indem Du den Pfad vor dem .Start der entsprechenden D2-Installation manuell änderst.

Wenns noch anders gehen sollte schreibs mal bitte hier hinein. Man lernt ein Leben lang ;)
 
Spielst du mit einer Installation im selben Ordner und patcht immer hin und her?
Weil, wenn du das nicht machst, dann schreibt er doch die Chars in den Ordner den du benutzt :confused:
 
lceman schrieb:
Spielst du mit einer Installation im selben Ordner und patcht immer hin und her?
Weil, wenn du das nicht machst, dann schreibt er doch die Chars in den Ordner den du benutzt :confused:
Nein, die Charaktere werden immer in dem Ordner gespeichert, auf den die Registry verweist.

Ich meine mich auch zu erinnern, dass es mit Mehrfach-Registry Einträgen (oder so :) ) möglich war, da Ordnung reinzubringen, ich habs hier irgendwo mal gelesen... nur wo?

€: Wenn du nach "Registry" durchsuchst kommen nur 9 Seiten, auf denen leider keine Lösung für das Problem steht. Such dir also nen anderen Suchbegriff :p
 
Ich habs grad getestet, und ja macht er :rolleyes:
Das was ich an mehrfach einträgen probiert hat geht nicht .. ich mach mich mal auf die Suche, vllt find ich was :)

mfg lceman

edit: .. mach ich wenn die SuFu wieder gescheit funzt, die spinnt grad .. morgen früh dann wohl als erstes ;)
 
hmm. Man könnte vorm zoggen doch einfach den Ordner umbenennen. - Ist zwar ziemlich umständlich, aber naja.. Eine einfachere Möglichkeit wäre mir auch ziemlich recht, da ich 1.07 & 1.11b nebeneinander spielen möchte.. :ugly:
 
Wenn Du 1.11b mit PlugY zusammen spielst, kannst Du dort den save-path anpassen. :ugly:
Geht dann latürnich nur för LoD, mit Clasic sieht's mau aus.

Aber ein Paar .cmd's zum Starten bauen sollte doch eigentlich auch kein Problem sein, oder? :D
 
Hatte Langeweile. Hoffe, daß es so funktioniert oder zumindest als Anregung dient. Standardmäßig werden 11 Versionen angeboten (1.00 bis 1.11). Ich habs als Array aufgebaut, welches dynamisch gefüllt wird. Wenn man nur 2 Versionen nutzt, kann man das natürlich noch wesentlich vereinfachen.

Bei Interesse: Die Zeilen kopieren und in eine Textdatei einfügen. Die Textdatei umbenennen (Dateiendung muß .vbs sein. Bissl kommentiert ists ja, bei Fragen einfach fragen :D aber ich habe versucht ausführlich zu schreiben.

Getestet hab ichs unter Windoofs 2000 mit installiertem Scripting Host 5.6 (sollte ab XP Standard sein).

Code:
' Dieses Script soll das Save - Verzeichnis von Diablo II auf verschie-'
' dene Pfade, je nach Version, setzen.                                 '
' © by RAT198 11.11.2007                                               '
' -------------------------------------------------------------------- '
Option Explicit         ' Mini-Debug
' -------------------------------------------------------------------- '
Dim   WS
Dim   FO
ReDim pfade(0)
Dim   aktvers
Dim   neuvers
Dim   i
Dim   basis
' -------------------------------------------------------------------- '
' *** HIER ANPASSEN:
basis = "C:\Programme\Diablo II\V1."
' *** Es wird hier davon ausgegangen, daß die verschiedenen Versionen
' *** in Verzeichnissen "C:\Programme\Diablo II\V1.00" bis
' ***                   "C:\Programme\Diablo II\V1.11" installiert sind!
' -------------------------------------------------------------------- '
initvars()                    ' Variablen initialisieren / vorbelegen
Call showvers(i)              ' Aktuelle Version auslesen und anzeigen
'                             ' Auswertung Rückgabewert:
If     (i = vbCancel) Then    ' auf Abbrechen geklickt, Tschüß
         Wscript.Quit
ElseIf (i = vbNo)     Then    ' Version nicht ändern
	 neuvers = aktvers
Else   newvers()              ' Neue Version abfragen
End If
startspiel()                  ' Spiel starten
' -------------------------------------------------------------------- '
Sub initvars()
  Dim pfad, i
  pfad =  basis
  For i = 0 To 11 Step 1
    ReDim Preserve pfade(i)
    pfade(i) = pfad & Right("0" & i, 2) & "\Save\"
  Next
  Set WS  = WScript.CreateObject("WScript.Shell")
  Set FO  = WScript.CreateObject("Scripting.FileSystemObject")
  aktvers = WS.RegRead("HKCU\Software\Blizzard Entertainment" & _
                       "\Diablo II\Save Path")
End Sub
' -------------------------------------------------------------------- '
Sub showvers(antw)
  Dim frag
'*** Je nach Pfad bzw. Installationsordner die Zeile anpassen:
'*** Die Syntax ist: Mid(string, Startposition, Länge)
'*** Beispiel: string = "abcdefgh", die Länge ist also 8 Zeichen
'*** Mid(string, 8, 1) würde also "h" zurückgeben
'*** Mid(string, 3, 2) würde also "cd" zurückgeben
'*** Minus 9 für 1.xx\Save\
'*** Länge 4 für 1.xx
  frag = "Zur Zeit ist Diablo Version " & Mid(aktvers,           _
                                          Len(aktvers) - 9, 4) & _
    " eingestellt. Wollen Sie die Version wechseln?"
  antw = MsgBox(frag, vbYesNoCancel + vbQuestion, "Version wechseln?")
End Sub
' -------------------------------------------------------------------- '
Sub newvers()
  Dim text, i
  text = "Folgende Versionen stehen zur Auswahl:" & vbCR
  For i = 0 To UBound(pfade) Step 1
    text = text & i & vbTab & "eingeben für Version " & _
      Mid(pfade(i), Len(pfade(i)) - 9, 4) & vbCR
  Next
  i = InputBox(text, "Version wählen", 10)
' Raus bei Abbrechen oder Fehleingabe:  
  If (IsEmpty(i) OR i < 0 OR i > 11) Then
  	Wscript.Quit
  End If
  neuvers = pfade(i)
End Sub
' -------------------------------------------------------------------- '
Sub startspiel()
  Dim start
'*** 5 abziehen für das "save\"
  start = Left(neuvers, Len(neuvers) - 5) & "Diablo II.exe"
  If NOT (FO.FileExists(start)) Then
     MsgBox "Die Datei " & vbCR & start & vbCR & _
       "wurde nicht gefunden!", vbOKOnly + vbCritical, "Fehler!"
     Wscript.Quit
  End If
' SAVE-Pfad in Registry schreiben:
  WS.RegWrite "HKCU\Software\Blizzard Entertainment" & _
              "\Diablo II\Save Path", neuvers, "REG_SZ"
' Anführungszeichen wegen Leerzeichen im Dateinamen:
  start = """" & start & """"
  WS.Run(start)
End Sub
 
Mit Absicht nicht editiert, so daß man es als neuen Beitrag erkennt. Postabzug von -1 wird kommentarlos anerkannt :D

lm.wog wollte gerne eine Variante für nur 2 Versionen. Da das wahrscheinlich auch bei vielen anderen nicht mehr als 2 Versionen sind, hier eine angepaßte Version:

Code:
' Dieses Script soll das Save - Verzeichnis von Diablo II auf verschie-'
' dene Pfade, je nach Version, setzen.                                 '
' Angepaßte Version für lm.wog                                         '
' © by RAT198 11.11.2007                                               '
' -------------------------------------------------------------------- '
Option Explicit         ' Mini-Debug
' -------------------------------------------------------------------- '
Dim   WS
Dim   FO
Dim   vers11
Dim   vers07
Dim   aktvers
Dim   neuvers
Dim   i
' -------------------------------------------------------------------- '
' *** HIER ANPASSEN:
vers11 = "C:\Programme\Diablo II\Save\"
vers07 = "C:\Programme\Diablo II - 1.07\Save\"
' -------------------------------------------------------------------- '
initvars()                    ' Variablen initialisieren / vorbelegen
Call showvers(i)              ' Aktuelle Version auslesen und anzeigen
'                             ' Auswertung Rückgabewert:
If     (i = vbCancel) Then    ' auf Abbrechen geklickt, Tschüß
         Wscript.Quit
ElseIf (i = vbNo)     Then    ' Version nicht ändern
	 neuvers = aktvers
Else   newvers()              ' Neue Version abfragen
End If
startspiel()                  ' Spiel starten
' -------------------------------------------------------------------- '
Sub initvars()
  Set WS  = WScript.CreateObject("WScript.Shell")
  Set FO  = WScript.CreateObject("Scripting.FileSystemObject")
  aktvers = WS.RegRead("HKCU\Software\Blizzard Entertainment" & _
                       "\Diablo II\Save Path")
End Sub
' -------------------------------------------------------------------- '
Sub showvers(antw)
  Dim frag
  Select Case LCase(aktvers)
    Case LCase(vers07):
      frag = "Zur Zeit ist Diablo Version 1.07 eingestellt." & vbCR & _
             "Wollen Sie auf Version 1.11 wechseln?"
      antw = MsgBox(frag, vbYesNoCancel+vbQuestion, "Version wechseln?")
    Case LCase(vers11):
      frag = "Zur Zeit ist Diablo Version 1.11 eingestellt." & vbCR & _
             "Wollen Sie auf Version 1.07 wechseln?"
      antw = MsgBox(frag, vbYesNoCancel+vbQuestion, "Version wechseln?")
    Case Else:
      frag = "Die installierte Version kann nicht bestimmt werden!"
      MsgBox frag, vbOKOnly + vbCritical, "Fehlermeldung"
      antw = vbCancel
  End Select
End Sub
' -------------------------------------------------------------------- '
Sub newvers()
  If (aktvers = vers07) Then
  	neuvers = vers11
  Else
  	neuvers = vers07
  End If
End Sub
' -------------------------------------------------------------------- '
Sub startspiel()
  Dim start
'*** 5 abziehen für das "save\"
  start = Left(neuvers, Len(neuvers) - 5) & "Diablo II.exe"
  If NOT (FO.FileExists(start)) Then
     MsgBox "Die Datei " & vbCR & start & vbCR & _
       "wurde nicht gefunden!", vbOKOnly + vbCritical, "Fehler!"
     Wscript.Quit
  End If
' SAVE-Pfad in Registry schreiben:
  WS.RegWrite "HKCU\Software\Blizzard Entertainment" & _
              "\Diablo II\Save Path", neuvers, "REG_SZ"
' Anführungszeichen wegen Leerzeichen im Dateinamen:
  start = """" & start & """"
  WS.Run(start)
End Sub


€: Select Case var durch Select Case LCase(var) ersetzt. vbs ist ja case-sensitiv ... :rolleyes:

Danke an lm.wog für Beta-Testing :D
 
Zurück
Oben