Why is this modification to an OXP not working?

General discussion for players of Oolite.

Moderators: winston, another_commander

Dragonfire
---- E L I T E ----
---- E L I T E ----
Posts: 503
Joined: Sat Jun 11, 2011 7:46 pm

Why is this modification to an OXP not working?

Post by Dragonfire »

I modified the Cadecus OXP, and yet the changes are not showing up. I added the ship information to the shipyard.plist, too. Here's the new ship data appended to the shipdata.plist file. Why is it not working?

--
Here's the modded code I stole from the caduceus alpha. Shaders are below it in the document:

<key>caduceus-omegaiv-player</key>
<dict>
<key>aft_eject_position</key>
<string>-0.1985 -5.5002 -57.7762</string>
<key>energy_recharge_rate</key>
<real>7.0</real>
<key>cloak_passive</key>
<true/>
<key>hyperspace_motor_spin_time</key>
<integer>10</integer>
<key>exhaust</key>
<array>
<string>-4.663113 -0.5 -55.1 3.8 3.8 2.0</string>
<string>4.663113 -0.5 -55.1 3.8 3.8 2.0</string>
<string>-4.663113 -0.5 -56.0 1.1 1.1 1.0</string>
<string>4.663113 -0.5 -56.0 1.1 1.1 1.0</string>
</array>
<key>forward_weapon_type</key>
<string>WEAPON_MILITARY_LASER</string>
<key>laser_color</key>
<string>greenColor</string>
<key>max_cargo</key>
<integer>125</integer>
<key>extra_cargo</key>
<integer>75</integer>
<key>max_energy</key>
<real>512</real>
<key>max_flight_pitch</key>
<real>1.8</real>
<key>max_flight_yaw</key>
<real>1.8</real>
<key>max_flight_roll</key>
<real>2.8</real>
<key>max_flight_speed</key>
<real>560</real>
<key>scoop_position</key>
<string>0.0 -6.48006 53.297053</string>
<key>missile_launch_position</key>
<string>-3.532853 -10.17446 -12.143362</string>
<key>max_missiles</key>
<integer>16</integer>
<key>model</key>
<string>cbodyg.dat</string>
<key>smooth</key>
<true/>
<key>name</key>
<string>Caduceus Omega IV</string>
<key>roles</key>
<string>player</string>
<key>thrust</key>
<real>45</real>
<key>view_position_aft</key>
<string>0.0 0.0 -60.1</string>
<key>view_position_forward</key>
<string>0.0 0.0 54.1</string>
<key>view_position_port</key>
<string>-8.59 0.0 0.0</string>
<key>view_position_starboard</key>
<string>8.59 0.0 0.0</string>
<key>weapon_position_forward</key>
<string>0.0 0.0 53.9</string>
<key>weapon_position_aft</key>
<string>0.0 0.0 -59.9</string>
<key>subentities</key>
<array>
<string>cenginea -4.5 -0.5 -60.5 1 0 0 0</string>
<string>cengineb 4.5 -0.5 -60.7 1 0 0 0</string>
<string>cmount 0.0 -2.6 26.0 1 0 0 0</string>
<string>cmount 0.0 -2.6 13.0 1 0 0 0</string>
<string>cmount 0.0 -2.6 0.0 1 0 0 0</string>
<string>caduceusturret 8.0 -2.7 26.0 1 0 -1 0</string>
<string>caduceusturret 8.0 -2.7 13.0 1 0 -1 0</string>
<string>caduceusturret 8.0 -2.7 0.0 1 0 -1 0</string>
<string>caduceusturret -8.0 -2.7 26.0 1 0 1 0</string>
<string>caduceusturret -8.0 -2.7 13.0 1 0 1 0</string>
<string>caduceusturret -8.0 -2.7 0.0 1 0 1 0</string>
</array>
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Re: Why is this modification to an OXP not working?

Post by Smivs »

Can you explain more? In what sense is it 'not working'?
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Why is this modification to an OXP not working?

Post by CommonSenseOTB »

Just had a quick look. Where's your </dict> at the end. Also if you have any syntax errors it should fail to parse and be in the log. I'm also assuming that shift was held down while starting up or the changes won't be there.
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2453
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia
Contact:

Re: Why is this modification to an OXP not working?

Post by Wildeblood »

Probably because the Caduceus has a "DCN" (Damage Control Node) that automatically reverts any changes to it. It was written by Thargoid, and is an earlier version of the regeneration system in the Vortex, I believe.
Dragonfire
---- E L I T E ----
---- E L I T E ----
Posts: 503
Joined: Sat Jun 11, 2011 7:46 pm

