Jump to content

[Minimum KSP version - 1.12] Kerbal Inventory System (KIS) v1.29


IgorZ

Recommended Posts

15 minutes ago, Gordon Dry said:

Hmm, I put the same KIS items into the inventory of all seats on both the Mun orbiter and the lander, but the lander's inventory is empty for all Kerbals.

Is this just an old bug?

No exceptions in the log about anything with KIS or KAS...

This is due to KIS removing parts from unoccupied seats when you launch

Hardcoded ... no way around it from what I can see other than the code being changed

Link to comment
Share on other sites

11 minutes ago, DoctorDavinci said:

Hardcoded ... no way around it from what I can see other than the code being changed

+@Gordon Dry

The code was intentionally made this way. The seat inventories are not containers, they are literally "pockets of the kerbal". That said, if you need to deliver stuff on orbit, use the container parts.

There were ideas to add an in-pod inventory container into every crewed pod. This can be an option, but the proper size for every pod needs to be found. Obviously, mk1 and mk2 pods significantly differ by the amount of free space inside.

Link to comment
Share on other sites

I'll test this patch next session: :P
GameData\zFinal\zzz_AddKISContainerToAllPods.cfg

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleKISInventory],#CrewCapacity[1]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 500
		externalAccess = true
		internalAccess = true
		slotsX = 2
		slotsY = 5
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleKISInventory],#CrewCapacity[2]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 1000
		externalAccess = true
		internalAccess = true
		slotsX = 4
		slotsY = 5
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleKISInventory],#CrewCapacity[3]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 1500
		externalAccess = true
		internalAccess = true
		slotsX = 6
		slotsY = 5
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleKISInventory],#CrewCapacity[4]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 2000
		externalAccess = true
		internalAccess = true
		slotsX = 8
		slotsY = 5
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[ModuleKISInventory],#CrewCapacity[>4]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 2500
		externalAccess = true
		internalAccess = true
		slotsX = 10
		slotsY = 5
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[KerbalEVA],!MODULE[ModuleKISInventory],~CrewCapacity[],#mass[>0.199]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 50
		externalAccess = true
		internalAccess = false
		slotsX = 1
		slotsY = 1
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[KerbalEVA],!MODULE[ModuleKISInventory],#CrewCapacity[0],#mass[>0.199]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	MODULE
	{
		name = ModuleKISInventory
		maxVolume = 50
		externalAccess = true
		internalAccess = false
		slotsX = 1
		slotsY = 1
		slotSize = 50
		itemIconResolution = 128
		selfIconResolution = 128
		openSndPath = KIS/Sounds/containerOpen
		closeSndPath = KIS/Sounds/containerClose
		defaultMoveSndPath = KIS/Sounds/itemMove
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[KerbalEVA],~CrewCapacity[],#mass[>0.399]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	@MODULE[ModuleKISInventory]
	{
		@maxVolume = 100
		@slotsY = 2
	}
}

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[KerbalEVA],#CrewCapacity[0],#mass[>0.399]]:NEEDS[!RealismOverhaul,KIS]:FINAL
{
	@MODULE[ModuleKISInventory]
	{
		@maxVolume = 100
		@slotsY = 2
	}
}

 

Edited by Gordon Dry
3 missing brackets ...
Link to comment
Share on other sites

13 hours ago, IgorZ said:

It's designed this way. When the inventory is on a kerbal's back, it cannot be accessed. And no settings can change it, it's hardcoded.

So setting internalAccess to true won't help? :(

13 hours ago, IgorZ said:

Why are you carrying the rack? You can simply put the container on the ground and access its content. The rack is only needed if you need to attach the container to a vessel.

Because I am doing orbital construction rather than surface. :)

13 hours ago, IgorZ said:

When you have a big station with multiple docked vessels, you can use this ability to move the vessels between the available docking ports...

Thanks, looks like it could be very useful in some situations. I will try it.

 

I would like to ask some more questions if I may. How does ModuleKISPickup work? I understand that it is the module that lets kerbals do KIS actions like grab, detach, and attach. And also having vessels and kerbals with this module helps other kerbals do the same by contributing to their mass limit. But does this module allow non-eva vessels do the same? I hope it does, because I am planning to build a construction robot by adding this module to some parts! :) Or maybe something more like an exosuit by using an external command seat. I am very curious to test the interactions with this module. Of course with the external command seat the kerbal is also out there and able to interact with the world, so maybe with it I don't need the vessel to be able to do KIS things.... ah I guess I am rambling at this point. 

The gist of the question is, I know that if I am controlling an EVA kerbal then I am able to do KIS actions and that ModuleKISPickup interacts with these actions. But I am wondering whether an EVA kerbal is a hard coded requirement or if having said module on the current vessel would be enough. And if the special case of having a kerbal on an external command seat would change anything. Finally how does tools and allowPartAttach/allowStaticAttach/allowStackAttach interact?

