images

Freeform discussion about anything related to modding Transcendence.
Post Reply
Artemisfowl333
Anarchist
Anarchist
Posts: 4
Joined: Fri Feb 19, 2016 8:47 pm

For some reason I can't explain, in my mod my items images won't show up(but the station image does). my code is the following:

Code: Select all

<?xml version="1.0" ?>

<!DOCTYPE TranscendenceExtension
[
<!ENTITY itme_missile   "0xEdaf0000">
<!ENTITY itDeathLauncher "0xEdaf0002">
<!ENTITY StNOTHonestAbesStations "0xEdaf0003">
<!ENTITY lbHonestAbes "0xEdaf0004">
<!ENTITY itNotHonestDefense "0xEdaf0005">
<!ENTITY itNotHonestHelper "0xEdaf0006">
<!ENTITY itNOTHonestDestroyer "0xEdaf0007">
<!ENTITY itNOTHonestBox "0xEdaf0008">
<!ENTITY itNOTHonestGun "0xEdaf0009">
<!ENTITY itNOTHonestKiller "0xEdaf0010">
<!ENTITY itNOTHonestfragmentedMissile   "0xEdaf0011">
]>
<TranscendenceExtension UNID= "0xEdaf0001" apiVersion= "28" name= "missilessss" >
<Library UNID="&unidHumanSpaceLibrary;"/>

<!-- Not honest Gun -->

	<ItemType UNID="&itNOTHonestGun;"
			name=				"GullibleS"
			attributes=			"commonwealth, disposable, majorItem, NAMI, illegal, HonestAbes"
			  
			level=				"1"
			frequency=			"common"
			unknownType=		"&itUnknownEnhancer2;"

			value=				"-20"
			mass=				"200"
			  
			charges=			"32"
			massBonusPerCharge=	"20" 
			valueBonusPerCharge="5"

			description=		"It describes the owner."
			>

		<Image imageID="&rsItemsNAMI1;" imageX="96" imageY="0" imageWidth="96" imageHeight="96"/>

		<Weapon
				type=				"missile"
				launcher=			"true"

				damage=				"blast:2d2; momentum4; WMD5"
				fireRate=			"30"
				hitPoints=			"10"
				lifetime=			"120"
				powerUse=			"1"
				charges=			"true"

				missileSpeed=		"40"
				sound=				"&snMissileLauncher;"

				effect=				"&efMissileNAMI;"
				>
		</Weapon>

		<Invoke>
			(intAutoInstall gSource gItem)
		</Invoke>
	</ItemType>
	
<!-- NAMI Missile Launcher -->
	<ItemType UNID="&itDeathLauncher;"
			name=				"Death Launcher"
			attributes=			"commonwealth, majorItem, NAMI, HonestAbes"
			  
			level=				"3"
			frequency=			"common"

			value=				"1500"
			mass=				"1000"
			  
			description=		"This is a amazing launcher that we sell at an reasonable price."
			>

		
            <Image imageID="&rsItems1;" imageX="480" imageY="0" imageWidth="96" imageHeight="96"/>
		<Weapon
				fireRate=			"30"
				powerUse=			"5"
				launcher=			"true"
				>

			<Missiles>
				<Missile ammoID="&itme_missile;"/> 
				<Missile AmmoId="&itNOTHonestfragmentedMissile;"/>
			</Missiles>
		</Weapon>
	</ItemType>
