Hello. I am making a map, and I require some asisstance.
-
Update: I figured it out! I had a simple typo in the code, which had both triggers set as triggerDutchCapitalLiberation, when one should have been triggerDutchCapitalOccupation.
I fixed it though, and here is the code:
<attachment name="triggerDutchCapitalLiberation" attachTo="Dutch" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachment_Dutch_Own_Holland"/> <option name="relationshipChange" value="Dutch:British:Custodianship:Allied"/> <option name="relationshipChange" value="Dutch:ANZAC:Custodianship:Allied"/> <option name="relationshipChange" value="Dutch:Russians:Friendly:Allied"/> <option name="relationshipChange" value="Dutch:Americans:Friendly:Allied"/> <option name="relationshipChange" value="Dutch:French:Friendly:Allied"/> <option name="relationshipChange" value="Dutch:Chinese:Friendly:Allied"/> <option name="when" value="before:britishNonCombatMove"/> <option name="when" value="before:anzacNonCombatMove"/> </attachment> <attachment name="triggerDutchCapitalOccupation" attachTo="Dutch" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachment_Dutch_Do_Not_Own_Holland"/> <option name="relationshipChange" value="Dutch:British:Allied:Custodianship"/> <option name="relationshipChange" value="Dutch:ANZAC:Allied:Custodianship"/> <option name="relationshipChange" value="Dutch:Russians:Allied:Friendly"/> <option name="relationshipChange" value="Dutch:Americans:Allied:Friendly"/> <option name="relationshipChange" value="Dutch:French:Allied:Friendly"/> <option name="relationshipChange" value="Dutch:Chinese:Allied:Friendly"/> <option name="when" value="before:britishNonCombatMove"/> <option name="when" value="before:anzacNonCombatMove"/> </attachment>I had to make New Conditions, however:
<attachment name="conditionAttachment_Dutch_Own_Holland" attachTo="Dutch" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"> <option name="directOwnershipTerritories" value="Holland Belgium" count="1"/> </attachment> <attachment name="conditionAttachment_Dutch_Do_Not_Own_Holland" attachTo="Germans" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"> <option name="alliedOwnershipTerritories" value="Holland Belgium" count="1"/> </attachment>Something else I want to do is make China be allowed to use factories to build equipment, but can not build factories, while being able to build infantry in Szechuan and Hunan, and artillary (while burma road is open) in szechuan without factories there. For example, when China takes a factory it does not get destroyed (done already), and instead it can place planes, tanks, cars etc. but not infantry in the factory, while the infantry can only be mobilised in Szechuan and Hunan, and artillary only in Szechuan.
-
@tanq78 said in Hello. I am making a map, and I require some asisstance.:
Something else I want to do is make China be allowed to use factories to build equipment, but can not build factories, while being able to build infantry in Szechuan and Hunan, and artillary (while burma road is open) in szechuan without factories there. For example, when China takes a factory it does not get destroyed (done already), and instead it can place planes, tanks, cars etc. but not infantry in the factory, while the infantry can only be mobilised in Szechuan and Hunan, and artillary only in Szechuan.
Is this a question also? Everything should be doable I think. If you need help with it let us know.
-
@victoryfirst
Hello, I was working on changing the turn order when I got this error.Could not parse:file:///C:/Users/tank7/triplea/downloadedMaps/mehmetmap.zip/games/mehmetmap.xml, Parsing halted at line: 1447, column: 7, while mapping to: org.triplea.map.data.elements.GamePlay.Sequence, error: ParseError at [row,col]:[1447,7] Message: The element type "step" must be terminated by the matching end-tag " ". javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1447,7] Message: The element type "step" must be terminated by the matching end-tag " ".I can not figure out what is wrong.
-
looks as if you're missing some quotes '' with the end tag. That should mean at the end of your code, something is missing.
Go through your change word by word and have a correct one to compare to while you do it.
Or post your xml here if you can't get it to work
-
@beelee I can not seem to find it. Here is the entire section in question.
<sequence> <step name="gameInitDelegate" delegate="initDelegate" maxRunCount="1"/> <!-- Bidding Phase --> <step name="germanBid" delegate="bid" player="Germans" maxRunCount="1"/> <step name="germanBidPlace" delegate="placeBid" player="Germans" maxRunCount="1"/> <step name="russianBid" delegate="bid" player="Russians" maxRunCount="1"/> <step name="russianBidPlace" delegate="placeBid" player="Russians" maxRunCount="1"/> <step name="japaneseBid" delegate="bid" player="Japanese" maxRunCount="1"/> <step name="japaneseBidPlace" delegate="placeBid" player="Japanese" maxRunCount="1"/> <step name="americanBid" delegate="bid" player="Americans" maxRunCount="1"/> <step name="americanBidPlace" delegate="placeBid" player="Americans" maxRunCount="1"/> <step name="chineseBid" delegate="bid" player="Chinese" maxRunCount="1"/> <step name="chineseBidPlace" delegate="placeBid" player="Chinese" maxRunCount="1"/> <step name="britishBid" delegate="bid" player="British" maxRunCount="1"/> <step name="britishBidPlace" delegate="placeBid" player="British" maxRunCount="1"/> <step name="italianBid" delegate="bid" player="Italians" maxRunCount="1"/> <step name="italianBidPlace" delegate="placeBid" player="Italians" maxRunCount="1"/> <step name="anzacBid" delegate="bid" player="ANZAC" maxRunCount="1"/> <step name="anzacBidPlace" delegate="placeBid" player="ANZAC" maxRunCount="1"/> <step name="frenchBid" delegate="bid" player="French" maxRunCount="1"/> <step name="frenchBidPlace" delegate="placeBid" player="French" maxRunCount="1"/> <step name="dutchBid" delegate="bid" player="Dutch" maxRunCount="1"/> <step name="dutchBidPlace" delegate="placeBid" player="Dutch" maxRunCount="1"/> <!-- Germans Game Sequence --> <step name="germansTech" delegate="tech" player="Germans"/> <step name="germansTechActivation" delegate="tech_activation" player="Germans"/> <step name="germansPurchase" delegate="purchase" player="Germans"/> <step name="germansPolitics" delegate="politics" player="Germans"/> <step name="germansCombatMove" delegate="move" player="Germans"/> <step name="germansAirborneCombatMove" delegate="specialCombatMove" player="Germans" display="Airborne Attack Move"/> <step name="germansBattle" delegate="battle" player="Germans"/> <step name="germansNonCombatMove" delegate="move" player="Germans" display="Non Combat Move"/> <step name="germansPlace" delegate="place" player="Germans"/> <step name="germansEndTurn" delegate="endTurn" player="Germans"/> <!-- Russians Game Sequence --> <step name="russiansTech" delegate="tech" player="Russians"/> <step name="russiansTechActivation" delegate="tech_activation" player="Russians"/> <step name="russiansPurchase" delegate="purchase" player="Russians"/> <step name="russiansPolitics" delegate="politics" player="Russians"/> <step name="russiansCombatMove" delegate="move" player="Russians"/> <step name="russiansAirborneCombatMove" delegate="specialCombatMove" player="Russians" display="Airborne Attack Move"/> <step name="russiansBattle" delegate="battle" player="Russians"/> <step name="russiansNonCombatMove" delegate="move" player="Russians" display="Non Combat Move"/> <step name="russiansPlace" delegate="place" player="Russians"/> <step name="russiansEndTurn" delegate="endTurn" player="Russians"/> <!-- Japanese Game Sequence --> <step name="japaneseTech" delegate="tech" player="Japanese"/> <step name="japaneseTechActivation" delegate="tech_activation" player="Japanese"/> <step name="japanesePurchase" delegate="purchase" player="Japanese"/> <step name="japanesePolitics" delegate="politics" player="Japanese"/> <step name="japaneseCombatMove" delegate="move" player="Japanese"/> <step name="japaneseAirborneCombatMove" delegate="specialCombatMove" player="Japanese" display="Airborne Attack Move"/> <step name="japaneseBattle" delegate="battle" player="Japanese"/> <step name="japaneseNonCombatMove" delegate="move" player="Japanese" display="Non Combat Move"/> <step name="japanesePlace" delegate="place" player="Japanese"/> <step name="japaneseEndTurn" delegate="endTurn" player="Japanese"/> <!-- Chinese Game Sequence --> <step name="chineseTech" delegate="tech" player="Chinese"/> <step name="chineseTechActivation" delegate="tech_activation" player="Chinese"/> <step name="chinesePurchase" delegate="purchase" player="Chinese"/> <step name="chinesePolitics" delegate="politics" player="Chinese"/> <step name="chineseCombatMove" delegate="move" player="Chinese"/> <step name="chineseBattle" delegate="battle" player="Chinese"/> <step name="chineseNonCombatMove" delegate="move" player="Chinese" display="Non Combat Move"/> <step name="chinesePlace" delegate="place" player="Chinese"/> <step name="chineseEndTurn" delegate="endTurn" player="Chinese"/> <!-- British Game Sequence --> <step name="britishTech" delegate="tech" player="British"/> <step name="britishTechActivation" delegate="tech_activation" player="British"/> <step name="britishPurchase" delegate="purchase" player="British"/> <step name="britishPolitics" delegate="politics" player="British"/> <step name="britishCombatMove" player="British" delegate="move"> <step name="britishAirborneCombatMove" delegate="specialCombatMove" player="British" display="Airborne Attack Move"/> <step name="britishBattle" delegate="battle" player="British"/> <step name="britishNonCombatMove" delegate="move" player="British" display="Non Combat Move"> <step name="britishNoAirCheckPlace" delegate="placeNoAirCheck" player="British"/> <step name="britishEndTurn" delegate="endTurn" player="British"> <stepProperty name="turnSummaryPlayers" value="Chinese:British"/> </step> <!-- Italians Game Sequence --> <step name="italiansTech" delegate="tech" player="Italians"/> <step name="italiansTechActivation" delegate="tech_activation" player="Italians"/> <step name="italiansPurchase" delegate="purchase" player="Italians"/> <step name="italiansPolitics" delegate="politics" player="Italians"/> <step name="italiansCombatMove" delegate="move" player="Italians"/> <step name="italiansAirborneCombatMove" delegate="specialCombatMove" player="Italians" display="Airborne Attack Move"/> <step name="italiansBattle" delegate="battle" player="Italians"/> <step name="italiansNonCombatMove" delegate="move" player="Italians" display="Non Combat Move"/> <step name="italiansPlace" delegate="place" player="Italians"/> <step name="italiansEndTurn" delegate="endTurn" player="Italians"/> <!-- ANZAC Game Sequence --> <step name="anzacTech" delegate="tech" player="ANZAC"/> <step name="anzacTechActivation" delegate="tech_activation" player="ANZAC"/> <step name="anzacPurchase" delegate="purchase" player="ANZAC"/> <step name="anzacPolitics" delegate="politics" player="ANZAC"/> <step name="anzacCombatMove" delegate="move" player="ANZAC"/> <step name="anzacAirborneCombatMove" delegate="specialCombatMove" player="ANZAC" display="Airborne Attack Move"/> <step name="anzacBattle" delegate="battle" player="ANZAC"/> <step name="anzacNonCombatMove" delegate="move" player="ANZAC" display="Non Combat Move"/> <step name="anzacPlace" delegate="place" player="ANZAC"/> <step name="anzacEndTurn" delegate="endTurn" player="ANZAC"/> <!-- Americans Game Sequence --> <step name="americansTech" delegate="tech" player="Americans"/> <step name="americansTechActivation" delegate="tech_activation" player="Americans"/> <step name="americansPurchase" delegate="purchase" player="Americans"/> <step name="americansPolitics" delegate="politics" player="Americans"/> <step name="americansCombatMove" delegate="move" player="Americans"/> <step name="americansAirborneCombatMove" delegate="specialCombatMove" player="Americans" display="Airborne Attack Move"/> <step name="americansBattle" delegate="battle" player="Americans"/> <step name="americansNonCombatMove" delegate="move" player="Americans" display="Non Combat Move"/> <step name="americansPlace" delegate="place" player="Americans"/> <step name="americansEndTurn" delegate="endTurn" player="Americans"/> <!-- French Game Sequence --> <step name="frenchTech" delegate="tech" player="French"/> <step name="frenchTechActivation" delegate="tech_activation" player="French"/> <step name="frenchPurchase" delegate="purchase" player="French"/> <step name="frenchPolitics" delegate="politics" player="French"/> <step name="frenchCombatMove" delegate="move" player="French"/> <step name="frenchAirborneCombatMove" delegate="specialCombatMove" player="French" display="Airborne Attack Move"/> <step name="frenchBattle" delegate="battle" player="French"/> <step name="frenchNonCombatMove" delegate="move" player="French" display="Non Combat Move"/> <step name="frenchPlace" delegate="place" player="French"/> <step name="frenchEndTurn" delegate="endTurn" player="French"> <!-- Dutch Game Sequence --> <step name="dutchTech" delegate="tech" player="Dutch"/> <step name="dutchTechActivation" delegate="tech_activation" player="Dutch"/> <step name="dutchPurchase" delegate="purchase" player="Dutch"/> <step name="dutchPolitics" delegate="politics" player="Dutch"/> <step name="dutchCombatMove" delegate="move" player="Dutch"/> <step name="dutchBattle" delegate="battle" player="Dutch"/> <step name="dutchNonCombatMove" delegate="move" player="Dutch" display="Non Combat Move"/> <step name="dutchPlace" delegate="place" player="Dutch"/> <step name="dutchEndTurn" delegate="endTurn" player="Dutch"/> <stepProperty name="turnSummaryPlayers" value="ANZAC:Americans:French:Dutch"/> </step> <step name="endRoundStep" delegate="endRound"/> </sequence> -
@tanq78 said in Hello. I am making a map, and I require some asisstance.:
<step name="dutchEndTurn" delegate="endTurn" player="Dutch"/> <!-- Need to remove the slash --> <stepProperty name="turnSummaryPlayers" value="ANZAC:Americans:French:Dutch"/> </step>Cheers...
-
Thank you :beaming_face_with_smiling_eyes:
-
How do I upload my map so others can download it? Preferably in the experimental area.
-
Yeah a rule of thumb is that when you give something extra information by adding tabbed-in lines, you need to remove the slash from the first line. See another example below:
<attachment name="triggerAttachmentExample" attachTo="Germans" javaClass="TriggerAttachment" type="player"> <!-- This misses a slash... --> <option name="conditions" value="conditionAttachmentExample"/> <!-- ...because there are lines underneath tabbed in that give extra information to the above --> </attachment>So that's also why this:
<step name="dutchEndTurn" delegate="endTurn" player="Dutch"/>changes into this:
<step name="dutchEndTurn" delegate="endTurn" player="Dutch"> <!-- slash removed... --> <stepProperty name="turnSummaryPlayers" value="ANZAC:Americans:French:Dutch"/> <!-- ...because there is now this line here --> </step>How do I upload my map so others can download it?
The first step is to upload the map to a GitHub repository. Then, you should contact RogerCooper on this forum and ask him if you can add your repository to the TripleA map collection: https://github.com/triplea-maps
-
@tanq78 said in Hello. I am making a map, and I require some asisstance.:
<step name="frenchEndTurn" delegate="endTurn" player="French"> <!-- Needs a slash here --> <!-- Dutch Game Sequence --> <step name="dutchTech" delegate="tech" player="Dutch"/> <step name="dutchTechActivation" delegate="tech_activation" player="Dutch"/>Cheers...
-
@victoryfirst Thank you!
My map isn't near finished though, it is becoming a really big project now. Would you by chance know anything about changing how sound works? I am experimenting with adding background music that plays every turn for certain powers, but I am not sure how to get the sings to repeat. I have been able to add my own background music, but it only plays once for every power before ending. I could make them really really long, but it would make the file too big to download. Any thoughts? -
@tanq78 Yes, you need a sounds.properties folder which looks like this:
Using the map "Aggression 1942" as an example here which uses several custom sounds.

The second thing you need is a sound folder where all the sound files are stored.

So to give some explanations, each event in TripleA has a name. The start of someone's combat phase is "phase_move_comat", when something is placed into the sea is called "placed_sea", etc.
In the sound.properties folder, you simply need to type the game event name, followed by an '=', and then the full name of the sound you want to use for that event.
You can use more sounds for the same event, in which case you need to separate them with a ';'. The engine will then randomly select one (can be useful for land battle sounds).
-
Re background music
I suggest you have a soundtrack of your background music that is as long as possible, and use it for game_start, then I'm fairly sure it will play throughout the whole game. I don't think it should have that much effect on the download time if you compress it. However such a sound might be annoying for people as the sound will just continue even if you close the game. Only when you close TripleA the sound will stop.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login