I intend to spend some time testing for the answers of these questions tonight, but I would not mind at all if you could help me out if you already know the answers! :) Thanks a lot in advance!

 

PS: Line 528 in KISAddonPick.cs is sort of crushing my hopes for an orbital construction exo suit. :(

if (HighLogic.LoadedSceneIsFlight && FlightGlobals.ActiveVessel.isEVA) {

 

Edited by canisin
Link to comment
Share on other sites

2 minutes ago, canisin said:

So setting internalAccess to true won't help? :(

Nope.

3 minutes ago, canisin said:

Because I am doing orbital construction rather than surface. :)

You know how to spend your spare time :)  Well, I'm afraid carrying the rack and doing all these attachment actions is the only option in your case. I'd suggest having a static rack at the target or having a full inventory there, but, I guess, you've considered these options already.

4 minutes ago, canisin said:

How does ModuleKISPickup work?

The short answer is: differently. The most obvious effect is increasing the mass limit. However, making a robotic arm that would attach things without an active EVA kerbal will likely not work. It's not a principal position of this mod, it's just an implementation limitation :(  I hope to make a full re-design of the mod one day, this is not a short term plan.

In general, I'd suggest you reading thru the Wiki pages. Many of them are outdated, but they are still useful. Specifically if you need to know which setting in the config means what.

Link to comment
Share on other sites

6 minutes ago, IgorZ said:

In general, I'd suggest you reading thru the Wiki pages. Many of them are outdated, but they are still useful. Specifically if you need to know which setting in the config means what.

I just edited my post as you posted your reply. I have read the wiki and I am also reading around in the code. 

Right now I am trying to research whether the game api returns ActiveVessel.isEVA as true while you have a kerbal on an external command seat. Because it seems to me that singular check could be the only thing that prevents non-eva vessels to take KIS actions (within other limitations of course (one of which would be the inability to equip tools)).

 

PS: I don't know if its you or the previous (inital?) mod make, but I love how you emphasize code style in your read me.

Edited by canisin
Link to comment
Share on other sites

2 minutes ago, canisin said:

PS: I don't know if its you or the previous (inital?) mod make, but I love how you emphasize code style in your read me.

The code style is my part - first thing I did when became an owner is a full refactoring of the sources. It's professional, I've spent too much time developing code in a team :) 

Link to comment
Share on other sites

btw, last session also the pilot who always was inside his seat lost his inventory after moving the other crew members, undocking, redocking and moving them back ...

I don't know if this is a CLS / SM issue, no further exceptions found.

Link to comment
Share on other sites

Hey, So I just downloaded KIS for 1.2.2 and after attaching the bombs and going for launch the first thing I get is some "Bomb sound file not found", it's probably more parts than just the bomb but I didn't check everything. What can the problem be?

Link to comment
Share on other sites

15 hours ago, Gordon Dry said:

btw, last session also the pilot who always was inside his seat lost his inventory after moving the other crew members, undocking, redocking and moving them back ...

I don't know if this is a CLS / SM issue, no further exceptions found.

It can happen if you move staff to a pod with dynamic number of seats which doesn't support  KIS. Alas, no solution for this issue at this moment. In order to correctly work with KIS the target pod must have at least as many pod inventory modules as there are seats in the pod.

5 hours ago, max17 said:

Hey, So I just downloaded KIS for 1.2.2 and after attaching the bombs and going for launch the first thing I get is some "Bomb sound file not found", it's probably more parts than just the bomb but I didn't check everything. What can the problem be?

Sorry, but no support is offered for the past versions of KSP. Try it for KSP 1.4+, and if the problem is still there, then it's something to start working with. However, from the problem description I'd suggest you've installed the mod incorrectly (e.g. by downloading from GitHub).

Link to comment
Share on other sites

  • 2 weeks later...

I am having a lot of fun with KIS to build my mun base in situ with individual parts (MKS included). With roverdude konstruction mod I have create a forklift to help my kerbals with the more massive parts. However, I have found that the given range bonus is not extended to the kerbal handling the part, which makes moving the 3.75m parts a hassle as I have to somehow get near the CoM of the part and near enough to the place to attach things.

Is this the intended behavior or am I doing something wrong? It would be nice to have the kerbal be able to reach (via a crane or such) a larger part.

Link to comment
Share on other sites

24 minutes ago, invultri said:

I am having a lot of fun with KIS to build my mun base in situ with individual parts (MKS included). With roverdude konstruction mod I have create a forklift to help my kerbals with the more massive parts. However, I have found that the given range bonus is not extended to the kerbal handling the part, which makes moving the 3.75m parts a hassle as I have to somehow get near the CoM of the part and near enough to the place to attach things.

