Scrap Mechanic

Scrap Mechanic

Not enough ratings
More Motors [SComputers addon]
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
1.719 MB
16 Jul @ 8:43am
23 Aug @ 6:09am
11 Change Notes ( view )

Subscribe to download
More Motors [SComputers addon]

Description
Adds more motors and creative motors variations. Also have it's own new commands!

Description of new commands:

  • motor.getBearingAngle(index:number):number
    Returns the real angle at which the bearing at the specified index is currently positioned. Pass an index from 1 to motor.getBearingsCount(). Returns 0 if the index is invalid or the bearing does not exist.

  • motor.setBearingAngle(index:number, angle:number|nil)
    Sets a specific angle for the bearing at the specified index. Pass an index from 1 to motor.getBearingsCount(). Pass nil to disable the angle binding for this bearing. The motor will attempt to rotate the bearing to the specified angle when active.

  • motor.getBearingVelocity(index:number):number
    Returns the current angular velocity of the bearing at the specified index. Pass an index from 1 to motor.getBearingsCount(). Returns 0 if the index is invalid or the bearing does not exist.

  • motor.setBearingVelocity(index:number, velocity:number)
    Sets the velocity for the bearing at the specified index. Pass an index from 1 to motor.getBearingsCount(). The motor will apply this velocity to the bearing when active, unless an angle is set.

  • motor.getBearingStrength(index:number):number
    Returns the current applied strength (impulse) of the bearing at the specified index. Pass an index from 1 to motor.getBearingsCount(). Returns 0 if the index is invalid or the bearing does not exist.

  • motor.setBearingStrength(index:number, strength:number)
    Sets the strength for the bearing at the specified index. Pass an index from 1 to motor.getBearingsCount(). The motor will apply this strength to the bearing when active.

  • motor.setBearingActive(index:number, active:boolean|number)
    Activates or deactivates the bearing at the specified index. Pass an index from 1 to motor.getBearingsCount(). If active is a boolean, it directly sets the state (true for active, false for inactive). If active is a number, the bearing is active if active > 0, otherwise inactive. Inactive bearings do not rotate and receive zero velocity and strength.

  • motor.getBearingActive(index:number):boolean
    Returns true if the bearing at the specified index is active, false otherwise. Pass an index from 1 to motor.getBearingsCount().

Additional Notes

  • When the motor is deactivated (using setActive(false)), all bearing-specific settings (angle, velocity, strength, and active state) are cleared. Upon reactivation, all bearings are initialized as active by default.

  • Bearing-specific settings allow for individual control of each connected bearing, overriding the motor's global settings (setAngle, setVelocity, setStrength) for that bearing.

  • The motor's energy consumption is affected by the strength applied to active bearings, as reported by getChargeDelta.