Tool zum Bereinigen der Besitztumsdaten im LPE

Mehr
11 Jahre 9 Monate her - 11 Jahre 9 Monate her #4702 von SSV-Klaus
In der Wolkenbug Downloadsektion gibts seit heute ein neues Tool zum Downloaden:
Tool zum Bereinigen der Besitztumsdatenaufblähung im LPE

Damit sollte das Tracking schneller laufen!
Geschrieben von Chris Hecher - herzlichen Dank dafür!

xlsm Version für Excel ab Version 2010
xls Version für ältere Excel Versionen - nicht (!) supportete Version

Das File selbst MUSS im LPE Ordner liegen und findet selbständig ALLE
Spiele die auf dieser LPE-Version installiert sind.
Wenn mehrere Spiele installiert sind arbeitet er alle Spiele
nacheinander ab, man kann aber am Ende jeweils festlegen ob man für
ein Spiel die Änderungen nicht speichern will oder schon .. Spielname
und Position scheinen in der Titelleiste aller Abfragen auf!

Das Öffnen des Files startet das Programm automatisch! (Wenn es
bereits offen ist .. einfach schließen und neu öffnen)

1. Abfrage:
... ob man alle Tabellenblätter-Inhalte löschen möchte (das kann
sinnvoll sein, wenn man
A ) das Programm weiterschicken will und Daten drinnen stehen!!
B ) die Excel-Datei wieder verkleinern will (vorallem für .XLS!!!)
C ) auf leere Excel-Tabellen steht ;)

2. PopUp:
... zeigt eine Auflistung aller installierten Legendsspiele am LPE
Mit ABBRUCH kann man hier das ganze stoppen, wenn zum Beispiel das
Spiel fehlt (dann weil es der falsche LPE-Ordner ist ;) )

3. Abfrage:
Es wird gefragt ob die Daten vor der Säuberung in die Tabellenblätter
eingetragen werden sollen:
Dies kann wirklich lange dauern, vorallem bei großen Positionen mit
langer Geschichte ;)
Die Daten werden in die Tabellenblätter OHNE Prefix 'NEW' geschrieben

4. Abfrage:
Es wird gefragt ob die Daten nach der Säuberung in die Tabellenblätter
eingetragen werden sollen:
Dies wird nicht mehr solange dauern ... ist aber auch keine Sache von
wenigen Sekunden ...
Die Daten werden in die Tabellenblätter MIT Prefix 'NEW' geschrieben

5. Abfrage:
Es wird gefragt ob die Daten wirklich für den LPE ins Verzeichnis DATA
geschrieben werden sollen.
Wenn Nein, dann war die Zeit eben umsonst, aber vielleicht wollte man
nur kein leeres Excel-Sheet haben ^^ (für ein leeres Excel-Sheet kann
man ja schon bei 2. Abbrechen ;) )
Wenn Ja, dann werden die bestehenden Dateien mit Datum und Uhrzeit und
der Endung .bup versehen. Durch Datum und Uhrzeit (inkl. Sekunde) kann
man jeden Schritt, jederzeit Rückgängig machen.
Die neuen Dateien werden für den LPE geschrieben und fertig!
Welche Dateien überschrieben wurden .. Einfach mal in den Ordner /DATA
gehen und nachsehen welche Backups angelegt wurden!

Der LPE sollte währrenddessen übrigens NICHT laufen ;)


Wie immer gilt:
Wer einen Bug findet, sollte TUS-Insektenspray daheim haben ..
... wenn das nicht hilft, einfach Mail an mich.

DISCLAIMER:
Ich übernehme keine Verantwortung oder jegliche Garantien, dass es
nicht durch unvorhersehbare oder nicht ausreichend geprüfte Fälle
passieren kann, dass einzelne Items oder ganze Listen von Items aus
Ruinen oder Lairs verschwinden!!! Die Verantwortung liegt hierbei
einzig und allein bei erfolgreichen Dieben anderer Spieler!!!
Auch übernehme ich keine Haftung für verlorengegangene Items oder
Städte ... die muss man schon im Spiel selbst suchen!

Aber im Ernst ... eigentlich ist das Programm absolut sicher, sollte
es dennoch zum unerklärlichen Verlust des Besitzes kommen, dann bitte
sofort melden und Backup nutzen!

Die .XLS Version ist völlig unsupported weil mir die Testmöglichkeiten
fehlen .. sollte es zu Programm-Crashes führen!


Hier noch eine Beschreibung vom August 2012, worum es im Tool selbst eigentlich geht (Kopie des Betrags von Iljiijli zum Thema LPE und Tracking):

Hallo Leute,

über den LPE kann ich Romane schreiben

Aber dieses Thema hier passt gerade gut um etwas zu erzählen ...

Im Tracking-Modus braucht der LPE bei mir aktuell auf einem ein Jahr alten Netbook (Speicher erweitert), um einen Basisbefehl zu löschen, satte 10 Minuten.