Is this the intended behavior or am I doing something wrong? It would be nice to have the kerbal be able to reach (via a crane or such) a larger part.

Existing implementation can only measure distance to the CoM of the part. The only way to overcome the limitation, is to adjust the distance limit in the settings file.

Link to comment
Share on other sites

1 minute ago, IgorZ said:

Existing implementation can only measure distance to the CoM of the part. The only way to overcome the limitation, is to adjust the distance limit in the settings file.

Distance limit for the Kerbals themselves you mean ?

Link to comment
Share on other sites

The explosive charge is not working for me, when I right click on it nothing happens. I only tested attaching this part on the vessel using the VAB, as I remember it used to work this way... but later I will use a kerbonaut to see if this still happens.

I'm still on v1.13. I will download 1.14 later but it seems the update is not related to this bug, right?

Here's my log: https://drive.google.com/file/d/1cUotVnM9j_qqW9wYRGzqkthbOrIvFXkj/view?usp=sharing

Thanks!

Edited by Vinil
Link to comment
Share on other sites

40 minutes ago, Vinil said:

The explosive charge is not working for me, when I right click on it nothing happens. I only tested attaching this part on the vessel using the VAB, as I remember it used to work this way... but later I will use a kerbonaut to see if this still happens.

I'm still on v1.13. I will download 1.14 later but it seems the update is not related to this bug, right?

Here's my log: https://drive.google.com/file/d/1cUotVnM9j_qqW9wYRGzqkthbOrIvFXkj/view?usp=sharing

Thanks!

I don't see anything related to KIS in the log. However, I see a lot of errors with the other mod:

[ERR 01:13:19.420] Module CollisionFX threw during OnStart: System.NullReferenceException: Object reference not set to an instance of an object
  at CollisionFX.CollisionFX.SetupParticles () [0x00000] in <filename unknown>:0 
  at CollisionFX.CollisionFX.OnStart (StartState state) [0x00000] in <filename unknown>:0 
  at Part.ModulesOnStart () [0x00000] in <filename unknown>:0 

It may be an issue.

Link to comment
Share on other sites

11 hours ago, IgorZ said:

Thanks for the prompt reaction, but it was me who added the mod there

I was like "Who the _____ does this guy think he is uploading IgorZ's mod!!"

15 sec later I realized it was you :P

Link to comment
Share on other sites

10 hours ago, IgorZ said:

I don't see anything related to KIS in the log. However, I see a lot of errors with the other mod:


[ERR 01:13:19.420] Module CollisionFX threw during OnStart: System.NullReferenceException: Object reference not set to an instance of an object
  at CollisionFX.CollisionFX.SetupParticles () [0x00000] in <filename unknown>:0 
  at CollisionFX.CollisionFX.OnStart (StartState state) [0x00000] in <filename unknown>:0 
  at Part.ModulesOnStart () [0x00000] in <filename unknown>:0 

It may be an issue.

Guess I was mistaken... I just remembered that you need to right click the explosive with a kerbonaut on focus, I'm right? I was clicking with the vessel on focus thinking it would work...

I've been some time away from KSP, this made me forgot the little details, sorry for the trouble :(

Link to comment
Share on other sites

I ran across an odd bug. I use a patch to add a screwdriver and 3 bottles of propellant to each seat. Due to the limitations on seats needing to occupied to keep their contents, today I added  300L per seat inventory to every part with crewcapacity >0 and shifted from using seat inventory for cargo, but still left the auto assigned screwdriver and Eva propellant as appropriate for a Kerbals's pockets.

The bug was in the editor. The inventory of the last seat was empty and it's contents were loaded in the general pod inventory instead. This was consistent across every pod I checked, but I don't think I looked at 1 man pods. 

I didn't investigate further as I was done tweaking my install for the day and had a station to assemble. The pod inventory worked as expected. I just never launched a ship with full seats to see if I could assign parts to the last seat as I was launching mostly empty command pods due to lack of available staff and using pods mtched to stack size instead of crew needs.

This is KSP 1.4.4 running whatever CKAN has as the latest KIS along with about 60 other mods. I'm away from my computer for the night so I can't supply logs until tomorrow.

EDIT TO ADD: NEVERMIND: I found this is only an issue with editing older craft saved before I added the patch for a pod inventory, newly built craft or adding new parts to existing craft don't have the problem. I ran across it editing a space station that had half a dozen crewed parts and those were probably the only parts I checked yesterday.

Honestly this is such an isolated case, that I don't think it's worth chasing.

 

Edited by Tonka Crash
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...