Blueprints Offers - Anyone modified them to make them more exotic?

The place to discuss scripting and game modifications for X³: Terran Conflict and X³: Albion Prelude.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Post Reply
User avatar
ezra-r
Posts: 3420
Joined: Fri, 14. Oct 05, 21:04
x4

Blueprints Offers - Anyone modified them to make them more exotic?

Post by ezra-r » Thu, 15. Mar 12, 00:36

Hello,

I have not much time or skills to try to modify them myself, and in this huge community it is possible someone has made this modification for himself or publish it somewhere so...

Anyone modified the blueprint/ship offers to make them more exotic? And with exotic I mean, including other types that aren't just "maximun you will get is a M6 offer".


Thank you!

Sk_2013
Posts: 277
Joined: Thu, 28. May 09, 01:06
x3tc

Post by Sk_2013 » Thu, 15. Mar 12, 00:45

To be honest, I couldn't tell you. I handle items, ships, weapons, etc just fine.

My guess would be to start looking in the scripts folder (running via folders instead of packages). It may be hardcoded for all I know, because I've never seen anything referencing it when I was digging through the files myself.
Peace through superior firepower.

A5PECT
Posts: 6137
Joined: Sun, 3. Sep 06, 02:31
x4

Post by A5PECT » Thu, 15. Mar 12, 01:29

Ship offers are missions; it would make more sense to look in the MD files.
Admitting you have a problem is the first step in figuring out how to make it worse.

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Thu, 15. Mar 12, 03:01

Anything offered from a station has a MD file for it.

Tweaking the correct one should do it.

Unfortunately, there are not a lot of available MD coders to help do it. Your probably going to have to figure it out yourself.

kurush
Posts: 4320
Joined: Sun, 6. Nov 05, 23:53
x3tc

Post by kurush » Thu, 15. Mar 12, 04:30

apricotslice wrote: Unfortunately, there are not a lot of available MD coders to help do it. Your probably going to have to figure it out yourself.
Wasn't MD created to simplify content creation in X games? [/sarcasm]
I think the file that has to be changed for AP is addon/director/SRST.xml. It has to be extracted first.

User avatar
RoverTX
Posts: 1436
Joined: Wed, 16. Nov 11, 18:37
x4

Post by RoverTX » Thu, 15. Mar 12, 06:39

kurush wrote:
apricotslice wrote: Unfortunately, there are not a lot of available MD coders to help do it. Your probably going to have to figure it out yourself.
Wasn't MD created to simplify content creation in X games? [/sarcasm]
I think the file that has to be changed for AP is addon/director/SRST.xml. It has to be extracted first.
SRST is actually just a general random ship method... I guess helper is the best way to describe it? So you would have to be really careful in changing that because I believe it relates to more then just Blueprint missions. If you have any luck though please share!

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Thu, 15. Mar 12, 06:49

Had a look to see if its obvious to modify, and thats about as good an example of total gobbledigook as I've seen in a long time.

That one needs someone who knows what they are doing.

kurush
Posts: 4320
Joined: Sun, 6. Nov 05, 23:53
x3tc

Post by kurush » Thu, 15. Mar 12, 07:01

apricotslice wrote:Had a look to see if its obvious to modify, and thats about as good an example of total gobbledigook as I've seen in a long time.
Seems to be a fairly straight-forward list of ship types grouped by their origin race and then by ship class. Reading XMLs is a part of my job description ;) It could use some documentation for all those {} tags of course. You can add some prototype ships there and they'll likely appear in the offerings. Problem is they will also appear in other places, likely including ships for sale missions and who knows where else :).

dillpickle
Posts: 1159
Joined: Mon, 3. Nov 08, 14:25
x3tc

Post by dillpickle » Thu, 15. Mar 12, 07:10

kurush wrote:Wasn't MD created to simplify content creation in X games? [/sarcasm]
I think the file that has to be changed for AP is addon/director/SRST.xml. It has to be extracted first.
SRST is one of the major library files, referenced by just about every other mission in the game, making random changes to it could a have seriously bad effect on your game.

The file you should start with is 2.161 Buy Blueprints.xml, which is the mission file for these.

Where you have:

Code: Select all

<do_when value="{value@L2M161.CheckValue}" min="1000">
  <do_any>
    <set_value name="L2M161.Class" exact="{lookup.class@m6}" chance="15"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m3}" chance="35"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m4}" chance="25"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m5}" chance="10"/>
  </do_any>
  <do_if value="{value@L2M161.CheckValue}" min="3333">
    <set_value name="L2M161.Plus" exact="1"/>
  </do_if>
</do_when>
Which at present is the highest level of offers, you could add another level of choice, for example:

Code: Select all

<do_when value="{value@L2M161.CheckValue}" min="3333">
  <do_any>
    <set_value name="L2M161.Class" exact="{lookup.class@m7}" chance="10"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m6}" chance="15"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m3}" chance="35"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m4}" chance="25"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m5}" chance="10"/>
  </do_any>
  <set_value name="L2M161.Plus" exact="1"/>
