Problem with creting a ship

Freeform discussion about anything related to modding Transcendence.
User avatar
Darth Saber
Militia Commander
Militia Commander
Posts: 290
Joined: Mon Aug 04, 2008 4:53 pm
Location: Korriban

I am trying to create a new ship. I used Blender to created the ship, and Paintbrush to create the masks. Then I created the xml just the way the rest of the mod ships have been done. I keep getting this error: UNID= unid Extention invalid. I have researched the mode code info from Transcendence.xml; I have looked at the way the modders have created ships, but still the same message. What more can I do?
"Only hard in your mind..." Yoda to Luke about lifting his x-wing from the swamp. 8)
Bobby
Militia Captain
Militia Captain
Posts: 675
Joined: Wed Jul 25, 2007 7:39 pm

can't say much without seeing it.
Yugi
Fleet Officer
Fleet Officer
Posts: 1027
Joined: Sun Mar 05, 2006 8:21 am

Please post the XML and I'll be glad to help :)
User avatar
Aury
Fleet Admiral
Fleet Admiral
Posts: 5421
Joined: Tue Feb 05, 2008 1:10 am
Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.

what is the unid that you assigned to it? check for typos too. the unid may have an extra digit- that happened to me before.
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'Varalyn 'nonBinary))
Homelab Servers: Xeon Silver 4110, 16GB | Via Quadcore C4650, 16GB | Athlon 200GE, 8GB | i7 7800X, 32GB | Threadripper 1950X, 32GB | Atom x5 8350, 4GB | Opteron 8174, 16GB | Xeon E5 2620 v3, 8GB | 2x Xeon Silver 4116, 96GB, 2x 1080ti | i7 8700, 32GB, 6500XT
Workstations & Render machines: Threadripper 3990X, 128GB, 6900XT | Threadripper 2990WX, 32GB, 1080ti | Xeon Platinum 8173M, 48GB, 1070ti | R9 3900X, 16GB, Vega64 | 2x E5 2430L v2, 24GB, 970 | R7 3700X, 32GB, A6000
Gaming Systems: R9 5950X, 32GB, 6700XT
Office Systems: Xeon 5318Y, 256GB, A4000
Misc Systems: R5 3500U, 20GB | R5 2400G, 16GB | i5 7640X, 16GB, Vega56 | E5 2620, 8GB, R5 260 | P4 1.8ghz, 0.75GB, Voodoo 5 5500 | Athlon 64 x2 4400+, 1.5GB, FX 5800 Ultra | Pentium D 3.2ghz, 4GB, 7600gt | Celeron g460, 8GB, 730gt | 2x Athlon FX 74, 8GB, 8800gts 512 | FX 9590, 16GB, R9 295x2 | E350, 8GB | Phenom X4 2.6ghz, 16GB, 8800gt | random core2 duo/atom/i5/i7 laptops
User avatar
Darth Saber
Militia Commander
Militia Commander
Posts: 290
Joined: Mon Aug 04, 2008 4:53 pm
Location: Korriban

Okay, you wanted the xml, here it is:
--------------------------------------------------------------------------------------
<?xml version="1.0" ?>
<!DOCTYPE TranscendenceExtension
[
<!ENTITY scaristardst "0xD10230010">
<!ENTITY itAristarArmor "0xD10240069">
<!ENTITY itAristardstShields "0xD10290070">
]>

<TranscendenceExtension UNID="0xD10230010;" version="0.98d">

<Image UNID="&scaristardst;" bitmap="aristardst 16facings.bmp" backColor="0x00000000"/>
<Image UNID="&itAristardstShields;" bitmap="aristarshield.bmp" backColor="0x00000000"/>


<!-- Aristar Destroyer -->

<ShipClass UNID="&scaristardst;"
manufacturer= "Aristar Industries"
class= "Destroyer"
type= "destroyer"
score= "1000"
techOrder= "biomech"

mass= "500"
cargoSpace= "60000"
thrust= "1000"
maneuver= "3"
maxSpeed= "35"

rotationCount= "35"

reactorPower= "20000"
fuelCapacity= "550000"

maxArmor= "100000"
maxCargoSpace= "70000"
maxDevices= "50"
maxWeapons= "8"

leavesWreck= "20"
>

<Armor>
<ArmorSection start="315" span="90" armorID="&itAristarArmor;" areaSet="0,2" />
<ArmorSection start="225" span="90" armorID="&itAristarArmor;" areaSet="3,4" />
<ArmorSection start="135" span="90" armorID="&itAristarArmor;" areaSet="1,6" />
<ArmorSection start="45" span="90" armorID="&itAristarArmor;" areaSet="7,13" />
</Armor>

<DriveImages>
<NozzleImage imageID="&rsDriveExhaust2;" imageX="0" imageY="0" imageWidth="48" imageHeight="48" imageFrameCount="0" imageTicksPerFrame="0"/>
<NozzlePos x="-43" y="21"/>
<NozzlePos x="-43" y="-21"/>
</DriveImages>

