Warnung: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php (Zeile 156)

Warnung: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php (Zeile 156)

Warnung: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php (Zeile 156)

Warnung: Use of undefined constant VB_FRAMEWORK - assumed 'VB_FRAMEWORK' (this will throw an Error in a future version of PHP) in ..../includes/functions.php (Zeile 8101)

Warnung: Use of undefined constant archive_postsperpage - assumed 'archive_postsperpage' (this will throw an Error in a future version of PHP) in ..../archive/index.php (Zeile 456)
dsf zu txt, Dinge löschen und wieder txt zu dsf [Archiv] - X-Plane Schweiz

PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dsf zu txt, Dinge löschen und wieder txt zu dsf



Christer
18.09.2013, 10:11
Hallo liebe Bastler,

Leider geht es nicht, wenn ich die dsf in eine txt umwandel und die 3 gesuchten Objekte lösche und dann wieder zurück in dsf, kann sie nicht mehr gelesen werden.
http://www.xpde.net/extern/x-plane_schweiz/xp10/probleme/dsf_bearbeiten/hegn_more-objects.jpg

Löschen wollte ich, indem ich die dsf in eine txt wandel, die Objekte suche und dann lösche, die txt speicher und wieder in eine dsf wandel. Aber dann ist die kaputt. :(

http://www.xpde.net/extern/x-plane_schweiz/xp10/probleme/dsf_bearbeiten/hegn_more-objects2.jpg

Ich weis, dass für jedes Objekt auch die Koordinatenangabe in der dsf steht. Nur wie finde ich die richtigen Koordinaten von den fehlenden Objekten?
Ich denke, das könnte die Ursache sein, warum die dsf kaputt ist. Weil die Koordinaten der gelöschten Objekte noch vorhanden sind, aber der Eintrag für die Objekte gelöscht wurde.
Oder :confused:

Dietmar
18.09.2013, 12:47
Aber dann ist die kaputt.

Na klar doch!
Die Nummerierung der Objekte ist durcheinander, sie enthält Lücken!

Also bester Christer, eine weitere Infominute, privatissimo und völlig kostenlos.

Wir unterstellen, die beiden Objekte (blau) sollen aus der dsf verschwinden. Dazu gibt es 2 Möglichkeiten, eine arbeitsaufwändige sowie eine einfache.
Die komplexere zuerst.
Wir beginnen zu zählen und zwar bei den OBJECT_DEF. Der erste Eintrag erhält die Nummer 0 (Null)!
Die beiden blauen Objekte sind Nummern 7 und 8.
Wenn wir diese löschen, dann müssen wir auch alle Objekte OBJECT 7 und OBJECT 8 löschen.
Und nun beginnt das zeitaufwändige werkeln.
Alle nachfolgenden Objektnummerierungen müssen um den Betrag 2 erniedrigt werden.

PROPERTY sim/exclude_for 6.582158/51.380846/6.594621/51.387539
PROPERTY sim/west 6
PROPERTY sim/east 7
PROPERTY sim/north 52
PROPERTY sim/south 51
OBJECT_DEF objects/defdb194381489048101020051720132-EDLK_Tower_Anbau.obj 0
OBJECT_DEF objects/defdb194381489048101020051720132-EDLK_Tower.obj 1
OBJECT_DEF objects/defdb194385932212102005091319d82-Flag_0080.obj 2
OBJECT_DEF objects/defdb1943c6026c12102005092704455-Flag_0080.obj 3
OBJECT_DEF objects/defdb1943c6026c12102005092704455-Flag2_0080.obj usw.
OBJECT_DEF objects/defdb1943a6026c12102005093746215-Flag_0080.obj
OBJECT_DEF objects/defdb1943a6026c12102005093746215-Flag2_0080.obj
OBJECT_DEF objects/defdb194381284012102005145339c80-EDLK_Zaun.obj 7
OBJECT_DEF objects/defdb1943f1284f14102005182229f66-EDLK_Halle1.obj 8
OBJECT_DEF objects/defdb1943f1284f14102005182229f66-EDLK_Tower.obj
OBJECT_DEF objects/defdb1943b1724c15102005091204b35-EDLK_Zelt.obj
OBJECT_DEF objects/defdb1943a18324a15102005130728f1-EDLK_Schilder.obj
OBJECT_DEF objects/defdb1943a1612421510200515464921-EDLK_Schilder.obj 13
OBJECT 0 6.590179 51.384354 159.996338
OBJECT 1 6.590179 51.384354 159.996338
OBJECT 2 6.589927 51.384279 0.000000
OBJECT 3 6.589925 51.384293 0.000000
OBJECT 4 6.589925 51.384293 0.000000
OBJECT 5 6.589927 51.384272 1.999542
OBJECT 6 6.589927 51.384272 1.999542
OBJECT 7 6.590042 51.384442 120.000000 ----Wenn diese beiden Objekte hier gelöscht werdenm also 7 und 8
OBJECT 8 6.589748 51.383871 329.995880 ----dann müssen alle nachfolgenden Objekte in ihrer Nummerierung geändert werden
OBJECT 9 6.589748 51.383871 329.995880 ----wird zu: OBJECT 7 6.589748 51.383871 329.995880
OBJECT 10 6.589416 51.383783 149.998627 ---wird zu: OBJECT 8 6.589416 51.383783 149.998627
OBJECT 11 6.590433 51.384129 319.998169 --- usw.
OBJECT 12 6.590421 51.384546 339.999084
OBJECT 13 6.590463 51.384047 129.997711 --- wird zu: OBJECT 11 6.590463 51.384047 129.997711

Das können wir machen, doch wir brauchen gute Nerven und Ausdauer dazu, denn die nachfolgenden Änderungen können gewaltig sein.

Die bessere Sache ist diese:
Wir basteln uns ein ganz einfaches Objekt (10 x 10 cm) und mit einer volltransparenten einfarbigen Textur (schwarz).
Dieses Objekt nennen wir Dummy.obj.
Dummy.obj und die dazugehörige DDS oder PNG kopieren wir in unser Szenerieobjektverzeichnis \objects

Jetzt ändern wir folgendes ab:
PROPERTY sim/exclude_for 6.582158/51.380846/6.594621/51.387539
PROPERTY sim/west 6
PROPERTY sim/east 7
PROPERTY sim/north 52
PROPERTY sim/south 51
OBJECT_DEF objects/defdb194381489048101020051720132-EDLK_Tower_Anbau.obj
OBJECT_DEF objects/defdb194381489048101020051720132-EDLK_Tower.obj
OBJECT_DEF objects/defdb194385932212102005091319d82-Flag_0080.obj
OBJECT_DEF objects/defdb1943c6026c12102005092704455-Flag_0080.obj
OBJECT_DEF objects/defdb1943c6026c12102005092704455-Flag2_0080.obj
OBJECT_DEF objects/defdb1943a6026c12102005093746215-Flag_0080.obj
OBJECT_DEF objects/defdb1943a6026c12102005093746215-Flag2_0080.obj
OBJECT_DEF objects/Dummy.obj
OBJECT_DEF objects/Dummy.obj
OBJECT_DEF objects/defdb1943f1284f14102005182229f66-EDLK_Tower.obj
OBJECT_DEF objects/defdb1943b1724c15102005091204b35-EDLK_Zelt.obj
OBJECT_DEF objects/defdb1943a18324a15102005130728f1-EDLK_Schilder.obj
OBJECT_DEF objects/defdb1943a1612421510200515464921-EDLK_Schilder.obj
OBJECT 0 6.590179 51.384354 159.996338
OBJECT 1 6.590179 51.384354 159.996338
OBJECT 2 6.589927 51.384279 0.000000
OBJECT 3 6.589925 51.384293 0.000000
OBJECT 4 6.589925 51.384293 0.000000
OBJECT 5 6.589927 51.384272 1.999542
OBJECT 6 6.589927 51.384272 1.999542
OBJECT 7 6.590042 51.384442 120.000000
OBJECT 8 6.589748 51.383871 329.995880
OBJECT 9 6.589748 51.383871 329.995880
OBJECT 10 6.589416 51.383783 149.998627
OBJECT 11 6.590433 51.384129 319.998169
OBJECT 12 6.590421 51.384546 339.999084
OBJECT 13 6.590463 51.384047 129.997711

Das ist die einfachste Lösung.
Wir merken uns: Ein herauslöschen von OBJECT_DEF hat eine Umnummerierung aller nachfolgenen OBJECT zur Folge.

Christer
18.09.2013, 13:27
"Also bester Christer, eine weitere Infominute, privatissimo und völlig kostenlos." yeah ;)

Alles klar, danke Dietmar!
Das mit den dummy files habe ich auch schon des öfteren bei fehlenden dds gemacht, wo ich im OE auch nichts finden konnte.
Dann war Ruhe. Okay, dann ran an den Speck :)