Pular para o conteúdo

Client Level Start String

Este conteúdo não está disponível em sua língua ainda.

The start level string consists of information about the starting state of the level and the objects it contains. It is encoded in base64. Its raw representation is formatted as follows:

{level_start};{object_string}, where

  • level_start is the level start object,
  • object_string is the object string.

Theoretically, the start level string in its entirety is the object string, however the level start object is treated specially, unlike every other object, and doesn’t even have an ID.

Level Start Object

The level start object has the following properties, formatted as {key},{value},{key},{value}

KeyNameTypeDescription
kA1AudioTrackIntegerThe audio track which the level uses
kA2GamemodeGamemodethe gamemode the player starts with
kA3Mini Modebooldetermines whether the player starts off as mini Mode
kA4SpeedSpeedthe speed of the level at the start
kA5Obj-2 Blendingbool(deprecated since 1.9) Whether Object-2 (color channel 1) uses blending or not
kA6Background Texture IDintegerthe ID of the background texture that is being used in the level
(enumerated in the same order as appears)
kA7Ground Texture IDintegerthe ID of the ground texture that is being used in the level
(enumerated in the same order as appears)
kA8Dual Modebooldetermines whether the player starts off in dual Mode
kA9Level/Start Pos Objectbooldetermines whether this object represents a Level Start or a Start Pos object (true for the latter)
kA102-Player Modebooldetermines whether 2-Player Mode is toggled on for this level
kA11Flip Gravitybooldetermines whether the player starts off in flipped Gravity
kA12Color3 Blending (UNUSED)boolUnused, apparently meant to determine whether color channel 3 is blending or not
kA13Song Offsetfloatthe song offset in seconds from which the level begins
kA14GuidelinesGuideline Stringthe editor song guidelines of the level
kA15Fade Inbooldetermines whether the song will fade in as soon as the level starts
kA16Fade Outbooldetermines whether the song will fade in as soon as the level ends
kA17Ground Lineintegerthe ID of the ground line that is being used in the level
kA18Fontintegerthe ID of the font that is being used in the level
kA20Reverse GameplayboolWhether gameplay is reversed at the start
kA22Platformer ModeBoolIf the level is in Classic Mode (0) or Platformer Mode (1)
kA25Middleground Texture IDintegerthe ID of the middleground texture that is being used in the level
(enumerated in the same order as appears)
kA27Allow Multi-Rotationbool(Compatibility setting) Whether you can run multiple rotation actions on the same target group or not
kA28Mirror ModeboolWhether the screen is mirrored at the start
kA29Rotate GameplayboolWhether gameplay is rotated at the start
kA31Enable Player Squeezebool(Compatibility setting) Whether the player can be killed by being squeezed between 2 objects
kA32Fix Gravity Bugbool(Compatibility setting) Whether the bug where flipped gravity behaves differently from normal is fixed
kA33Fix Negative Scalebool(Compatibility setting) Whether negatively scaled objects have correct hitboxes (1) or not (0)
kA34Fix Robot Jumpbool(Compatibility setting) Whether the robot can jump very high with a pad (0) or not (1)
kA36Spawn GroupintegerThe group at which the player spawns
kA37Dynamic Level Heightbool(Compatiblity setting) Whether the level ceiling is affected by higher objects
kA38Sort Groupsbool(Compatibility setting) Whether groups are spawn triggered left to right or not
kA39Fix Radius Collisionbool(Compatibility setting) Whether the player’s hitbox has a circle for circular hazard collision or not
kA40Enable 2.2 Changesbool(Compatibility setting) Whether miscellaneous 2.2 changes are enabled or not
kA41Allow Static-Rotatebool(Compatibility setting) Whether static objects can be rotated or not
kA42Reverse Syncbool(Compatibility setting) Whether the player’s speed is changed when reversing to preserve music sync
kA43No Time PenaltyboolWhether you get a point penalty for time (0) or not (1) in platformer
kA45Decrease Boost Slidebool(Compatibility setting) Whether the player receives a lesser boost in Platformer when boosted by dash orb or moving platforms
kS38ColorsColor Stringthe color channels that are being used in this level
kS39Color Pageintegerthe color page which was last displayed in the color channel display window

Pre-2.0 Keys

The following keys were valid prior to 2.0 and are deprecated, since they are included in the new kS38 key. They all represented a color channel that is now indexed through the respective color channel ID.

KeyNameColor Channel ID
kS29BG Color1000
kS30Ground Color1001
kS31Line Color1002
kS32Object Color1004
kS33Color 11
kS34Color 22
kS35Color 33
kS36Color 44
kS373DL Color1003

Pre-1.9 Keys

The following keys were valid prior to 1.9 and were deprecated as of 1.9, since they were included in the keys kS29-kS33. Each color, instead of using one key, used 3 keys to represent Red, Green, and Blue values, respectively. In 1.7 and 1.8, the game used a fourth key to determine if a color channel used a player color, and which player color it would use.

Key(s)NameKey in 1.9
kS1-kS3BG ColorkS29
kS4-kS6Ground ColorkS30
kS7-kS9Line ColorkS31
kS10-kS12Object ColorkS32
kS13-kS15Obj-2 ColorkS33
kS16BG Player ColorkS29
kS17Ground Player ColorkS30
kS18Line Player ColorkS31
kS19Object Player ColorkS32
kS20Obj-2 Player ColorkS33

Keys kS16-kS20 used to determine the player color that was being used and their values were interpreted according to the following table:

ValueColor
0Neither
1Player Color 1
2Player Color 2

Start Pos Object

The Start Pos object has the same special properties the level start object has, with a few not working and with a few exclusive ones, listed at the bottom. kA9 must be set to 1 in the case that the object is indeed a Start Pos.

Specifically, the only functional properties in a Start Pos object are the ones involving gameplay state, thus excluding visual-related ones (BG/ground textures, font, colors, etc.)

Confirmed properties that do not work in the Start Pos:

Key
kA5
kA6
kA7
kA10
kA13
kA14
kA15
kA16
kA18
kS*

Since 2.2, the Start Pos object has its own unique properties that do not work in the Level Start object. This is a table of all of them:

KeyNameTypeDescription
kA19Target OrderIntegerThe Target Order property of the Start Pos
kA21DisableboolWhether the Start Pos is disabled
kA26Target OrderIntegerThe Target Channel property of the Start Pos
kA35Reset CameraboolWhether the camera is reset when playing from this Start Pos