> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_dance/api/client.md).

# Client

### Functions

<details>

<summary>DoActionsBeforeMinigameInit</summary>

* This function is called when you open the minigame menu.
* Example:
  * Hide some UI of other script to not overlap with the minigame.

1. Go to `rcore_dance\client\api\cl-api-minigame.lua`
2. Edit body of function `DoActionsBeforeMinigameInit`

</details>

<details>

<summary>DoActionsAfterMinigameEnd</summary>

* This function is called when minigame ends and you close it.
* Example:
  * Show the UI that was hidden before the minigame started.

1. Go to `rcore_dance\client\api\cl-api-minigame.lua`
2. Edit body of function `DoActionsAfterMinigameEnd`

</details>

### Events

<details>

<summary>openMinigameTypeMenu</summary>

* This event will open the menu where you can choose the minigame type if you are not already in a menu.

```lua
TriggerEvent('rcore_dance:client:openMinigameTypeMenu')
```

</details>

<details>

<summary>openSoloMinigameMenu</summary>

* This event will open the menu for Rhythm Mastery minigame type where you can configure and start it.

```lua
TriggerEvent('rcore_dance:client:openSoloMinigameMenu')
```

</details>

<details>

<summary>openBattleMinigameMenu</summary>

* This event will open the menu for Beat Battle minigame type where you can configure and start it.

```lua
TriggerEvent('rcore_dance:client:openBattleMinigameMenu')
```

</details>

<details>

<summary>openFreestyleMinigameMenu</summary>

* This event will open the menu for Freestyle Fiesta minigame type where you can configure and start it.

```lua
TriggerEvent('rcore_dance:client:openFreestyleMinigameMenu')
```

</details>

<details>

<summary>endMinigame</summary>

* This event will end the current dance minigame.

```lua
---@param isForced bool | Whether to force end minigame immediately (if false, player will do animation to pickup mat etc.)
---@param endedBySessionHost bool | Whether the session host ended the minigame (will also cancel session for client)
---@param dontResetMinimap bool | Whether to not reset the minimap (if true, minimap will not appear back if hidden)

TriggerEvent('rcore_dance:client:endMinigame', isForced, endedBySessionHost, dontResetMinimap)
```

</details>
