msw-ai-tf/maplestory-worlds-creator-docs huggingface dataset:
CreatorDataStoragePages

Provides a search function for CreatorDataStorage.

# Properties

[{"index":"boolean IsLastPage (ReadOnly)","0":"Checks whether the current page is the last."}]

# Methods

[{"index":"table GetCurrentPageDatas() (ServerOnly)","0":"Gets a CreatorDataStorage list of the current page."}]

[{"index":"int32 LoadNextPageAndWait() (ServerOnly) (Yield)","0":"Loads the next page and returns the error code. Can move to the loaded page using MoveToNextPageAndWait(). Script executions are suspended during the operation."}]

[{"index":"void MoveToNextPageAndWait() (ServerOnly) (Yield)","0":"Goes to the next page. Script executions are suspended during the operation."}]
LeaderboardInfo

Leaderboard information.

# Properties

[{"index":"string CurrentSeasonId (ReadOnly)","0":"The Id of the current season."}]

[{"index":"string Id (ReadOnly)","0":"The leaderboard Id."}]

[{"index":"string Name (ReadOnly)","0":"The name of the leaderboard."}]

[{"index":"LeaderboardRankingStrategy RankingStrategy (ReadOnly)","0":"How rankings are determined."}]

[{"index":"LeaderboardRatingStrategy RatingStrategy (ReadOnly)","0":"How scores are calculated."}]

[{"index":"LeaderboardSeasonResetInfo ResetInfo (ReadOnly)","0":"The element related to leaderboard resets."}]

[{"index":"LeaderboardScoringStrategy ScoringStrategy (ReadOnly)","0":"How scores are updated."}]
SpawnLocationComponent

The special Component only for the SpawnLocation Model.

# Properties

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"Checks whether Component is activated or not."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"Displays whether this Component is Enable in the hierarchy. If Entity Enable is false regardless of Component Enable, returns false."}]

[{"index":"Entity Entity (ReadOnly)","0":"The Entity that owns this component."}]

# Methods

##### inherited from Component:

[{"index":"boolean IsClient()","0":"Returns whether the current execution environment is a client or not."}]

[{"index":"boolean IsServer()","0":"Returns whether the current execution environment is a server or not."}]
DamageSkinTextType

Indicates the shape of the damage skin.

# Members

[{"Name":"Miss","Value":"0","Desc":"Outputs the Miss damage skin."},{"Name":"Guard","Value":"1","Desc":"Outputs the Guard damage skin."},{"Name":"Resist","Value":"2","Desc":"Outputs the Resist damage skin."},{"Name":"Shot","Value":"3","Desc":"Outputs the Shot damage skin."},{"Name":"Counter","Value":"4","Desc":"Outputs the Counter damage skin."}]

# Methods

