Crystals-DSA-Foren
XML-Skripte aus der SQLite-Datenbank? - Druckversion

+- Crystals-DSA-Foren (https://www.crystals-dsa-foren.de)
+-- Forum: DSA - Drakensang (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=23)
+--- Forum: Fragen zur Technik (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=39)
+--- Thema: XML-Skripte aus der SQLite-Datenbank? (/showthread.php?tid=5844)



XML-Skripte aus der SQLite-Datenbank? - MilesTeg - 20.01.2021

Hi

ich hab mich die Tage länger mit der Drakensang(1)-Engine beschäftigt und bin zugegeben schwer begeistert, wie viel Einblick man per SQLite in das Spiel hat.
Leider komme ich bei den Skripten keinen Deut weiter. In der Tabelle _Scripts_ActionScripts werden bspw Skripte aufgelistet:

'_Scripts_ActionScripts' ( "ScriptName" TEXT,"StatementRef" BLOB,"StatementBlock" BLOB)

z.B.

"ambience_night.xml","X'531415AF84B25C4287893ABE01DA43B7'","X'2437DECA36EE1C48ABF77D712B0B1562'"

Leider hab ich keinen Schimmer wie/wohin hier verwiesen wird  :confused:

Ich weiss, die Chance ist gering das die Skripte als Klartexte zur Verfügung stehen, interessiert mich trotzdem  :rolleyes:


RE: XML-Skripte aus der SQLite-Datenbank? - Lord Demon - 20.01.2021

Die Scripts rufen ein Statement aus der Tabelle _Scripts_Statements auf. Um das zum Script gehörende Statement zu finden nimmst du den Blob aus der Spalte StatementBlock uns suchst diesen in diesen in der Statement Tabelle in der Spalte StatementBlockGUID. Das ist deshalb sinnvoll, da ein Statement aus mindestens zwei Datensätzen besteht. Zusammengehörende Datensätze haben immer dieselbe BlockGUID.


RE: XML-Skripte aus der SQLite-Datenbank? - MilesTeg - 22.01.2021

ah, verstehe....  :think: und mit den Statement-Types Action; Begin; Condition; If, Then, Else wird ein Skript draus   :wave:   :thx: 


...ahh, mein Kopf...  :cry: :lol:


RE: XML-Skripte aus der SQLite-Datenbank? - Lord Demon - 23.01.2021

Ein Statement ist eigentlich nichts weiter als eine Anweisung, die ausgeführt wird. Das kann alles Mögliche sein, z. B. ein NPC oder ein Gegenstand erscheint/verschwindet/wird übergeben. Einfache Statements bestehen nur aus einer Begin und einer Action Anweisung. Wenn Ereignisse aber von Bedingungen abhängig sind, dann kommen auch noch Condition, If, Then und Else dazu. Dann wird es etwas komplexer. Am Anfang ist das nicht ganz einfach, aber wenn man einmal raushat, geht es eigentlich.