Jump to content

CLS passable batteries, decouplers?


Gordon Dry

Recommended Posts

It's not hard to add it yourself. Look in the CLF folder for the config files and use a text editor to copy/paste one of the configs for a squad part into a new text file.  Each part will have its own short config. So you just need one

Replace the part name with the name of the part you want to make passable. Save the test file as 'filename'.cfg into the gamedata folder

I'm not at my machine now so can't share actual syntax. If what I shared above doesn't make sense I'll post more detail later. 

Link to comment
Share on other sites

I will try it with this one:

GameData\zFinal\zzz_CLSMoreFreedomAddon.cfg

@PART[*ecoupler]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*ecoupler*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*eparator]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*eparator*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*dapter]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*dapter*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*attery]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*attery*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

Edit:

And I found another obvious error, I had to replace "," by "|" (and -> or). Of course ...

Edited by Gordon Dry
And I found another obvious error, I had to replace "," by "|" (and -> or). Of course ...
Link to comment
Share on other sites

Issues like these are why I uninstalled CLS and just force myself to live by CLS-like rules.  Sometimes I just want to use a Mk0 fuel tank (emptied and locked out) as a crew tunnel, without quitting, writing a new patch, etc.  

Link to comment
Share on other sites

On 7/26/2017 at 6:14 AM, Gordon Dry said:

I will try it with this one:

GameData\zFinal\zzz_CLSMoreFreedomAddon.cfg


@PART[*ecoupler]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*ecoupler*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*eparator]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*eparator*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*dapter]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*dapter*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*attery]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

@PART[*attery*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[#attachRules[1,0,1,1,0]|#attachRules[1,0,1,0,0]|#attachRules[1,0,1,1,1]|#attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = true
	}
}

Edit:

And I found another obvious error, I had to replace "," by "|" (and -> or). Of course ...

Thanks for that...what do the '#attachrules[xxx]' portions of your code do? I'm using the code below, which mirrors the syntax of the CLS code, and it works fine.

@PART[XXX]:NEEDS[ConnectedLivingSpace]:FINAL
    { 
    MODULE
        {
        name = ModuleConnectedLivingSpace
        passable = true
        passableWhenSurfaceAttached = true // use if you want the part to be passable when surface attached
        }
    }

Edited by Tyko
Link to comment
Share on other sites

Either it's part specific or it's with wild cards.

@PART[*ecoupler]:

is for everything that ends with "ecoupler", so also upper-case and lower-case is taken in account -> "decoupler" vs. "Decoupler".

The #attachrules say:

attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

So either one of these variants is allowed.

Link to comment
Share on other sites

Actually I'm working with this one
Please tell me if you still find issues.

@PART[*ecoupler]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[~description[*adial*]&attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*ecoupler*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[~description[*adial*]&attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*eparator]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*eparator*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*dapter]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*dapter*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*attery]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[~description[*adial*]&attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

@PART[*attery*]:HAS[!MODULE[ModuleConnectedLivingSpace]]:HAS[~description[*adial*]&attachRules[1,0,1,1,0]|attachRules[1,0,1,0,0]|attachRules[1,0,1,1,1]|attachRules[1,0,1,0,1]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
	{
		name = ModuleConnectedLivingSpace
		passable = false
	}
}

 

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...