# ShapeClass.client_onAction

Called when the interactable receives input from a [Player](../Game-Script-Environment/Userdata/Player.md) with the [Character](../Game-Script-Environment/Userdata/Character.md) locked to the [Interactable](../Game-Script-Environment/Userdata/Interactable.md).

**Kind:** Callback

**Environments:** Game

## Game

**Callback side:** Client

``` { .lua .api-signature }
ShapeClass:client_onAction( action, state )
```

[Open the full Game reference](../Game-Script-Environment/Classes/ShapeClass.md#client_onaction)

When a [Character](../Game-Script-Environment/Userdata/Character.md) is seated in an [Interactable](../Game-Script-Environment/Userdata/Interactable.md) [Shape](../Game-Script-Environment/Userdata/Shape.md) with a "seat" component, the [Character](../Game-Script-Environment/Userdata/Character.md) is also considered locked to the [Interactable](../Game-Script-Environment/Userdata/Interactable.md).

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `self` | table | The class instance. |
| `action` | integer | The action as an integer value. More details in [sm.interactable.actions](../Game-Script-Environment/Static-Functions/sm.interactable.md#actions). |
| `state` | boolean | True on begin action, false on end action. |