Dieses Problem kennt wohl jeder von uns schon zur Genüge!

Der Grund dafür ist in einer 'schlampigen' Programmierung des Trackings.
Erklärung:
Man stelle sich eine riesige Wand mit Schubladen vor, in jeder Schublade sind 25 items gelagert, die Nummerierung ergibt sich durch die Anordnung. WEiters enthält jede Schublade eine Karte wo draufsteht, ob es in einer anderen Schublade weitergeht!
Ein Charakter weiß jetzt in welcher Schublade seine Items sind ... und da in der Schublade ja noch der Hinweis da ist, dass es wo anders weitergeht ... findet er schließlich all seine Items.

Soweit .. kann man das relativ clean halten und macht das System auch noch Sinn (wenn man bedenkt, dass es Code aus den 80er Jahren ist!!!).

Doch dann kommt das Tracking ... wenn ein charakter einem anderen etwas übergibt, dann wird eine kopie seiner schublade angelegt und in dieser kopie steht dann, dass er von diesem item -0- besitzt und der anderen schublade wird es hinzugefügt.
Auch ein umrüsten eines chars erzeugt zwei weitere kopien und einträge, weil einmal dafür, dass er alles ausgezogen und im besitz hat und dann wieder das was er angelegt hat nicht mehr ...

Je mehr T6, Q1, T16, etc. man macht umso mehr Datensätze werden angelegt ..

Und letztlich werden diese nicht wieder oder nur unvollständig gelöscht!!


... soweit die traurige Wahrheit ...


Ich hab mir jetzt ein wenig die Arbeit angetan und hab mir in Excel ein VBA-Programm geschrieben, dass genau das macht: Es löscht ALLE überflüssigen Einträge in diesem Datenfile. Zudem ordnet es diese Riesige Wand und gibt jedem Besitzer wieder die Info über SEINE Schublade.

Das Ergebnis für WA43 (neu aufgesetzt am 11.05.2011):
Die Wand hatte nach rund 3 Monaten: rund 9650 Schubladen!! (Tracking dauerte aktuell rund 25 sekunden - für rund 40 Basisbefehle)

Nach der Bereinigung:
Die Wand hatte ... rund 850 Schubladen!!
Als ich den Turn wieder aufgemacht hab und das Tracking eingeschaltet habe, hat er ohne Murren seine rund 70 Datensätze angehängt und es hat ca. 1-2 sek gedauert...
D.h. man kann auch gefahrlos mitten in der Zugerstellung das Programm laufen lassen (Allerdings nur wenn der LPE zu ist!) und es sichert auch die alten Datenbanken.
(Ich hab wahllos Forces, Charaktere, Gilden, Märkte kontrolliert und keine Fehler gefunden...)

... Noch hab ich es 'nur' als Variante für WA43 liegen ich werde es aber so umgestalten, dass es einfach für jedes Spiel funktioniert. Allerdings muss sich ein Tester für alte Excel-Versionen finden - ich hab es auf MS Excel 2010 programmiert.


Und es läuft deutlich schneller und einfacher als den LPE komplett neu aufzusetzen


___________________________________________________________

Kontakt:
Klaus: ssv.klaus(a)ssvgraz.com
Webpage: www.ssvgraz.com
___________________________________________________________
Letzte Änderung: 11 Jahre 9 Monate her von SSV-Klaus.

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 9 Monate her #4705 von Iljiijli
Hallo,

gleich vorne weg eine Einschränkung ...

Wenn man sehr lange den LPE nicht neu aufsetzt und das Pos-File rund 5,5 MB überschreitet kann es derzeit zu einem Abbruch kommen, weil es zu mehr als 32.767 Datensätzen kommt ...

Ich muss mir das erstmal ansehen .. rechnet ja kein Mensch damit, dass es soooo geduldige Leute bei der Zugersellung mit Tracking gibt ;)

Gruss
Chri

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 9 Monate her #4706 von Iljiijli
Hallo,

für alle die die folgenden Fehler bekommen ein schnell Behebungsverfahren!

"Laufzeitfehler '6'
Überlauf"

Den Button 'Debuggen' drücken ....
In der Gelben Zeile steht "counter = counter + 1"
Wenige Zeilen darüber steht

Dim counter As Integer

Diese Zeile ersetzen durch

Dim counter As Long

Dann fragt Excel dass nach dieser Änderung das Projekt zurückgesetzt werden muss .. Bestätigen!
Speichern, schließen und neu starten :)


Soviel zur grauen Theorie ...

Allgemein stelle ich fest, dass bei einem pos??-File mit einer Größe von über 9.919 KB Pointer doppelt vergeben sein könnten und wahrscheinlich werden .. und damit die Zuweisung von Besitz völlig durcheinander geraten 'KANN!' .. Ob es wirklich dazu kommt lässt sich nicht nachvollziehen.

