Difference between revisions of "User:Joshuadery"

From Kerbal Space Program Wiki
Jump to: navigation, search
(ModuleConnectedLivingSpace)
Line 601: Line 601:
 
</pre>
 
</pre>
 
|-
 
|-
|
 
{|class="wikitable"
 
 
 
|}
 
|}

Revision as of 13:37, 26 December 2014

MODULES FROM MODS

Defining a module is a task in and of itself and one that I'm sure has already been covered in other places. Many modules defined by mods are duplicating effects that could be created with stock modules, but for one reason or another, the mod owner has decided to create their own modules (possibly for degree of control, possibly because the stock module didn't quite do everything they needed). In any event, I've looked at some of the Mod modules, and detailed them below. By mod, they are:

Kerbal Assembly System

Kerbal Assembly System is most noted for adding the option to grab and move parts using Kerbals. It also allows for storage of certain parts in containers.

MODULE:NEEDS[KAS] for the module

KASModuleContainer

Specifies that this part can serve as a container for other parts, and how much storage space the part has. Also included is an interaction distance. Kerbals must be this close or closer to open the container. Lots of sounds.

variable example definition
maxSize
  • 5
  • 20
  • 80
specifies the size of the container relative to Kerbal Attachment System parts.
maxOpenDistance
  • 1
  • 5
Kerbals must be at least this close (in meters) in order to open the container
sndStorePath
  • KAS/Sounds/hookBayStore
sound stuff
sndOpenPath
  • KAS/Sounds/containerOpen
sound stuff for opening the container
sndClosePath
  • KAS/Sounds/containerClose
sound stuff for closing the container
bipWrongSndPath
  • KAS/Sounds/bipwrong
sound stuff
MODULE
{
 name = KASModuleContainer
 maxSize = 80
}

ModuleConnectedLivingSpace

variable example definition
passable
  • true
  • false
specifies whether Kerbals can commute to parts connected to this part
passableWhenSurfaceAttached
  • true
  • false
can be passed through even when connected to the ground?
MODULE
{
 name = ModuleConnectedLivingSpace
 passable = true
 passableWhenSurfaceAttached = true 
}

KASModuleGrab

variable example definition
evaPartPos
  • (0.0, 0.40, -0.40)
  • (0.0, 0.0, -0.15)
three dimensional array, offset for carrying
evaPartDir
  • (0,0,-1)
three dimensional array for orientation
storable
  • true
  • false
specifies whether the part can be stored
storedSize
  • 20
  • 14
specifies whether the part can be stored
attachOnPart
  • true
  • false
uncertain
attachOnEva
  • true
  • false
unsure
attachOnStatic
  • True
  • False
unsure
customGroundPos
  • True
  • False
unsure
attachNodeName
  • bottom
unsure
dropPartPos
  • (0.0, -0.2, -0.7)
unsure
dropPartRot
  • (-10.0, 0.0, 0.0)
unsure
bayType
  • hookbay
unsure
bayNode
  • top
unsure
bayRot
  • (0.0., 0.0, 0.0)
something to do with rotation
attachSendMsgOnly
  • true
  • false
unknown
MODULE
{
name = KASModuleGrab            
evaPartPos = (0.0, 0.40, -0.40)        
evaPartDir = (0,0,-1)
storable = true
storedSize  = 20
attachOnPart = true
attachOnEva = true
bayType = hookBay
bayNode = top
bayRot = (0.0, 0.0, 0.0)
}

KASModulePartBay

variable example definition
BAY {}
attachNode
  • top
  • bottom
attachment placement
type
  • containerA
  • container
  • hookBay
MODULE
{
 name = KASModulePartBay
 BAY
 {
  attachNode = top
  type = containerA
  type = containerB
 }
}

KASModulePort

variable example definition
attachNode
  • top
unsure
nodeType
  • kasplug
unknown
breakForce
  • 30
unknown
nodeTransformName
  • plugNode
unknown
MODULE
{
 name = KASModulePort
 attachNode = top
 nodeType = kasplug
 breakForce = 30
 nodeTransformName = plugNode
}

KASModuleAnchor

variable example definition

This module will set a custom drag value when the part touch the ground.

groundDrag
  • 500
Drag value of the anchor when it touch the ground
bounciness
  • 0
Bounciness of the anchor
dynamicFriction
  • 0.8
Dynamic friction of the anchor when it touch the ground
staticFriction
  • 0.8
Static friction of the anchor when it touch the ground
MODULE
{
 name = KASModuleAnchor
 groundDrag = 500
 bounciness = 0
 dynamicFriction = 0.8 
 staticFriction = 0.8
}

KASModuleMagnet

This module will make the part acting like a magnet, collided part will be automatically attached. Only work when attached on a winch.