Re: Why is this modification to an OXP not working?

Post by Dragonfire »

Mm, that could very well be it. Meh. Maybe I'll just go modify the Tiger Mark I in that case.
User avatar
Eldon
Dangerous
Dangerous
Posts: 68
Joined: Tue Jan 26, 2010 1:38 pm

Re: Why is this modification to an OXP not working?

Post by Eldon »

If the ship is still appearing in game and its just the changes to it that aren't showing up, did you hold shift down when re-starting Oolite? That clears the cache so any changes to OXPs show up.
User avatar
Cmdr Wyvern
---- E L I T E ----
---- E L I T E ----
Posts: 1649
Joined: Tue Apr 11, 2006 1:47 am
Location: Somewhere in the great starry void

Re: Why is this modification to an OXP not working?

Post by Cmdr Wyvern »

Wildeblood wrote:
Probably because the Caduceus has a "DCN" (Damage Control Node) that automatically reverts any changes to it. It was written by Thargoid, and is an earlier version of the regeneration system in the Vortex, I believe.
The DCN, and it's similar device in the Vortex, just autorepair kit damaged in combat. They do nothing to shipdata plists.

Looks to me like he's missing some important keys, such as the <dict> .. </dict> pair.
Running Oolite buttery smooth & rock stable w/ tons of eyecandy oxps on:
ASUS Prime X370-A
Ryzen 5 1500X
16GB DDR4 3200MHZ
128GB NVMe M.2 SSD (Boot drive)
1TB Hybrid HDD (For software and games)
EVGA GTX-1070 SC
1080P Samsung large screen monitor
Dragonfire
---- E L I T E ----
---- E L I T E ----
Posts: 503
Joined: Sat Jun 11, 2011 7:46 pm

Re: Why is this modification to an OXP not working?

Post by Dragonfire »

Okay, I tried a similar mod on the Tiger Mark I. I created a Tiger Mark II "Siberian", which was appended to the bottom of shipdata.plist. Then I added the information to the shipyard.plist. Both files are pasted below.

My issue is that, even with the modifications (chance of Tiger Mark I is set to "0.0" to ensure I only see Tiger Mark II in the shipyard, just for the time being to confirm that it works) is that I cannot see my Tiger Mark II Siberian in the shipyard. Ever. WHY? (Yes, I checked, and I am in a high tech-level station dock.)

--
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>tiger-mk1-player</key>
<dict>
<key>chance</key>
<real>0.0</real>
<key>optional_equipment</key>
<array>
<string>EQ_ECM</string>
<string>EQ_FUEL_SCOOPS</string>
<string>EQ_PASSENGER_BERTH</string>
<string>EQ_ESCAPE_POD</string>
<string>EQ_ENERGY_BOMB</string>
<string>EQ_ENERGY_UNIT</string>
<string>EQ_NAVAL_ENERGY_UNIT</string>
<string>EQ_DOCK_COMP</string>
<string>EQ_WEAPON_PULSE_LASER</string>
<string>EQ_WEAPON_BEAM_LASER</string>
<string>EQ_WEAPON_MINING_LASER</string>
<string>EQ_WEAPON_MILITARY_LASER</string>
<string>EQ_FUEL_INJECTION</string>
<string>EQ_SCANNER_SHOW_MISSILE_TARGET</string>
<string>EQ_MULTI_TARGET</string>
<string>EQ_GAL_DRIVE</string>
<string>EQ_ADVANCED_COMPASS</string>
<string>EQ_SHIELD_BOOSTER</string>
<string>EQ_NAVAL_SHIELD_BOOSTER</string>
</array>
<key>price</key>
<integer>730000</integer>
<key>standard_equipment</key>
<dict>
<key>extras</key>
<array>
<string>EQ_FUEL_SCOOPS</string>
</array>
<key>forward_weapon_type</key>
<string>EQ_WEAPON_MILITARY_LASER</string>
<key>missiles</key>
<integer>4</integer>
</dict>
<key>techlevel</key>
<integer>8</integer>
<key>weapon_facings</key>
<integer>15</integer>
</dict>
<key>tiger-mk2-player</key>
<dict>
<key>chance</key>
<real>100.0</real>
<key>optional_equipment</key>
<array>
<string>EQ_ECM</string>
<string>EQ_FUEL_SCOOPS</string>
<string>EQ_PASSENGER_BERTH</string>
<string>EQ_ESCAPE_POD</string>
<string>EQ_ENERGY_BOMB</string>
<string>EQ_ENERGY_UNIT</string>
<string>EQ_NAVAL_ENERGY_UNIT</string>
<string>EQ_DOCK_COMP</string>
<string>EQ_WEAPON_PULSE_LASER</string>
<string>EQ_WEAPON_BEAM_LASER</string>
<string>EQ_WEAPON_MINING_LASER</string>
<string>EQ_WEAPON_MILITARY_LASER</string>
<string>EQ_FUEL_INJECTION</string>
<string>EQ_SCANNER_SHOW_MISSILE_TARGET</string>
<string>EQ_MULTI_TARGET</string>
<string>EQ_GAL_DRIVE</string>
<string>EQ_ADVANCED_COMPASS</string>
<string>EQ_SHIELD_BOOSTER</string>
<string>EQ_NAVAL_SHIELD_BOOSTER</string>
</array>
<key>price</key>
<integer>900000</integer>
<key>standard_equipment</key>
<dict>
<key>extras</key>
<array>
<string>EQ_FUEL_SCOOPS</string>
</array>
<key>forward_weapon_type</key>
<string>EQ_WEAPON_MILITARY_LASER</string>
<key>missiles</key>
<integer>4</integer>
</dict>
<key>techlevel</key>
<integer>10</integer>
<key>weapon_facings</key>
<integer>15</integer>
</dict>
</dict>
</plist>

