Jump to content

Help, Please? Cfging together a welded part - stack node weirdness


theonegalen

Recommended Posts

Last night, I made a replica of the P-80 Shooting Star using mostly stock parts, with a few pieces from SXT, AirplanePlus, and Firespitter. I got it to look almost exactly right, only to find that the stock small jet engine I was using was far too underpowered to match the P-80's real life performance. So I decided to make one out of MODEL nodes.

I have the look I want, I have the performance I want, I even have the attach node at the right spot. But every time I save and load the craft, something weird happens: the engine jumps back about a meter! I thought it might be a problem with the attach rules, but I've tried it both ways and it does the same thing.

Here it is when it attaches at the node:

dZr6OLG.png

And here it is after a save/load:

qYm8RVp.png

And here is the cfg file:

PART
{
	name = mediumTurbojet
	module = Part
	author = C. Jenkins, Porkjet, theoneGalen
	MODEL
	{
		model = Squad/Parts/Engine/miniJet/SmallJet
		position = 0, 0, 0
		scale = 1, 1, 1
	}
	MODEL
	{
		model = Squad/Parts/Aero/cones/NCS
		position = 0, 1.105, 0
		scale = 1, 1, 1
		rotation = 0, 0, 180
	}
	rescaleFactor = 1
	node_stack_top = 0.0, 1.85, 0.0, 0.0, 1.0, 0.0, 1
	TechRequired = aviation
	entryCost = 3500
	cost = 1200
	category = Propulsion
	subcategory = 0
	title = J-33 "Shooting Star" Turbojet Engine
	manufacturer = 
	description = A medium turbojet engine. More powerful and with a larger housing than the J-20, not as powerful as the J-47 or JT8.
	attachRules = 1,0,1,1,1
	mass = 0.825
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size1
	tags = aircraft (star plane propuls turb shooting
	RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 0.02
	}
	MODULE
	{
		name = ModuleAnimateHeat
		ThermalAnim = Cone_Heat
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Cruise
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 75
		heatProduction = 30
		useEngineResponseTime = True
		engineAccelerationSpeed = 0.12
		engineDecelerationSpeed = 0.5
		fxOffset = 0, 0, 0.74
		flameoutEffectName = flameout
		powerEffectName = running_thrust
		engageEffectName = engage
		disengageEffectName = disengage
		spoolEffectName = running_turbine
		engineSpoolIdle = 0.05
		engineSpoolTime = 2.0
		EngineType = Turbine
		exhaustDamageMultiplier = 30
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 22
		}
		atmosphereCurve
		{
			key = 0 6400 0 0
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		machLimit = 0.80
		machHeatMult = 7
		velCurve
		{
			key = 0 1 0 0
			key = 0.44 0.897 0 0
			key = 1 1 0.1988732 0.1988732
			key = 1.3 1.03 0 0
			key = 2 0.68 -1.065708 -1.065708
			key = 2.4 0 0 0
		}
		atmCurve
		{
			key = 0 0 0 0.7448742
			key = 0.072 0.13 2.075459 2.075459
			key = 0.16 0.28 1.464173 1.464173
			key = 0.42 0.578 0.93687 0.93687
			key = 1 1 0.5529748 0
		}
	}
	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 2
		}
	}
	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 15
		CONSTRAINT
		{
			type = OXYGEN
			value = True
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 200
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 100
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 100
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 50
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 50
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 20
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 300
			situationMask = 8
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 50
			situationMask = 8
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.3
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.1
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.05
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 4000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 8000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 1000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 500
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			prestige = Exceptional
		}
	}
	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 0
		fxMax = 0.5
		maxDistance = 10
		falloff = 2
		thrustTransformName = thrustTransform
	}
}

 

Link to comment
Share on other sites

You might try and add scale = 1 like

PART
{
	name = mediumTurbojet
	module = Part
	author = C. Jenkins, Porkjet, theoneGalen
	MODEL
	{
		model = Squad/Parts/Engine/miniJet/SmallJet
		position = 0, 0, 0
		scale = 1, 1, 1
	}
	MODEL
	{
		model = Squad/Parts/Aero/cones/NCS
		position = 0, 1.105, 0
		scale = 1, 1, 1
		rotation = 0, 0, 180
	}
    scale = 1    // Or maybe scale = 1, 1, 1 
	rescaleFactor = 1
	node_stack_top = 0.0, 1.85, 0.0, 0.0, 1.0, 0.0, 1
	TechRequired = aviation
	entryCost = 3500
	cost = 1200
	category = Propulsion
	subcategory = 0
	title = J-33 "Shooting Star" Turbojet Engine
	manufacturer = 
	description = A medium turbojet engine. More powerful and with a larger housing than the J-20, not as powerful as the J-47 or JT8.
	attachRules = 1,0,1,1,1
	mass = 0.825
	// heatConductivity = 0.06 // half default
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size1
	tags = aircraft (star plane propuls turb shooting
	RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 0.02
	}
	MODULE
	{
		name = ModuleAnimateHeat
		ThermalAnim = Cone_Heat
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Cruise
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 75
		heatProduction = 30
		useEngineResponseTime = True
		engineAccelerationSpeed = 0.12
		engineDecelerationSpeed = 0.5
		fxOffset = 0, 0, 0.74
		flameoutEffectName = flameout
		powerEffectName = running_thrust
		engageEffectName = engage
		disengageEffectName = disengage
		spoolEffectName = running_turbine
		engineSpoolIdle = 0.05
		engineSpoolTime = 2.0
		EngineType = Turbine
		exhaustDamageMultiplier = 30
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 22
		}
		atmosphereCurve
		{
			key = 0 6400 0 0
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		machLimit = 0.80
		machHeatMult = 7
		velCurve
		{
			key = 0 1 0 0
			key = 0.44 0.897 0 0
			key = 1 1 0.1988732 0.1988732
			key = 1.3 1.03 0 0
			key = 2 0.68 -1.065708 -1.065708
			key = 2.4 0 0 0
		}
		atmCurve
		{
			key = 0 0 0 0.7448742
			key = 0.072 0.13 2.075459 2.075459
			key = 0.16 0.28 1.464173 1.464173
			key = 0.42 0.578 0.93687 0.93687
			key = 1 1 0.5529748 0
		}
	}
	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 2
		}
	}
	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 15
		CONSTRAINT
		{
			type = OXYGEN
			value = True
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 200
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 100
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 100
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 50
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 50
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 20
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 300
			situationMask = 8
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 50
			situationMask = 8
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.3
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.1
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.05
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 4000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 8000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 1000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 500
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			prestige = Exceptional
		}
	}
	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 0
		fxMax = 0.5
		maxDistance = 10
		falloff = 2
		thrustTransformName = thrustTransform
	}
}

 

Link to comment
Share on other sites

  • 5 months later...

(necro)

For future reference, if anyone else happens to stumble across the same issue, it turned out to be a problem with the attachrules. The ones I had before prevented it from being clipped, and so whenever it loaded, it sprang away from the clipped 0.625m tail pieces. Proper attachrules to allow it are:

attachRules = 1,1,1,1,0
 

Edited by theonegalen
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...