Jump to content

luziel

Recommended Posts

Hallo,

da mir doch die deutsche Sprache etwas mehr liegt als die Englische habe ich beschlossen hier zu fragen anstatt das DB-Subforum zu verwenden.

Mein Vorhaben ist ein kleines Theorycrafting-Portal für meine Gilde und mich. Foglich brauche ich keinen Gameserver sondern nur eine Datenbank mit Items, Fähigkeiten und Assoziationen.

Ich habe ein ARM-Board mit einem Debianderivat als Betriebssystem. Dieser Rechner hostet einen MySQL-Datenbank-Server mit einer MangosZero-DB. Zumindest hoffe ich das ;)

Die Struktur der Datenbank habe ich mir über folgende Commands auf der Shell generieren lassen. Das steht soweit auch in folgendem Guide: https://www.getmangos.eu/wiki.php

cd /home/mangos/server/sql
mysql -u root -p < create_mysql.sql
mysql -u root -p realmd < realmd.sql
mysql -u root -p characters < characters.sql
mysql -u root -p mangos < mangos.sql

Da die Datenbank dannach noch recht leer ist habe ich alle Files aus dem Zweiten von Git heruntergladenen Verzeichnis in die Datenbank übertragen. Hierfür verwendete ich ein PHP-Script, welches alle Files einliest und im Anschluss alle Querys der einzelnen Files mit dem oben bereits genannten Befehl in die Datenbank ausführt.

Das Script sieht so aus:

<?php

 $database="mangos";         // Database in which you want to include your files
 $user="root";                   // Username of your DB-User
 $password="0000";               // Password of your DB-User
 $path="/opt/mangos/zero/database/_full_db/";             // Path of your .SQL-Files, which you want to include into a SQL-Database

 $command='mysql -u ' .$user .' --password="' .$password .'" ' .$database .' < ' .$path;

 $files=scandir($path);

 echo $files[1];

 $array_size=count($files);


 for($i=2;$i<$array_size;$i++) {     // start at 2 because of [0]=. and [1]=..   [2] is your 1st file

   $currentfile=$command .$files[$i];
   echo "i=$i of $array_size exec($currentfile);
";
   exec($currentfile);

 }
?>

Mein Problem ist nur, dass ich mit dem Aufbau der Datenbank Probleme habe, da es kaum bis keine Kommentare gibt und ich somit die Fremdschlüssel nicht so ganz eindeutig identifizieren kann. Konkret fehlt mir bspw. die ganzen Texte, der Items wie bspw bei Thunderfurry

Trefferchance: Deckt Euren Gegner mit Blitzschlägen ein, die 300 Naturschaden verursachen und zu in der Nähe befindlichen Feinden weiterspringen. Jeder Sprung verringert den Naturwiderstand des Ziels um 25. Wirkt auf insgesamt Ziele. Euer Hauptziel wird außerdem von einem Wirbelsturm umgeben, welcher dessen Angriffstempo 10 Sek. lang um 20% verringert.

edit:

Folgende Site zum Aufbau der Datenbank habe ich gefunden aber die gesuchten Informationen konnte ich bis dato nicht herauslesen. https://github.com/cmangos/issues/wiki/mangosdb_struct

Gruß luziel

Link to comment
Share on other sites

Nicht alle Daten, welche im Spiel benötigt werden, sind in der Datenbank gespeichert. Gewisse statische Daten sind in den Database Container (DBC) Dateien zu finden.

Darunter fallen auch die Zaubereffekte auf den Gegenständen, wie beispielsweise der von dir gesuchte Effekt "Zorn der Winde" von Donnerzorn.

In der Spalte spellid_1 der item_template Tabelle verweist Donnerzorn auf den Zauber 21992. Sucht man diese ID in der Spell.dbc stellt man fest, dass es sich um den Effekt handelt, den du suchst.

Es gibt PHP basierende DBC-Readers. Alternativ kannst du auch den DBC zu SQL Konverter verwenden, um die DBC Dateien in der Datenbank zu speichern und so darauf zugreifen zu können.

Mehr über die Struktur der Spell.dbc findest du im entsprechenden Wiki Eintrag.

Link to comment
Share on other sites

  • 5 months later...

Servus,

zunächst sorry für Leichendschänden aber ich habe das Projekt von damals kürzlich wieder aufgearbeitet und bin zum Entschluss gekommen, dass ich doch SpellIDs einführen muss. Mit dem MaNGOS Extractor habe ich jedoch einige Probleme...

Neben dem von Hikari gepostetem tool habe ich noch das hier gefunden. Leider Meckert das Programm über eine Fehlende LibMPQ.dll, welche ich scheinbar nur aus dubiosen Quellen beziehen lässt.

Bei dem von Hikari geposteten Tool habe ich keien Ahnung wie ich es verwenden soll... .

Ich vermute, dass ich es noch irgend wie kompilieren muss und dann das Programm mit der DBC-File als Parameter starten muss. Nur leider steh ich dabei etwas auf dem Schlauch.

OS: Linux Mint 17,

IDE: MonoDevelopment

Compiler: mono-vbnc