--


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>tiger-mk1</key>
<dict>
<key>aft_eject_position</key>
<string>0.0 0.0 -55.0</string>
<key>ai_type</key>
<string>pirateAI.plist</string>
<key>bounty</key>
<string>74</string>
<key>cargo_type</key>
<string>CARGO_NOT_CARGO</string>
<key>energy_recharge_rate</key>
<real>4.5</real>
<key>exhaust</key>
<array>
<string>-12.0 0.0 -52.5 7.0 5.0 5.0</string>
<string>12.0 0.0 -52.5 7.0 5.0 5.0</string>
</array>
<key>forward_weapon_type</key>
<string>WEAPON_MILITARY_LASER</string>
<key>has_ecm</key>
<real>0.9</real>
<key>laser_color</key>
<string>cyanColor</string>
<key>likely_cargo</key>
<integer>5</integer>
<key>max_cargo</key>
<string>250</string>
<key>max_energy</key>
<real>500</real>
<key>max_flight_pitch</key>
<real>1.0</real>
<key>max_flight_roll</key>
<real>2.0</real>
<key>max_flight_speed</key>
<real>500</real>
<key>max_missiles</key>
<integer>16</integer>
<key>missile_launch_position</key>
<string>0.0 -11.0 -17.0</string>
<key>missiles</key>
<integer>16</integer>
<key>model</key>
<string>tiger.dat</string>
<key>name</key>
<string>Tiger Mark I</string>
<key>roles</key>
<string>hunter pirate escort</string>
<key>thrust</key>
<real>50</real>
<key>view_position_aft</key>
<string>0.0 0.0 -53.0</string>
<key>view_position_forward</key>
<string>0.0 3.0 9.0</string>
<key>view_position_port</key>
<string>-46.0 0.0 14.8</string>
<key>view_position_starboard</key>
<string>46.0 0.0 14.8</string>
<key>weapon_position_aft</key>
<string>0.0 -1.0 -53.0</string>
<key>weapon_position_forward</key>
<string>0.0 -5.0 29.0</string>
<key>weapon_position_port</key>
<string>-32.5 0.0 -7.0</string>
<key>weapon_position_starboard</key>
<string>32.5 0.0 -7.0</string>
</dict>
<key>tiger-mk1-player</key>
<dict>
<key>aft_eject_position</key>
<string>0.0 0.0 -55.0</string>
<key>cargo_type</key>
<string>CARGO_NOT_CARGO</string>
<key>energy_recharge_rate</key>
<real>4.5</real>
<key>exhaust</key>
<array>
<string>-12.0 0.0 -52.5 7.0 5.0 5.0</string>
<string>12.0 0.0 -52.5 7.0 5.0 5.0</string>
</array>
<key>laser_color</key>
<string>cyanColor</string>
<key>max_cargo</key>
<string>50</string>
<key>max_energy</key>
<real>500</real>
<key>max_flight_pitch</key>
<real>1.0</real>
<key>max_flight_roll</key>
<real>2.0</real>
<key>max_flight_speed</key>
<real>500</real>
<key>max_missiles</key>
<integer>6</integer>
<key>missile_launch_position</key>
<string>0.0 -11.0 -17.0</string>
<key>model</key>
<string>tiger.dat</string>
<key>name</key>
<string>Tiger Mark I</string>
<key>roles</key>
<string>player</string>
<key>thrust</key>
<real>50</real>
<key>view_position_aft</key>
<string>0.0 0.0 -53.0</string>
<key>view_position_forward</key>
<string>0.0 3.0 9.0</string>
<key>view_position_port</key>
<string>-46.0 0.0 14.8</string>
<key>view_position_starboard</key>
<string>46.0 0.0 14.8</string>
<key>weapon_position_aft</key>
<string>0.0 -1.0 -53.0</string>
<key>weapon_position_forward</key>
<string>0.0 -5.0 29.0</string>
<key>weapon_position_port</key>
<string>-32.5 0.0 -7.0</string>
<key>weapon_position_starboard</key>
<string>32.5 0.0 -7.0</string>
</dict>
<key>tiger-mk2-player</key>
<dict>
<key>aft_eject_position</key>
<string>0.0 0.0 -55.0</string>
<key>cargo_type</key>
<string>CARGO_NOT_CARGO</string>
<key>energy_recharge_rate</key>
<real>8.0</real>
<key>exhaust</key>
<array>
<string>-12.0 0.0 -52.5 7.0 5.0 5.0</string>
<string>12.0 0.0 -52.5 7.0 5.0 5.0</string>
</array>
<key>laser_color</key>
<string>greenColor</string>
<key>max_cargo</key>
<string>150</string>
<key>max_energy</key>
<real>500</real>
<key>max_flight_pitch</key>
<real>1.0</real>
<key>max_flight_roll</key>
<real>2.0</real>
<key>max_flight_speed</key>
<real>600</real>
<key>max_missiles</key>
<integer>16</integer>
<key>missile_launch_position</key>
<string>0.0 -11.0 -17.0</string>
<key>model</key>
<string>tiger.dat</string>
<key>name</key>
<string>Tiger Mark II Siberian</string>
<key>roles</key>
<string>player</string>
<key>thrust</key>
<real>50</real>
<key>view_position_aft</key>
<string>0.0 0.0 -53.0</string>
<key>view_position_forward</key>
<string>0.0 3.0 9.0</string>
<key>view_position_port</key>
<string>-46.0 0.0 14.8</string>
<key>view_position_starboard</key>
<string>46.0 0.0 14.8</string>
<key>weapon_position_aft</key>
<string>0.0 -1.0 -53.0</string>
<key>weapon_position_forward</key>
<string>0.0 -5.0 29.0</string>
<key>weapon_position_port</key>
<string>-32.5 0.0 -7.0</string>
<key>weapon_position_starboard</key>
<string>32.5 0.0 -7.0</string>
</dict>
</dict>
</plist>
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Re: Why is this modification to an OXP not working?

