Closed VatriXxX closed 4 years ago
Das deutet daraufhin, dass in dem courseManager.xml bei einem Eintrag das Attribut isUsed
nicht vorhanden ist. Ich kann den Code so ändern, dass das kein Fehler mehr ist, dafür wäre es aber hilfreich zu wissen, ob der Wert, wenn er nicht vorhanden ist true
oder false
sein soll.
Gelesen wird der Wert vion Coursplay hier: https://github.com/Courseplay/courseplay/blob/efe601acba2ede37f3e62a25111209029a070ec2/course_management.lua#L1357.
Leider geht daraus nicht hervor, ob der Wert per Standard das eine oder das andere ist. Auch die Dokumentation von getXMLBool schweigt dazu, was passiert, wenn das Attribut nicht existiert.
Um das zu überprüfen: Könntest du deine courseManager.xml
hier hochladen? (Dafür die Datei in ein zip-Archiv packen und dann hier per Drag-Drog einem Kommentar anhängen oder die Datei mit einem Texteditor öffnen und den Text hier reinkopieren).
@yankee42 Da mir das weiterhelfen würde, wenn ich den Editor mal nutzen könnte. Kannst du gerne die Courseplay xml Datei haben.
Ach das ist ja spannend. Da sind ja sogar <slot>
s drin, die gar keine Attribute haben:
<courseManager>
<saveSlot>
<slot/>
<slot/>
<slot fileName="courseStorage0003.xml" isUsed="true" id="13" parent="1" name="F36-Hof"/>
<slot fileName="courseStorage0004.xml" isUsed="true" id="12" parent="1" name="Hof-F37"/>
<!-- ... -->
</saveSlot>
<!-- ... -->
</courseManager>
Die sollten wir gefahrlos ignorieren können. Ich habe hier mal eine Previewversion gebaut. Bitte sag mir Bescheid ob es damit läuft. Wenn ja mache ich ein Release daraus: courseconvert.zip
Oh, jetzt kommen noch mehr Fehler.
com.github.yankee42.courseconvert.ParseCourseException: Could not parse course from file <C:\Users\Patrick\Documents\My Games\FarmingSimulator2019\CoursePlay_Courses\FS19_Multimap2019.SampleModMap\courseStorage0096.xml>: java.io.FileNotFoundException: C:\Users\Patrick\Documents\My Games\FarmingSimulator2019\CoursePlay_Courses\FS19_Multimap2019.SampleModMap\courseStorage0096.xml (Das System kann die angegebene Datei nicht finden)
at com.github.yankee42.courseconvert.CourseOsmConverter.parseCourse(CourseOsmConverter.java:135)
at com.github.yankee42.courseconvert.CourseOsmConverter.convertManager(CourseOsmConverter.java:38)
at com.github.yankee42.courseconvert.gui.MainGui.tryCourseToOsm(MainGui.java:149)
at com.github.yankee42.courseconvert.gui.MainGui.courseToOsm(MainGui.java:109)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\Users\Patrick\Documents\My Games\FarmingSimulator2019\CoursePlay_Courses\FS19_Multimap2019.SampleModMap\courseStorage0096.xml (Das System kann die angegebene Datei nicht finden)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:264)
at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1116)
at com.github.yankee42.courseconvert.XmlUtil.load(XmlUtil.java:16)
at com.github.yankee42.courseconvert.CourseOsmConverter.parseCourse(CourseOsmConverter.java:126)
... 39 more
Ich hab mal die courseStorage0096.xml eingefügt (eine anderen einfach kopiert und umbenannt) Und jetzt hat er die OSM Datei erstellt.
Edit: Wobei die ist 0KB groß
Edit: Okay sieht gut aus, lässt sich jetzt im OSM öffnen und bearbeiten, ich danke dir vielmals :)
Die courseStorage0096.xml
müsste bei dir im Spiel der Pfad Verkauf ab hof/3 Anlieferung
sein. Was passiert denn, wenn du den versuchst zu laden?
Ich hab mal die courseStorage0096.xml eingefügt (eine anderen einfach kopiert und umbenannt)
Theoretisch auch eine Lösung ^^.
Und jetzt hat er die OSM Datei erstellt.
Edit: Wobei die ist 0KB groß
0KB klingt jetzt nicht so erfolgreich. Bist du dir das sicher? Könnte es auch die hinterherhinkende Anzeige vom Dateibrowser sein? (Mal F5 drücken oder die Datei mit einem Texteditor öffnen und schauen ob was drin steht). Gab es einen Hinweis im Log oder sonst irgendeine Meldung?
Die Datei ist zwar 0KB groß, lässt sich aber trotzdem öffnen im OSM und bearbeiten
Damit wäre so wie es jetzt aussieht das Problem gelöst. Ich danke dir vielmals :)
Hallo, ich wollte mir mal Courseplay Editor anschauen und habe gleich ein Problem. Jetzt wollte ich meine Strecke editieren, öffne den CourseConverter, alles noch gut, gehe dann auf Course -> OSM, wähle meine CourseManager.xml Datei aus, gebe 4096 ein, Speicherort & Name. Und dann kommt dieser Fehler:
Er erstellt die OSM demnach nicht. Kann mir wer helfen?
Die Map ist Multimap2019
Courseplay neuste Version und Converter auch