> For the complete documentation index, see [llms.txt](https://docs.vames-store.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vames-store.com/assets/vms_housing/developer-api/client-events.md).

# Client Events

### Listener for Freecam

Triggered when freecam mode is activated.\
Use this event to temporarily disable or adjust anti-cheat checks (e.g., freecam detection) to avoid false bans.

```lua
AddEventHandler('vms_housing:cl:enteringFreecam', function()
    -- Your bypass to anticheat
end)
```

Triggered when exiting freecam mode.\
Use this event to re-enable normal anti-cheat checking.

```lua
AddEventHandler('vms_housing:cl:exitingFreecam', function()
    -- Restore anti-freecam checking
end)
```

***

### Listener for Player Visibility Changes

Triggered when VMS Housing changes the player's visibility state. Use this event to temporarily disable or adjust anti-cheat invisibility checks to prevent false detections or bans.

The `reason` parameter indicates which VMS Housing feature triggered the visibility change.

```lua
AddEventHandler('vms_housing:onPlayerVisibilityChange', function(isInvisible, reason)
    if isInvisible then
        -- Add your anti-cheat bypass
    else
        -- Remove your anti-cheat bypass
    end
end)
```

***

### Listener for Teleport

Triggered when player is teleported and has been teleported.\
Use this event to temporarily disable or adjust anti-cheat checks (e.g., anti-teleport detection) to avoid false bans.

```lua
AddEventHandler('vms_housing:cl:teleport', function(status)
    if status == 'start' then
        -- Your bypass to anticheat
    elseif status == 'end' then
        -- Restore anti-freecam checking
    end
end)
```

***

### Listener for Property Zone

Called when a player enters a property zone.

```lua
AddEventHandler('vms_housing:cl:enteredPropertyZone', function(propertyId, propertyData)
    -- Your custom logic here
end)
```

Called when a player leaves the property zone.

```lua
AddEventHandler('vms_housing:cl:leftPropertyZone', function(propertyId)
    -- Your custom logic here
end)
```

***

### Listener for Property

Called when the owner of the property is changed (purchase, sale, transfer, agency).

```lua
AddEventHandler('vms_housing:cl:updatedOwner', function(propertyId)
    -- Your custom logic here
end)
```

Called when the tenant of the property changes (rental, termination of rental).

```lua
AddEventHandler('vms_housing:cl:updatedRenter', function(propertyId)
    -- Your custom logic here
end)
```

Called when a player's permissions for a property change.

```lua
AddEventHandler('vms_housing:cl:updatedPermissions', function(propertyId)
    -- Your custom logic here
end)
```
