Jump to content

Krazy1

Members
  • Posts

    941
  • Joined

  • Last visited

Everything posted by Krazy1

  1. Issue with 2.4.5.0. Place S3-14400 (root). Put Stayputnik on the end that has the solid black ring. Scale the tank smaller... the Stayputnik moves axially the wrong direction, floating out in space. If it's scaled bigger, the Stayputnik gets hidden inside the tank. However, if you put the probe on the other end of the tank with stripes, then it scales correctly.
  2. I just installed Recall 0.1.0.4 and TweakScale 2.4.5.0 on KSP 1.11.2 with many QoL mods but no other part mods*. The new buttons to disable Refunding and Tweakscale were not touched for testing. First craft test was a simple SEQ-24 filled with cargo - nothing stackable or with anything that has it's own resources (I believe). Confirmed 100% correct funds. (Although KSP did not show the recovery summary because there was no command pod? ) Second test was the notorious Refinery, maybe not exactly the version I uploaded before. In SPH 19785770. Recovered -3731203. "Kerbal 1 Jumbo... Pan Pan Pan." Convert-o-tron value was 8000, same as 1x scale. Drill was 6000 also 1x value. FL-R1 RCS tank value was -459000. Refunding was -34. Third test has 4 variations. All use a S3-14400 tank (root part) and Stayputnik. I noticed in the editor KER did not show "Refunding for KSP111x" like it did before and does when I load the Refinery. 3A: 1x scale tank full fuel. 13300 correct. 3B: 1x scale with no OX: 11874 correct. 3C: 5m tank full fuel: 46782 in editor, recovered 13300. Same as 1x so it's ignoring TweakScale? 3D: 5m tank no OX: 43403 in editor, recovered 9921. Tank value -2667. Refunding value: zero. Less than 1x scale value so I've got no obvious theory. Also found an issue on TweakScale I'll post there. Thanks for your hard work man! *Edit: I lied a little. I do have Simple Fuel Switch installed but didn't use it.
  3. Yeah I figured it was double-counting somehow. With Recall 0.1.0.3 it also spammed the KSP log when loading a ship in the VAB and once when sending a ship to the launch pad from VAB once. It usually worked without error though so I don't have steps to reproduce it. It may have been related to the auto-saved ship. Message (1190 times): I suppose we should enter a KSP bug report too if it's over refunding in stock. I expect it will screw up on the fuel stored in an Oscar tank stored in cargo. I'll get the new version later - RL also calling. Thanks
  4. OK. I'll see what I can do. Another discovery - entering the Tracking Station also triggers the same Map view trigger and then it does give NREs because the button I'm trying to "press" really does not exist in the TS. I don't know why it fired 7 times though.
  5. Umm Huston, we have an over-refunding problem. I sent a rover out at KSC that had a lot of deployable science in cargo. First, it gave errors when I removed a Kerbal's parachute from his PAW inventory slot - screenshot Then when I recovered, it gave me over 160K for a 120K ship. Using latest version. Nothing on the ship was modded. I have TweakScale installed but everything was stock size. KSP 1.11.2. Second test: big rocket in VAB:425792 and recovered 468823... which listed 96607 for Refunding. So that just does not add up at all. This rocket did have a few Tweaked parts.
  6. Ok so I'm trying to toggle the vessel type filter panel at the top of the map view. It's new in KSP 1.11. I wish it would stay open. First I'm just trying to toggle it open every time the map view is entered. I found a trigger for the map view: GameEvents.OnMapEntered.Add(Callback) and the button is pressed with MapViewFiltering.Instance.ToggleFiltersPanel() I believe. A debug.log() message confirms the callback is triggered when map view is entered. But nothing happens with ToggleFiltersPanel. No error or anything. I could further verify that ToggleFiltersPanel is right by checking that it is not in the KSP 1.10 API... but they keep updating the same API documentation link. Did someone archive the old versions? I'm pretty sure I have the right function though. I think there's a execution order issue- it's trying to toggle the filter panel before it's available. I can see the pull-down button is dark gray initially when the map view loads and turns light gray maybe 1/2 second later. The intro tutorial mentions Start() timing may be an issue and suggests a Coroutine (which I'd have to go figure out how it works). Does that sound plausible? Thanks.
  7. So I got the part sorting working . Yay. But I want it to remember another setting in flight. Can I structure the code like: namespace MyMod { [KSPAddon(KSPAddon.Startup.EditorAny, false)] Class EditorStuff {blah blah} [KSPAddon(KSPAddon.Startup.Flight, false)] Class FlightStuff {blah blah} } Update: simple test, looks like this works as expected
  8. LGG has not targeted 1.11 so far. Title says "[1.10.*] [KSP 1.9.0] " But still it's strange. It looks like you have the dependencies. I don't know if I can help but post a KSP.log file maybe someone can. Does the old [x] Science on CKAN work for you? I'm using that old one with 1.11. It has a some issues but it works. Careful to not get the 2 folders mixed up if you try this.
  9. Nice. It sounds like I found the same function "partListSorter.ClickButton" (didn't check your code). I've been fumbling around with it... I'm doing it a bit different though. I wasn't going to have any GUI or options. It will just save the setting directly. There are a few other settings I want it to store too.
  10. The guide was clear about using config nodes in ScenarioModule. Gee, I didn't think about using both KSPAddon and ScenarioModule. One very minor issue with data saved in the savegame: if you remove the mod, say to debug mod interactions , the KSP.log will show new errors because there is data left in the savegame and there's nothing using it. Anyway, I have better options than what I was doing before. Yes - it's great. I have a ship going to Moho. Just aimed for the bullseye and I was lined up for an intercept. Your code has comments! So many comments. Wow.
  11. Thanks again. Very helpful. Yeah, that's the idea. I'm not too surprised it worked like you described. I wish I had a better way to test it. Maybe command line builds would help in some cases. It's slow loading/ exiting KSP every iteration. OK - parsing data isn't much fun. Maybe I'll come back to learn how to do it myself but right now I'd much prefer to have it working. Can I still use the Unity hook KSPAddon? The Getting Started thread says: "Note: There is no integrated save/loading of data in the KSPAddon hook, you must do that manually." I inferred that "manually" meant there was no built-in method at all.
  12. OK so I got the basic function working in the game to sort parts by something other than "name". It just mimics pressing the button like you would do with the mouse. I can't get to read the state but that's a problem for later. Now I'm trying read the setting from a text file. I'm just trying to read this tiny file it's not been easy so far: partListSortAsc, True partListSortIndex, 1 And the .cs (sorry about all the comments) And excerpt from the KSP log: [LOG 18:20:12.474] ------------------- initializing editor mode... ------------------ [LOG 18:20:12.474] editor started [LOG 18:20:12.485] Loading Depletion Nodes [LOG 18:20:12.485] DepNodeCount: 0 [LOG 18:20:12.485] Loading Biome Nodes [LOG 18:20:12.485] BiomeNodeCount: 0 [LOG 18:20:12.485] Loading Planet Nodes [LOG 18:20:12.485] PlanetNodeCount: 0 [LOG 18:20:12.487] [ScenarioDestructibles]: Loading... 0 objects registered [LOG 18:20:12.487] [ScenarioUpgradeableFacilities]: Loading... 0 objects registered [LOG 18:20:12.598] RememEditor Start 6202.018 [LOG 18:20:12.598] RememEditor Start File Path: C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\GameData\_Local\Rememberer.txt [LOG 18:20:12.599] RememEditor Start dict System.Collections.Generic.Dictionary`2[System.String,System.String] [EXC 18:20:12.603] KeyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0) Rememberer.RememEditor.Start () (at <c2786458e8db4538ba8ce3cf296b4868>:0) It has the right file path but the data for "dict" is garbage. I got the lambda function part here (without really understanding it): https://stackoverflow.com/questions/11581101/c-sharp-convert-liststring-to-dictionarystring-string
  13. IFAIK the only stock resource container that has a "jettison" button on the PAW are on the ore tanks. I can't "jettison" EC. This feature predates Squad making the drain valve a stock part. So now the jettison button on the ore tank is redundant (could use a drain valve) but they left in the game just to give you a headache now. I guess it uses a completely different method to jettison vs. drain the ore resource.
  14. I'm not using a drain valve. I used the "Jettison Tank Contents" in the tank PAW.
  15. However... with Recall 0.0.7.7 when jettisoning ore from a stock ore tank, it does jettison "refunding". screenshot
  16. Thanks @HebaruSan That worked. I didn't notice you removed the "new" but I figured that out because it's a Static. So next task is to write new values but I'm afraid that won't work because the constructor (?) has no "set" public static EditorPartList Instance { get; } But it's not Readonly. I'm not sure. I'll try it.
  17. So I got the "hello world" code working and the next step seems like a brick wall right now. I'm trying to learn more C# ("this" and constructors and delegates and why use a Class instead of a Struct). The KSP API documentation is nothing but a list - no explanation of what anything does. I'm trying to read the state of the editor part list sorter: name/ mass/ cost/ size. This compiles but gives NREs. using UnityEngine; namespace Rememberer { [KSPAddon(KSPAddon.Startup.EditorAny, false)] public class RememEditor : MonoBehaviour { public void Start() { //Debug.Log("Editor Start " + Time.realtimeSinceStartup); bool partListSortAscStart = new KSP.UI.Screens.EditorPartList().partListSorter.startSortingAsc; Debug.Log("Editor Start: Part List Sort Asc = " + partListSortAscStart); int partListSortIndexStart = new KSP.UI.Screens.EditorPartList().partListSorter.StartSortingIndex; Debug.Log("Editor Start: Part List Sort Index = " + partListSortIndexStart); } public void OnDisable() { //Debug.Log("Editor OnDisable " + Time.realtimeSinceStartup); bool partListSortAscOnDisable = new KSP.UI.Screens.EditorPartList().partListSorter.startSortingAsc; Debug.Log("Editor Disable: Part List Sort Asc = " + partListSortAscOnDisable); int partListSortIndexOnDisable = new KSP.UI.Screens.EditorPartList().partListSorter.StartSortingIndex; Debug.Log("Editor Disable: Part List Sort Index = " + partListSortIndexOnDisable); } } } Note that this part: ".EditorPartList().partListSorter." without the "()" gives an editor error - partListSorter is not a part of EditorPartList. I don't really understand that. Any help appreciated!
  18. Yes, since 1.11.1. In the lower left when in construction mode (press "i") it shows the mass limit depending on gravity and number of kerbals helping. But parts you're able to manipulate is always limited to smaller parts, even in space.
  19. Sorry, I was lazy and waited for the CKAN 0.0.7.7 release. I removed the MM patch for 0.0.7.5 BTW. I got about 200 NREs on parts on the first load. I just went to the main menu and exited. Example: I didn't see a pattern of why some parts had this error and some did not. I tried again and it did the same thing. KSP log It passed the sanity check... UPDATE: I just ignored the errors and everything seems OK. vOv
  20. Thanks for all the good info. Wow. Is this a game or a virus? I work in aerospace IRL and devs have to meet DO-178 standard. I doubt they'd let this fly.
  21. So I'm trying to get started here. I took CS101 with C++ >20 years ago so bare with me. Maybe this will help someone else too. I got VS Community 2019 installed... figured out I need dotnet workload, not just C# alone. I also installed the Unity plugin. I got passed that. I'm trying to follow this guide. I realize it's outdated and I'm targeting the default dotnet 4.7.2 which should work for KSP 1.8+ according to 1.8 modder notes First issue was I needed to reference UnityEngine.CoreModule.dll because the editor told me MonoBehaviour moved there. I did that. Looks like this now. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; namespace HelloWorld { [KSPAddon(KSPAddon.Startup.MainMenu, false)] public class Hello : MonoBehaviour { public void Update() { Debug.Log("Hello world! " + Time.realtimeSinceStartup); } } } I didn't try it yet - I want to understand it first... Why does it need "using UnityEngine" to define MonoBehaviour? Why doesn't "using UnityEngine.CoreModule" work? There's no CoreModule in UnityEngine namespace - OK. I need to reference UnityEngine.CoreModule.dll but don't need UnityEngine.dll. Why aren't the "using" and DLL references simply the same? How does KSPAddon know what to run? Well, it's not a function - it's an attribute... need to study that. Also, there's no explicit call to Update() so why does it run? and why would it run repeatedly? I don't see the flow control. I'm looking for something like: while(KSPAddon.Startup.MainMenu()) { Hello.Update(); }
  22. Right - that was me. And the patch you provided was and is still working. I figured out the issue I saw - no problem. The long story- I saved a craft with 2 Ant engines in cargo not stacked, then later applied the MM patch, then reloaded the craft and tried to stack those 2 Ants... that didn't work. So I just removed them and replaced with "fresh" Ants and they do stack. Makes sense now.
  23. That's a relief. One craft had "refund" 171 times Well, I was having problems with stackable parts not stacking in cargo storage again. I'll try to see why the patch wasn't working now.
  24. Just removed 0.0.7.5 and then loaded a ship in VAB and it's spamming the KSP log: I'm manually removing dozens of these in a few recent .craft files: Hope that fixes them.
×
×
  • Create New...