<!-- me missile -->

	<ItemType UNID="&itme_missile;"
			name=				"me missile"
			attributes=			"commonwealth, commonwealthFleet, consumable, military, missile, NAMI, NAMILauncher, premiumAmmo, HonestAbes"
			  
			level=				"2"
			frequency=			"uncommon"
			numberAppearing=	"3d6"

			value=				"550"
			mass=				"3000"
			  
			description=		"This is one of the many Honest Abes products, and is also NAMI."
			reverseArticle=		"true"
			>

		

		<Missile
				type=			"missile"

				damage=			"kinetic2d6-1; momentum1;"
				missileSpeed=	"30"
				hitPoints=		"20"
				lifetime=		"80"

				maneuverability="2"

				effect=			"&efKIneticBoltDefault;"
				sound=			"&snMissileLauncher;"
				>

			<HitEffect
					sound="&snArmorHit1;"
							>
				<Image imageID="&rsExplosionsAG128;"
						imageX="0"
						imageY="0"
						imageWidth="128"
						imageHeight="128"
						imageFrameCount="16"
						imageTicksPerFrame="2"/>
			</HitEffect>

			<Fragment
					count=			"1"
					type=			"radius"

					damage=			"kinetic:2d5; momentum6; WMD7"
					minRadius=		"1"
					maxRadius=		"4"
					missileSpeed=	"0"
							>

				<Effect>
					<Flare
							style=			"fadingBlast"
							radius=			"170"
							primaryColor=	"0xff, 0xff, 0xf0"
							lifetime=		"8"
									/>
				</Effect>
			</Fragment>

		</Missile>
	</ItemType>
	<ItemType UNID="&itNOTHonestfragmentedMissile;"
			name=				"FragmentedAbes"
			attributes=			"basicAmmo, commonwealth, consumable, missile, NAMI, NAMILauncher, HonestAbes"
			  
			level=				"3"
			frequency=			"common"
			numberAppearing=	"48-72"

			value=				"10"
			mass=				"15"
			  
			description=		"IT BLOWS EVERYTHING UP(remember if it's annoying, it needs to blow up)."
			>

		<Image imageID="&rsItemsNAMI2;" imageX="288" imageY="0" imageWidth="96" imageHeight="96"/>

		<Missile
				type=			"missile"
				lifetime=		"120"
				missileSpeed=	"60"
				hitPoints=		"10"

				effect=			"&efMissileNAMI;"
				sound=			"&snMissileLauncher;"
				>

			<Fragment
					count=			"7d6"
					type=			"missile"
					lifetime=		"10"
					damage=			"kinetic:2d6; WMD1"
					missileSpeed=	"32-48"
                    
    				effect=			"&efKineticBoltDefault;"
					>
			</Fragment>
		</Missile>
	</ItemType>

   <!-- This first section describes the basics of your station.  For the purposes of the Jam, you only need to worry about the following:


            name:  Your station name.
    dockingPorts:  How many ships can dock at your station at one time.
         armorID:  The armor your station has.  Note that this is only used for the armor resistances, not the hit points.
       hitPoints:  How many hit points your station has.
      repairRate:  How fast your station repairs damage done to it.
     fireRateAdj:  How frequently your station fires.
   explosionType:  How big a boom your station makes if it gets destroyed.
  levelFrequency:  What level systems your station can be spawned in.
locationCriteria:  Where your station is likely to be spawned in a system.
-->

   <StationType UNID="&stNOTHonestAbesStations;"
         name=            "Honest Abes Sales"
         sovereign=         "&svCorporate;"
         inherit=         "&baCorporateStation;"

         dockScreen=         "&dsArmsDealerSpecial;"
         abandonedScreen=   "&dsAbandonedStation;"
         dockingPorts=      "8"
         canAttack=         "true"

         multiHull=         "true"
         armorID=         "&itGusokuArmor;"
         hitPoints=         "300"
         repairRate=         "3"
         fireRateAdj=      "80"
         explosionType=      "&vtBlastExplosion2;"
         ejectaType=         "&vtWreckEjecta;"

         attributes=         "corporate, corporateCustoms, envAir, envEarth, envFire, envWater, friendly, generic, human, independent, populated"
         levelFrequency=      "-vuur v---- ----- ----- -----"
         locationCriteria=   "+planetary"

         noArticle=         "true"
         >

<!-- This defines the graphic used for your station. -->

      <Image         imageID="&rsStations1;" imageX="256" imageY="384" imageWidth="128" imageHeight="128"/>


<!-- This describes what ships are created at your station when it spawns.  It shouldn’t need changed. -->

      <Ships>
         <Lookup count="2" table="&tbCorpDefenders;"/>
         <Lookup count="1d4" table="&tbCommPrivateCrafts;"/>
      </Ships>

<!-- This describes what ships will come to your station when the ones at it leave or are destroyed.  It shouldn’t need changed. -->

      <Reinforcements minShips="4">
         <Table>
            <Lookup chance="75" table="&tbCorpDefenders;"/>
            <Lookup chance="25" table="&tbCommPrivateCrafts;"/>
         </Table>
      </Reinforcements>

<!-- This is your station’s installed weaponry. -->

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

<!-- This is what your station has for sale.

  Replace “+Rassiermesser” with “+YourCorporation”.
  If your station sells miscellaneous devices, replace the “w” in criteria with a “d”.

