Jump to content


Community Members
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by SciGuy42

  1. Missions 8 and 9 have now been converted and remastered for a25. Following are some screen shots from Mission 9, which is largely a naval/coastal adventure of battle and exploration. By the way, it used to be that when you capture a Gaia lighthouse, all coastal areas become revealed. Now that trigger doesn't seem to work, nothing happens when capturing the lighthouse. Was that change intentional?
  2. Good to know it's fixed! But is there really no way I can install the very latest build without building it myself? If you do have instructions on how to build from source, do share, thanks!
  3. With the help of nwtour, I have now converted the first 6 missions to a25. It went a bit slow initially as I was figuring out what has changed, hopefully it will go faster from now on.
  4. Great, it now works! Now back to the conversion, will report any other bugs if I encounter them.
  5. I assume I had to replace with the file on the right. After I did that, I am now getting the following error when a unit gets close to the trigger point, tested with both my scenario and the Trigger Demo: ERROR: JavaScript error: simulation/components/Trigger.js line 346 this.triggers.triggers is undefined Trigger.prototype.CallTrigger@simulation/components/Trigger.js:346:6 TriggerPoint.prototype.OnRangeUpdate@simulation/components/TriggerPoint.js:75:13
  6. Do you mean remove the word Action when registering the trigger but still keep the function as RangeAction? Or remove Action from both the name when registering the trigger as well as from the function name?
  7. I also tested the trigger demo scenario. Before I replaced the Trigger.js file, I was getting errors, now the errors are gone except for the OnRange trigger in that example scenario.
  8. Thanks, the interval action now seems to be working as expected. However, the OnRange trigger is still giving me the same error once the unit gets close to the trigger point: WARNING: Trigger.js: called a trigger 'RangeAction' for event 'OnRange' that wasn't found!!! I added the !!! at the end just to verify that it is using the new file.
  9. Unfortunately I am also having trouble with the simple IntervalAction trigger. I register the trigger as per the tutorial with no issues: cmpTrigger.RegisterTrigger("OnInterval", "IntervalAction", { "enabled": true, "delay": 10 * 1000, "interval": 5 * 1000, }); The action is defined as: Trigger.prototype.IntervalAction = function(data) { warn("The OnInterval event happened with the following data:"); warn(uneval(data)); }; Then 10 seconds in the game, I get this error: WARNING: Trigger.js: called a trigger action 'undefined' that wasn't found I think I followed everything from the trigger_demo.js example to the tee as before.
  10. I am trying to upgrade my campaign to a25 and have found that OnRange triggers must have changed somehow. I first defined the trigger using the following code: cmpTrigger.RegisterTrigger("OnRange", "RangeAction", { "entities": cmpTrigger.GetTriggerPoints("A"), // central points to calculate the range circles "players": [1], // only count entities of player 1 "maxRange": 40, "requiredComponent": IID_UnitAI, // only count units in range "enabled": true, }); I have a simple RangeAction defined as: Trigger.prototype.RangeAction = function(data) { warn("The OnRange event happened with the following data:"); warn(uneval(data)); }; When I load the scenario I get no errors upon loading but then when I move the unit close to the trigger point, I get the following error: WARNING: Trigger.js: called a trigger 'RangeAction' for event 'OnRange' that wasn't found Note that I am following the example in: /maps/scenarios/trigger_demo.js I cannot spot any difference between how the trigger_demo.js uses the OnRange trigger and mine. Any clues? I am also including the .js file here. Macedonia_2.js
  11. Here is the situation. In one image, we see the passability map as I loaded the scenario. Then I use the modify button to raise a bunch of land where it clearly becomes not passable but the overlay doesn't update. If I save it and reload then the overlay will be correct. But it is a pain to do that, sculpting narrow passages requires the overlay to update as changes are made.
  12. I recently upgraded to a25 and was messing with Atlas as I am converting my campaign to a25 along with the help of a few other folks. Back in a23, as I would modify the height of the map, the terrain passability overlay shown in red would be recomputed and updated after each change, which was very useful for sculpting small narrrow passages, etc. Now in a25, the overlay no longer updates, I would have to reload the map to see how my changes have affected passability. My question is, is this the same for everyone else or is it just me? I really need to figure out how to get the passability overlay to update without reloading the map, otherwise I would just lose patience
  13. Thanks, yes, currently almost every .js will break because it makes some calls to functions that no longer exist and also interval actions have changed. This may take me a bit to go through, once I have fixed the first 5 missions, I'll make a post and ask for some testers.
  14. Great, thanks, yes, it indeed has to be run on both the xml and pmp file. Now I am getting the template errors. OK, so here is what I will proceed with -- I will need to go over the .js files and test them with your converted versions, I see that there are some small changes to the API and UnitAI specifically that may cause an issue, as well as hardcoded old templates (unless you also replaced those?). I will let you know how far I get over the next few days.
  15. Thanks, I can now use this script, and I should run it with 7 as the version, right? When I run it on one of my old maps, I get that it was converted successfully but the error when loading the scenaioro isn't particularly useful, it looks like this: Assertion failed: "0 && (L"Invalid map XML data")" Location: MapReader.cpp:768 (ReadEnvironment) Call stack: (0x55819d482e55) /usr/games/pyrogenesis(+0x5f4e55) [0x55819d482e55] (0x55819d422c19) /usr/games/pyrogenesis(+0x594c19) [0x55819d422c19] (0x55819d424291) /usr/games/pyrogenesis(+0x596291) [0x55819d424291] (0x55819d424b1b) /usr/games/pyrogenesis(+0x596b1b) [0x55819d424b1b] (0x55819d220179) /usr/games/pyrogenesis(+0x392179) [0x55819d220179] (0x55819d2281e6) /usr/games/pyrogenesis(+0x39a1e6) [0x55819d2281e6] (0x55819d228414) /usr/games/pyrogenesis(+0x39a414) [0x55819d228414] (0x55819d161cfc) /usr/games/pyrogenesis(+0x2d3cfc) [0x55819d161cfc] (0x55819cf38d80) /usr/games/pyrogenesis(+0xaad80) [0x55819cf38d80] (0x55819cf25f4e) /usr/games/pyrogenesis(+0x97f4e) [0x55819cf25f4e] (0x7f97b1abf0b3) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f97b1abf0b3] (0x55819cf365de) /usr/games/pyrogenesis(+0xa85de) [0x55819cf365de] errno = 0 (No error reported here) OS error = ? Yeah, I know that some templates in the xml are no longer in A25 but it doesn't tell me which template it actually got hung on. So how do you figure out when converting error by error which templates to change? Or do you basically assume all of them?
  16. I haven't done that yet, I mostly want to learn how to do it myself since I have another campaign in waiting as well How do you convert the PMP files?
  17. Thanks. The first error I get when I load Macedonia_1 is: Writing replay to /home/<my user name>/.local/share/0ad/replays/0.0.25/2021-11-03_0001 terminate called after throwing an instance of 'PSERROR_Game_World_MapLoadFailed' what(): Could not load terrain file - too old version! This is more than just replacing template names I think. How do you handle this one?
  18. Feel free to make a pull request to merge into the a25 branch instead of master and I will approve. But also, how are you actually doing these conversions, what scripts are you running?
  19. Thanks all for the info. I have successfully installed a25 now. How exactly are you converting the scenarios though? Is there a script you have to run? Seems like a lot of templates have changed, so I will need to verify that any templates used in my javascript code as well as the scenarios themselves are updated. I have also created a branch called "a25" in the repo. If anyone wants to help, let me know your github name and I can add you to the repo.
  20. Hi folks, it is now time for me to convert this to A25. Does anyone have a pointer to what scripts I need to run? And another silly question, how do I actually installl A25 on Linux (Ubuntu 20.04)? Would this work: sudo add-apt-repository ppa:wfg/0ad sudo apt-get update sudo apt-get install 0ad
  21. Macedonia 45 - Nightmare (323 BC) Alexander is in trouble. His skin is burning up, head is raging with internal fire and strife. As he lay dying, in his mind there is one final battle to be fought. The landscape is desolate, covered in fire and ash. The sea is red and full of blood. All his enemies have gathered against him -- from the Spartan rebels, to the city of Tyre, and all the way to India. His only allies are the people who greeted him like a living God -- the land of Egypt. Will he prevail? Only you will find out. AI Settings: Player 8 (Doom Guard) should be set to Sandbox. For the rest of the players use a difficulty of your choice. For casual game play, set your Ally to Hard or Very Hard and your Enemies to a combination of Easy and Medium difficulties. You can also gift units to your ally. Simply move them to the little palisade pen and they will switch ownership. Your ally may also gift units to you as well.
  22. Macedonia 44 - A Band of Heroes (Part 2, 325 BC) After returning to Mesopotamia, Alexander took the time to rule his newly formed empire. New laws, new rules, power plays, and shuffling of satraps were all day to day events. Occasionally, Alexander would host lavish parties with drunken debauchery, but he also enjoyed frequent hunting trips. On one such trip, Alexander took those closest to him -- from Macedonian and Greek nobles, to Persian satraps and even Indian adventurers. The hunters used small boats to reach the hunting grounds but a surprise lightning storm wrecked havoc to the small ships. Alexander finds himself alone on the short of an unfamiliar river, his companions nowhere in sight. A local band of archers has fortified itself awaiting reinforcements -- while Alexander was generally liked throughout his empire, many of the local Persians did not pledge allegiance to him and would rather see him captured or dead. Alexander must find and rescue the remaining 10 hunters and make haste to a small Greek colony that will provide safety. Little does he know that making to a safe house is going to be only half the battle. Notes: some building have dialogue options -- move a unit close the building (perhaps circle around) to trigger them. AI Settings: Players 2, 3 and 5 (the Persian Villages) should be set to Petra with a difficulty of your choice. All others should be Sandbox.
  23. That looks like it's because it's made for a23 version of the game, you'd need to down load it and install to play. I have two more missions to make, then it's conversion time. I will still keep the a23 version for noobs like me who just do sudo apt-get install 0ad.
  24. Macedonia 43 - The Gedrosian Desert (325 BC) Gedrosia is the Hellenized name of the part of coastal Balochistan that roughly corresponds to today's Makran. The region is mostly a desert, with few resources available. While Nearchus' navy sailed along the Persian coast, Alexnader too the path across the desert, where the marching conditions for his army were brutal, to say the least. It is not clear why Alexander chose such a treacherous path, some hypothesize that he was indirectly exacting revenge upon his troops for their refusal to follow him deeper into India. You are in charge of a small band of elite soldiers and your primary objectives are: 1) keep the army supplied with food; we lose food in fixed interval and if we ever approach 0, soldiers will start dying; and 2) keep the army safe while it crosses the desert; the soldiers are so weak, they will not be able to put up much of a fight if attacked; we must destroy the fortifications of some local Persian rebels, if they stay up for too long our army will be too vulnerable. Local traders may be of some assistance. We should immediately seek to make contact with monastery not too far from our starting point, as we'll need food and healers from them. We should also make sure the path towards the other side of the desert is clear of any immediate dangers. Our scouts report that a small band of mercenaries may be available for hire, they are residing in a tent camp in the desert. A trading village with an elephant stables may also be willing to sell us some elephants. Most of the locals up in the mountain will be hostile but we must seek them out as their food supply will surely come handy. One tribe is known for its large goat herds. Good luck! AI Settings: All AIs should be set to Sandbox Notes: 1. you must be constantly on the lookout for food. It is possible to store too much too quickly and some of it will go to waste. But it is probably better to have too much than too little. 2. If any of the Persian rebel fortifications remain standing after 1 hour of game time, you lose the game. 3. If more than 1200 army soldiers die (either due to starvation or enemies), you lose the game. Note that the number of units lost shown by the UI does not include starvation deaths. 4. Act quickly and save often!
  25. Macedonia 42 - Nearchus' Journey: The Fisheaters (325 BC) Nearchus' navy continues to sail West along the Persian coast, occasionally making a landing to secure supplies. On one such occasion, the Macedonians encountered a local tribe, which they described as the Fisheaters (the ancient Greeks often called people by the food they ate). While Nearchus explores to local waterways, one of his generals, Onesicritus, has established a beach head prepared to take on the Fisheaters. Our scouts report that most of the Fisheaters reside in the mountains north of the coast. A small fishing village is located to the West while a goat-herding village lies to the East. Your mission is to subjugate the Fisheaters as to acquire access to local game and fish, as well as their resources. The Fisheaters are primitive people, living in houses made of straw. Nevertheless, they clearly have access to iron-made weaponry. Our biggest hurdle is our lack of siege weapons or materials to construct them. Your officers suggest that we seek the Fisheaters' workshop -- should we capture or destroy it, we may be able to construct a few rams to make our job easier. Objectives: Destroy the three Fisheaters fortresses to subjugate the tribe. Do not lose more than 15 champion soldiers (we are very short on troops!)
  • Create New...