Map error help
-
2 things. 1) the map-connections error
2) Is there I way to skip the "production" step?
(there is no unit production in my map)
Thanks!May 21, 2020 12:31:46 PM games.strategy.engine.data.GameParser parseGameLoader
INFO: Loader tag is being ignored
May 21, 2020 12:31:46 PM games.strategy.engine.data.GameParser parseGameLoader
INFO: Loader tag is being ignored
May 21, 2020 12:31:47 PM games.strategy.engine.data.GameParser parseGameLoader
INFO: Loader tag is being ignored
May 21, 2020 12:31:47 PM games.strategy.engine.data.GameParser parseMapProperties
SEVERE: SAXParseException: game: This_Is_Berk, line: 2354, column: 9, error: The content of element type "map" must match "((grid|territory)+,connection*,remove-connection*)".
May 21, 2020 12:31:47 PM games.strategy.engine.data.GameParser parseMapProperties
SEVERE: SAXParseException: game: This_Is_Berk, line: 2553, column: 16, error: The content of element type "unitList" must match "(unit)+".
May 21, 2020 12:31:47 PM games.strategy.engine.data.GameParser parseMapProperties
SEVERE: SAXParseException: game: This_Is_Berk, line: 4256, column: 8, error: An element with the identifier "purchase" must appear in the document.
May 21, 2020 12:31:48 PM games.strategy.engine.framework.startup.mc.GameSelectorModel load
SEVERE: Error loading game file: C:\Users\Olivia\triplea\downloadedMaps\This_Is_Berk-master\games\This_is_Berk.xml, map name: 'C:\Users\Olivia\triplea\downloadedMaps\This_Is_Berk-master\games\This_is_Berk.xml', game name: 'This_Is_Berk', Could not find delegate. name:purchase
games.strategy.engine.data.GameParseException: map name: 'C:\Users\Olivia\triplea\downloadedMaps\This_Is_Berk-master\games\This_is_Berk.xml', game name: 'This_Is_Berk', Could not find delegate. name:purchase
at games.strategy.engine.data.GameParser.newGameParseException(GameParser.java:108)
at games.strategy.engine.data.GameParser.newGameParseException(GameParser.java:102)
at games.strategy.engine.data.GameParser.getValidatedObject(GameParser.java:335)
at games.strategy.engine.data.GameParser.getDelegate(GameParser.java:421)
at games.strategy.engine.data.GameParser.parseSteps(GameParser.java:979)
at games.strategy.engine.data.GameParser.parseSequence(GameParser.java:974)
at games.strategy.engine.data.GameParser.parseGamePlay(GameParser.java:830)
at games.strategy.engine.data.GameParser.parseMapDetails(GameParser.java:187)
at games.strategy.engine.data.GameParser.parse(GameParser.java:97)
at games.strategy.engine.data.GameParser.parse(GameParser.java:91)
at games.strategy.engine.framework.startup.mc.GameSelectorModel.load(GameSelectorModel.java:77)
at games.strategy.engine.framework.GameRunner.loadGame(GameRunner.java:293)
at games.strategy.engine.framework.GameRunner.showMainFrame(GameRunner.java:277)
at java.lang.Thread.run(Unknown Source) -
@gabegolfer You can have maps without production. I am guessing that you have productionFrontier referencing a non-existent unit. Post the xml.
-
@gabegolfer Looks like there are multiple things causing errors.
-
Here is the XML This_is_Berk.xml
-
But what is with the "The content of element type "map" must match "((grid|territory)+,connection*,remove-connection*)"."?
-
@gabegolfer I am wondering whether the "Neutral" player is causing some problems. "Neutral" has specific meaning in TripleA, you should try renaming it "Unaligned" or something.
-
@RogerCooper Ok thanks, I'll try that
-
Ok, so I'm systematically ironing out the errors, all except for the ((grid|territory)+,connection*,remove-connection*)". I changed the "Neutral" to "Wild_Dragons" but the error remained.
-
@gabegolfer I think this is a bad character in this section:
<territory name="sea273"/> water="true"/> <territory name="sea 258"/> water="true"/> <territory name="sea 267"/> water="true"/> <territory name="sea 284"/> water="true"/> <territory name="sea 324"/> water="true"/>
My xml copy editor program flagged column 9 on the line with sea 258 but I don't see the issue. You should find the game.dtd file and use it to validate. For information on game.dtd see forum post
-
Sorry, this is my first map, I'm not quite sure what you mean my "use game.dtd file to validate" I opened the GitHub file but I wasn't sure where to go from there.
-
@RogerCooper Look at Sea273 and then all the next lines... the names have spaces between the word and the number...
So depending on whether that is continued on in the rest of the XML.... the spaces... then these may be the cause of your issues.
-
@gabegolfer I renamed the file game.txt, so I can upload it. game.txt . Rename to game.dtd
Download xml copy editor (or some similar program) to use it.
-
@RogerCooper said in Map error help:
@gabegolfer I think this is a bad character in this section:
<territory name="sea273"/> water="true"/> <territory name="sea 258"/> water="true"/> <territory name="sea 267"/> water="true"/> <territory name="sea 284"/> water="true"/> <territory name="sea 324"/> water="true"/>
My xml copy editor program flagged column 9 on the line with sea 258 but I don't see the issue. You should find the game.dtd file and use it to validate. For information on game.dtd see forum post
Something like
<territory name="sea273"/> water="true"/>
should be written as:
<territory name="sea273" water="true"/>
-
OK, thanks to you guys and all your help I think the XML works now. But now I get a "Map name property not set on game" message after I load the map and try to play? Doesn't this have to do with the properties file?
map.showComments=true
map.useNation_convoyFlags=false
map.mapBlendAlpha=0.3
map.cursor.hotspot.y=0
units.counter.offset.width=20
map.mapBlendMode=OVERLAY
map.showTerritoryNames=true
screenshot.title.x=50
map.showSeaZoneNames=false
screenshot.title.font.size=20
screenshot.title.y=50
map.useTerritoryEffectMarkers=false
units.counter.offset.height=70
map.scrollWrapY=false
map.showCapitolMarkers=true
map.scrollWrapX=true
map.showResources=true
screenshot.title.enabled=true
screenshot.title.color=000000
units.stack.size=8
dont_draw_territory_names=
map.cursor.hotspot.x=0
map.drawNamesFromTopLeft=false
map.mapBlends=false
map.width=13091
units.scale=0.75
color.Astrid=1cddff
color.Fishlegs=a66505
color.Hiccup=000500
color.King_of_Dragons=8c8085
color.Neutral=ffebf9
color.Red_Death=910007
color.Snotlout=ff4800
color.The_Twins=00ff00
map.hasRelief=true
units.width=80
units.height=70
map.height=12461 -
That is not the problem. You need to have code like this:
<!-- Map Name: also used for map utils when asked (MUST exactly match the folder or zip name of your map (do not include the .zip of course). May point to another map folder if you are making a mod of that map) --> <property name="mapName" value="the_pact_of_steel" editable="false"> <string/> </property>
Check existing XML to see how it used.
-
Ok that worked perfectly, but now all I get is an annoying "JAVA heap space" error. If you know how to adjust the memory or whatever the heap space is that would be awesome! Thanks again!
-
@gabegolfer I can't help you with JAVA heap space other to suggest to make sure you have an up to date version of Java.
-
-
@gabegolfer Is this map enormous? You actually get that right upon starting without any AI involved?
https://forums.triplea-game.org/topic/524/how-to-increase-memory-for-triplea
-
Ummmm yeah this map is huge. (13091x12461)