-->

      <Items>
         <RandomItem count="1d12" 
               criteria=      "w +HonestAbes; -NotForSale;"
               levelFrequency=   "systemLevel:v|v|rrucu"
               enhanced=      "-10"
               enhancement=   "=(intHPEnhancement2)"
               />

         <RandomItem count="2d12" 
               criteria=      "a +HonestAbes; -NotForSale;"
               levelFrequency=   "systemLevel:u|c|ur"
               enhanced=      "10"
               enhancement=   "=(intHPEnhancement2)"
               />
      </Items>

<!-- This section defines what your station will buy or sell.

  The priceAdj is a percentage to raise or lower prices from their baseline costs.  They probably won’t need changed.
  If your station does not buy goods from the player, repair armor, replace armor, or install or remove devices, omit the relevant tags.

-->

      <Trade currency="credit" max="50000" replenish="2500">
         <Sell   criteria="m +HonestAbes; -military;L;1-5 -illegal; -notForSale;" priceAdj="170" inventoryAdj="800"/>
         <Sell   criteria="*NU L:1-5;-Illegal; -ID; -NotForSale;"   priceAdj="220"/>
		 <Sell   criteria="*NU L:6-10;-Illegal;-ID; -NotForSale;"   priceAdj="400"/>
         <Buy   criteria="mwU -Illegal; -NotForSale;"   priceAdj="60"/>
         <Buy   criteria="mwU +Illegal; -ID;"            priceAdj="20"/>

         <RepairArmor   criteria="a L:1-7;" priceAdj="135"/>
         <ReplaceArmor   criteria="a +HonestAbes; L:1-7;" priceAdj="110"/>
         <InstallDevice   criteria="d +HonestAbes; L:1-7;" priceAdj="110"/>
		 <InstallDevice   criteria="d L:1-7;" priceAdj="150"/>
		 <InstallDevice   criteria="d +Illegal; L:1-7;" priceAdj="180"/>
         <RemoveDevice   criteria="d L:1-7;" priceAdj="100"/>
         
         <ReplaceArmor   criteria="a L:1-7;" priceAdj="unavailable"   messageID="descNoInstall"/>
         <InstallDevice   criteria="d L:1-7;" priceAdj="unavailable"   messageID="descNoInstall"/>
      </Trade>

<!-- These should not be changed. -->

      <Events>
         <OnContractGenerate>
            (intGenerateIndustrialRequestContract1)
         </OnContractGenerate>

         <OnContractQuery>True</OnContractQuery>
      </Events>

<!-- This should be changed to reflect your station’s name. -->

      <StaticData>
         <LongName>"a Honest Abe's sales"</LongName>
      </StaticData>

<!-- This defines the position of your station’s docking ports. -->

      <DockingPorts>
         <Port x="0"      y="70" />
         <Port x="0"      y="-70" />
         <Port x="50"   y="50" />
         <Port x="50"   y="-50" />
         <Port x="70"   y="0" />
         <Port x="-70"   y="0" />
         <Port x="-50"   y="50" />
         <Port x="-50"   y="-50" />
      </DockingPorts>

