Monniasza
Members-
Posts
74 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by Monniasza
-
You have to find tank whose name ends in "(LPGox)" or "(LPG)" for rockets and jets correspondingly.
-
Do you have any plans for these scripts? I plan to use scripts extensively in LPG module of SSTO Project.
-
This patch generates 3 errors per part. How I can fix it? Here is the patch: //New, improved LPG code //Set up existing LPG module RESOURCE_DEFINITION{ name = LPG displayName = LPG abbreviation = LPG density = 0.00054 //540 g/l unitCost = 0.256 //Calculated based on American prices for LPG - 0.4 $/l and RP-1 -125$/kg hsp = 2010 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP isTweakable = true volume = 1 } // vvv MFT COMPATIBILITY @TANK_DEFINITION[Default,Fuselage,Structural,ServiceModule,Balloon]{ TANK{ name = LPG amount = 0.0 maxAmount = 0.0 utilization = 5 note = (pressurized) } } TANK_DEFINITION{ name = LPG basemass = 0.000050 * volume TANK{ name = LPG amount = full maxAmount = 100% utilization = 5 note = (pressurized) } TANK{ name = Oxidizer amount = 0.0 maxAmount = 0.0 } } TANK_DEFINITION{ name = LPGox basemass = 0.000050 * volume TANK{ name = LPG amount = full maxAmount = 25.9259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259259% utilization = 5 note = (pressurized) } TANK{ name = Oxidizer amount = full maxAmount = 74.0740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740740% } } //Generate ModuleLPG for known parts @PART[*]:HAS[!MODULE[ModuleLPG]]:FINAL{ MODULE{ name = ModuleLPG } } @PART[*]:FINAL{ lf = 0 ox = 0 @MODULE[ModuleLPG]{ err_a = false err_t = false err_i = false err_c = false err_r = false err_fs = false } } // Handle LPG +PART[*]:FINAL{ fuel = 0 @title = #$title$ (LPG) @name = #$name$_LPG } //Test amount @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[~amount]]:FINAL{ @MODULE[ModuleLPG]{ @err_a = true } } @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#amount]]:FINAL{ @MODULE[ModuleLPG]{ tmp = 0 @tmp += #$amount$ @err_a = false } @MODULE[ModuleLPG]:HAS[#ąmount[-*]|#tmp[0]|#amount[]|#tmp[NaN]|#tmp[*Infinity]]{ @err_a = true } } //Test Isp mutiplier @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[~isp]]:FINAL{ @MODULE[ModuleLPG]{ @err_i = true } } @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#isp]]:FINAL{ @MODULE[ModuleLPG]{ @tmp = 0 @tmp += #$amount$ @err_i = false } @MODULE[ModuleLPG]:HAS[#isp[-*]|#tmp[0]|#isp[]|#tmp[NaN]|#tmp[*Infinity]]{ @err_i = true } } //Test fuel ratio @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[~ratio]]:FINAL{ @MODULE[ModuleLPG]{ @err_r = true } } @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#ratio]]:FINAL{ @MODULE[ModuleLPG]{ @tmp = 0 @tmp += #$amount$ @err_r = false } @MODULE[ModuleLPG]:HAS[#ratio[-*]|#tmp[0]|#ratio[]|#tmp[NaN]|#tmp[*Infinity]]{ @err_r = true } } @PART[*_LPG]:FINAL{ lf = 0 ox = 0 //Test type @MODULE[ModuleLPG]{ %err_t = true } @MODULE[ModuleLPG]:HAS[#type[stock]|#type[fs]|#type[mfs]]{ @err_t = false } //Test tankage @MODULE[ModuleLPG]{ %err_c = true } @MODULE[ModuleLPG]:HAS[#contents[lpg]|#contents[lpgo]|#contents[none]]{ @err_c = false } //Calculate the fuel ratio @MODULE[ModuleLPG]:HAS[#err_r[true]]{ %ratio = 8 } @MODULE[ModuleLPG]:HAS[#err_r[true]]:NEEDS[SMURFF]{ @ratio /= #$@SMURFFCONFIG/lfofactor$ } } //If fuel switchers are present, take fuel from them instead @PART[*_LPG]:HAS[@MODULE[ModuleFuelTanks]:HAS[#type[Default]|#type[Structural]|#typeServiceModule]|#type[Balloon]]:FINAL{ @fuel += #$MODULE[ModuleFuelTanks]/volume$ !MODULE[ModuleFuelTanks] {} @MODULE[ModuleLPG]{ @err_a = false @err_c = false @amount = #$../fuel$ @contents = lpgo @amount = #$../fuel$ } } @PART[*_LPG]:HAS[@MODULE[ModuleFuelTanks]:HAS[#type[Fuselage]]]:FINAL{ @fuel += #$MODULE[ModuleFuelTanks]/volume$ !MODULE[ModuleFuelTanks] {} @MODULE[ModuleLPG]{ @err_a = false @err_c = false @amount = #$../fuel$ @contents = lpg @amount = #$../fuel$ } } @PART[*_LPG]:HAS[@MODULE[ModuleB9PartSwitch]]:FINAL{ @fuel += #$MODULE[ModuleB9PartSwitch]/baseVolume$ !MODULE[ModuleB9PartSwitch] {} @MODULE[ModuleLPG]{ @err_a = false @err_c = false @amount = #$../fuel$ } } @PART[*_LPG]:HAS[@RESOURCE[LiquidFuel]]:FINAL{ @lf += #$RESOURCE[LiquidFuel]/maxAmount$ @fuel += #$lf$ } @PART[*_LPG]:HAS[@RESOURCE[Oxidizer]]:FINAL{ @ox += #$RESOURCE[Oxidizer]/maxAmount$ @fuel += #$ox$ } //@PART[*_LPG]:HAS[!MODULE[ModuleFuelTanks]]:FINAL{ // //Count resources and decompute the mass // @MODULE[ModuleLPG]:HAS[~amount]{ // amount = 0 // lf = 0 // ox = 0 // lf = #$../lf$ // ox = #$../ox$ // @amount = #$lf$ // @amount += #$ox$ // } // @MODULE[ModuleLPG]:HAS[#ox[0]&#lf[0]]{ // %contents = none // } // @MODULE[ModuleLPG]:HAS[#ox[0]&~lf[0]]{ // %contents = lpg // } // @MODULE[ModuleLPG]:HAS[~ox[0]&~lf[0]]{ // %contents = lpgo // } //} @PART[*_LPG]:HAS[MODULE[ModuleFuelTanks]]:FINAL{ //Count resources and decompute the mass @MODULE[ModuleLPG]:HAS[~amount]{ amount = 0 @amount = #$../MODULE[ModularFuelTanks]/volume$ } @MODULE[ModuleLPG]:HAS[#ox[0]&#lf[0]]{ %contents = none } @MODULE[ModuleLPG]:HAS[#ox[0]&~lf[0]]{ %contents = lpg } @MODULE[ModuleLPG]:HAS[~ox[0]&~lf[0]]{ %contents = lpgo } } @PART[*_LPG]:FINAL{ //Create fuel switchers @MODULE[ModuleLPG]{ newMass = #$../mass$ fs = false mfs = false @fs:NEEDS[Firespitter] = true @mfs:NEEDS[RealFuels|ModularFuelTanks] = true } @MODULE[ModuleLPG]:HAS[#err_t[true]]{ type = stock type:NEEDS[Firespitter] = fs type:NEEDS[RealFuels|ModularFuelTanks] = mfs } //If requested fuel switcher is absent, choose other one @MODULE[ModuleLPG]:HAS[#type[mfs]]:NEEDS[!RealFuels&!ModularFuelTanks]{ @type = stock @type:NEEDS[Firespitter] = fs } @MODULE[ModuleLPG]:HAS[#type[fs]]:NEEDS[!Firespitter]{ @type = stock @type:NEEDS[RealFuels|ModularFuelTanks] = mfs } @MODULE[ModuleLPG]{ massFuel = 0 massRemain = 0 @massFuel = #$amount$ @massFuel *= 5 @massFuel /= #$ratio$ @massRemain = #$../mass$ @massRemain -= #$massFuel$ @newMass = #$amount$ @newMass *= 0.05 @newMass += #$massRemain$ } @mass = #$MODULE[ModuleLPG]/newMass$ SSTOLPG = 1.06 } @PART[bluedog_*_LPG]:FINAL{ //Increased LPG improvement - BDB engines have inferior Isp, so increase by 20% @SSTOLPG = 1.22 } @PART[B9_*_LPG]:FINAL{ //Intermediate LPG improvement -both normal and high efficiency engines @SSTOLPG = 1.05 } @PART[RSB*_LPG]:FINAL{ //Realistic LPG improvement @SSTOLPG = 1.04 } @PART[BAEengine*_LPG]:FINAL{ //Increased LPG improvement - BAE engines have inferior Isp, so increase by 20% @SSTOLPG = 1.15 } @PART[*_LPG]:HAS[#manufacturer[Alcentar]]:FINAL{ //RealEngines or LCA @SSTOLPG = 1.06 //Determine if using LCA pack or RealEngines - the second should improve 4% SSTOTMP = #$MODEL/model$ @SSTOTMP ^= "R(.*?)k" //LCA won't match } @PART[*_LPG]:HAS[#SSTOTMP[ealEnginesPac]]:FINAL{ //Realistic improvement - 4% @SSTOLPG = 1.04 } @PART[*_LPG]:FINAL{//Apply the changes for engine - Rockets and jets, no nukes @MODULE[ModuleEngines*]{ @eligible = false } @MODULE[ModuleEngines*]:HAS[@PROPELLANT[LiquidFuel],@PROPELLANT[Oxidizer]]{ //Rockets //3.5:1 mass OX/LPG eligible = true @PROPELLANT[Oxidizer]{ @ratio = 0.7 //3.5 volumetric } @PROPELLANT[LiquidFuel]{ @name = LPG @ratio = 2 //2 volumetric } @atmosphereCurve { k0 = #$key,0[1, ]$ @k0 *= #$../../SSTOLPG$ @key,0 = #0 $k0$ k1 = #$key,1[1, ]$ @k1 *= #$../../SSTOLPG$ @key,1 = #1 $k1$ } } @MODULE[ModuleEngines*]:HAS[@PROPELLANT[LiquidFuel],@PROPELLANT[IntakeAir]]{ //Jets //3.5:1 mass OX/LPG eligible = true @PROPELLANT[IntakeAir]{ @ratio *= 0.15 } @PROPELLANT[LiquidFuel]{ @name = LPG } @atmosphereCurve { k0 = #$key,0[1, ]$ @k0 *= 1.2 @key,0 = #0 $k0$ } } keep = false !RESOURCE[LiquidFuel|Oxidizer] {} } @PART[*_LPG]:HAS[@MODULE[ModuleEngines*]:HAS[#eligible[true]]]:FINAL{ @keep = true } @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[!contents[none]]]:FINAL{ @keep = true } //Remove unnecessary parts !PART[*_LPG]:HAS[#keep[false]]:FINAL {} //Apply tanks @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#type[stock]&contents[lpg]]]:FINAL{ RESOURCE{ name = LPG amount = #$../MODULE[ModuleLPG]/amount$ @amount *= 5 maxAmount = #$amount$ } } @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#type[stock]&contents[lpgo]]]:FINAL{ x = 0.7 @x /= 1.35 y = 2 @y /= 1.35 RESOURCE{ name = LPG amount = #$../MODULE[ModuleLPG]/amount$ @amount *= #$../y$ maxAmount = #$amount$ } RESOURCE{ name = Oxidizer amount = #$../MODULE[ModuleLPG]/amount$ @amount *= #$../x$ maxAmount = #$amount$ } } //TODO Firespitter Fuel Switch @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#type[mfs]&contents[lpg]]]:FINAL{ MODULE{ name = ModuleFuelTanks type = LPG basemass = #$../mass$ volume = #$../MODULE[ModuleLPG]/amount$ } } @PART[*_LPG]:HAS[@MODULE[ModuleLPG]:HAS[#type[mfs]&contents[lpgo]]]:FINAL{ MODULE{ name = ModuleFuelTanks type = LPGox basemass = #$../mass$ volume = #$../MODULE[ModuleLPG]/amount$ } } And error pattern ('xxx' stands for any part) [LOG] Applying update SSTOProject/LPG new/@PART[*_LPG]:FINAL to xxx [WRN] Cannot find key newMass in MODULE [ERR] Error - Cannot parse variable search when editing key mass = #$MODULE[ModuleLPG]/newMass$ [WRN] Cannot find key amount in MODULE [ERR] Error - Cannot parse variable search when editing key massFuel = #$amount$ [WRN] Cannot find key amount in MODULE [ERR] Error - Cannot parse variable search when editing key newMass = #$amount$ Mods used: Procedural Parts, SMURFF, Modular Fuel Tanks, both DLC
-
You can offer two texture packs (half resolution and full resolution).
- 40 replies
-
- 1
-
- net.lisias.ksp
- mod
-
(and 2 more)
Tagged with:
-
Whenever I switch SPH and VAB, I'm unable to build large vessels. To reproduce: - Load game in science or sandbox mode - Go to SPH or VAB - Switch editors until both mass and size are limited Here's the contents of GameData directory: And logs: https://drive.google.com/file/d/1ZX8NrFwhgojkIAU9r4aFJuCwlpHzVa4L/view?usp=sharing https://drive.google.com/file/d/1S8xSEfGmQNFMorRBhpS6Z_o-HupnzW0r/view?usp=sharing Screenshots: Save, which contains ship: https://drive.google.com/file/d/11urKBjs5iMguQNvvJ0W0IDLAvjha7WZm/view?usp=sharing ProceduralStartPlus directory in GameData: https://drive.google.com/file/d/1yMwTbeMBD-LuGHY3DQ4cTRaJ9xPqtTTY/view?usp=sharing
-
I'd like to improve Procedural Start, adding support for Procedural Fairings and Procedural Probes, and other mods in future.
-
I've coded it. In a single file and just 1117 bytes cfg. I'll test it before posting it here.
-
Here's it:
Remove all files but ProceduralStart.version
Create ProceduralStart.cfg with following contents:
@PART[procedural*]:AFTER[ProceduralParts] { @TechRequired = start @MODULE[ProceduralPart] { @TECHLIMIT,* { @name = start } } @MODULE[ProceduralShapeCylinder] { @techRequired = start } @MODULE[ProceduralShapeCone] { @techRequired = start } @MODULE[ProceduralShapePill] { @techRequired = start } @MODULE[ProceduralShapeBezierCone] { @techRequired = start } } !PROCFAIRINGS_MAXDIAMETER,* {} !PROCFAIRINGS_MINDIAMETER,* {} PROCFAIRINGS_MINDIAMETER { start = 50 sandbox = 50 } PROCFAIRINGS_MAXDIAMETER { start = 50 sandbox = 50 } !PART[pf_tech*] {} PART { name = pf_tech_fairing module = Part author = Starstrider42 (config), e-dog (model) MODEL { model = ProceduralFairings/Parts/base_standard } TechRequired = miniaturization entryCost = 0 cost = 0 category = none title = Procedural Start - all fairings avaliable right now manufacturer = Keramzit Engineering description = Unlocks all fairings and sizes } @PART[Kz*|SSTUBase*|SSTUHollowRing*]{ @TechRequired = start }
-
-
You can remodel every part, using small PNG textures and low poly models (like I did in SSTO Project).
- 40 replies
-
- 1
-
- net.lisias.ksp
- mod
-
(and 2 more)
Tagged with:
-
I suggest you to reference used models instead of cloning them - it would save a lot of space.
- 40 replies
-
- 1
-
- net.lisias.ksp
- mod
-
(and 2 more)
Tagged with:
-
The first 3D model is released.
-
[1.12.x] Textures Unlimited Recolour Depot
Monniasza replied to Manwith Noname's topic in KSP1 Mod Development
@Manwith NonameDo you want to have this mod on CKAN? (asking again) On behalf of CKAN team. -
I have only one working 3d model. More coming soon. 1.3.1 will receive first 3D model and 1.4 will be 100% 3d modelled.
-
@ssd21345 It's now released under v1.3
-
However, it does not allow all 16'777'216 colors for every part.
-
It doesn't work in Poland right now.
- 2,176 replies
-
- totm july 2019
- spacedock
-
(and 3 more)
Tagged with:
-
It's not yet started, I need to make models for coronavirus parts (refills, analysis module and coronavirus sample collector.) These are planned for 1.3.In 1.4, there will be new models, but for now there are placeholders.
-
[1.12.5] TechTrees: QUARTIX 3.10, TETRIX 2.26, SIMPLEX 1.36
Monniasza replied to theJesuit's topic in KSP1 Mod Releases
Removing HETTN helped. Here is bug report for HETTN-TETRIX conflict: https://github.com/Orthethac/HideEmptyTechTreeNodes/issues/9 -
[1.12.5] TechTrees: QUARTIX 3.10, TETRIX 2.26, SIMPLEX 1.36
Monniasza replied to theJesuit's topic in KSP1 Mod Releases
My main install is still broken after updating TETRIX Tech Tree and SSTO Project. I will need to temporarily uninstall KSPIE and open a mod support module creation request on KSPIE bug tracker. Here is the issue: https://github.com/sswelm/KSP-Interstellar-Extended/issues/587