# llGetRegionFlags

*LSL function*

```lsl
integer integer llGetRegionFlags();
```

- Returns: `integer`
- Energy: 10

Only a small number of flags are actually used; the rest (shown below in strike-through) are always zero. In particular, it is not possible to detect the status of "Allow Land Resell", "Allow Land Join/Divide", or "Block Land Show in Search"; nor, obviously, it is possible for a script to detect that "Disable Scripts" has been set.

Returns an [integer](https://wiki.secondlife.com/wiki/integer) that is the region flags (REGION_FLAG\_\*) for the region the object is in.

```lsl title="How to use" frame="terminal"
integer result = llGetRegionFlags();
```

## Specification

| Flag | Value | Description |
| --- | --- | --- |
| [REGION_FLAG_ALLOW_DAMAGE](/constants/REGION_FLAG_ALLOW_DAMAGE/) | 0x00000001 | Find if a region is entirely damage enabled |
| [REGION_FLAG_FIXED_SUN](/constants/REGION_FLAG_FIXED_SUN/) | 0x00000010 | Find if a region has a fixed sun position |
| [REGION_FLAG_BLOCK_TERRAFORM](/constants/REGION_FLAG_BLOCK_TERRAFORM/) | 0x00000040 | Find if a region terraforming disabled |
| [REGION_FLAG_SANDBOX](/constants/REGION_FLAG_SANDBOX/) | 0x00000100 | Find if a region is a sandbox |
| [REGION_FLAG_DISABLE_COLLISIONS](/constants/REGION_FLAG_DISABLE_COLLISIONS/) | 0x00001000 | Find if a region has disabled collisions |
| [REGION_FLAG_DISABLE_PHYSICS](/constants/REGION_FLAG_DISABLE_PHYSICS/) | 0x00004000 | Find if a region has disabled physics |
| [REGION_FLAG_BLOCK_FLY](/constants/REGION_FLAG_BLOCK_FLY/) | 0x00080000 | Find if a region blocks flying |
| [REGION_FLAG_ALLOW_DIRECT_TELEPORT](/constants/REGION_FLAG_ALLOW_DIRECT_TELEPORT/) | 0x00100000 | Find if a region allows direct teleports |
| [REGION_FLAG_RESTRICT_PUSHOBJECT](/constants/REGION_FLAG_RESTRICT_PUSHOBJECT/) | 0x00400000 | Find if a region restricts [llPushObject](/functions/llPushObject/) calls |
| ~~[REGION_FLAGS_ALLOW_LANDMARK](https://wiki.secondlife.com/wiki/REGION_FLAGS_ALLOW_LANDMARK)~~† | 0x00000002 | Can you make landmarks here? |
| ~~[REGION_FLAGS_ALLOW_SET_HOME](https://wiki.secondlife.com/wiki/REGION_FLAGS_ALLOW_SET_HOME)~~† | 0x00000004 | Do we allow the home position to be set here? |
| ~~[REGION_FLAGS_RESET_HOME_ON_TELEPORT](https://wiki.secondlife.com/wiki/REGION_FLAGS_RESET_HOME_ON_TELEPORT)~~† | 0x00000008 | Do we reset the home position when someone teleports away from here? |
| ~~[REGION_FLAGS_TAX_FREE](https://wiki.secondlife.com/wiki/REGION_FLAGS_TAX_FREE)~~†\* | 0x00000020 | Tax free zone (no taxes on objects, land, etc.)<br />Taxes were abolished with SL version 1.2. See |
| ~~[REGION_FLAGS_BLOCK_LAND_RESELL](https://wiki.secondlife.com/wiki/REGION_FLAGS_BLOCK_LAND_RESELL)~~† | 0x00000080 | Can't release, sell, or buy land. |
| ~~[REGION_FLAGS_NULL_LAYER](https://wiki.secondlife.com/wiki/REGION_FLAGS_NULL_LAYER)~~†\* | 0x00000200 |  |
| ~~[REGION_FLAGS_HARD_ALLOW_LAND_TRANSFER](https://wiki.secondlife.com/wiki/REGION_FLAGS_HARD_ALLOW_LAND_TRANSFER)~~†\* | 0x00000400 | Region allows land reselling |
| ~~[REGION_FLAGS_SKIP_UPDATE_INTEREST_LIST](https://wiki.secondlife.com/wiki/REGION_FLAGS_SKIP_UPDATE_INTEREST_LIST)~~†\* | 0x00000800 | Region allows posting of classified ads |
| ~~[REGION_FLAGS_SKIP_SCRIPTS](https://wiki.secondlife.com/wiki/REGION_FLAGS_SKIP_SCRIPTS)~~† | 0x00002000 |  |
| ~~[REGION_FLAGS_EXTERNALLY_VISIBLE](https://wiki.secondlife.com/wiki/REGION_FLAGS_EXTERNALLY_VISIBLE)~~† | 0x00008000 |  |
| ~~[REGION_FLAGS_ALLOW_RETURN_ENCROACHING_OBJECT](https://wiki.secondlife.com/wiki/REGION_FLAGS_ALLOW_RETURN_ENCROACHING_OBJECT)~~† | 0x00010000 |  |
| ~~[REGION_FLAGS_ALLOW_RETURN_ENCROACHING_ESTATE_OBJECT](https://wiki.secondlife.com/wiki/REGION_FLAGS_ALLOW_RETURN_ENCROACHING_ESTATE_OBJECT)~~† | 0x00020000 |  |
| ~~[REGION_FLAGS_BLOCK_DWELL](https://wiki.secondlife.com/wiki/REGION_FLAGS_BLOCK_DWELL)~~† | 0x00040000 |  |
| ~~[REGION_FLAGS_ESTATE_SKIP_SCRIPTS](https://wiki.secondlife.com/wiki/REGION_FLAGS_ESTATE_SKIP_SCRIPTS)~~† | 0x00200000 | Is there an administrative override on scripts in the region at the moment. This is the similar skip scripts, except this flag is persisted in the database on an estate level. |
| ~~[REGION_FLAGS_DENY_ANONYMOUS](https://wiki.secondlife.com/wiki/REGION_FLAGS_DENY_ANONYMOUS)~~† | 0x00800000 |  |
| ~~[REGION_FLAGS_DENY_IDENTIFIED](https://wiki.secondlife.com/wiki/REGION_FLAGS_DENY_IDENTIFIED)~~†\* | 0x01000000 |  |
| ~~[REGION_FLAGS_DENY_TRANSACTED](https://wiki.secondlife.com/wiki/REGION_FLAGS_DENY_TRANSACTED)~~†\* | 0x02000000 |  |
| ~~[REGION_FLAGS_ALLOW_PARCEL_CHANGES](https://wiki.secondlife.com/wiki/REGION_FLAGS_ALLOW_PARCEL_CHANGES)~~† | 0x04000000 |  |
| ~~[REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER](https://wiki.secondlife.com/wiki/REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER)~~†\* | 0x08000000 |  |
| ~~[REGION_FLAGS_ALLOW_VOICE](https://wiki.secondlife.com/wiki/REGION_FLAGS_ALLOW_VOICE)~~† | 0x10000000 |  |
| ~~[REGION_FLAGS_BLOCK_PARCEL_SEARCH](https://wiki.secondlife.com/wiki/REGION_FLAGS_BLOCK_PARCEL_SEARCH)~~† | 0x20000000 |  |
| ~~[REGION_FLAGS_DENY_AGEUNVERIFIED](https://wiki.secondlife.com/wiki/REGION_FLAGS_DENY_AGEUNVERIFIED)~~† | 0x40000000 |  |
| ~~[REGION_FLAGS_SKIP_MONO_SCRIPTS](https://wiki.secondlife.com/wiki/REGION_FLAGS_SKIP_MONO_SCRIPTS)~~†\* | 0x80000000 |  |

<table>
	<tr>
		<td>†</td>
		<td>REGION_FLAGS\_\* are internal and not exposed to the compiler (hence the strike through), despite this their values may be valid in the mask. In other words, there may be no nice name for the constant that the compiler will accept but the values may work. Remember that LL does not support these; they may redefine the flags without notice, this has happened in the past.</td>
	</tr>
	<tr>
		<td>\*</td>
		<td>REGION_FLAGS\_\* flags in red have been removed from the , the values may get reassigned and reused!</td>
	</tr>
</table>

## Examples

<details open>
<summary>Example 1</summary>

```lsl
default
{
    touch_start(integer total_number)
    {
        if( llGetRegionFlags() & REGION_FLAG_SANDBOX )
        {
            llOwnerSay("Region is a sandbox.");
        }
        else
        {
            llOwnerSay("Region is not a sandbox.");
        }
    }
}
```

</details>

## History

- SVN:960 r93583 Branch:Release Saturday, 02 August 2008 REGION_FLAGS_SKIP_MONO_SCRIPTS added.

## See also

### Functions

- [llGetEnv](/functions/llGetEnv/) — for region settings that don't fit in a flag
- [llGetParcelFlags](/functions/llGetParcelFlags/)
- [llRequestSimulatorData](/functions/llRequestSimulatorData/)

---

*Source: [LlGetRegionFlags](https://wiki.secondlife.com/wiki/LlGetRegionFlags) on the Second Life Wiki. Content from the Second Life Wiki articles LlGetRegionFlags (revision 1213369, 2023-02-11) and Template:LSL Constants/Region (revision 1212811, 2022-11-17), CC BY-SA 3.0.*

---

From lsl.dev: https://lsl.dev/functions/llGetRegionFlags/
