for starting credits you can change that with startingCredits in the PlayerSettings for the ship (starting credits depends on what ship you pick).
You can make any kind of ship you want to be a player ship. Any ship that has a PlayerSettings can be used as a playable ship.
Do you know how to make extensions? If you have any other questions please feel free to ask.
New to Transcendence, Wanna know some stuff?
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
Crying is not a proper retort!
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
First go to http://neurohack.com/transcendence/desi ... sData.html and read the page and download Transdata then decompile Transcendence.tdb with the switch /decompile
That will give you all the xmls in a folder called TranscendenceSource. Use that as the source of knowledge for many things.
Ok the first line of any extention is
The next section is the doctype where you declair the ENTITYs
Just a note the entities you create must start with DXXX or EXXX. I use D005 try to pick something no one else is using,you can not use the same number as something else so if you have more than one mod change the last 4 digits. More things will be added later to this section if you create new things but lets not worry about that for now.
The next section is the important part
The UNID is just the unid that you created for this extention and the version is the version of the game you created the mod for. Mods will most likely work for all future versions but will not run on past versions.
now lets say you want to change the Sapphire player ship. You go to Playership.xml and copy the scSapphirePlayer section. It will look like this.
Now before we start editing lets put the last part in before we forget.
Now we can change whatever we want to change.
Lets say you don't want to overwrite the Sapphire you want to make a new ship.
First you need to add a new UNID for the new ship just edit the doctype section like this.
Then you change the UNID of the ship below to match like this.
Now you have a ship you can do anything you want too without effecting the original ship.
In the PlayerSettings section you can see the startingCredits. This can be added to any PlayerSettings section.
In this case it is 10d100+1000. That means roll 10 100 sided dice and add them up and add 1000. That is the number of credits you will start out with.
One thing that would be good to do is change the description on the ship selection screen so you know what ship is the one you modded.
So in the PlayerSettings edit the desc to
There are the basics of making an extention. If you have any other question just ask.
That will give you all the xmls in a folder called TranscendenceSource. Use that as the source of knowledge for many things.
Ok the first line of any extention is
Code: Select all
<?xml version="1.0" ?>
Code: Select all
<!DOCTYPE TranscendenceExtension
[
<!ENTITY unidExtension "0xD0050001"/>
]>
The next section is the important part
Code: Select all
<TranscendenceExtension UNID="&unidExtension;" version="0.98c">
now lets say you want to change the Sapphire player ship. You go to Playership.xml and copy the scSapphirePlayer section. It will look like this.
Code: Select all
<ShipClass UNID="&scSapphirePlayer;"
manufacturer= "Zubrin Systems"
class= "Sapphire"
type= "yacht"
score= "95"
techOrder= "biomech"
mass= "30"
reactorPower= "150"
fuelCapacity= "37500"
cargoSpace= "50"
thrust= "150"
rotationCount= "40"
maneuver= "2"
maxSpeed= "20"
maxArmor= "6000"
maxCargoSpace= "150"
maxDevices= "7"
leavesWreck= "30"
>
<Armor>
<ArmorSection start="315" span="90" armorID="&itReactiveArmor;" areaSet="0,2" />
<ArmorSection start="225" span="90" armorID="&itReactiveArmor;" areaSet="3,4" />
<ArmorSection start="45" span="90" armorID="&itReactiveArmor;" areaSet="7,13" />
<ArmorSection start="135" span="90" armorID="&itReactiveArmor;" areaSet="1,6" />
</Armor>
<Devices>
<Device deviceID="&itRecoillessCannon;"/>
<Device deviceID="&itClass1Deflector;"/>
</Devices>
<Items>
<Item count="4d6" item="&itHelium3FuelRod;"/>
</Items>
<AISettings
fireRateAdj= "30"
fireAccuracy= "90"
perception= "4"
/>
<Image imageID="&rsSapphireYacht;" imageX="0" imageY="0" imageWidth="48" imageHeight="48"/>
<DriveImages>
<NozzleImage imageID="&rsDriveExhaust2;" imageX="0" imageY="0" imageWidth="48" imageHeight="48"/>
<NozzlePos x="-28" y="-4"/>
<NozzlePos x="-28" y="5"/>
</DriveImages>
<PlayerSettings
desc= "The verstile Sapphire yacht strikes a good balance between a gunship and a freighter."
largeImage= "&rsZubrinLarge;"
initialClass= "true"
startingCredits= "10d100+1000"
startingSystem= "SE"
startingPos= "Start"
>
<ArmorDisplay>
<ArmorSection name="forward"
imageID="&rsZubrinArmor;"
imageX="0" imageY="0" imageWidth="52" imageHeight="29"
destX="42" destY="15" hpX="55" hpY="14"
nameY="8" nameBreakWidth="200" nameDestX="0" nameDestY="10" />
<ArmorSection name="starboard"
imageID="&rsZubrinArmor;"
imageX="52" imageY="0" imageWidth="22" imageHeight="59"
destX="92" destY="45" hpX="95" hpY="60"
nameY="30" nameBreakWidth="360" nameDestX="12" nameDestY="0" />
<ArmorSection name="port"
imageID="&rsZubrinArmor;"
imageX="142" imageY="0" imageWidth="22" imageHeight="59"
destX="22" destY="45" hpX="15" hpY="60"
nameY="52" nameBreakWidth="200" nameDestX="0" nameDestY="8" />
<ArmorSection name="aft"
imageID="&rsZubrinArmor;"
imageX="74" imageY="0" imageWidth="68" imageHeight="14"
destX="34" destY="103" hpX="55" hpY="105"
nameY="74" nameBreakWidth="360" nameDestX="12" nameDestY="0" />
</ArmorDisplay>
<ShieldDisplay>
<Image imageID="&rsZubrinShields;" imageX="0" imageY="0" imageWidth="136" imageHeight="136"/>
</ShieldDisplay>
<ReactorDisplay>
<Image imageID="&rsZubrinReactor;"
imageX="0" imageY="0" imageWidth="256" imageHeight="60"/>
<PowerLevelImage imageID="&rsZubrinReactor;"
imageX="0" imageY="60" imageWidth="202" imageHeight="14"
destX="54" destY="9"/>
<FuelLevelImage imageID="&rsZubrinReactor;"
imageX="0" imageY="74" imageWidth="194" imageHeight="14"
destX="54" destY="37"/>
<FuelLowLevelImage imageID="&rsZubrinReactor;"
imageX="0" imageY="88" imageWidth="194" imageHeight="14"/>
<ReactorText x="62" y="22" width="154" height="14"/>
<PowerLevelText x="62" y="0" width="154" height="9"/>
<FuelLevelText x="62" y="51" width="154" height="9"/>
</ReactorDisplay>
</PlayerSettings>
</ShipClass>
Code: Select all
</TranscendenceExtension>
Lets say you don't want to overwrite the Sapphire you want to make a new ship.
First you need to add a new UNID for the new ship just edit the doctype section like this.
Code: Select all
<!DOCTYPE TranscendenceExtension
[
<!ENTITY unidExtension "0xD0050001"/>
<!ENTITY scModdedSapphirePlayer "0xD0050002"/>
]>
Code: Select all
<ShipClass UNID="&scModdedSapphirePlayer;"
In the PlayerSettings section you can see the startingCredits. This can be added to any PlayerSettings section.
In this case it is 10d100+1000. That means roll 10 100 sided dice and add them up and add 1000. That is the number of credits you will start out with.
One thing that would be good to do is change the description on the ship selection screen so you know what ship is the one you modded.
So in the PlayerSettings edit the desc to
Code: Select all
desc= "I made this ship."
Crying is not a proper retort!
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
just the error doesn't help much can you upload the xml somewhere or paste it here?
Also the tabs in front of the code are not needed but greatly encouraged. It helps find the end of sections among other things. Don't expect to get much help if you put up code without the spaces (it would be too hard to read).
Look at the various xml files for examples of the spaces.
Also the tabs in front of the code are not needed but greatly encouraged. It helps find the end of sections among other things. Don't expect to get much help if you put up code without the spaces (it would be too hard to read).
Look at the various xml files for examples of the spaces.
Crying is not a proper retort!
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
couple helpful xmls to look in are
StdShields.xml and StdWeapons.xml
Those will give you most of the weapons and shields.
Just be careful to not go over your reactors limit (unless you edit that too of course)
StdShields.xml and StdWeapons.xml
Those will give you most of the weapons and shields.
Just be careful to not go over your reactors limit (unless you edit that too of course)
Crying is not a proper retort!
edit the "refuel" dockscreen and delete the line deletes your fuel... i'm validating this guess now.
EDIT: this will need more work than simply deleting a line of code(this will work in most invoke calls)
you could:
create a compatible fuel item that has a VERY high data=""
or give your reactor 100 efficiency
these simply make fuel last longer, checking a new method now.
put this code in an item or dockscreen you can call on whenever you need fuel: it will refuel your ship for free without using your fuel, put it on a timer to make it automatic.
(block (count itemsToUse)
(setq count (shpGetFuelNeeded gPlayerShip (itmCreate &itHelium3FuelRod; 1)))
(setq itemsToUse (itmCreate &itHelium3FuelRod; count))
(shpRefuelFromItem gPlayerShip itemsToUse)
)
EDIT: if you simply add 0s as suggested below, this is still finite, although will last longer, and will cost a LOT to refuel, unles you have a super solar panel installed.
EDIT: this will need more work than simply deleting a line of code(this will work in most invoke calls)
you could:
create a compatible fuel item that has a VERY high data=""
or give your reactor 100 efficiency
these simply make fuel last longer, checking a new method now.
put this code in an item or dockscreen you can call on whenever you need fuel: it will refuel your ship for free without using your fuel, put it on a timer to make it automatic.
(block (count itemsToUse)
(setq count (shpGetFuelNeeded gPlayerShip (itmCreate &itHelium3FuelRod; 1)))
(setq itemsToUse (itmCreate &itHelium3FuelRod; count))
(shpRefuelFromItem gPlayerShip itemsToUse)
)
EDIT: if you simply add 0s as suggested below, this is still finite, although will last longer, and will cost a LOT to refuel, unles you have a super solar panel installed.
Last edited by Bobby on Sun Dec 16, 2007 12:38 am, edited 3 times in total.
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
Add a few zeroes to the fuel capacity of the playership. Not too many more, you can break the graphic for the fuel for one thing. Since you start the game full of fuel you can start with enough fuel to make it to Heretic.
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
or make a item that refuels your ship when invoked and doesn't get removed. That would allow you to upgrade your reactor.
Crying is not a proper retort!
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
fuel gauges depend on the reactor. the default will be overwritten when you install a reactor so that isn't a good idea just to put your fuel max very high. Only two real choices are make custom reactors with tons of fuel capacity or make the refuel item and worry about using it when your fuel gets low.
Crying is not a proper retort!