Flupster

[KSP 1.9.0] [x] Science! Continued - KSP Science report and checklist (V5.23)

Recommended Posts

Posted (edited)

has anybody noticed that you can only get 70 percent science no matter what you set the xmitdatascalar to? 

all of my .cfgs are set to xmitdatascalar = 1.0 and im still only getting 70 percent science to xmit. 

or if you have seen this in the past or anything similiar what was the problem and how did you fix it. 

usually the problem winds up being a part * mm script gone wild. thats been my experience so far anyway. 

 

Edited by COL.R.Neville

Share this post


Link to post
Share on other sites

Feature request: can we get the option to remove the button "Here and Now" from the stock toolbar for those how do not use this.

thx

Share this post


Link to post
Share on other sites
On 3/7/2020 at 10:50 AM, COL.R.Neville said:

has anybody noticed that you can only get 70 percent science no matter what you set the xmitdatascalar to? 

all of my .cfgs are set to xmitdatascalar = 1.0 and im still only getting 70 percent science to xmit. 

or if you have seen this in the past or anything similiar what was the problem and how did you fix it. 

usually the problem winds up being a part * mm script gone wild. thats been my experience so far anyway. 

 

Xmit impacts how much of the gathered science you can transmit. It doesn’t change the max amount of Science you can gather per go. 

Are you sure you’re not confusing xmitdatascalar and science value?

Share this post


Link to post
Share on other sites

xmitdatascalar when set to 1.0 should have the system xmit 100 percent of the science cap. im setting the base value to equal the science cap with this. I may get less science this way but i only have to do the experiment once in a given mask. 

@EXPERIMENT_DEFINITION:HAS[~id[deployed*]]:FINAL
{
    %baseValue = #$scienceCap$
}

but right now it doesnt matter what i set xmitdatascalar to its always using 70 percent. i can set it to 2.0 and it still only xmits 70 percent. 

the problem is some contracts want you to send xmit back 100 percent of the science which the way it is now it can never do.  

and when i look at the experiment definition in the module manager cache the base value, science cap and xmit data scalar are all set to what they should be. 

so there is some kind of order of operation error going on im guessing since it seems to be ignoring what xmitdatascalar is set to. 

and this is on the pad at the ksc so 100 percent connection 

 

Share this post


Link to post
Share on other sites

@Flupster Thanks for maintaining this. One thing I've never understood about the design of this mod is the inability to toggle off the "here and now" feature that seems to cause the frequent game stutters. I literally only want to see what experiments have not been completed and don't care for "here and now." Would you consider adding a toggle for it?

Share this post


Link to post
Share on other sites

[X] Science stopped working...

While starting KSP, I get the information, that there is a newer Version... But I still downloaded 5.26 and added it to the Folder...

Ingame it doesn't show any experiments. Not only one...

KSP 1.9.1.
X Science 5.26

Share this post


Link to post
Share on other sites
On 3/17/2020 at 12:53 PM, COL.R.Neville said:

xmitdatascalar when set to 1.0 should have the system xmit 100 percent of the science cap. im setting the base value to equal the science cap with this. I may get less science this way but i only have to do the experiment once in a given mask. 

@EXPERIMENT_DEFINITION:HAS[~id[deployed*]]:FINAL
{
    %baseValue = #$scienceCap$
}

but right now it doesnt matter what i set xmitdatascalar to its always using 70 percent. i can set it to 2.0 and it still only xmits 70 percent. 

the problem is some contracts want you to send xmit back 100 percent of the science which the way it is now it can never do.  

and when i look at the experiment definition in the module manager cache the base value, science cap and xmit data scalar are all set to what they should be. 

so there is some kind of order of operation error going on im guessing since it seems to be ignoring what xmitdatascalar is set to. 

and this is on the pad at the ksc so 100 percent connection 

 

Works fine here with these two patches:

// Set the amount of science you get for an experiment to its max value. Now you don't have to perform the same experiment in the same situation several times to get that last bit of science.
@EXPERIMENT_DEFINITION:HAS[~id[deployed*],~id[ROC*]]:FOR[MyStuff]
{
	@baseValue = #$scienceCap$
}

