I wrote Assassins on 1.65 to 1.67 and the script worked OK. But for a reason I can't figure when running on 1.68 the script gets caught in a loop. The scripts tells Oolite to display a mission briefing if the player is docked, has the right number of kills and the stage is X. Once the brief is displayed the stage is advanced to Y. So when Oolite next scans the script the condition the condition that stage = x is not met so the brief is not displayed again. This works fine on 1.65 and 1.67, but on 1.68 the same script causes this error:-
The briefing is displayed and the player presses space. However non of the mission variables that the script was meant to set are in fact set, so 10 seconds later when Oolite scans the script again the player gets the same briefing. EG below is the script for the first briefing in Assassins:-
Now on 1.67 and below this works. The player presses space and all the variables are set. But on 1.68 it seems Oolite reads the script to display the briefing and show the image, but ignores the rest of the script that sets the variables. So Oolite gets caught in a loop. The player is still docked and the briefing is displayed again. Except it shouldn't as the undefined condition is no longer true.
Has somthing changed for scripting? I don't think its somthing with my script as such as it was fine up to 1.67. Help!
Code: Select all
conditions = ("galaxy_number equal 6");
do = (
{
conditions = ("dockedAtMainStation_bool equal YES", "mission_assassins undefined", "score_number greaterthan 199");
do = (
"setMissionImage: victim1.PNG",
setGuiToMissionScreen,
"addMissionText: hitbrief_1",
"addMissionDestination: 73",
"setSpecificPlanetInfo: 6=73=description=Orramaor is noted for its companion world Apollodorus and is reasonably well known as the corporate headquarters of Soin Classic Shipyards Ltd. In recent years, Soin Classic Shipyards have specialised in the development of greatly improved versions of Serpent Class ships.",
"setSpecificPlanetInfo: 6=73=techlevel=14",
"setSpecificPlanetInfo: 6=73=government=6",
"setSpecificPlanetInfo: 6=73=economy=0",
"setSpecificPlanetInfo: 6=73=inhabitants=Fierce Rodent Scientists",
"setSpecificPlanetInfo: 6=73=productivity=53489",
"setSpecificPlanetInfo: 6=107=description=Esrire is famous for its large gas giant, Cerberus. The system is however plagued by high levels of criminal activity, even by the standards of an anarchy system. GalCop Special Branch suspects that many criminal organizations make their home in this system, but have thus far found no living witnesses to corroborate their theories.",
"setSpecificPlanetInfo: 6=107=productivity=97252",
"setSpecificPlanetInfo: 6=107=inhabitants=Sinister yellow frogs",
"setSpecificPlanetInfo: 6=194=description=Tiared is well known for its large volcanic companion, Diomedes. The inhabitants have a passion for the sport of Zero-G Hockey, hosting the last five Galactic Cup competitions. The Galactic Zero-G Hockey Association have their headquarters on the northern continent of the planet.",
"setSpecificPlanetInfo: 6=194=inhabitants=Hockey-obsessed lizards",
"setSpecificPlanetInfo: 6=203=description=Beatle is well known for its moon, Augeas. The Augeaian Orbital Repair Facility is famous for the affordable servicing facilities provided by its industrious work crews. The Augeaian Security Force maintains a strong presence of both Mega and Interceptor Kraits in the vicinity. Customers can rest assured that their powered down craft will remain secure whilst undergoing servicing.",
"setSpecificPlanetInfo: 6=203=inhabitants=Feline Engineers",
"setSpecificPlanetInfo: 6=203=techlevel=14",
"setSpecificPlanetInfo: 6=203=economy=0",
"setSpecificPlanetInfo: 6=203=productivity=39902",
"setSpecificPlanetInfo: 6=203=government=7",
"setSpecificPlanetInfo: 6=39=description=The Ateslete System is reasonably noted for the ice-world, Stymphal. The well known robotics company, Griff Research Ltd, operates factories over most of the planet and maintains an orbital research station near Stymphal.",
"setSpecificPlanetInfo: 6=39=techlevel=14",
"setSpecificPlanetInfo: 6=39=government=7",
"setSpecificPlanetInfo: 6=39=productivity=78824",
"setSpecificPlanetInfo: 6=39=economy=0",
"setSpecificPlanetInfo: 6=39=inhabitants=Humans and Robots",
"setSpecificPlanetInfo: 6=53=description=Quandixe is well known for its tropical moon Hesperides, the climate of which is perfectly suited to the cultivation of Megaweed. Dark rumors circulate that the Quandixeian Corporation is in reality a front for a Mafia narcotics syndicate.",
"setSpecificPlanetInfo: 6=53=inhabitants=Legitimate businessmen",
"setSpecificPlanetInfo: 6=53=economy=5",
"setSpecificPlanetInfo: 6=18=description=Geteve is reasonably well known for its large moon, Hercules. GalCop Special Branch maintains a well armed base in orbit around Hercules. The main offices of the Galactic Prosecution Service are based on the moon's surface.",
"setSpecificPlanetInfo: 6=18=economy=0",
"setSpecificPlanetInfo: 6=18=government=6",
"setSpecificPlanetInfo: 6=18=inhabitants=Law abiding humans",
"setSpecificPlanetInfo: 6=184=description=This planet is notable for its great tropical forests, but is famous for its inhabitants passion for the sport of Zero-G Hockey.",
"setSpecificPlanetInfo: 6=184=inhabitants=Hockey-obsessed humans",
"setSpecificPlanetInfo: 6=81=description=Ataneris is famous for its forest covered companion, Hippolyte, but has a sinister reputation as traditional place of bloodshed. In dark corners of disreputable space bars it is whispered that, from time to time, duels between pilots of great skill take place by the Witchspace Beacon. Two ships enter the circle. One ship leaves.",
"setSpecificPlanetInfo: 6=100=description=Formally a GalCop penal colony, a successful rebellion by the prisoners placed the system in the hands of felons. At present the system is run by the Yankisona Triad gang. In criminal circles, it is well known that relations with the Quandixeian Mafia are less than cordial. Many fear that all out gang warfare is imminent.",
"setSpecificPlanetInfo: 6=100=inhabitants=Criminals of many species",
"setSpecificPlanetInfo: 6=100=productivity=29127",
"setSpecificPlanetInfo: 6=118=description=The planet Orreedon is famous for its strange mountains, but cursed by deadly goats. In criminal circles, it is said that an illegal trade in the export of Orreedonian deadly goats flourishes on the northern continent. Once domesticated, the deadly goat can be trained as a vicious attack beast.",
"setSpecificPlanetInfo: 6=82=description=Estiri is noted for its large ocean covered moon, Nemean, and famous as the location of the Galactic Supreme Court. The Galactic Navy operates from a well armed base orbiting the moon.",
"setSpecificPlanetInfo: 6=82=productivity=27654",
"setSpecificPlanetInfo: 6=82=govenment=6",
"setSpecificPlanetInfo: 6=19=description=Sobeer is famous for the delicious nature of its native marine life, particularly the exquisite Sobeerian spotted cod. Beings of a more sensitive nature decline however to partake in this delicacy, knowing its use in certain sinister Mafia rituals.",
"setSpecificPlanetInfo: 6=13=description=Eszausve is famous for its rocky moon and the twin gas giants Hades and Lernean, but cursed by one of the most oppressive governments in the Galaxy. Although the People's Popular Front bravely resists the oppressive regime of Governor Tarkin, thus far they have made little progress in restoring freedom to the planet.",
"setSpecificPlanetInfo: 6=13=productivity=98764",
"setSpecificPlanetInfo: 6=13=techlevel=14",
"setSpecificPlanetInfo: 6=13=inhabitants=Oppressed harmless fat birds",
"setSpecificPlanetInfo: 6=13=station=abcstat",
"set: mission_assassins_gotscan 0",
"set: mission_assassins_jumpcount 0",
"set: mission_assassins_bugattack 0",
"set: mission_assassins_robotescape 0",
"set: mission_assassins_robottimer 0",
"set: mission_assassins_killcount 0",
"set: mission_assassins_navybots 0",
"set: mission_assassins_war 0",
"set: mission_assassins_unlocked 0",
"set: mission_assassins_basedeath 0",
"set: mission_assassins_trumble 0",
"set: mission_assassins_card 0",
"set: mission_assassins assassins_STAGE1",
"setMissionDescription: assassins_header1"
);
},