</do_when>
<do_when value="{value@L2M161.CheckValue}" min="1000">
  <do_any>
    <set_value name="L2M161.Class" exact="{lookup.class@m6}" chance="15"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m3}" chance="35"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m4}" chance="25"/>
    <set_value name="L2M161.Class" exact="{lookup.class@m5}" chance="10"/>
  </do_any>
  <do_if value="{value@L2M161.CheckValue}" min="3333">
    <set_value name="L2M161.Plus" exact="1"/>
  </do_if>
</do_when>
Which would then add M7's to the selection once your rank was high enough.


Another thing to spice it up would be after:

Code: Select all

<do_if value="{value@L2M161.OfferRace}" exact="{lookup.race@pirate}|{lookup.race@yaki}">
  <set_value name="L2M161.CheckValue" exact="{player.fightrank}"/>
</do_if>
Add in another choice so it becomes:

Code: Select all

<do_if value="{value@L2M161.OfferRace}" exact="{lookup.race@pirate}|{lookup.race@yaki}">
  <set_value name="L2M161.CheckValue" exact="{player.fightrank}"/>
</do_if>
<do_choose>
  <do_when value="{value@L2M161.CheckValue}" min="1000">
    <do_any>
      <set_value name="L2M161.ShipRace" exact="{object.race@this.station}" chance="80"/>
      <set_value name="L2M161.ShipRace" exact="{lookup.race@xenon}" chance="10"/>
      <set_value name="L2M161.ShipRace" exact="{lookup.race@xenon}" chance="10"/>
    </do_any>
  </do_when>
  <do_otherwise>
    <set_value name="L2M161.ShipRace" exact="{object.race@this.station}"/>
  </do_otherwise>
</do_choose>
Then alter the line:

Code: Select all

<param name="Race ID" value="{value@L2M161.OfferRace}"/>
to:

Code: Select all

<param name="Race ID" value="{value@L2M161.ShipRace}"/>
Would give you a small chance, once your rank was high enough, to be offered Xenon and Kha'ak Blueprints.

kurush
Posts: 4320
Joined: Sun, 6. Nov 05, 23:53
x3tc

Post by kurush » Thu, 15. Mar 12, 08:26

dillpickle wrote: The file you should start with is 2.161 Buy Blueprints.xml, which is the mission file for these.
Unfortunately, there are no entries for any PROTOtype ships in SRST.xml, so you can't really spice it up with them in the mission file itself.

dillpickle
Posts: 1159
Joined: Mon, 3. Nov 08, 14:25
x3tc

Post by dillpickle » Thu, 15. Mar 12, 08:51

kurush wrote:Unfortunately, there are no entries for any PROTOtype ships in SRST.xml, so you can't really spice it up with them in the mission file itself.
I'm not saying they can't be added to SRST, as they can. It's just you need to be careful how they're added and sufficient checks for their use added, otherwise you either end up with prototypes everywhere, and not the rare occurrence they should be, or fleets of Unknown Mammoths...

User avatar
jack775544
Posts: 1277
Joined: Tue, 13. Dec 11, 08:27
x4

Post by jack775544 » Thu, 15. Mar 12, 08:57

i believe another file you can look in is 2.161 Buy Blueprints.xml in 02.cat
1940s - Various "computers" are "programmed" using direct wiring and switches. Engineers do this in order to avoid the tabs vs spaces debate.

User avatar
ezra-r
Posts: 3420
Joined: Fri, 14. Oct 05, 21:04
x4

Post by ezra-r » Thu, 15. Mar 12, 23:46

hey guys, I know the file exactly, checked it before I made this thread and although I saw the selections pointed by some, I had no way to know if that was enough or if I could brake anything for just modifying that, because for most of us the MD schema is very hard to understand.

But @dillpickle has made some great suggestions, so I am going to check it out and follow his examples!

Thank you very much!

Ps: I considered the modification of these because for some "capturing" ships is the normal way of acquiring them but, taking into account how long the HQ takes to build one and how much blueprints are + the amount of resources you need to gather to feed an HQ production line, blueprint acquisition should also be a valid way to acquire big ships from other races.

---
making a try:

Code: Select all

<do_if value="{value@L2M161.OfferRace}" exact="{lookup.race@pirate}|{lookup.race@yaki}"> 
  <set_value name="L2M161.CheckValue" exact="{player.fightrank}"/> 
</do_if> 
<do_choose> 
  <do_when value="{value@L2M161.CheckValue}" min="1000"> 
    <do_any> 
      <set_value name="L2M161.ShipRace" exact="{object.race@this.station}" chance="80"/> 
      <set_value name="L2M161.ShipRace" exact="{lookup.race@xenon}" chance="10"/> 
      <set_value name="L2M161.ShipRace" exact="{lookup.race@xenon}" chance="10"/>  <----- IS THIS ONE CORRECT, IT IS REPEATED!?
    </do_any> 
  </do_when> 
  <do_otherwise> 
    <set_value name="L2M161.ShipRace" exact="{object.race@this.station}"/> 
  </do_otherwise> 
