DUXPLIMA Documentation

Settings

Every field in Settings.luau with its default.

Shared/Config/Settings.luau. One file for the whole system.

System

FieldDefaultWhat it does
DebugfalseExtra [uxrBW] lines in Output. Turn it on while registering lanes
Currency"$"Symbol beside amounts
StartingBalance0Balance a new player begins with

Lane

FieldDefaultWhat it does
Lane.Tag"BowlingLane"Internal name. Leave it
LobbyCountdownSeconds10Wait after the first player joins
MinPlayers1Fewest to start. 1 allows solo
MaxPlayers4Most per lane. Also fills the wait spots
TurnSeconds30Time to throw before a gutter ball is thrown for you
ResultsDisplaySeconds6How long the final scoreboard holds. 0 clears instantly

Game

FieldDefaultWhat it does
Game.Frames10Frames per player
Game.PinCount10Pins per rack

Standard values. Change only for a deliberately non-standard game.

Throw

FieldDefaultWhat it does
MaxAngleDeg45Widest aim either side
DirectionHz0.34Speed of the direction meter. Higher is harder
PowerHz0.46Speed of the power meter
SpinHz0.41Speed of the spin meter
PowerMin28Ball speed at the lightest tap
PowerMax60Ball speed at full power
SpinMax1.0Maximum hook. 0 is none
StrafeRange2.5How far the bowler may step sideways
BallDensity5Ball weight
BallFriction0.35Grip on the lane
BallElasticity0.05Bounce. Keep near zero
PinDensity3Pin weight
PinFriction0.4How far pins slide
PinElasticity0.05Keep near zero
SettleSeconds2.5Wait before counting pins
PinUprightDot0.85How upright a pin must be to count as standing
PinMoveThreshold1.5How far it may have moved and still count
BallSpawnOffsetVector3.new(0, 0, 0)Nudge for the ball's spawn point
CurveForce40How hard the hook bends
CurveDurationSeconds1.2How long the hook is applied

See The throw. The camera is not here: it follows the camera mount part in the lane model.

Machine

FieldDefaultWhat it does
SetterYVector3.new(0, 2.583, 0)Pinsetter travel, up and down
SweepYVector3.new(0, 3.87, 0)Sweep bar travel, up and down
SweepXVector3.new(12, 0, 0)Sweep bar travel, across the lane
StepSeconds0.5Seconds per animation step
EasingStyleQuad
EasingDirectionInOut
SettlePause0.15Pause at the bottom of a move so the swap reads
ReturnSeconds1.2Ball return travel time
ReturnArcHeight2.0How high the returning ball arcs

These match the shipped lane model. A differently sized pinsetter needs different numbers.

Bumper

FieldDefaultWhat it does
Bumper.DefaultOnfalseWhether bumpers start up. Players toggle it in the lobby

Rewards

FieldDefaultWhat it does
Rewards.Win0Paid to the winner
Rewards.Play0Paid to everyone who finished
PayMultiplayerOnlytrueOnly pay games with two or more players

Leaderstats

FieldDefault
Enabledtrue
Wins, Losses"Wins", "Losses"
GamesPlayed"Games"
HighScore"HighScore"
Strikes, Spares"Strikes", "Spares"
StartValuesall 0

Leaderboard

FieldDefault
WorkspaceFolder"uxrBowlingWorkspace"
BoardsFolder"Leaderboards"
Stats{ "Wins", "Losses", "HighScore", "Strikes" }
TopN25
RefreshSeconds60
Store.Prefix"uxrBW_LB"
Store.Version1

See Stats and leaderboards.

Replay

FieldDefaultWhat it does
Replay.EnabledtruePlay slow-motion replays
MaxSeconds5Longest a replay runs
HoldSeconds7Wait before the next turn. Keep it above MaxSeconds

Sounds

KeyShipsPlays
BallRollA real idThe ball down the lane
PinHitA real idThe ball hitting the pins
StrikeA real idA strike
ReplayMusicA real idUnder the replay
SpareSilentA spare
GutterBallSilentA gutter ball
AmbienceSilentLooping background
UIClickSilentInterface buttons

rbxassetid://0 means silent. Sounds.Volume holds a per-sound level from 0 to 1; ReplayMusic and Ambience ship at 0.5 so they sit under the effects.

Profile

FieldDefaultWhat it does
Profile.Store"uxrBW_Profile_v1"The save slot. Changing it wipes everyone
Profile.AutosaveSeconds60Autosave period

Messages

KeyDefault
GameInProgress"A game is already in progress on this lane."
LaneFull"This lane is full (4 players)."
Joined"Joined! Game starts soon."

LaneFull names four players in its text. If you change MaxPlayers, change this string too: nothing substitutes the number for you.