Post by Thargoid »

Wildeblood wrote:
Probably because the Caduceus has a "DCN" (Damage Control Node) that automatically reverts any changes to it. It was written by Thargoid, and is an earlier version of the regeneration system in the Vortex, I believe.
It repairs things, it doesn't revert them per-se. It is indeed an earlier version of the system that is in the Vortex, and is also available as the repair system in repair bots.oxp.

My bet is either on not pressing shift when restarting, or something in the edit was cocked up. Either way a look in latest.log will tell you.
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2453
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia
Contact:

Re: Why is this modification to an OXP not working?

Post by Wildeblood »

Cmdr Wyvern wrote:
Wildeblood wrote:
Probably because the Caduceus has a "DCN" (Damage Control Node) that automatically reverts any changes to it. It was written by Thargoid, and is an earlier version of the regeneration system in the Vortex, I believe.
The DCN, and it's similar device in the Vortex, just autorepair kit damaged in combat. They do nothing to shipdata plists...
Thargoid wrote:
Wildeblood wrote:
Probably because the Caduceus has a "DCN" (Damage Control Node) that automatically reverts any changes to it. It was written by Thargoid, and is an earlier version of the regeneration system in the Vortex, I believe.
It repairs things, it doesn't revert them per-se. It is indeed an earlier version of the system that is in the Vortex, and is also available as the repair system in repair bots.oxp...
Among humans there is a saying, "Obvious troll is obvious."
Dragonfire
---- E L I T E ----
---- E L I T E ----
Posts: 503
Joined: Sat Jun 11, 2011 7:46 pm

