# ユーザ定義の権限（UDP）

## nPose V3.10 以上

ユーザー定義の権限（UDP）は [ボタンの権限](./Button-Permissions) の拡張機能であり、これによりすべてのスクリプトが独自のボタン権限を登録し、メニュー スクリプトによって処理されるようになります。
そのためには、メニューは次の 3 つのことを知っておく必要があります：

1. UDP の名前
2. UDP の種類
3. UDP の値

## UDP 名

名前はあなたが選びます。 それはユニークでなければなりません。 したがって、登録された UDP 名のリスト ([UDP の登録](./UDP-Register)）を維持します。
UDP を独自の目的で使用したい場合 (スクリプトを他人に渡したくない場合)、UDP 名の前に`my`を付ける必要があります。`my`プレフィックスが付いた UDP 名を登録する必要はありません。

## UDP 種別と値

現在、ユーザー定義のアクセス許可には`bool`タイプと`list`タイプの 2 つのタイプがあります。

### `bool`タイプの UDP

`bool`型は、`udpValue`として単純なブール値を期待します：

0：`FALSE`  
他のすべての値：`TRUE`

このタイプを使用すると、メニューボタンのオン/オフを簡単に切り替えることができます。

### `list`タイプの UDP

`list` タイプは、アバター UUID のリスト (文字列に集約された) を `udpValue` として期待します。 「,」と「|」、「=」以外の任意の区切り文字を使用できます。メニューを使用するアバターの UUID がこの「list」内にある場合、対応する UDP は「TRUE」と評価されます (ボタンが表示されます)。

## 例

### `nPose DayNight Plugin`

これは `bool` 型の使用法を示しています。ここでも見つけることができます：
<https://github.com/LeonaMorro/nPose-DayNight-plugin>
これは[トグルボタン](./UDPBOOL-and-Toggle-Buttons)に`bool` 型を使用する方法を示しています。

### `nPose AccessControlList Plugin`

これは、`list`タイプの使用法（および新しいノートカードリーダーの使用法）を示しています。 ここでも見つけることができます：
<https://github.com/LeonaMorro/nPose-AccessControlList-plugin>

### カスタムスクリプトのコードフラグメント

UDPBOOL を用いた LSL の例：

```lsl
integer UDPBOOL=-804;
string UDP_NAME="*** the name ***";
string udpValue="*** the value ***"; //must not contain a "," or "|" or "="
llMessageLinked(LINK_SET, UDPBOOL, UDP_NAME + "=" + udpValue, NULL_KEY);
```

UDPLIST を用いた LSL の例：

```lsl
integer UDPLIST=-805;
string UDP_NAME="*** the name ***";
string udpValue="*** the value ***"; //must not contain a "," or "|" or "="
llMessageLinked(LINK_SET, UDPLIST, UDP_NAME + "=" + udpValue, NULL_KEY);
```

`udpValue` が変更されるたびに、この linkMessage を送信する必要があります。

linkmessage の文字列部分の構文：
```
UDP_NAME1=udpValue1[|UDP_NAME2=udpValue2[| ...]]
```


---

## Page Navigation

- Canonical URL: https://sl.logue.be/ドキュメント/nPose/User-Defined-Permissions
- Permalink: https://sl.logue.be/664747c16f76b0a2f2dc8e5f
- Parent: [nPose](/66473b186f76b0a2f2dc387c.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 20 total
  - [Adding-Couples-Sitters](/66473bd86f76b0a2f2dc421b.md)
  - [Adding-Multiple-Singles](/66473c2a6f76b0a2f2dc4814.md)
  - [Adjusting-Poses](/66473bbb6f76b0a2f2dc3f77.md)
  - [Animesh-as-a-Prop](/664743046f76b0a2f2dc5fe9.md)
  - [Button-Permissions](/6647477e6f76b0a2f2dc8b5c.md)
  - [Command-Syntax-Quick-Reference](/664743ed6f76b0a2f2dc6aba.md)
  - [Line-Permissions](/664745ae6f76b0a2f2dc76cb.md)
  - [Menu-System](/664746cb6f76b0a2f2dc83e8.md)
  - [Multi-Language-Menu](/664748476f76b0a2f2dc94f1.md)
  - [NC-Contents](/6647457d6f76b0a2f2dc7344.md)
  - [NC-Names](/664747176f76b0a2f2dc872a.md)
  - [NC-Reader_Link-messages](/664748d76f76b0a2f2dc9b71.md)
  - [Placeholders](/664746186f76b0a2f2dc7ae8.md)
  - [Rezzing-and-Derezzing-Props](/66473c466f76b0a2f2dc4aca.md)
  - [Setting-Global-Options](/664743ca6f76b0a2f2dc67a4.md)
  - [Simple-Single-Sitter](/66473b676f76b0a2f2dc3b7a.md)
  - [System-Menu-Plugins](/664748786f76b0a2f2dc98c9.md)
  - [UDP-Register](/664748136f76b0a2f2dc9181.md)
  - [UDPBOOL-and-Toggle-Buttons](/664743516f76b0a2f2dc6380.md)
  - [Utility-Notecards](/664746566f76b0a2f2dc7e8d.md)
- Last updated: 2024-05-31T11:58:27.530Z by 
- Full page listing (all children regardless of count): https://sl.logue.be/_api/v3/page-listing/children?id=664747c16f76b0a2f2dc8e5f