</do_choose>
There is a repeated line, I guess it is a typo and should say khaak or something but I want to make sure first!


Will it work if I add same thing like this:

Code: Select all

<set_value name="L2M161.ShipRace" exact="{lookup.race@xenon}" chance="10"/>
<set_value name="L2M161.ShipRace" exact="{lookup.race@khaak}" chance="10"/>
 <set_value name="L2M161.ShipRace" exact="{lookup.race@yaki}" chance="10"/>
  <set_value name="L2M161.ShipRace" exact="{lookup.race@pirate}" chance="10"/>
I would also like to add M1 and M2 ships to the offers

so I guess I should do like:

Code: Select all

			  	<do_when value="{value@L2M161.CheckValue}" min="3333"> 
				  <do_any> 
                                      <set_value name="L2M161.Class" exact="{lookup.class@m2}" chance="10"/>
                                     <set_value name="L2M161.Class" exact="{lookup.class@m1}" chance="10"/>
				    <set_value name="L2M161.Class" exact="{lookup.class@m7}" chance="10"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m6}" chance="15"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m3}" chance="35"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m4}" chance="25"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m5}" chance="10"/> 
				  </do_any> 
				  <set_value name="L2M161.Plus" exact="1"/> 
				</do_when> 
Although I guess I should increase the minimun value right? but I dont know exactly which figures to use in that min value... Any tips are appreciated.

So briefly, I want to get offers from all ranges, 10% chance or less is fine for bigger ships, and I want offers from all type of race ships

xTemon
Posts: 996
Joined: Tue, 9. Jan 07, 20:01
x3tc

Post by xTemon » Fri, 16. Mar 12, 04:13

It would be the Buy Blueprints director xml you're looking for. It's all in there, based on race rank and various other factors: Cost, chance per shiptype. All you need to do is edit it and replace it. Looks pretty basic to me, but I could be mistaken. Sort of like modding a custom start or changing the storage space on the HQ.

edit:

I see you figured it out. SRST is clearly defined as "Select Random Ship Type" to, and is only used to determine what ship you end up with for a Blueprint purchase from what I can tell with a quick look.

edit2: Sorry, I tend to read the OP and maybe 3 posts down in a half sec before responding some times; particularly when I develop a certain curiosity about the subject.

dillpickle
Posts: 1159
Joined: Mon, 3. Nov 08, 14:25
x3tc

Post by dillpickle » Fri, 16. Mar 12, 09:29

Here you go - [MD] Enhanced Blueprint Missions - as I'd already mde most of the changes to the Blueprint Mission, I went on and did the SRST, so you can now get offered the Enhanced, Prototype and ATF ships.

To answer your questions, as 'tweaking' the mission files is a good way to get your head round how the MD works:
ezra-r wrote:...because for most of us the MD schema is very hard to understand.
The MD schema is there so xml editors that use schemas, such as Visual Basic will give you drop down lists of available options that can be used with specific commands.
ezra-r wrote:There is a repeated line, I guess it is a typo and should say khaak or something but I want to make sure first!
Correct, it was supposed to be khaak. Copied, pasted and forgot to change the race name.
ezra-r wrote:Will it work if I add same thing like this:

Code: Select all

<set_value name="L2M161.ShipRace" exact="{lookup.race@xenon}" chance="10"/>
<set_value name="L2M161.ShipRace" exact="{lookup.race@khaak}" chance="10"/>
 <set_value name="L2M161.ShipRace" exact="{lookup.race@yaki}" chance="10"/>
  <set_value name="L2M161.ShipRace" exact="{lookup.race@pirate}" chance="10"/>
Yes it would, Pirates and Yaki already offer these missions for their own ships blueprints, this would give any race the chance of offering Pirate and Yaki ships.
ezra-r wrote:I would also like to add M1 and M2 ships to the offers

so I guess I should do like:

Code: Select all

			  	<do_when value="{value@L2M161.CheckValue}" min="3333"> 
				  <do_any> 
                                      <set_value name="L2M161.Class" exact="{lookup.class@m2}" chance="10"/>
                                     <set_value name="L2M161.Class" exact="{lookup.class@m1}" chance="10"/>
				    <set_value name="L2M161.Class" exact="{lookup.class@m7}" chance="10"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m6}" chance="15"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m3}" chance="35"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m4}" chance="25"/> 
				    <set_value name="L2M161.Class" exact="{lookup.class@m5}" chance="10"/> 
				  </do_any> 
				  <set_value name="L2M161.Plus" exact="1"/> 
				</do_when> 
Although I guess I should increase the minimun value right? but I dont know exactly which figures to use in that min value... Any tips are appreciated.
That would work, though you'd probably want to add a new <do_when> for the bigger ships, with an increased minimum value.

The minimum values are for race rank - What are race ranks?, so 3333 is Race Rank 6.

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts and Modding”