variable example definition
breakForce
  • 10
The force that needs to be applied on the magnet joint to break.
attachToEva
  • true
  • false
Disable/enable attraction of eva
minFwdDot
  • 0.998
Minimum magnet alignement needed to attach (1 is perfectly aligned)
powerDrain
  • 4
Power consumption when the magnet is used
MODULE
{
 name = KASModuleMagnet
 breakForce = 10
 attachToEva = False
 minFwdDot = 0.998
 powerDrain = 4
}

KASModuleStrut

variable example definition
nodeTransform
  • pipeNode
  • strutNode
unknown
type
  • PipeSize1
  • StrutSize1
Unkown
maxLength
  • 20
  • 8
unknown
maxAngle
  • 100
unknown
breakForce
  • 10
unknown
allowDock
  • true
  • false
unknown
allowPumpFuel
  • true
  • false
unknown
hasCollider
  • true
  • false
unknown
tubeScale
  • 0.15
unknown
jointScale
  • 0.15
unknown
textureTiling
  • 1
  • 4
unknown
tubeSrcType
  • Joined
  • Rounded
Unknown
tubeTgtType
  • Joined
  • Rounded
unknown
evaStrutPos
  • (0.05, 0.059, -0.21)
unknown
evaStrutRot
  • (190.0, 0.0, 0.0)
unknown
tubeTexPath
  • KAS/Textures/pipe
unknown
MODULE
{
 name = KASModuleStrut 
 nodeTransform = pipeNode
 type = PipeSize1 
 maxLenght = 20
 maxAngle = 100
 breakForce = 10
 allowDock = true
 allowPumpFuel = true
 hasCollider = false
 tubeScale = 0.15
 jointScale = 0.15
 textureTiling = 1
 tubeSrcType = Joined
 tubeTgtType = Joined
 evaStrutPos = (0.05, 0.059, -0.21)
 evaStrutRot = (190.0, 0.0, 0.0)
        tubeTexPath = KAS/Textures/pipe
}

KASModuleGrapplingHook

This module will make the part acting like a grappling-hook, any collided part in front of the grapple will be automatically attached if the inpact is strong enough. Only work when attached on a winch.

variable example definition
partBreakForce
  • 6
The force that needs to be applied on the grapple/part joint to break.
staticBreakForce
  • 15
The force that needs to be applied on the grapple/static joint to break.
aboveDist
  • 0.05
Distance from the attach point to the center of the part
forceNeeded
  • 4
Collision force needed to attach the grapple.
attachToPart
  • true
  • false
Disable/enable attachment on parts.
rayDir
  • (0,-1,0)
Direction of the attach raycast. Attachment will be done only with objects in that direction.
rayLenght
  • 0.8
Attach ray lenght.
MODULE
{
 name = KASModuleGrapplingHook
 partBreakForce = 6
 staticBreakForce = 15
 aboveDist = 0.05
 forceNeeded = 4
 attachToPart = true
 rayDir = (0,-1,0) 
 rayLenght = 0.8
}

KASModuleWinch

variable example definition
maxLenght
  • 50
  • 80
unknown
cableSpring
  • 1000
cableDamper
  • 0.1
cableWidth
  • 0.04
motorMaxSpeed
  • 2
motorAcceleration
  • 0.05
powerDrain
  • 0.5
  • 0.3
headTransformName
  • head
headPortNodeName
  • portNode
connectedPortNodeName
  • bottom
  • front
anchorNodeName
  • anchorNode
evaGrabHeadPos
  • (0.05, 0.01, -0.11)
evaGrabHeadDir
  • (0,0,1)
evaDropHeadPos
  • (0.05, 0.01, -0.16)
evaDropHeadRot
  • (180.0, 0.0, 0.0)
ejectEnabled
  • true
  • false
ejectForce
  • 20
lockMinDist
  • 0.12
lockMinFwdDot
  • 0.90
MODULE
{
 name = KASModuleWinch
 maxLenght = 50
 cableSpring = 1000
 cableDamper = 0.1
 cableWidth = 0.04
 motorMaxSpeed = 2
 motorAcceleration = 0.05
 powerDrain = 0.5
 headTransformName = head
 headPortNodeName = portNode
 connectedPortNodeName = bottom
 anchorNodeName = anchorNode
 evaGrabHeadPos = (0.05, 0.01, -0.11)
 evaGrabHeadDir = (0,0,1)
 evaDropHeadPos = (0.05, 0.01, -0.16)
 evaDropHeadRot = (180.0, 0.0, 0.0)
 ejectEnabled = true
 ejectForce = 20
 lockMinDist = 0.12
 lockMinFwdDot = 0.90
}