Der Build-Log enthällt 102 Fehler, das meiste wird gelisteet als "Identifier expected. (VBNC30203)"

Kann mir ggf. jemand nochmal einen kleinen Seitenhieb verpassen wie ich das Tool verwenden kann und was ich dafür benötige? Bin in Sachen VB nicht wirklich fitt.

Zum Versändnis wofür ich das ganze mache hier einige Screenshots:

- Album on Imgur

Ich arbeite an einem Analysetool für Raids, das hat auf unserem Server auch schon einige nützliche Bugfixe ergeben, da ich somit nachweisen konnte wodurch der Bug ausgelöst wurde.

Gruß luziel

Link to comment
Share on other sites

Leider war der Build-Log etwas zu lang für den vorherigen Post und auch hier musste ich einiges Rausstreichen!

AD2 (Release) wird erzeugt
Performing main compilation...
vbnc
"-out:/home/user/Downloads/git/mangosExtractor/AD2/bin/Release/AD2.exe" 
-nologo -utf8output -quiet -debug:pdbonly -optimize+ -optionstrict- 
-optionexplicit+ -optioncompare:binary -optioninfer+
-define:_MYTYPE="Console" -rootnamespace:AD2 -define:TRACE=-1
-nowarn:42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
-main:AD2.AD2 -target:exe  "-r:/usr/lib/mono/4.0/System.dll" 
"-r:/usr/lib/mono/4.0/System.Data.dll" 
"-r:/usr/lib/mono/4.0/System.Xml.dll" 
"-r:/usr/lib/mono/4.0/System.Core.dll" 
"-r:/usr/lib/mono/4.0/System.Xml.Linq.dll" 
"/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb" "/home/user/Downloads/git/mangosExtractor/Common/Readers/BinaryFormatter.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Readers/BinaryReaderExtensions.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Readers/DB2Reader.vb" "/home/user/Downloads/git/mangosExtractor/Common/Readers/DBCReader.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Readers/DBReaderFactory.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Readers/IWowClientDBReader.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Readers/STLReader.vb" "/home/user/Downloads/git/mangosExtractor/Common/Readers/WDBReader.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Writers/Export2SQL.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Writers/Export2CSV.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Writers/Export2XML.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Writers/Export2MD.vb" "/home/user/Downloads/git/mangosExtractor/Common/BSDIFF40.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Headers.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Extensions.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/MaNGOSExtractorCore.vb" 
"/home/user/Downloads/git/mangosExtractor/AD2/AD2.vb" 
"/home/user/Downloads/git/mangosExtractor/AD2/My
Project/AssemblyInfo.vb" 
"/home/user/Downloads/git/mangosExtractor/AD2/My
Project/Application.Designer.vb" 
"/home/user/Downloads/git/mangosExtractor/AD2/My
Project/Resources.Designer.vb" 
"/home/user/Downloads/git/mangosExtractor/AD2/My
Project/Settings.Designer.vb" 
"/home/user/Downloads/git/mangosExtractor/Common/Writers/Export2H.vb" 
"-resource:/home/user/Downloads/git/mangosExtractor/AD2/My
Project/Resources.resources,AD2.My_Project.Resources.resources" 
"-resource:/home/user/Downloads/git/mangosExtractor/Common/dbc_classic.xml,AD2.Common.dbc_classic.xml" 
"-resource:/home/user/Downloads/git/mangosExtractor/Common/dbc_cata.xml,AD2.Common.dbc_cata.xml" 
"-resource:/home/user/Downloads/git/mangosExtractor/Common/dbc_mop.xml,AD2.Common.dbc_mop.xml" 
"-resource:/home/user/Downloads/git/mangosExtractor/Common/dbc_tbc.xml,AD2.Common.dbc_tbc.xml" 
"-resource:/home/user/Downloads/git/mangosExtractor/Common/dbc_wotlk.xml,AD2.Common.dbc_wotlk.xml" 
-imports:Microsoft.VisualBasic -imports:System -imports:System.Collections -imports:System.Collections.Generic
-imports:System.Data -imports:System.Diagnostics -imports:System.Linq -imports:System.Xml.Linq /home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,27) : error VBNC30205: End of statement expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,27): Compiler error around this location, the compiler hasn't implemented the error message, nor error recovery, so the compiler will probably crash soon.
   at vbnc.Helper.ErrorRecoveryNotImplemented(Span Location)
   at vbnc.Parser.ParseUsingStatement(vbnc.ParsedObject Parent, Boolean
IsOneLiner)
   at vbnc.Parser.ParseCodeBlock(vbnc.ParsedObject Parent, Boolean
IsOneLiner)
   at vbnc.Parser.ParseConstructorMember(vbnc.TypeDeclaration Parent, vbnc.ParseAttributableInfo Info)
   at vbnc.Parser.ParseTypeMembers(vbnc.TypeDeclaration Parent)
   at vbnc.Parser.ParseClassDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseTypeDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseAssemblyMembers(vbnc.AssemblyDeclaration Parent, System.String RootNamespace)
   at vbnc.Parser.ParseAssemblyDeclaration(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Parser.Parse(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Compiler.Compile_Parse()
   at vbnc.Compiler.Compile()
   at vbnc.Compiler.Compile(System.String[] CommandLine)
   at vbnc.Main.Main(System.String[] CmdArgs) /home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,36): Compiler error around this location, the compiler hasn't implemented the error message, nor error recovery, so the compiler will probably crash soon.
   at vbnc.Helper.ErrorRecoveryNotImplemented(Span Location)
   at vbnc.Parser.ParseUsingStatement(vbnc.ParsedObject Parent, Boolean
IsOneLiner)
   at vbnc.Parser.ParseCodeBlock(vbnc.ParsedObject Parent, Boolean
IsOneLiner)
   at vbnc.Parser.ParseConstructorMember(vbnc.TypeDeclaration Parent, vbnc.ParseAttributableInfo Info)
   at vbnc.Parser.ParseTypeMembers(vbnc.TypeDeclaration Parent)
   at vbnc.Parser.ParseClassDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseTypeDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseAssemblyMembers(vbnc.AssemblyDeclaration Parent, System.String RootNamespace)
   at vbnc.Parser.ParseAssemblyDeclaration(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Parser.Parse(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Compiler.Compile_Parse()
   at vbnc.Compiler.Compile()
   at vbnc.Compiler.Compile(System.String[] CommandLine)
   at vbnc.Main.Main(System.String[] CmdArgs) /home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,36) : error VBNC90019: Expected 'End'.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,36): Compiler error around this location, the compiler hasn't implemented the error message, nor error recovery, so the compiler will probably crash soon.
   at vbnc.Helper.ErrorRecoveryNotImplemented(Span Location)
   at vbnc.Parser.ParseConstructorMember(vbnc.TypeDeclaration Parent, vbnc.ParseAttributableInfo Info)
   at vbnc.Parser.ParseTypeMembers(vbnc.TypeDeclaration Parent)
   at vbnc.Parser.ParseClassDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseTypeDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseAssemblyMembers(vbnc.AssemblyDeclaration Parent, System.String RootNamespace)
   at vbnc.Parser.ParseAssemblyDeclaration(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Parser.Parse(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Compiler.Compile_Parse()
   at vbnc.Compiler.Compile()
   at vbnc.Compiler.Compile(System.String[] CommandLine)
   at vbnc.Main.Main(System.String[] CmdArgs) /home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,36) : error VBNC30205: End of statement expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,36): Compiler error around this location, the compiler hasn't implemented the error message, nor error recovery, so the compiler will probably crash soon.
   at vbnc.Helper.ErrorRecoveryNotImplemented(Span Location)
   at vbnc.Parser.ParseConstructorMember(vbnc.TypeDeclaration Parent, vbnc.ParseAttributableInfo Info)
   at vbnc.Parser.ParseTypeMembers(vbnc.TypeDeclaration Parent)
   at vbnc.Parser.ParseClassDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseTypeDeclaration(vbnc.ParsedObject Parent, vbnc.Attributes Attributes, System.String Namespace)
   at vbnc.Parser.ParseAssemblyMembers(vbnc.AssemblyDeclaration Parent, System.String RootNamespace)
   at vbnc.Parser.ParseAssemblyDeclaration(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Parser.Parse(System.String RootNamespace, vbnc.AssemblyDeclaration assembly)
   at vbnc.Compiler.Compile_Parse()
   at vbnc.Compiler.Compile()
   at vbnc.Compiler.Compile(System.String[] CommandLine)
   at vbnc.Main.Main(System.String[] CmdArgs) /home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(78,36) : error VBNC90019: Expected 'End'.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(79,19) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(80,26) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(81,23) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(83,20) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(85,19) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(86,26) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(87,23) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(89,31) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(90,30) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(92,29) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(93,34) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(96,20) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb
(98,20) : error VBNC30203: Identifier expected.
/home/user/Downloads/git/mangosExtractor/Common/Readers/ADBReader.vb


Erzeugung abgeschlossen -- 102 Fehler, 1 Warnung

--------------------- Fertig ---------------------

Assembly 'MpqLib, Version=1.0.3955.35027, Culture=neutral, processorArchitecture=x86' nicht gefunden. Überprüfen Sie, ob die Assembly auf dem Datenträger vorhanden ist. Falls der Verweis zum Erzeugen des Projekts erforderlich ist, könnten Sie Compiler-Fehler erhalten.
Build: 102 Fehler, 1 Warnung

Gruß Luziel

Link to comment
Share on other sites

Wie mir scheint unterstützt mono-vbnc nur bis .NET Framework 2.0. Der Extractor wurde aber für .NET 4.0 geschrieben.

Du solltest nach dem Stichwort Identifier expected. (VBNC30203) googlen, um herauszufinden was du ändern musst, damit du die Applikation kompilieren kannst. Im Grunde musst du die Applikation .NET 2.0 konfrom umschreiben. Was unter Umständen sehr aufwendig werden kann.

Alternativ und wenn Zugriff auf ein Windows (VirtualBox?) besteht, solltest du die Kompilation des Extractors sowie die anschliessende Extraktion der DBC Dateien auf Windows durchführen.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use