<Devices>
<Device deviceID="&itFlenserCannon;"omnidirectional="true"/>
<Device deviceID="&itClass1Deflector;"/>
</Devices>

<Image imageID="&scaristardst;" imageX="0" imageY="0" imageWidth="64" imageHeight="64" imageFrameCount="0" imageTicksPerFrame="0"/>

<AISettings
fireRateAdj= "10"
fireAccuracy= "95"
perception= "10"
/>

<PlayerSettings
desc= "This destroyer by Aristar Industries, is a good choice for militia who want to secure their space."
initialClass= "true"

startingSystem= "SE"
startingPos= "Start"
startingCredits= "6500050"
>

<ArmorDisplay>
<ArmorSection name="forward"
imageID="&itAristarArmor;"
imageX="0" imageY="0" imageWidth="90" imageHeight="9"
destX="23" destY="32" hpX="55" hpY="27"
nameY="8" nameBreakWidth="360" nameDestX="12" nameDestY="0" />

<ArmorSection name="starboard"
imageID="&itAristarArmor;"
imageX="90" imageY="0" imageWidth="9" imageHeight="56"
destX="104" destY="41" hpX="98" hpY="60"
nameY="30" nameBreakWidth="275" nameDestX="0" nameDestY="8" />

<ArmorSection name="port"
imageID="&itAristarArmor;"
imageX="189" imageY="0" imageWidth="9" imageHeight="56"
destX="23" destY="41" hpX="12" hpY="60"
nameY="52" nameBreakWidth="200" nameDestX="0" nameDestY="8" />

<ArmorSection name="aft"
imageID="&itAristarArmor;"
imageX="99" imageY="0" imageWidth="90" imageHeight="9"
destX="23" destY="97" hpX="55" hpY="97"
nameY="74" nameBreakWidth="200" nameDestX="0" nameDestY="8" />
</ArmorDisplay>

<ShieldDisplay>
<Image imageID="&itAristardstShields;" 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>

</TranscendenceExtension>
User avatar
Fatboy
Militia Lieutenant
Militia Lieutenant
Posts: 247
Joined: Fri Feb 22, 2008 1:52 am
Location: California

It looks like you have 1 too many digits in the UNID's.
Last edited by Fatboy on Fri Aug 22, 2008 10:31 pm, edited 1 time in total.
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

Problem number 1:

Code: Select all

<!ENTITY scaristardst "0xD10230010">
<!ENTITY itAristarArmor "0xD10240069">
<!ENTITY itAristardstShields "0xD10290070"> 
Your UNID are 1 digit too long. 0xDMMMTIII (0x plus eight more)

(Fatboy beat me to it, but Wolfy guessed it anyhow... :P )
User avatar
Darth Saber
Militia Commander
Militia Commander
Posts: 290
Joined: Mon Aug 04, 2008 4:53 pm
Location: Korriban

Thank you all for your input...
But which UNID is it that is too long, or are they all too long?

What can I do to prevent this problem from recurring?
"The force can have a strong influence on the weak minded." Obiwan Kenobi to Luke Skywalker Ep. IV
User avatar
dvlenk6
Militia Captain
Militia Captain
Posts: 519
Joined: Sun Mar 05, 2006 6:56 am
Location: Sanctuary and beyond
Contact:

They are all 1 digit too long.
Ox, followed by 8 hexadecimal digits is the correct format.
The first hex. digit MUST be a C or a D.
All of the UNIDs should have identical 1st four digits. That is your 'Designer ID' and nobody else should be using it.

Go Here:
http://neurohack.com/transcendence/foru ... .php?t=959
and put your ID on the list.
That would be D102, in this case. Then use that for all your mods from now on. Prevents duplicate UNID errors when seveal different mods by different people are installed.
"War is hell."
-William Tecumseh Sherman
http://dvlenk6.blackraven3d.com/transgals.html
User avatar
Darth Saber
Militia Commander
Militia Commander
Posts: 290
Joined: Mon Aug 04, 2008 4:53 pm
Location: Korriban

To dvlenk6:

I am not familiar with the haxadecimal system. I use standard arithmetic.
So when you say: "hex," you should know that I am familiar with the term, but not the usage.
"Your eyes can deceive you, don't trust them." Obiwan to Luke Skywalker Star Wars EP. IV
[/code]
User avatar
dvlenk6
Militia Captain
Militia Captain
Posts: 519
Joined: Sun Mar 05, 2006 6:56 am
Location: Sanctuary and beyond
Contact:

Hexadecimal (base 16) is 0-9 then A-F as digits:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Fhex=15dec
10hex=16dec
1Fhex=31dec
100hex=256dec
and so on...

You just need to know that you can use A through F as 'numbers' also.

For your colors, when you are making graphics:
RGB is hexadecimal

R G B
00 00 00 is pure black - 0 red, 0 green, 0 blue
ff ff ff is pure white - 255 red, 255 green, 255 blue
ff ff 00 is pure yellow - 255 red, 255 green, 0 blue
ff ff 80 is pure orange - 255 red, 255 green, 128 blue
and so on.
"War is hell."
-William Tecumseh Sherman
http://dvlenk6.blackraven3d.com/transgals.html
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