[{"index":"DamageSkinTextType CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"DamageSkinTextType CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
PhysicsCollisionDetectionMode

Sets the detection method for physics collision.

# Members

[{"Name":"Discrete","Value":"0","Desc":"Checks for collisions intermittently. Depending on the speed and size of the object, collisions may not be detected. The higher the speed or the smaller the size, the more likely it will pass without detecting a collision."},{"Name":"Continuous","Value":"1","Desc":"Checks for collisions continuously. Prevents objects from passing through without colliding. The computation requires more resources."}]

# Methods

[{"index":"PhysicsCollisionDetectionMode CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"PhysicsCollisionDetectionMode CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
LeaderboardSeasonResetInfo

Displays the leaderboard reset method. A new season begins each time the leaderboard is reset.

# Properties

[{"index":"DateTime ResettingAt (ReadOnly)","0":"The next reset date and time. Set to nil if ResetType is Never."}]

[{"index":"LeaderboardSeasonResetType ResetType","0":"The reset method."}]

[{"index":"string Schedule","0":"Set the new season starting interval with a Cron expression. For example, when set to '0 9 15 * *', the leaderboard resets, and a new season begins on the 15th of every month at 9 AM."}]

# Constructors

[{"index":"LeaderboardSeasonResetInfo()","0":"Resets LeaderBoardSeasonResetInfo with the set value."}]
UserKickEvent

The event occurs when a user is expelled. Can only occur on the server.  
  
This event is triggered by the API below.

  * UserService (Space;Server)



# Properties

[{"index":"KickReason KickReason","0":"Reason for deportation."}]

[{"index":"string ProfileCode","0":"This player's profile code."}]

[{"index":"string UserId","0":"The user's unique identifier."}]

# Constructors

[{"index":"UserKickEvent(IUser user)","0":"Initializes UserKickEvent to the specified value."}]

[{"index":"UserKickEvent(KickReason kickReason = KickReason.Profanity, string userId = nil, string profileCode = nil)","0":"Initializes UserKickEvent to the specified value."}]
MaterialAnimationClipFilterMode

This filter mode is applied to the overall frame when using an AnimationClip on the material's SpriteRUID.

# Members

[{"Name":"Point","Value":"0","Desc":"Each pixel has its color displayed distinctly. The lines between colors appear much more vividly when zoomed in."},{"Name":"Bilinear","Value":"1","Desc":"Blends the colors of neighboring pixels to create a smoother color transition. The lines between the colors may look blurred when zoomed in."}]

# Methods

[{"index":"MaterialAnimationClipFilterMode CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"MaterialAnimationClipFilterMode CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
DataStorageKeyInfo

This information is used to identify data of DataStorage.

# Properties

[{"index":"string Key","0":"This is a key for the DataStorage data."}]

[{"index":"string Tag","0":"A tag of DataStorage data. You can designate it as a data tag that will save the set value."}]

[{"index":"string Version","0":"The version of data of DataStorage. You can designate it as a data version that will save the set value."}]

# Constructors

[{"index":"DataStorageKeyInfo()","0":"Initializes DataStorageKeyInfo to the default value."}]

[{"index":"DataStorageKeyInfo(string key, string version, string tag)","0":"Initializes DataStorageKeyInfo to the specified value."}]
HitEffectSpawnerComponent

Output the hit effect when a hit event occurs on the Entity.

# Properties

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"Checks whether Component is activated or not."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"Displays whether this Component is Enable in the hierarchy. If Entity Enable is false regardless of Component Enable, returns false."}]

[{"index":"Entity Entity (ReadOnly)","0":"The Entity that owns this component."}]

# Methods

##### inherited from Component:

[{"index":"boolean IsClient()","0":"Returns whether the current execution environment is a client or not."}]

[{"index":"boolean IsServer()","0":"Returns whether the current execution environment is a server or not."}]
WorldComponent

A Component represents the world. No need to use it separately.

# Properties

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"Checks whether Component is activated or not."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"Displays whether this Component is Enable in the hierarchy. If Entity Enable is false regardless of Component Enable, returns false."}]

[{"index":"Entity Entity (ReadOnly)","0":"The Entity that owns this component."}]

# Methods

##### inherited from Component:

[{"index":"boolean IsClient()","0":"Returns whether the current execution environment is a client or not."}]

[{"index":"boolean IsServer()","0":"Returns whether the current execution environment is a server or not."}]
UserDataStoragePages

Provides a feature that can inquire about UserDataStorage of the world.

# Properties

[{"index":"boolean IsLastPage (ReadOnly)","0":"Checks whether the current page is the last."}]

# Methods

[{"index":"table GetCurrentPageDatas() (ServerOnly)","0":"Gets a UserDataStorage list of the current page."}]

[{"index":"int32 LoadNextPageAndWait() (ServerOnly) (Yield)","0":"Loads the next page and returns the error code. Can move to the loaded page using the MoveToNextPageAndWait function. Suspends script executions during performance."}]

[{"index":"void MoveToNextPageAndWait() (ServerOnly) (Yield)","0":"Goes to the next page. Script executions are suspended during the operation."}]
Division

Region information where the world instance is being executed.

# Members

[{"Name":"Unknown","Value":"-1","Desc":"An internal error has occurred."},{"Name":"Tokyo","Value":"0","Desc":"The Tokyo region."},{"Name":"Oregon","Value":"1","Desc":"The Oregon region."},{"Name":"Frankfurt","Value":"2","Desc":"The Frankfurt region."},{"Name":"Tokyo2","Value":"3","Desc":"The Tokyo2 region."}]

# Methods

[{"index":"Division CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"Division CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]

# SeeAlso

  * WorldInstanceService
LeaderboardRatingStrategy

How rankings are calculated based on the win/loss results.

# Members

[{"Name":"Unknown","Value":"-1","Desc":"An unknown error has occurred during the inquiry."},{"Name":"nan","Value":"0","Desc":"The rankings aren't calculated."},{"Name":"Elo","Value":"1","Desc":"The traditional Elo rating method."},{"Name":"MSW","Value":"2","Desc":"The same as the Elo method, but there is a parameter that affects score changes applied."}]

# Methods

[{"index":"LeaderboardRatingStrategy CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"LeaderboardRatingStrategy CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
TouchHoldEvent

This event occurs when an entity is touched. The entity must have a TouchReceiveComponent for the event to occur. Cannot be triggered by a short touch.  
  
This event is triggered by the API below.

  * TouchReceiveComponent (Space;Client)



# Properties

[{"index":"int32 TouchId","0":"The Id that uniquely represents a specific input type. For example, left mouse click is 1. Touch inputs on mobile devices are incremented starting from 1."}]

[{"index":"Vector2 TouchPoint","0":"The screen coordinates where the touch occurred."}]

# Constructors

[{"index":"TouchHoldEvent(Vector2 touchPoint = Vector2(0, 0), int32 touchId = 1)","0":"Initializes TouchHoldEvent to the specified value."}]
BodyType

The type of physics rigid body.

# Members

[{"Name":"Static","Value":"0","Desc":"This is treated as a rigid body with an infinitely large mass. It is not moved by the physics engine. Only Dynamic collides."},{"Name":"Kinematic","Value":"1","Desc":"This is treated as a rigid body with an infinitely large mass, but can be moved by giving it speed."},{"Name":"Dynamic","Value":"2","Desc":"This can collide with any BodyType, controlled by the physics engine."}]

# Methods

[{"index":"BodyType CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"BodyType CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
ButtonState

Indicates a button state.

# Members

[{"Name":"Normal","Value":"0","Desc":"This is the default."},{"Name":"Hover","Value":"1","Desc":"The pointer is over the button."},{"Name":"Pressed","Value":"2","Desc":"The button is held down."},{"Name":"Released","Value":"3","Desc":"The state changes when the button is pressed and released."},{"Name":"Clicked","Value":"4","Desc":"The button is pressed and released only for a short period of time."}]

# Methods

[{"index":"ButtonState CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"ButtonState CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
InstanceRoom

Provides instance room related functions.

# Properties

[{"index":"string InstanceKey (ReadOnly)","0":"The identifier for the instance room."}]

# Methods

[{"index":"int32 GetUserCount()","0":"Returns the number of users belonging to the instance room."}]

[{"index":"boolean IsValid()","0":"Returns whether the instance room is valid."}]

[{"index":"boolean MoveUser(string userId, string mapName = nil) (Yield)","0":"Moves the user with the userId to this instance room. Script executions are suspended during the operation."}]

[{"index":"int32 MoveUsers(table userIds, string mapName = nil) (Yield)","0":"Moves the users with the userIds to this instance room. Script executions are suspended during the operation."}]
TouchReleaseEvent

This event occurs when an entity is released from the touch. The entity must have a TouchReceiveComponent for the event to occur. Cannot be triggered by a short touch.  
  
This event is triggered by the API below.

  * TouchReceiveComponent (Space;Client)



# Properties

[{"index":"int32 TouchId","0":"The Id that uniquely represents a specific input type. For example, left mouse click is 1. Touch inputs on mobile devices are incremented starting from 1."}]

[{"index":"Vector2 TouchPoint","0":"The screen coordinates where the touch occurred."}]

# Constructors

[{"index":"TouchReleaseEvent(Vector2 touchPoint = Vector2(0, 0), int32 touchId = 1)","0":"Initializes TouchReleaseEvent to the specified value."}]
ScreenRecordStartResult

Indicates the screen recording state.

# Members

[{"Name":"Success","Value":"0","Desc":"Screen recording has started."},{"Name":"DeviceNotSupported","Value":"1","Desc":"Your device does not support screen recording."},{"Name":"AlreadyInProgress","Value":"2","Desc":"Screen recording already in progress."},{"Name":"Failed","Value":"3","Desc":"Failed to start screen recording."},{"Name":"DeniedStorageAccess","Value":"4","Desc":"Failed to access photo library or file storage."}]

# Methods

[{"index":"ScreenRecordStartResult CastFrom(number value) (Static)","0":"Converts a number to the applicable type."}]

[{"index":"ScreenRecordStartResult CastFrom(string value) (Static)","0":"Converts a string to the applicable type."}]
ImageType

Indicates how the image is displayed in ImageComponent.

# Members

[{"Name":"Simple","Value":"0","Desc":"Outputs the original image."},{"Name":"Sliced","Value":"1","Desc":"The sprite slice area is reflected and output. Outputs without distortion when the image is resized."},{"Name":"Tiled","Value":"2","Desc":"Prints the image repeatedly. Repeats the same image as a tile."},{"Name":"Filled","Value":"3","Desc":"Prints only a specific part of the image in an area."}]

# Methods

[{"index":"ImageType CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"ImageType CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
TextOverflowMode

Determines what to do when the text exceeds the text box's width.

# Members

[{"Name":"Overflow","Value":"0","Desc":"Displays the text that exceeds the text box."},{"Name":"Ellipsis","Value":"1","Desc":"Crops the text that exceeds the text box. Cropped text will be replaced with an ellipsis."},{"Name":"Truncate","Value":"2","Desc":"Crops the text that exceeds the text box."},{"Name":"Page","Value":"3","Desc":"Displays the text across multiple pages."}]

# Methods

[{"index":"TextOverflowMode CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"TextOverflowMode CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
ComponentRef

A Ref entity to refer to the Component. It holds the Component's Id and searches for the Component when the access is required. Same usage as the Component type.

# Properties

[{"index":"string EntityId (ReadOnly)","0":"The Id of the Entity with the Component that is being referred to."}]

[{"index":"string TypeName (ReadOnly)","0":"The type name of the Component that is being referred to."}]

# Constructors

[{"index":"ComponentRef(Component component)","0":"Initializes ComponentRef, which refers to the specified component."}]

[{"index":"ComponentRef(string entityId, Type componentType)","0":"Initializes ComponentRef, which refers to the component that entityId and componentType indicate."}]

# SeeAlso

  * Component
  * [Property](/docs?postId=205)
Making games accessible to new creators

$$youtube /watch?v=JvYWA0nExdU&list=PLZOm4uzWk9WPDqjGX6yVFBf3vGscTfmOp $$

1-1 Exploring the MapleStory World Environment 1-2 A quick look at coding 1-3 Loading images from other games 1-4 Making monsters fly 2-1 Summoning monsters 2-2 Implementing Teleportation 2-3 Implementing the Heal Skill 2-4 Creating monsters that get stronger with each hit 3-1 Implementing flashy skills 3-2 Making monsters chase you 3-3 Resurrecting through NPCs 4-1 Making monsters drop items 4-2 Using items in the item window 4-3 Throwing projectiles to hit monsters
EntityRef

A Ref entity to refer to the entity. It holds the entity's Id and searches for the entity.

# Properties

[{"index":"string EntityId (ReadOnly)","0":"The Id of an Entity that is referred to."}]

[{"index":"string EntityPath (Deprecated) (ReadOnly)","0":"This property is deprecated."}]

# Constructors

[{"index":"EntityRef(Entity entity)","0":"Initializes EntityRef, which refers to the specified Entity."}]

[{"index":"EntityRef(string entityId)","0":"Initializes EntityRef, which refers to the entity pointing to the specified entityId."}]

[{"index":"EntityRef(string entityId, string entityPath) (Deprecated)","0":"This constructor is deprecated."}]

# SeeAlso

  * Entity
  * [Property](/docs?postId=205)
BackgroundType

Indicates the background type.

# Members

[{"Name":"Unknown","Value":"0","Desc":"This is the default. No background is used."},{"Name":"Template","Value":"1","Desc":"This is the background provided by MapleStory Worlds."},{"Name":"SolidColor","Value":"2","Desc":"Single color background."},{"Name":"Web","Value":"3","Desc":"Web image background."},{"Name":"Gradient","Value":"4","Desc":"Gradient background."},{"Name":"Sprite","Value":"5","Desc":"This is a single sprite image background."}]

# Methods

[{"index":"BackgroundType CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"BackgroundType CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
LeaderboardScoringStrategy

How the score is updated when a new score is registered.

# Members

[{"Name":"Unknown","Value":"-1","Desc":"An unknown error has occurred during the inquiry."},{"Name":"High","Value":"0","Desc":"Only updated when the new score is higher than the previous score."},{"Name":"Last","Value":"1","Desc":"Always updates with the new score. Use this method to apply rankings to the leaderboard."},{"Name":"Cumulative","Value":"2","Desc":"Adds the new score to the previous score."}]

# Methods

[{"index":"LeaderboardScoringStrategy CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"LeaderboardScoringStrategy CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
DamageSkinComponent

Configure damage skins in this component to visually express damage. Specify the format in the attacker Entity's DamageSkinSettingComponent.

# Properties

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"Checks whether Component is activated or not."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"Displays whether this Component is Enable in the hierarchy. If Entity Enable is false regardless of Component Enable, returns false."}]

[{"index":"Entity Entity (ReadOnly)","0":"The Entity that owns this component."}]

# Methods

##### inherited from Component:

[{"index":"boolean IsClient()","0":"Returns whether the current execution environment is a client or not."}]

[{"index":"boolean IsServer()","0":"Returns whether the current execution environment is a server or not."}]
Changing Soundtrack

# Course Introduction

Let's add some suitable background music to the game.

# Adding Background Music

  1. Select Preset List - BGM. [png](16596847059157420a230623740199887ec4783c6f7db)   

  2. Click whichever background music you'd like.   

  3. You can see that Property in the map has been updated with [SoundComponent](/apiReference/Components/SoundComponent). [png](1686532850382c535b46148644216b06c69ac0e68bf02) For detailed information about controllable properties, refer to the [SoundComponent](/apiReference/Components/SoundComponent) section.   

  4. Press Start  and test. You can hear that the background music is playing on the map.
AccountRegion

Shows the region where the user's account was registered. The region is automatically determined based on the region the account was logged into when the account was made.

# Members

[{"Name":"Unknown","Value":"-1","Desc":"An internal error has occurred."},{"Name":"KR","Value":"0","Desc":"The Korean region."},{"Name":"GlobalEastAsia","Value":"1","Desc":"The East Asian region."},{"Name":"GlobalSoutheastAsia","Value":"2","Desc":"The Southeast Asian region."},{"Name":"GlobalWest","Value":"3","Desc":"Other region."}]

# Methods

[{"index":"AccountRegion CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"AccountRegion CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
WriteResultCode

# Members

[{"Name":"Success","Value":"0","Desc":"no description"},{"Name":"InternalServerError","Value":"1","Desc":"no description"},{"Name":"BadRequest","Value":"2","Desc":"no description"},{"Name":"RequestCanceled","Value":"3","Desc":"no description"},{"Name":"ServerTerminated","Value":"4","Desc":"no description"},{"Name":"ServiceUnavailable","Value":"5","Desc":"no description"},{"Name":"RateLimitExceeded","Value":"6","Desc":"no description"},{"Name":"EnvironmentError","Value":"7","Desc":"no description"},{"Name":"InvalidError","Value":"8","Desc":"no description"}]

# Methods

[{"index":"WriteResultCode CastFrom(number value) (Static)","0":"no description"}]

[{"index":"WriteResultCode CastFrom(string value) (Static)","0":"no description"}]
FillMethodType

Method to fill images.

# Members

[{"Name":"Horizontal","Value":"0","Desc":"The image is filled horizontally."},{"Name":"Vertical","Value":"1","Desc":"The image is filled vertically."},{"Name":"Radial90","Value":"2","Desc":"The image is rotated 90 degrees around one corner and filled."},{"Name":"Radial180","Value":"3","Desc":"The image is rotated 180 degrees about one side and filled."},{"Name":"Radial360","Value":"4","Desc":"The image is rotated 360 degrees around the center and filled."}]

# Methods

[{"index":"FillMethodType CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"FillMethodType CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]
[MCI22] MSW Showcase

Introducing the beginning and present vision of MapleStory Worlds.

$$youtube /uP7UcSYWS6Q?t=2150 $$

[35:50](https://www.youtube.com/watch?v=uP7UcSYWS6Q&t=2150s) Beginning of MapleStory Worlds \- Kim Dae-hwon, Vice President of Nexon Korea [41:56](https://www.youtube.com/watch?v=uP7UcSYWS6Q&t=2516s) MSW pilot service review and future development plan \- Shin Min-seok, MSW Director of Nexon Korea  
[1:02:07](https://www.youtube.com/watch?v=uP7UcSYWS6Q&t=3727s) The Future of MSW \- Oh Se-hyung, Head of N platform business office, Nexon Korea
AutomaticLayerOption

Shows the relationship between the RigidbodyComponent and the SortingLayer of the ClimbableSpriteRendererComponent.

# Members

[{"Name":"nan","Value":"0","Desc":"Entity does not change based on foothold, ladder, or rope's SortingLayer."},{"Name":"Climbable","Value":"1","Desc":"When an Entity climbs a ladder or rope, it changes to the corresponding SortingLayer."},{"Name":"All","Value":"2","Desc":"Entity changes along the SortingLayer of the foothold it's stepping on, the ladder it's riding on, or the rope it's riding on."}]

# Methods

[{"index":"AutomaticLayerOption CastFrom(number value) (Static)","0":"Converts numbers to the applicable type."}]

[{"index":"AutomaticLayerOption CastFrom(string value) (Static)","0":"Converts strings to the applicable type."}]