Re: Why is this modification to an OXP not working?

Post by Dragonfire »

Erm...look at my last post. I posted the whole code...
User avatar
greenseng
Dangerous
Dangerous
Posts: 125
Joined: Thu May 19, 2011 3:27 am

Re: Why is this modification to an OXP not working?

Post by greenseng »

Well.. ehurrmm.. sorry - something with my throat. Too many cigars in too short time maybe..
Or.. I should do something i waited just toooo.... long time with.
Cleaning up the place where I am living. Too much dust is not healthy.

Just a short question. What does the word dict mean? The word in <dict>....</dict>.

Now...

Your system should work.

Even from a much earlier point.

When you installed the Tiger and started to mess with it - even then it should work.

I did the same changes and I have never used the shift-key in a startup - but the changes works perfectly.


And... I am a person that is an absolute master in messing up systems.
And ... whoever you are - sooner or later, mostly later, you will learn something from it.

So did I - and therefore I know perfectly well, what I should do in a similar situation that you yourself right now have found yourself in.

I should buy a "vanilla"-ship - a classical ship that is there from the beginning before any oxp.
Then I should save it and copy the save-file to a safe place.
Or maybe you already have such a file - then see to it, that it works - and copy it to a safe place. Such a save-file can sometimes be gold.
Remember - it should be a classical ship. Not oxp.
And a safe place is a place that is outside the Oolite system.
Because your Oolite system will soon disappear.

After this procedure: uninstall Oolite. Take away any remaining folder. See to that the system is absolutely clean.

Then: download and reinstall Oolite. Look so it really works. You just have to be Cmdr Jameson and leave the station. That is enough.
If this works without a problem then press "p" and "F2" and quit the program.

In the Oolite folder is a folder called oolite.app . If you open it you will (probably) find a folder called oolite-saves. If not, you will just have to start the program as Jameson and then save him.
To the oolite-save you shall copy the golden save-file of the classic oolite-ship you have since before.
Don't do anything else. No oxp-s.
NOTHING!
Start Ooolite and test so it works. Then quit Oolite.

Download a new tiger.oxp . Copy the oxp to the desktop.
Open it and find the file shipdata.plist .
Send it to, or open it with wordpad - not notepad.
Change the keys:
<key>max_missiles</key>
<integer>6</integer>

to

<key>max_missiles</key>
<integer>9</integer>

Do the changes at all places with:
<key>max_missiles</key>
<integer>6</integer>

I think there are two such places.
Change 6 to 9.
Yes.. 9. Not 12 or 16 or 1.000 000 .
9.
NOTHING ELSE!!

Remember-- No other changes!!

Now.. put that tiger.oxp in the AddOns folder.
Don't do ANYTHING else. No other oxp-s. And definitely no HUD.
It doesn't matter how much you love another hud. The internal hud is simply doing its work - and it is doing it very good. We don't want any extremes at this point.

Start Oolite - and maybe you better press the shift-key too. Who knows?
There should now be a new ship in the system. A Tiger.

If you don't find it on the station - then there are other stations. Out and have a look. Choose systems with high technical levels. At least level 8.
And don't give up. You will find a ship approximately one time of three - in systems with a TL 8 or higher.

When you find one - buy it!

It should now have 9 pylons.

If it doesn't - then it is definitely time for a very fine Cognac.
And a high quality Cuban Cigar. Recommends Davidoff #2000.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Why is this modification to an OXP not working?

Post by DaddyHoggy »

dict as in <dict> </dict> is simply short for dictionary
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: Why is this modification to an OXP not working?

Post by another_commander »

Dragonfire wrote:
Erm...look at my last post. I posted the whole code...
Can you please post also Latest.log, after having started Oolite with Shift held down?
User avatar
RyanHoots
---- E L I T E ----
---- E L I T E ----
Posts: 958
Joined: Fri May 20, 2011 8:10 pm
Location: Nowhere
Contact:

Re: Why is this modification to an OXP not working?

Post by RyanHoots »

...chance of Tiger Mark I is set to "0.0" to ensure I only see Tiger Mark II in the shipyard, just for the time being to confirm that it works...
One problem is that putting a chance of 0 means you'll never ever see your ship. If you always want to see it, use a chance of 1.
Image
Post Reply