• 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.

Problem mit Setnamen

  • Ersteller Ersteller Master-Phoenix
  • Erstellt am Erstellt am

Master-Phoenix

Guest
Huhu.

Im Zuge des Erstellens meiner Itemdatenbank via MySQL musste ich - aus welchem Grund auch immer - die Felder von folgendem Zeichen befreien:
Code:
'

Damit ich das nicht vor jeder Aktualisierung machen muss, habe ich alle Stringfelder in den TXT-Dateien (Uniques und Sets) von dem ' befreit.

Zwar habe ich auch in den tbls die ' Zeichen entfernt, damit die Strings noch korrekt ausgegeben werden, allerdings werden die Setitemnamen nicht ausgeben. Stattdessen trägt jedes Setitem den Namen "0%".

Alle Uniques mit ehemaligem ' werden korrekt ausgegeben, bei den Grunditems hab ich nix verändert. Die neuen Sets habe ich noch nicht getestet, werde ich wohl gleich machen. Der Setname (Sigons Stahl Total, etc.) wird noch angezeigt... Wie gesagt nur der Name von jedem einzelnen Item ist weg.

Wie kann das sein? Durfte ich das überhaupt machen? o_O

Gruß
Xalthur
 
@Master-Phoenix
Die Namen finde ich u.a. in der patchstring.tbl (die zuletzt geladen wird und vorher geladenes überschreibt) und zwar z.B. "Sigon's Guard" als string und value (im englischen Spiel). Oft müssen sich die Original-strings am selben index befinden - hast du die Position der Einträge verändert, verschoben?
"Sigon's Guard" steht z.B. in meinem Fall bei Position index 162. Überprüf das doch schon mal.

Wenn das Spiel den Eintrag nicht findet, sollte aber normalerweise immer "an evil force" erscheinen?!

Du kannst das ja auch ganz schnell testen, in dem du die Set-Items einer TC zuweist und diese von einem bestimmten Monster mit hoher Wahrscheinlichkeit droppen lässt.

Gruß
 
Öhm, falls du PHP benutzt, mach einfach addslashes($string), damit werden alle Single Quotes ( ' ) und Double Quotes ( " ) escaped ( ' bzw. " ) und das Problem besteht nicht mehr.
Sollte man sowieso immer machen, um SQL Injections vorzubeugen.

Setitemnamen "0%" kommen durch einen fehlerhaften TBL Eintrag, der eigentlich %0 heißen muss, such mal in der TBL nach "0%" und mach ein %0 draus.

/edit

Der Eintrag heißt "SetItemFormatX"
 
Zuletzt bearbeitet:
Huhu. :hy:

Danke für die beiden Antworten. :kiss:
Jaja, ich bin in Sachen PHP + Co. noch voll der Noob. :ugly:

Allerdings kann ich mir nicht vorstellen, dass es was bringt, wenn ich da das "0%" in "%0" ändere. :irre:
... oder ich habe deinen Post falsch verstanden.

Ich werde nichtsdestotrotz nochmal die Strings neu erstellen, d.h. mir die original Strings besorgen, die Namen in den TXTs widerherstellen und meine eigenen Strings und Änderungen wieder einbauen. Hab' sowieso einige Strings mehr oder weniger sinnlos modifiziert und einige Strings eingebunden, die garnicht genutzt werden...

Vielleicht trat dieser Fehler auf, um mir zu sagen, ich solle ökonomischer mit Speicherplatz umgehen. :lol:

Trotzdem danke! :)

Gruß
Xalthur
 
Na der Unterschied ist, dass %0 ein für den Formatparser (ich nenn ihn jetzt einfach mal so) valides Format ist, das dann durch den eigentlichen Setitemnamen ersetzt wird, und 0% ein einfacher String, in dem nichts ersetzt wird.
Wenn du mal C oder irgendwas programmiert hast, dann wird dir printf(format, [args]) etwas sagen. Das %0 is ein solches Format.

(Außerdem bestand in Reign of Shadow bei der englischen TBL mal genau das gleiche Problem, das ich durch eben diese Änderung behoben habe)
 
Zuletzt bearbeitet:
Zurück
Oben