// Small config to set the xmitDataScalar value for numerical science
@PART[*]:HAS[@MODULE:HAS[~experimentID[ROC*],~experimentID[surfaceSample],#rerunnable[?rue],#xmitDataScalar[<1]]]:FOR[MyStuff]
{
	@MODULE:HAS[~experimentID[ROC*],~experimentID[surfaceSample],#rerunnable[True],#xmitDataScalar[<1]]
	{
		@xmitDataScalar = 1
	}
}

Not to mention that x Science only activates experiments, as far as I know it does not interfere with the amount gathered and/or sent.
Ps. you will have other issues down the line if you don't add ROC experiments to your exclusion, just saying. ;)

2 hours ago, Keppchen said:

[X] Science stopped working...

While starting KSP, I get the information, that there is a newer Version... But I still downloaded 5.26 and added it to the Folder...

Ingame it doesn't show any experiments. Not only one...

KSP 1.9.1.
X Science 5.26

Also working fine here :/ KSP 1.9.1 + x Science 5.26

Share this post


Link to post
Share on other sites
3 hours ago, Jognt said:

Ps. you will have other issues down the line if you don't add ROC experiments to your exclusion, just saying.

I haven't actually got to the breaking ground stuff yet, since I just started playing this game again after a long break. What happens if you don't exclude the ROC experiments? I need to add that to my patch. I'm using ~id[deployed*] but not ~id[ROC*]

Share this post


Link to post
Share on other sites
Posted (edited)
56 minutes ago, Kwebib said:

I haven't actually got to the breaking ground stuff yet, since I just started playing this game again after a long break. What happens if you don't exclude the ROC experiments? I need to add that to my patch. I'm using ~id[deployed*] but not ~id[ROC*]

Honestly? I can't remember the exact details, but back when Breaking Ground was released I must have added it for a reason!

Past-me probably found that the Breaking Ground surface feature experiments (which this applies to) have a usecase where modifying them is undesirable.

Note that you may as well just grab the Full Reward and/or Full Transmit mods as those do exactly this and will be updated along the way.

Edit: I take that back. The ROC experiments that I just checked already have basevalue == sciencecap. So there shouldn't be scary stuff (or even changes at all) by ex or including them. I must have excluded them on a "Don't tweak what I don't yet fully understand" basis or to keep unneeded modifications to a minimum. My apologies.

Edited by Jognt

Share this post


Link to post
Share on other sites
Posted (edited)

yeah im using the full reward/xmit mods. 

but i switched over to what you posted jognt.   

it takes about 20 or 30 minutes to spin up and ill see whats doing. 

 

i tried what you posted its doing the same thing. 

its like there is some kind of int to float thing going on. if its an int then it gets rounded up to 1 yeah  float its 0.7

yeah im an idiot it has to be a float to do the 0.5 default values. doesnt it hehe. 

but no idea where 0.7 is coming from its not in any cfg in my gamedata folder so that means its a dll somewhere. 

ill just have to start pulling them out one by one to find it. 

and i have 29,941 Files, 3,920 Folders in my gamedata folder hehe. 

 

 

Edited by COL.R.Neville

Share this post


Link to post
Share on other sites
Posted (edited)

@Flupster Found why DMagic's Orbital Science (e.g. Magnetometer Boom) does not work:
deployDMExperiment expects IScienceDataContainer not ModuleScienceExperiment
https://github.com/DMagic1/Orbital-Science/blob/a4e805b9f819692a1546b741683da64b783694fe/Source/DMAPI.cs#L111
https://github.com/Flupster/KSP-X-Science/blob/3ba43b8d0ff550ee9f91d65d8cfaa1202c5acf31/X-Science/DMagic.cs#L166

https://github.com/Flupster/KSP-X-Science/pull/8

 

P.S: My DLL is here: https://github.com/firdacz/KSP-X-Science/blob/firda/GameData/[x] Science!/[x] Science!.dll?raw=true
(includes some changes about EVA on ladder around KSC)

Edited by firda
PR#8, DLL

Share this post


Link to post
Share on other sites
Posted (edited)

Hello. I am having this peculiar problem where I have to uninstall and reinstall the mod every time before I launch the game otherwise the game crashes within seconds at the load screen. When I uninstall it through CKAN I get the message "The below directories are leftover after removing some mods. They contain files that were not installed by CKAN (probably either generated by a mod or installed manually)"
The directory is gamedata\[x] Science!
The mod works fine in game but I have to set it up each time to my preferences.

Edited by Yiannis

Share this post


Link to post
Share on other sites
1 hour ago, Yiannis said:

Hello. I am having this peculiar problem where I have to uninstall and reinstall the mod every time before I launch the game otherwise the game crashes within seconds at the load screen. When I uninstall it through CKAN I get the message "The below directories are leftover after removing some mods. They contain files that were not installed by CKAN (probably either generated by a mod or installed manually)"
The directory is gamedata\[x] Science!
The mod works fine in game but I have to set it up each time to my preferences.

Try deleting "[x] Science!\PluginData\[x] Science!\settings.cfg" instead of reinstalling.
Anyway, include at least KSP.log to get any support, some require output_log.txt / Player.log - see

 

Share this post


Link to post
Share on other sites
On 4/3/2020 at 9:01 PM, firda said:

Try deleting "[x] Science!\PluginData\[x] Science!\settings.cfg" instead of reinstalling.
Anyway, include at least KSP.log to get any support, some require output_log.txt / Player.log - see

 

I finally found that after running the game the file miniAVC.xml is created in the gamedata\[x] Science folder which crashes the game in subsequent launches. I just delete the file and play the game.

Share this post


Link to post
Share on other sites
On 4/6/2020 at 6:16 PM, Yiannis said:

I finally found that after running the game the file miniAVC.xml is created in the gamedata\[x] Science folder which crashes the game in subsequent launches. I just delete the file and play the game.

See this post:

I have ZeroMiniAVC installed for a long time (I use CKAN), so I did not even notice the problem,
and BTW, even removed MiniAVC from my build of this mod:

https://github.com/firdacz/KSP-X-Science/tree/firda/GameData/[x] Science!

Share this post


Link to post
Share on other sites
Posted (edited)
On 3/27/2020 at 1:29 PM, Jognt said:

Honestly? I can't remember the exact details, but back when Breaking Ground was released I must have added it for a reason!

Past-me probably found that the Breaking Ground surface feature experiments (which this applies to) have a usecase where modifying them is undesirable.

Note that you may as well just grab the Full Reward and/or Full Transmit mods as those do exactly this and will be updated along the way.

Edit: I take that back. The ROC experiments that I just checked already have basevalue == sciencecap. So there shouldn't be scary stuff (or even changes at all) by ex or including them. I must have excluded them on a "Don't tweak what I don't yet fully understand" basis or to keep unneeded modifications to a minimum. My apologies.

Actually, I remember troubleshooting this with you when Breaking Ground came out. Remember, surface experiments kept jumping up to like 7000%+ completion and breaking contracts? Also we were getting zillions of notifications continuously. We thought it had to do with the Science - Full Reward mod but it later ended up being a bug in the expansion that got patched a little while later haha. So it's safe to leave them out of your exclusion. All that'll happen is that your surface experiments will compete to 100% instantly (Or in the case of the seismic sensor, the first thing that crashes into the surface will give you 100% completion).

Edit: My bad, that might not be what you're talking about. That's deployed surface experiments, not surface features... /facepalm

On 3/29/2020 at 4:40 PM, COL.R.Neville said:

yeah im using the full reward/xmit mods. 

but i switched over to what you posted jognt.   

it takes about 20 or 30 minutes to spin up and ill see whats doing. 

 

i tried what you posted its doing the same thing. 

its like there is some kind of int to float thing going on. if its an int then it gets rounded up to 1 yeah  float its 0.7

yeah im an idiot it has to be a float to do the 0.5 default values. doesnt it hehe. 

but no idea where 0.7 is coming from its not in any cfg in my gamedata folder so that means its a dll somewhere. 

ill just have to start pulling them out one by one to find it. 

and i have 29,941 Files, 3,920 Folders in my gamedata folder hehe. 

 

 

I'm not sure I fully understand your issue... Science - Full Reward and Full Transmit are both working as expected for me.

In any case, your issue likely has to do with one of those two mods or else a conflict with something else. [X] Science I don't think really cares about those values.

Edited by Tekaoh

Share this post


Link to post
Share on other sites
On 3/29/2020 at 10:40 PM, COL.R.Neville said:

yeah im using the full reward/xmit mods. 

but i switched over to what you posted jognt.   

it takes about 20 or 30 minutes to spin up and ill see whats doing. 

 

i tried what you posted its doing the same thing. 

its like there is some kind of int to float thing going on. if its an int then it gets rounded up to 1 yeah  float its 0.7

yeah im an idiot it has to be a float to do the 0.5 default values. doesnt it hehe. 

but no idea where 0.7 is coming from its not in any cfg in my gamedata folder so that means its a dll somewhere. 

ill just have to start pulling them out one by one to find it. 

and i have 29,941 Files, 3,920 Folders in my gamedata folder hehe. 

 

 

Uhm. Check your ModuleManager.configcache file. Do a search for the experiments in question and check the xmit value. It should be 1 when using the applicable mod. If it’s not, then your player.log and/or ModuleManager log (if it’s still a thing in the logs folder) can tell you what specific CFG applied the change to the specific part. (They’re all listed like “applying patch XYZ to part.cfg”-ish)

Share this post


Link to post
Share on other sites

The Notification window don't show uncompleted experiments on Desert Launch Complex mini-biomes.

The Main window works normally.

Share this post


Link to post
Share on other sites

@Flupster

Two issues:  First, getting the following errors:

Spoiler


[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAVintage threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAfemaleVintage threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAFuture threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAfemaleFuture threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()

 

These errors are because the code isn't looking for the new Kerbal models in the latest version of the game & DLC

Second, I think it is having issues with the DMagic stuff.  I was looking at your code with an eye towards updating ScienceAlert, and found that it wasn't working.  Not sure why.  And I wasn't looking to test in xScience, it was just that the DMAPI code that I copied from xScience turned out to be incompatible with the current version of DMagic.  I ended up using the DMAPI which is in the DLL.  This is on KSP 1.9.1, let me know if you need more.

 

Share this post


Link to post
Share on other sites
On 5/3/2020 at 10:23 AM, linuxgurugamer said:

@Flupster

Two issues:  First, getting the following errors:

  Reveal hidden contents



[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAVintage threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAfemaleVintage threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAFuture threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[5/3/2020 10:16:26 AM [x] Science!]: <Info> (ScienceContext) - kerbalEVAfemaleFuture threw NullReferenceException in System.Collections.Generic.List`1[ModuleScienceExperiment] FindModulesImplementing[ModuleScienceExperiment]()

 

These errors are because the code isn't looking for the new Kerbal models in the latest version of the game & DLC

Second, I think it is having issues with the DMagic stuff.  I was looking at your code with an eye towards updating ScienceAlert, and found that it wasn't working.  Not sure why.  And I wasn't looking to test in xScience, it was just that the DMAPI code that I copied from xScience turned out to be incompatible with the current version of DMagic.  I ended up using the DMAPI which is in the DLL.  This is on KSP 1.9.1, let me know if you need more.

 

@Flupster

DMagic is going to release an update for the DMModuleScienceAnimateGeneric soon, I was able to identify a bug in it and sent him a fix.  This is going to change the namespace for the methods, so you are going to have to update xScience when it comes out.

Share this post


Link to post
Share on other sites

@firda Will your PR be working with new DMModuleScienceAnimateGeneric v0.23 ?

Do you have the patch that was discussed there few pages ago?

// [x]-Science doesn't work with DMModuleScienceAnimate
// The patch changes DMModuleScienceAnimate to DMModuleScienceAnimateGeneric
// Need to install DMModuleScienceAnimateGeneric

@PART:HAS[@MODULE[DMModuleScienceAnimate]]:NEEDS[DMModuleScienceAnimateGeneric]:AFTER[DMModuleScienceAnimateGeneric]
{
	@MODULE[DMModuleScienceAnimate]
	{
		@name = DMModuleScienceAnimateGeneric
	}
}

 

Share this post


Link to post
Share on other sites
Posted (edited)
8 hours ago, flart said:

@firda Will your PR be working with new DMModuleScienceAnimateGeneric v0.23 ?

Do you have the patch that was discussed there few pages ago?


// [x]-Science doesn't work with DMModuleScienceAnimate
// The patch changes DMModuleScienceAnimate to DMModuleScienceAnimateGeneric
// Need to install DMModuleScienceAnimateGeneric

@PART:HAS[@MODULE[DMModuleScienceAnimate]]:NEEDS[DMModuleScienceAnimateGeneric]:AFTER[DMModuleScienceAnimateGeneric]
{
	@MODULE[DMModuleScienceAnimate]
	{
		@name = DMModuleScienceAnimateGeneric
	}
}

 

Not critical, but you can leave out the NEEDS in that patch. AFTER is both timing & conditional in one.

Edited by Jognt

Share this post


Link to post
Share on other sites
Posted (edited)
20 hours ago, flart said:

@firda Will your PR be working with new DMModuleScienceAnimateGeneric v0.23 ?

Do you have the patch that was discussed there few pages ago?


// [x]-Science doesn't work with DMModuleScienceAnimate
// The patch changes DMModuleScienceAnimate to DMModuleScienceAnimateGeneric
// Need to install DMModuleScienceAnimateGeneric

@PART:HAS[@MODULE[DMModuleScienceAnimate]]:NEEDS[DMModuleScienceAnimateGeneric]:AFTER[DMModuleScienceAnimateGeneric]
{
	@MODULE[DMModuleScienceAnimate]
	{
		@name = DMModuleScienceAnimateGeneric
	}
}

 

1. Will have to test that, but my code uses different approach - KSP-native AssemblyLoader.loadedAssemblies, looking for
a) class named DMModuleScienceAnimate in module DMagic derived from PartModule (Magnetometer Boom etc.)
b) class named DMModuleScienceAnimateGeneric in module DMModuleScienceAnimateGeneric derived ....

so it is not dependent on namespaces, just class-name and dll-name, nothing else.
NOTE: that is not part of the PR, but you can find it in my code here: https://github.com/firdacz/KSP-X-Science/blob/firda/DMagic.cs

2. No need for such MM-patch because I fixed the code which now works with DMModuleScienceAnimate directly (that is/was the purpose of the PR).

 

EDIT: Actually, I did not push that version. Will test it and do it when I have time. The code involved looks like this:

Spoiler

		public static void Init()
		{
			var logger = new Logger("DMagic");

			foreach (var asm in AssemblyLoader.loadedAssemblies)
			{
				switch (asm.name)
				{
				// DMagic's Orbital Science (Magnetometer etc.)
				case "DMagic":
					try
					{
						ScienceAnimateType =
							(ScienceAnimate =
							new API(asm.typesDictionary
							[typeof(PartModule)]
							["DMModuleScienceAnimate"])
							).type;
						Installed = true;
					}
					catch (Exception ex)
					{
						logger.LogError("Could not reflect DMagic's DMModuleScienceAnimate: " + ex.ToString());
					}
					break;
				// DMagic's generic module used e.g. by ReStock+ (if both installed)
				case "DMModuleScienceAnimateGeneric":
					try
					{
						ScienceAnimateGenericType = 
							(ScienceAnimateGeneric =
							new API(asm.typesDictionary
							[typeof(PartModule)]
							["DMModuleScienceAnimateGeneric"])
							).type;
						Installed = true;
					}
					catch (Exception ex)
					{
						logger.LogError("Could not reflect DMagic's DMModuleScienceAnimateGeneric: " + ex.ToString());
					}
					break;
				}
			}
		}

 

EDIT2: Updated, dll here: https://github.com/firdacz/KSP-X-Science/blob/firda/GameData/[x] Science!/[x] Science!.dll?raw=true

Note that it was created 5.4.2020 but I did test it just now, after updating everything. Looks like I fixed a problem that did not even exist at that time.

Edited by firda

Share this post


Link to post
Share on other sites

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.