Copy salient and essential scripts and models from Plane Building Roblox
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
local module = {}
|
||||
|
||||
function module.new(this,piston,context)
|
||||
this.servo = _G.GetInstance(piston,"Servo")
|
||||
this.extension = _G.GetInstance(piston,"Extension")
|
||||
this.binding = _G.GetInstance(piston,"Binding")
|
||||
this.inverted = _G.GetInstance(piston,"Inverted")
|
||||
this.force = _G.GetInstance(piston,"Force")
|
||||
return this
|
||||
end
|
||||
|
||||
local begin = tick()
|
||||
module.run = _G.Protect(function(this,servo,context)
|
||||
local control = (this.control or context.controls[this.binding.Value] or 0)
|
||||
if this.inverted.Value then control = 1 - control end
|
||||
this.servo.TargetPosition = servo.Extension.Value * control * servo:GetScale() + (this.offset or 0)
|
||||
context.replicate(this,servo,module,this.servo.TargetPosition)
|
||||
end)
|
||||
|
||||
module.replication_delta = 0.25
|
||||
function module.replicate(this,servo,context,value)
|
||||
servo.ServoMaxForce = this.force.Value * servo:GetScale() ^ 2
|
||||
servo.TargetPosition = value
|
||||
end
|
||||
|
||||
module.messages = {
|
||||
control = function(this,object,context,value)
|
||||
this.control = value
|
||||
end,
|
||||
offset = function(this,object,context,value)
|
||||
this.offset = value
|
||||
end,
|
||||
}
|
||||
module.messages.default = module.messages.control
|
||||
|
||||
module.manifest = {
|
||||
"Piston"
|
||||
}
|
||||
|
||||
return module
|
||||
Reference in New Issue
Block a user