Das ist der Punkt wo man dann den LPE wirklich neu aufsetzen muss!

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 9 Monate her - 11 Jahre 9 Monate her #4710 von Iljiijli
Hallo !

Wichtig!!!!

Die Schnell-Lösung funktioniert leider nicht!

Ich richte hier mal meinen Dank an Josy S. der tatsächlich seinen LPE nie neu aufsetzt und einfach genug Zeit zum warten hat beim Tracking *fluecht*

Seinen Dateien zum Dank (es war tatsächlich so, dass ein Pos-File rund 47.000 Zeilen hatte ...) hab ich nun festgestellt, dass die einmal so bildlich beschriebenen Schubladen mit den Nummern über 32767 mit den Nummern -32768 rückwärts gegen 0 weiternummeriert wurden ... Was zur Folge hat, dass man sie als Adresse für Datensätze nicht mehr so gut verwenden kann ;)
Die Frage die sich mir stellt .. was macht der LPE wenn mal jemand tatsächlich 65536 Schubladen gesammelt hat ... ???? Wer glaubt, die Datensätze 1 .. etc. werden nicht mehr gebraucht IRRT gewaltig ..
Die Heimatforce behält zu 99,9% aller Fälle ihre erstmalig erhaltene Schublade ... (in diesem Fall war das die Nummer 19!) .. Was also wenn mitten in einem virtuellen Transferbefehl plötzlich wieder die 19 vergeben wird vom Tracking .. (weil 65555 Schubladen verbraucht sind .. und das System nur Zahlen bis 32767 (positiv & negativ) kann) ...

An diesem Punkt angelangt steht man wahrscheinlich plötzlich vor einem LPE der absolut nicht mehr weiß, welche Items wo sind und wem sie gehören ..


Der von mir nun an Klaus zum Upload geschickte Cleaner kann diese Datei aufräumen - vergibt alle Schubladen-Nummern neu wirft alle Schubladen weg, die nicht mehr gebraucht werden!

Sollte die Datei PosID#.Game .. größer sein als 9,5 MB .. Dann empfehle ich zur Sicherheit den LPE völlig neu aufzusetzen, denn theoretisch kann es sein, dass der LPE mit obiger szenerie (er vergibt Schubladen Nummern bis 32767, dann von -32768 bis -1 und dann wieder hoch von 1 beginnend) sogar umgehen kann .. (warum auch immer das so sein sollte ..)
Der vorliegende DataCleaner kann das JEDENFALLS NICHT!! In diesem Fall also Finger weg davon und einfach den LPE neu installieren und alle Züge neu einlesen.

Das obige riesenFile ergab sich übrigens nach Rund 235 Zügen, mit einer sehr großen Position (Regent), die mit großem Engagement spielt und der Tatsache, dass der LPE seit Spielbeginn nie neu aufgesetzt wurde!


Das Tool funktioniert unabhängig von Legends 2 oder Legends 3 .. für alle LPE-Versionen die mir derzeit bekannt sind!

Die aktuelle Version ist: V1.5 !!

Gruss
Chri
Letzte Änderung: 11 Jahre 9 Monate her von Iljiijli.

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 9 Monate her #4713 von Iljiijli
*grummel*


Der Fehlerteufel hat zugeschlagen in Version 1.5 ... Copy & Paste mit Folgen :((

Die vorliegende Version bricht leider ab!

Ich hab schon positive Rückmeldung zur Ur-Version bekommen und die ist auch gelaufen (bis eben das Problem eines Spielers mit den vielen Daten hochgekommen ist).

Noch ein Hinweis:
Vereinzelt kann vorkommen, dass es zu einem Abbruch kommt mit der Fehlermeldung '59' Falsche Datensatzlänge.
Das Problem dabei ist .. es gibt keine falsche Datensatzlänge an dem Punkt.
Recherchen im Internet haben ergeben, dass mit dem Problem auch andere schon gekämpft haben und kuriose Lösungsansätze vorkommen.
Mir ist das beim Testen das ein oder andere Mal passiert ... drei mal lief das Programm normal durch .. beim 4. Mal kam der Fehler ...

Wenn das passiert, dann bitte abbrechen. Excel schließen. Computer neu starten. Windows neu installieren. Alle Updates neu laden. LPE neu installieren. Office neu installieren. Draufkommen, dass es ein Scherz ist ... ;)

Ich vermute es hat etwas damit zu tun, wenn man im Debug-Modus etwas ändert und dann Excel nicht neu startet ... Also vielleicht tritt es im Normalfall NIE auf! (Bei Josy ist es aufgetreten, nachdem ich ihm telefonisch angesagt hatte, was er im Debug-Modus ändern muss. Dann speichern - schließen - starten und plötzlich kam die Fehlermeldung ... ???)


Chri

Bitte Anmelden um der Konversation beizutreten.

Moderatoren: Alarion
Ladezeit der Seite: 0.146 Sekunden
Powered by Kunena Forum