Jump to content

TaranisElsu

Members
  • Posts

    643
  • Joined

  • Last visited

Everything posted by TaranisElsu

  1. Moderator edit: This thread has been closed as another has taken on maintenance of the project, you can find the new thread here: Presenting Thunder Aerospace Corporation's Life Support system (TACLS) Many Kerbal lives were bravely sacrificed to bring you the latest in biological needs. The latest release is version 0.11.2.1 which works with KSP 1.0.5. Download below or read the release announcement. Upgrading from a previous version? Read this. Having problems with this mod (or any others)? Read the [Official] How To Get Support and my Help page. I cannot do much to help without log files. Features Kerbals require resources to survive, whether in a vessel or on EVA: Food, Water, Oxygen, Electricity (for air quality and climate control) Resources are needed all the time, even when flying another vessel, or sitting at the Space Center or Tracking Station. Kerbals can die if they go without resources for too long. The defaults are: 360 hours without Food (60 Kerbin days/15 Earth days), 36 hours without Water, 2 hours without Oxygen, and 2 hours without Electricity. Kerbals produce waste resources: Carbon Dioxide, Waste, and Waste Water. Currently Carbon Dioxide can be recycled into Oxygen, and Waste Water can be recycled into clean Water. Also can filter Oxygen out of IntakeAir, or split Water into Oxygen and Waste (hydrogen). A greenhouse part that allows growing Food is planned, but is not included yet. Filling up with waste resources (Carbon Dioxide, Waste, Waste Water) has no effect. Any excess is dumped overboard, and you lose the opportunity to convert them back into good resources. Read the full description (on the wiki). Pictures (New pictures coming soon) Download the latest version Available on the Download page. Read about the recent changes (on the wiki). Requires Module Manager. Need some help? See the new Tutorials and Help pages on the wiki. License CC BY-NC-SA 3.0 Notice This mod includes version checking using MiniAVC. If you opt-in, it will use the internet to check whether there is a new version available. Data is only read from the internet and no personal information is sent. For a more comprehensive version checking experience, please download the KSP-AVC Plugin.
  2. My recommendations are: ISA MapSat -- gives you something to do: map the different planets and moons. You have to figure out good altitudes and inclinations at which to scan. Choose poorly and it will take forever to scan a planet, if it ever finishes. Make sure you download the dev version off his blog, not the one linked to in his thread. Figaro GPS -- gives a reason to set up a satellite constellation. It was fun learning about ideal positioning of the satellites to maximize their usefulness without having to launch too many of them. Remotetech -- makes unmanned missions more challenging, and gives you a reason to set up a communications network. Ioncross or my TAC Life Support (shameless plug ) -- makes manned missions more challenging. You have to plan ahead to have enough resources so your crew does not die. Kethane -- gives you something to do on other planets or moons. I find it a nice challenge to send a detector satellite to find deposits, get a space station in orbit, then send down mining landers to extract the Kethane (or refined fuel) and return it to the space station. It doesn't concern me that you have an endless supply that you can ship from Kerbin. It gives you options. You can ship more from Kerbin, or you can try to make a more or less self-sufficient base or space station. Also, you waste a lot of fuel (and money) launching things from Kerbin. Its high gravity and thick atmosphere make your dV requirements much higher than launching off of the Mun or Minmus. CrewManifest -- makes it easier to crew your ships with crew of your choosing, so you can: send up a 3-man capsule with one person, or fill all of your crewable capsules, or send a manned ship on a test flight with no crew (with a probe core). Kerbal Attachment System (KAS) -- increases what you can do. It is fun making a sky crane that lowers the rover using the winch. Or send up a ship to deorbit debris. Other recommendations: Kerbal Alarm Clock -- makes it easier to have several flights going at once (a must have for me). You set an alarm to remind you to check on a ship at a particular time, or before it reaches a maneuver node, SOI change, etc. Subassembly Manager -- you can save off parts of your rockets to make it easier to reuse designs. Chatterer -- adds ambiance in the form of radio traffic between KSC and your ship. Haystacks -- makes it easier to select ships in map view. ModuleManager -- not a mod in itself, it allows you to tweak other mods or stock parts KSPX -- I really like the additional parts and the options they provide. Not too many parts, nicely done, and they look stock. KW Rocketry -- but only for the fairings. The fairing work really well and look nice. You should also check out the Procedural Fairings mod, I have not had a chance yet. I would also recommend Kerbal Engineer and Protractor, but it sounds like you are strict about your "no play aids" -- which is fine. Do you make any dV or TWR calculations? You can do that by hand or with a spreadsheet. I recommend looking into it because it will deepen your game play when you understand how to make efficient rockets that still get where you want them to go, and understand why it is efficient. And don't just add MOAR BOOSTERS as the solution to everything (even though it is fun ).
  3. Yes, but it is recommended that you use the *Dev* build from his blog (http://forum.kerbalspaceprogram.com/blog.php/16471-Innsewerants), and *not* the one linked on the first page of this thread.
  4. The Kerbal Alarm Clock does not show Kerbin time nor the clock time off your computer. Besides, this predates many of the features in KAC, but the thread got lost somehow. Kerbin time is the current time & date in Kerbin years, months, days, because the Kerbin calendar would not match our own.
  5. Presenting Thunder Aerospace Corporation's AT-1100 Atomic Clock The latest release is version 1.4.1 which works with KSP 1.0.2. Download below or read the release announcement. Having problems with this mod (or any others)? Read the [Official] How To Get Support. I cannot do much to help without log files. Know what time it is on Kerbin and some distant planet called Earth. Time guaranteed to be accurate to the microsecond (warranty void if exposed to moderate G-forces or vibration). Features Displays Universal Time - the time in Earth seconds since the game began. Displays Earth Time - elapsed time in Earth years:months:days hours:minutes:seconds since the game began. Displays Kerbin Time - elapsed time in Kerbin years:months:days hours:minutes:seconds since the game began. Displays Kerbin Mission Time - mission elapsed time (MET) in Kerbin years:months:days hours:minutes:seconds. Displays Real Time - current clock time from your computer. Pictures Download Available on Kerbal Space Program's Curse website. (Alternate download) Source code available on GitHub. Change log Release v1.4.1 - Updated for KSP 1.0.2 - Updated MiniAVC to v1.0.3.0 - Updated to latest TacLib: sets the min/max KSP version, hoping that future KSP updates won't break too much. Release v1.3.1 - Updated for KSP 0.25 - Reorganized the directory structure so that it is no longer placed in ThunderAerospace. Warning: make sure that you completely uninstall any previous versions. I moved everything from KSP/GameData/ThunderAerospace/TacAtomicClock to just KSP/GameData/TacAtomicClock Release v1.3 - See the release announcement. Release v1.2 - See the release announcement. Release v1.0.2 - Some tweaks and changes to the windows, which are now resizable. Release v1.0.1 - the previous upload was missing the Readme and License files. That is the only difference. Release v1.0 - fully functional, and tested with 0.19.1 - includes a spiffy 3D model License: CC BY-NC-SA 3.0 Notice This mod includes version checking using MiniAVC. If you opt-in, it will use the internet to check whether there is a new version available. Data is only read from the internet and no personal information is sent. For a more comprehensive version checking experience, please download the KSP-AVC Plugin.
  6. Just updated with a new version, v1.1: - Can now be activated from EVA. - The Self Destruct now waits 10 seconds, and goes through a countdown sequence, before activating.
  7. I just uploaded a minor update, version v1.0.1: made some tweaks to the window and fixed a couple minor bugs.
  8. Pebble Garden's Phoenix Project series is a great tutorial for learning how to do orbital rendezvous:
  9. Encounters and SOI changes can definitely happen to unfocused ships. I've had two things happen: (1) a satellite in Kerbin orbit matching the Mun's orbit and a little behind it, just outside the SOI, ended being captured by the Mun and then ejected into an eccentric orbit, and (2) a satellite just inside Mun's SOI, around 2000 km, got ejected from Mun's orbit and ended up in a Kerbin orbit. And as PolecatEZ said, the advantage of an Aldrin Cycler (or Mars Cycler, http://en.wikipedia.org/wiki/Mars_cycler) is that your shuttle to/from Earth's surface and to/from Mars' surface can be quite small, while the cycler has everything you need for interplanetary travel. The dV requirements to dock with the cycler are the same, but the smaller mass of the shuttle means that you do not need as much fuel to get that dV.
  10. The electricity requirement is intended to cover temperature control, air circulation, humidity removal, CO2 removal, and air filtration. I did that rather than have you deal with CO2 buildup. I chose the 2 hour window arbitrarily based on when I thought the extra CO2 could be a problem. I am thinking of scaling that based on the current number of crew vs. the crew capacity of the spaceship. So having a larger ship with more crew compartments but fewer crew members would be safer. 24-hour days because I thought people might get confused if I used ~6 hour solar or sidereel days since the game uses 24-hour days. My preference would be to use solar days. Sadly I agree about Niv's numbers. He did a great job, and I referenced his work, but I ended up using different numbers. I need to finish writing up my calculations and justifications. BTW, most of the numbers are configurable by changing them in the /GameData/TacLifeSupport/PluginData/TacLifeSupport/LifeSupport.cfg file (it gets created the first time you run it). Most of the numbers are in daily rations per second. Please let me know what numbers you use
  11. Thunder Aerospace Corporation is proud to offer a sneak peak at our new Life Support system. Many Kerbal lives were bravely sacrificed to bring you the latest in biological needs. Features Kerbals require resources to survive, whether in a vessel or on EVA: Food, Water, Oxygen, Electricity (for air quality and climate control) They produce waste resources: CO2, Waste, WasteWater They will die if they go without resources for too long: 30 days without food, 3 days without water, 5 minutes without Oxygen, and 2 hours without Electricity Crewed pods come stocked with 3 days of resources. When a Kerbal goes on EVA, he takes a half day of each resource with him in the EVA suit, taking from the pod that he was in. Kerbals do require resources even when their vessel is not active, and they can die if you leave them alone for too long. The system tries to stop Time Warp when resources get low and again when resources run out. No guarantees. Please note: I did not include any parts, so there is no way to include more resources on a vessel nor send more resources to another vessel (i.e. a station). There are bugs that still need to be worked out. I am dynamically adding my PartModule and resources to parts that can hold crew that do not already have them. The resource amounts are not showing up in the VAB/SPH. They will show once you move to the launchpad or runway. There is no warning that a vessel far away is running out of resources. You might switch back to a vessel to find the entire crew dead. Eventually there will be a way to convert waste resources back into good resources. Filling up with waste resources (CO2, waste, waste water) has no effect. Any excess is dumped overboard, and you lose the opportunity to convert them back into good resources. Any part modelers that are interested in helping should contact me. Kerbals will not start requiring resources until the first time that you focus the vessel, or get close enough that it loads -- within the 2.3 km load distance. Pictures coming soon (not much to see). More information coming soon. [TABLE=class: outer_border, width:75%, align:center] [TR] [TD] Important Make sure you backup your save before installing this mod. I recommend against trying out this mod in your main save. This is a prerelease version. I take no responsibility for anything that can or will go wrong. This mod intentionally kills Kerbals. Be aware. Download from: https://www.dropbox.com/s/s7epesdwhlf0fik/TacLifeSupport_prerelease0.1.zip Source code available on GitHub: https://github.com/taraniselsu/TacLifeSupport [/TD] [/TR] [/TABLE] Change log: Prerelease v0.1 - Resource requirements work in vessels and on EVA
  12. Yes, it can balance or transfer any resource except things like solid rocket fuel, for obvious reasons
  13. I vote no to this idea. I like to choose when to include MechJeb and when to leave it off. @Spanier - you can add the PartModules to your probes and pods either by editing the cfg's or by using ModuleManager. I think I've seen someone release some stuff where they already did that.
  14. A) See https://github.com/taraniselsu/TacLib/blob/master/Source/Window.cs and what evilC has done with it: https://github.com/evilC/TacLib/blob/master/Source/TacWindowTest.cs Basically you use GUILayout.Window to tell Unity to display the window (http://docs.unity3d.com/Documentation/ScriptReference/GUILayout.Window.html). But you need to do that within Unity's OnGUI() method or in a method called by KSP's RenderingManager (https://github.com/taraniselsu/TacLib/blob/master/Source/Window.cs#L76). The second way is recommended more, because you can properly hide your window when the user hides the UI (presses F2) and when the PauseMenu is displayed. B & C) See https://github.com/evilC/TacLib/blob/master/Source/TacWindowTest.cs#L71. Basically you mark a method with the KSPEvent attribute. That makes it show up when you right click a part. Inside that method, do something to show or hide your window. evilC's code is calling SetVisible(true) on the Window class which makes sure the window is added to KSP's post-draw queue.
  15. I agree that a proper framework is too much. My thoughts are to create some classes that factor out some of the code that is duplicated every time you want to show a window, have the window remember its last position, and properly handle window hiding when paused or in screenshot mode. That was the intention of my TacLib, but for personal use. I think it is also useful for showing others how to do some of those common things that we all do. I also do not like Unity's GUI. I would much prefer something like WPF or Swing or something -- just not MFC!
  16. I am Taranis Elsu, and I endorse this project. Seriously though, I was thinking of working on an example library to help share the knowledge. Some of the discussions and questions on #kspmodders leads me to believe that it would be really helpful to the community. We could stop reinventing the wheel with each new mod, we could have more consistency between mods, and beginners would have a good starting point. My initial focus would be on the simple things that nearly every mod does: showing a window and saving settings. evilC has done a nice job getting the ball rolling, and I plan to help him. More help would be appreciated
  17. I've already made a plugin that can dump fuel: http://forum.kerbalspaceprogram.com/showthread.php/25823
  18. So I got it to work, but it is still throwing an exception: [KSPAddon(KSPAddon.Startup.MainMenu, true)] public class AddEvaModule : MonoBehaviour { private static bool initialized = false; public void Update() { if (!initialized) { initialized = true; AddModule(); AddResources(); } } private void AddModule() { try { ConfigNode node = new ConfigNode("MODULE"); node.AddValue("name", "MyEvaModule"); var partInfo = PartLoader.getPartInfoByName("kerbalEVA"); Debug.Log("TAC AddEvaModule [" + Time.time + "]: Part info = " + partInfo); var prefab = partInfo.partPrefab; Debug.Log("TAC AddEvaModule [" + Time.time + "]: Prefab = " + prefab); var module = prefab.AddModule(node); Debug.Log("TAC AddEvaModule [" + Time.time + "]: Module = " + module); } catch (Exception ex) { Debug.LogError("TAC AddEvaModule [" + Time.time + "]: Failed to add the part module to EVA: " + ex.Message + "\n" + ex.StackTrace); } } private void AddResources() { try { var partInfo = PartLoader.getPartInfoByName("kerbalEVA"); Debug.Log("TAC AddEvaModule [" + Time.time + "]: Part info = " + partInfo); var prefab = partInfo.partPrefab; Debug.Log("TAC AddEvaModule [" + Time.time + "]: Prefab = " + prefab); PartResource resource = prefab.gameObject.AddComponent<PartResource>(); resource.SetInfo(PartResourceLibrary.Instance.resourceDefinitions["MyResource"]); resource.amount = 10; resource.maxAmount = 20; Debug.Log("TAC AddEvaModule [" + Time.time + "]: resource = " + resource); prefab.Resources.list.Add(resource); Debug.Log("TAC AddEvaModule [" + Time.time + "]: added resource"); } catch (Exception ex) { Debug.LogError("TAC AddEvaModule [" + Time.time + "]: Failed to add resources to EVA: " + ex.Message + "\n" + ex.StackTrace); } } } public class MyEvaModule : PartModule { private float lastUpdate; private float lastFixedUpdate; public override void OnAwake() { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnAwake"); base.OnAwake(); lastUpdate = 0.0f; lastFixedUpdate = 0.0f; } public override void OnStart(PartModule.StartState state) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnStart"); base.OnStart(state); } public override void OnLoad(ConfigNode node) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnLoad"); base.OnLoad(node); } public override void OnSave(ConfigNode node) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnSave"); base.OnSave(node); } public override void OnUpdate() { base.OnUpdate(); float now = Time.time; if ((now - lastUpdate) > 5.0) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnUpdate"); lastUpdate = now; } } // Never gets called.... public override void OnFixedUpdate() { base.OnFixedUpdate(); float now = Time.time; if ((now - lastFixedUpdate) > 5.0) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnFixedUpdate"); lastFixedUpdate = now; } } } The error: [Log]: TAC AddEvaModule [3.922859]: Part info = AvailablePart [Log]: TAC AddEvaModule [3.922859]: Prefab = kerbalEVA_RD (Part) [Error]: TAC AddEvaModule [3.922859]: Failed to add the part module to EVA: Object reference not set to an instance of an object at Part.AddModule (System.String moduleName) [0x00000] in <filename unknown>:0 at Part.AddModule (.ConfigNode node) [0x00000] in <filename unknown>:0 at AddEvaModule.AddModule () [0x00000] in <filename unknown>:0 It seems to be good enough for now. The exception does not seem to effect anything. And I got resources to work, see the code.
  19. So I tried to copy the code by Fel: http://forum.kerbalspaceprogram.com/showthread.php/25305-0-20-2-Vanguard-Technologies-EVA-parachutes-Finally-updated-%28Jun-4%29?p=442982&viewfull=1#post442982 like this: [KSPAddon(KSPAddon.Startup.MainMenu, true)] public class AddEvaModule : MonoBehaviour { public void Awake() { ConfigNode node = new ConfigNode("MODULE"); node.AddValue("name", "MyEvaModule"); try { PartLoader.getPartInfoByName("kerbalEVA").partPrefab.AddModule(node); } catch (Exception ex) { Debug.LogError("TAC AddEvaModule [" + Time.time + "]: Failed to add the part module to EVA: " + ex.Message + "\n" + ex.StackTrace); } } } public class MyEvaModule : PartModule { public override void OnAwake() { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnAwake"); base.OnAwake(); } public override void OnStart(PartModule.StartState state) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnStart"); base.OnStart(state); } public override void OnLoad(ConfigNode node) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnLoad"); base.OnLoad(node); } public override void OnSave(ConfigNode node) { Debug.Log("TAC MyEvaModule [" + this.GetInstanceID().ToString("X") + "][" + Time.time + "]: OnSave"); base.OnSave(node); } public override void OnFixedUpdate() { base.OnFixedUpdate(); } } but I keep getting this error: [Error]: TAC AddEvaModule [4.394309]: Failed to add the part module to EVA: Object reference not set to an instance of an object at Part.AddModule (System.String moduleName) [0x00000] in <filename unknown>:0 at Part.AddModule (.ConfigNode node) [0x00000] in <filename unknown>:0 at AddEvaModule.Awake () [0x00000] in <filename unknown>:0 Am I doing something wrong? Or does that not work anymore? I would be content just adding resources to the EVA instead of a PartModule, if that would work. But I cannot get that to work either
  20. Here is how I created an icon like that: https://github.com/taraniselsu/TacLib/blob/master/Source/Icon.cs It is used here: https://github.com/taraniselsu/TacFuelBalancer/blob/Release2.0/Source/FuelBalanceController.cs#L37
  21. Try this: if (CameraManager.Instance.currentCameraMode == CameraManager.CameraMode.IVA)
  22. Another preview of the TAC Fuel Balancer version 2.0! New features: Added sensible default window sizes. Note that all of my windows are resizable. The Lock feature is now linked with the flow state on the part (in the part's right click menu). Disabled if out of power or the vessel is not "controllable". (Sorry, no integration with RemoteTech. I will have to look at that later.) Some bug fixes! This is still very much a work in progress. Completely uninstall the old version before installing this. Download from https://www.dropbox.com/s/tlvanj0jd6mdlss/TacFuelBalancer_pre-2.0.b.zip Please let me know if you tried it out, and whether you had any issues. Also send me suggestions for improvements. @Audiopulse and SchroedingersHat -- sorry but while I agree with you, you have been outvoted. Thanks!
  23. Is there a way for another mod to know whether the vessel is controllable? I would like to disable my mod if the vessel loses contact. Thanks!
×
×
  • Create New...