<!-- This should be changed to reflect your corporation’s name. -->

      <Language>
         <Text id="descNoInstall">
            (cat
               "We cannot install " (itmGetName (@ gData 'item) 0x04) " on your ship."
               )
         </Text>
         <Text id="dockServices:installAbility">
            (cat "We install Rasiermesser items up to tech level " (objGetProperty gSource 'installDeviceMaxLevel) ".")
         </Text>
      </Language>
<Type UNID="&lbHonestAbes;">
      <DisplayAttributes>
         <ItemAttribute label="Honest Abes Product" criteria="* +HonestAbes;"/>
      </DisplayAttributes>
   </Type>
	</StationType>
   <!--
   <ItemType>
name=         The name of the item.
level=         Tech level of the item. For armour, this influences resistance to damage types, repair cost, and when in the game it appears.
value=         Value, in credits.
mass=         Mass, in kg (1000= 1 tonne)
frequency=      Rate at which it appears in randomly generated tables. You may use: "veryrare", "rare", "uncommon", "common", and "notRandom".
numberAppearing=Number of segments that appear at a time in randomly generated tables. "1d4" is most common as most ships use 4 segments.
attributes=      Use this to define manufacturer tags and other attributes, separated by commas. Armor is usually tagged with "minoritem."

description=   self explanatory

Other things you can put in this chunk:

showReference=   Can be set to true/false. Set to true by default. Set to false if you don't want the player to see the armour's damage resistance for whatever reason.

-->


<ItemType UNID="&itNOTHonestDefense;"
         name=            "[segment(s) of ]Honest defense"
         level=            "2"
         value=            "6000"
         mass=            "4000"
         frequency=         "common"
         numberAppearing=   "1d4"
         attributes=         "minorItem, commonwealth, HonestAbes"

         description=      "It helps us stop you theieving gullible idiots."

         >


<!--
<Armor> tag:

hitPoints=   Number of hit points on the armour.
hpBonus=   Damage resistance, as an integer value from the standard for the tech level, separated by commas.
         Order of appearance: "Laser, Kinetic, Particle, Blast, Ion, Thermo, Positron, Plasma, and so on" 

   Inherent damage resistances:
      level VI+ is blind immune
      level VII+ is radiation immune
      level IX+ is EMP immune
      level XI+ is device damage immune
   
      
         
Other things you can put in this chunk:

radiationImmune=   Can be set to "true" or "false". Armour segments above tech level 6 are inherently radiation immune, so this needs to be set to "false" if you don't want immunity above level 7 (like ceralloy).
blindingDamageAdj=   Define a value here to set the armour's resistance to blinding attacks. Set to "0" to make immune.
EMPDamageAdj=      Same as above, but for EMP attacks.
deviceDamageAdj=   Same as above, but for device disruption.
disintegrationImmune= Can be set to "true" or "false". Only practical against the Iocrym command ship right now.

repairTech=         Tech level that the armour can be repaired at. Stations and repair devices have set armour repair levels, so this can be used to limit the armour's practicality.

installCostAdj=      A cost adjustment for installing the armour, as a percentage of the cost for armours of the same level.

regen=            Include a value here to have the armour repair itself over time. For example, Duralloy has regen="1" and photo-organic armour has regen="2".
photoRepair=      Set to "true" to have the armour repair itself when exposed to sunlight. You also must define a regen value for this to work.
powerUse=         Include a value here to have the armour segment draw power from the ship's reactor.
photoRecharge=      Include a value here to have the armour segment recharge the ship's reactor when exposed to sunlight.
decay=            Define a value here to have the armour slowly decay over time. Transuranic armour uses "0.75", for reference.

stealth=         Define a value here to make the ship harder to pick up on the LRS/SRS. NPCs seem to ignore this when attacking the player, however.

completeBonus=      An HP bonus to all armour segments if all armour segments are the same.


deviceHPBonus=      Include a percentage value here, along with a deviceCriteria (below), to have a bonus to shield HP when installed.
deviceCriteria=      Define as "s" along with a deviceHPbonus (above) value.

 -->   
      
      <Armor
            hitPoints=   "220"
            hpBonus=   "  +0,  +0,  +0,+100,  +0, +25"
            radiationImmune="true"
            />
   </ItemType>
   
     <!--unkownType=      This allows the device to inherit from an unknown type. In this case, it will appear the same as an unidentified laser collimator or cannon accelerator.
            You can also define as:
            "&itUnknownEnhancer5;", for it to appear as an unknown level 5 device
            "&itUnknownEnhancer8;", for it to appear as an unknown level 8 device
            "&itUnknownAlienDevice;" for it to appear as an unknown alien device
            Define your own,
            ...or leave this field out altogether for it to appear already identified.
-->
   
   <ItemType UNID="&itNOTHonestHelper;"
         name=            "HonestAbesHelp"
         attributes=      "commonwealth, majorItem, weaponEnhancer, HonestAbes"
           
         level=            "3"
         frequency=         "uncommon"
         unknownType=      "&itUnknownEnhancer2;"

         value=            "500"
         mass=            "500"
           
         description=      "This enhancer is capable of many things.."
         >

      

<!--
Here's where you can define what the device does.

****Select only one of MiscellaneousDevice, ReactorDevice, or DriveDevice and delete the other chunks.****

<MiscellaneousDevice>
poweruse=   Power use, in tenths of a MW. So, "5" = 0.5MW.

Optional:
capacitorPowerUse=   
powerToActivate=   These two are used on the Transpace Jumpdrive. Should only be used if your device is invokable.

---

<EnhancementAbilities> (ripped from http://wiki.kronosaur.com/modding/xml/api_version?s[]=criteria)
   This defines an item enhancement device.
   
    type: This is a user-defined string representing the type of enhancement. Only a single enhancement of each type will be applied.
    criteria: This is an item criteria specifying the set of devices that will be enhanced by this device.
         [So, if you want an item that enhances your corporation's items, use:
         
         criteria=      "w~l +YourCorporation;"
         
    enhancement: This defines the enhancement applied to the set of devices that match the criteria. This is expressed as an enhancement code (see shpEnhanceItem) or as one of the following special codes:
        “+hpBonus:{n};” where {n} is the percent bonus.
        “+shield:{n};” where {n} is a level. This is equivalent to the shield:{n} damage modifier.
        “+speed:{n};” where {n} is the percent value of the new weapon delay time relative to the current one. E.g., 75 = 75% of the original delay time.

--> <ItemType UNID="&itNOTHonestBox;"
            name=				"honest little box of joy"
			attributes=			"commonwealth, majorItem, weaponEnhancer, HonestAbes"
			  
			level=				"1"
			frequency=			"uncommon"
			unknownType=		"&itUnknownEnhancer2;"

			value=				"500"
			mass=				"500"
			  
			description=		"It is an box that contains great joy that has high level weapons."
			>
             <MiscellaneousDevice
            powerUse=      "150"
            >
         <EnhancementAbilities>
            <Enhance type=         "laser"
                   criteria=      "w~l +damageType:laser;"
                   enhancement=   "+hpBonus:10;"
				   
                   />
         </EnhancementAbilities>
      </MiscellaneousDevice>
      </ItemType>
<!--
<DriveDevice>
   This defines a drive upgrade.
maxSpeed=   When installed, the ships' max speed will be set to this (fraction of c)
thrust=      When installed, the ships' max thrust will be set to this
powerUsed=   Power used by the drive when thrusting, in tenths of MW. So, "100" is 10MW.

Optional:
inertialessDrive=   Set to "true" or "false" (false by default). Used on the inertialess drive.
-->
      <DriveDevice
            maxSpeed=      "30"
            thrust=         "750"
            powerUsed=      "2000"
            />

<!--
<ReactorDevice>
   This defines a reactor.

maxPower=         Max power output, in tenths of MW. So, 100 is 10MW.
fuelEfficiency=      How quickly the reactor burns fuel, and how much is wasted. eg. The Nova 100 is the most efficient vanilla reactor at "18", while most are at "15".
maxFuel=         Max amount of fuel the reactor can hold. This increases as level increases - For comparison, the Hyperion has maxFuel= "5000000"
fuelCriteria=      A level range of fuel that the reactor accepts.
-->      
            
      <ReactorDevice
            maxPower=      "100"
            fuelEfficiency=   "15"
            maxFuel=      "25000"
            fuelCriteria=   "f L:1-3;" 
            />
<!--
CargoHoldDevice

cargoSpace=      Tonnes of cargo space added to the ship when installed.
 -->
      <CargoHoldDevice
            cargoSpace=      "80"
            />
            
<!--
<AutoDefenseDevice>
   This defines an autodefense device, like the Longreach and ICX.
   
target=         What the device targets.
targetCriteria=   Use this (but disclude target=) to use a criteria string instead. 'b' selects beams, 'm' selects missiles, and 'Es' selects enemy ships. A range must also be defined - so, the field should look something like: "Es N:24".

weapon=         The virtual weapon type that the defense device uses. Use a pre-defined one or look in the code and make your own.
fireRate=      Fire rate of the virtual weapon. Functions the same as fireRate on regular weapons.
-->
            
      <AutoDefenseDevice
            target=         "missiles"
            weapon=         "&vtICXLaserCannon;"
            fireRate=      "15"
            />
            
<!-- 
<RepairerDevice>
   This defines a repair device, like the patcher arm.
   
regen=         Repair rates for different armour levels, from L1 to L10.
powerUse=      Power use, in tenths of MW. So, "5" = 0.5MW
-->
            
      <RepairerDevice
            regen=         " 4, 3, 3, 2, 2,  2, 1, 1, 1, 1"
            powerUse=      "5"
            />
            
            
   

		
<ItemType UNID="&itNOTHonestDestroyer;"
         name=            "missile launcher"
         attributes=         "commonwealth, majorItem,HonestAbes"
           
         level=            "4"
         frequency=         "common"

         value=            "1000"
         mass=            "1000"
           
         description=      "This Shoots death and destruction."
         >

      <Image imageID="&rsItems1;" imageX="480" imageY="0" imageWidth="96" imageHeight="96"/>

      <Weapon
            fireRate=         "30"
            powerUse=         "10"
            launcher=         "true"
            >

      <!-- You can define multiple missile types here that are compatible with the launcher. -->
      
         <Missiles>
            <Missile ammoID="&itNOTHonestKiller;"/>
         </Missiles>
      </Weapon>
   </ItemType>
   

   <ItemType UNID="&itNotHonestKiller;"
         name=            "HonestMissiles"
         attributes=         "basicAmmo, commonwealth, consumable, missile, HonestAbes"
           
         level=            "4"
         frequency=         "common"
         numberAppearing=   "4d12"

         value=            "5"
         mass=            "20"
           
         description=      "DONT ATTACK US OR ELSE."
         />



<!--
<Missile>
   These are the same stats as the km100 longbow.
   
type=      Missile or beam
lifetime=   Projectiles lifetime in ticks.
damage=      Damage type, dice roll value, and other stuff.
   Optional extra fields (separate with semicolons):
      radiation1; shield1; (shield2; shield3; etc. for shield busters)
-->      
      
      <Missile
            type=         "missile"
            lifetime=      "120"
            damage=         "blast:4d6; momentum4; WMD5"
            missileSpeed=   "45"
            hitPoints=      "10"
                   
            effect=         "&efMissileNAMI;"
            sound=         "&snMissileLauncher;"
            >

         <HitEffect
               sound="&snArmorHit1;"
                     >
            <Image imageID="&rsExplosionsAG48;"
                  imageX="0"
                  imageY="0"
                  imageWidth="48"
                  imageHeight="48"
                  imageFrameCount="16"
                  imageTicksPerFrame="2"/>
         </HitEffect>
		 </Missile>
   </ItemType>
relanat
Militia Captain
Militia Captain
Posts: 941
Joined: Tue Nov 05, 2013 9:56 am

For the Death Launcher (cool name) you have the x and y coordinates on the image swapped around.
This is what you have:

Code: Select all

<Image imageID="&rsItems1;" imageX="480" imageY="0" imageWidth="96" imageHeight="96"/>
The code is working, it's just showing you a blank image of nothing that is way off the side of the source image.

Whereas this is what works for the launcher image:

Code: Select all

<Image imageID="&rsItems1;" imageX="0" imageY="480" imageWidth="96" imageHeight="96"/>
==========================
The armor doesn't have the <Image..../> line of code yet so it can't show you anything. Every <ItemType> needs this info to give you an image.

I've run out of time. If you have any more trouble ask again.
If needed I'll do a quick tutorial post about images for you.
Stupid code. Do what I want, not what I typed in!
gunship256
Militia Commander
Militia Commander
Posts: 451
Joined: Sat Jul 25, 2015 11:41 pm
Location: repairing armor

relanat wrote:For the Death Launcher (cool name) you have the x and y coordinates on the image swapped around.
Nice catch! I'm curious how you did it. Did you have to pull up the images out of the Resources folder, did you compare the code to vanilla devices with code that works, or have you done this so many times that you have the code basically memorized?
relanat
Militia Captain
Militia Captain
Posts: 941
Joined: Tue Nov 05, 2013 9:56 am

gunship256 wrote:Did you have to pull up the images out of the Resources folder, did you compare the code to vanilla devices with code that works, or have you done this so many times that you have the code basically memorized?
:lol: :lol:
Would you believe it's because of my incredible physical prowess, magnificent intellect and charming way with the ladies...No? OK, that would be a lie anyway.:lol:
The embarrassing truth is I've done this before myself :oops: . Plus I was working on turret images at the time so it was all fresh in my mind. And it still confuses me. The x and y stuff seems backwards when you say it compared to what happens and I still mess it up sometimes.

I ran the mod. Mostly working except for a few images. When I saw the launcher image wasn't coming up I checked the code.The code looked right (and wasn't giving any errors) so I had a look at the image 'Items1.jpg' (got this from CorePlaceholders.xml where &rsItems1; is defined) in the Resources folder. Saw that the launcher image was there, then worked out why it wasn't coming up. From my previous mess-ups the first thing I tried was changing the co-ordinates. Abracadabra, it worked.

I had noticed the armor image wasn't showing either so checked the code. There wasn't a line of image code yet so I knew that was the problem.

I ended up doing the tutorial post I mentioned anyway. But I haven't got the dockscreen section done yet.
Stupid code. Do what I want, not what I typed in!
Post Reply