The first hex. digit MUST be a C or a D.
D or E

Looking in transcendence.xml you will find:

Code: Select all

	UNID Namespace

	0x D MMM T III

	D		Domain. This can be one of the following:

			0-9	Reserved for Transcendence
			A-C	Registered extensions (contact [email protected])
			D	Unregistered extensions (pick a random module ID)
			E	Unregistered extensions (pick a random module ID)
			F	Reserved (do not use)

	MMM		Module ID. Registered extensions are assigned a single
			module ID to use for UNIDs. Unregistered extensions should
			use a random module ID (it is up to the user to manage
			unregistered extensions).

			The following Transcendence modules for domain 0 are defined:

			000	Core objects (star systems, basic items, sovereigns, etc.)
			00F Debris
			010	Commonwealth
			014 Battle Arena
			015	Corporate Hierarchy
			016 Charon Pirates
			017	Black Market
			018	Sisters of Domina
			019 Sung Slavers
			01A	Commonwealth Fleet
			01B Ares Orthodoxy
			01C	Iocrym
			01D Ringers
			01E Elysium
			01F Teratons
			020 Domina
			030 Oracus
			801	Misc Fire Encounters
			802	Misc Water Encounters
			803	Misc Air Encounters
			804	Misc Earth Encounters

	T		Type ID. Within a module, the division of the namespace is
			undefined. Transcendence uses this value to represent the
			type of object assigned an UNID:

			0	star system description
			1	sovereigns
			2	station types
			3	ship classes
			4	item types
			5	special item types (virtuals)

			8	random tables (items, encounters)
			9	effects, energy fields, space env, etc
			A	dock screens
			B	powers

			F	images and sound resources

	III		ID. This can be any value unique within the module and type ID.
			This is generally a monotonically increasing number.
This explains the format expected in mods:

0x D MMM T III

0xDMMMTIII = 8 digits = DMMMTIII which is a formula to guide you when choosing a UNID for items, stations, systems, resources, effects, adventure extension or any other game item.
george moromisato
Developer
Developer
Posts: 2997
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Periculi wrote:0x D MMM T III
Note that the "T" and "III" parts of the UNID are purely by convention only. There is nothing in the game that cares about the format of the lower 4 digits.
User avatar
Darth Saber
Militia Commander
Militia Commander
Posts: 290
Joined: Mon Aug 04, 2008 4:53 pm
Location: Korriban

Thank you all for the input; I modified all of the UNIDs; unfortunately I have some new problems.

1. The ship does not show up on the selection screen. The info does, the ship does not.

2. The ship does not show up in the game. It is there; distinguished only by the exhast. I thought that the exhausht pictue (drive exhaust2) might be causing problems, but when I removed the info, I found that the ship moved just the same, and yet was invisible. Sometimes I would see a flash of the bit mask.

3. One of the ships I am working on is a playership beacon. The UNIDs work; the ship shows up on the selection screen, and in the game; but when I move the ship, it disappears; only the exhaust is seen.

What can I do to correct these errors?
"You will know (if you are using the light side of the force), when you are calm, passive. The Jedi us the force for knowledge and defense..."
Yoda to Luke Skywalker Ep. VI The Return of the Jedi. 8)
User avatar
dvlenk6
Militia Captain
Militia Captain
Posts: 519
Joined: Sun Mar 05, 2006 6:56 am
Location: Sanctuary and beyond
Contact:

You need to declare an ENTITY (at the top) for the ship image.
Call it &scaristardtimage; for example.:

Code: Select all

<!ENTITY scaristardstimage "0xD1023001">
Use that ENTITY in these places:

Code: Select all

<Image UNID="&scaristardst;" bitmap="aristardst 16facings.bmp" backColor="0x00000000"/>
That is, &scaristardt; (from your original xml) would be replaced with your new image ENTITY.
You also need a bitmask for that image...
Then your image declaration would be:

Code: Select all

<Image UNID="&scaristardstimage;" bitmap="aristardst 16facings.bmp" bitmask="scaristardstMask.bmp" backColor="0x00000000"/>
The bitmask goes inside the Image tag, just after the bitmap.

and down in the ship image spot, you would use:

Code: Select all

<Image imageID="&scaristardstimage;" imageX="0" imageY="0" imageWidth="64" imageHeight="64" imageFrameCount="0" imageTicksPerFrame="0"/>
Right now, you are using the same ENTITY for both the ship itself, and the ship image. That will not work.

EDIT - transcendence might be applying an all black (all 0s, all transparent) bitmask also, since you don't specify a bitmask for it to use...not sure about that.
Last edited by dvlenk6 on Tue Aug 26, 2008 4:41 pm, edited 1 time in total.
"War is hell."
-William Tecumseh Sherman
http://dvlenk6.blackraven3d.com/transgals.html
Post Reply