コンテキストメニュー
lib.registerContext
コンテキストメニューの登録に使用します。
Lua
lib.registerContext(context)- id.K.である:
string- メニューを開く際に使用されるユニークなメニュー識別子。
- というタイトルをつけた:
string- マークダウン対応。
- メニューは?
string- メニュー識別子 - 定義されている場合、メニュータイトルの横に戻る矢印が表示され、定義したメニューに移動します。
- を閉じることができる:
boolean- false に設定すると、ユーザーはいずれかのボタンを押さなければメニューを終了できなくなる。
- onExit?
function- ユーザーが ESC でコンテキストメニューを閉じたときに実行される関数。
- onBack?
function- ユーザーが戻るボタンを押して前のメニューに戻ったときに実行される関数。
- のオプションがある:
table(objectまたはarray)- アイテム:
key(stringまたはtable(object)- タイトル?
string- キーを使用しない場合は、ボタンのタイトルを設定します。
- 無効ですか?
boolean- ボタンをグレーアウトし、クリックできないようにする。
- readOnly?
boolean- すべてのホバースタイルとアクティブスタイルを削除し、onSelect が定義されている場合はそれを無効にします。
- メニューは?
string- 矢印の場合、ボタンが移動するメニューの識別子。
- を選択する:
function- ボタンがクリックされたときに実行される関数。
- アイコンは?
string- 左側に表示される FontAwesome アイコンは、通知や textui アイコンと同じように機能します。
- また、画像 URL、png、webp ファイルにも対応していますが、font awesome アイコンを超えて使用することはお勧めしません。
- iconColor?
string- 表示されているアイコンの色。
- iconAnimation?
'spin''spinPulse''spinReverse''pulse''beat''fade''beatFade''bounce''shake' - 進捗状況は?
number- このパーセンテージで満たされたプログレスバーを追加する
- colorScheme?
string- プログレスバーの配色を設定します。現在のオプションはここにあります:
- https://v6.mantine.dev/theming/colors/#default-colors
- 例えば、こうだ:
blueまたはteal
- プログレスバーの配色を設定します。現在のオプションはここにあります:
- 矢?
boolean- のように右側に矢印が表示される。
menuイベントからメニューを開くときに便利。false に設定すると非表示になる。
- のように右側に矢印が表示される。
- という記述がある:
string- キーとして定義されたボタンのタイトルの下に表示される説明。
- イメージ?
string- ボタンのメタデータに表示される画像への URL。
- メタデータ?
string[]またはobjectまたはarray- ボタンホバー時にサイドに表示される情報。
- のラベルが貼られている:
string - 値である:
any - 進捗状況は?
number- メタデータにプログレスバーを表示する。
- colorScheme?
string- 上記と同じ。
- イベント?
string- ボタンがトリガーするイベント。
- serverEvent?
string- ボタンがトリガーするサーバーイベント。
- 引数?
any- イベントまたは onSelect 関数に送られる引数。
- タイトル?
- アイテム:
にはいくつでもコンテキストメニューを登録できます。lib.registerContext機能
を好きなように使うことができる。
メニューは書いた順番に並べることも、アルファベット順に並べることもできる。
アルファベット順にメニューを並べ替えるには、ボタン(および/またはメタデータ)をキーとして定義する必要があります。そうでなければ、キーを使用せず、代わりにテーブルを使用すると、メニューはあなたが定義した順序になります。
lib.showContext
登録されているコンテキストメニューをその ID で開きます。
Lua
lib.showContext(id)- id.K.である:
string
lib.hideContext
現在表示されているコンテキストメニューを隠す。
Lua
lib.hideContext(onExit)- を終了する:
boolean- メニューの onExit 関数を実行するかどうかを定義します。
lib.getOpenContextMenu
現在開いているコンテキストメニューの ID を返します。
コンテキストメニューが開いていない場合はnil.
Lua
lib.getOpenContextMenu()使用例
まず、指定したオプションでメニューを登録し、次にコマンドの show 関数を呼び出す。
外部の値に依存しないメニュー(静的メニュー)を常に再登録することは避けてください。
Lua
lib.registerContext({
id = 'some_menu',
title = 'Some context menu',
options = {
{
title = 'Empty button',
},
{
title = 'Disabled button',
description = 'This button is disabled',
icon = 'hand',
disabled = true
},
{
title = 'Example button',
description = 'Example button description',
icon = 'circle',
onSelect = function()
print("Pressed the button!")
end,
metadata = {
{label = 'Value 1', value = 'Some value'},
{label = 'Value 2', value = 300}
},
},
{
title = 'Menu button',
description = 'Takes you to another menu!',
menu = 'other_menu',
icon = 'bars'
},
{
title = 'Event button',
description = 'Open a menu from the event and send event data',
icon = 'check',
event = 'test_event',
arrow = true,
args = {
someValue = 500
}
}
}
})次にother_menu
Lua
lib.registerContext({
id = 'other_menu',
title = 'Other context menu',
menu = 'some_menu',
onBack = function()
print('Went back!')
end,
options = {
{
title = 'Nothing here'
}
}
})そして、私たちがこれから実行しようとしているのは、次のようなイベントだ。some_menuメニューを開き、別のメニューを開く。
Lua
RegisterNetEvent('test_event', function(args)
lib.registerContext({
id = 'event_menu',
title = 'Event menu',
menu = 'some_menu',
options = {
{
title = 'Event value: '..args.someValue,
}
}
})
lib.showContext('event_menu')
end)最後に、テスト・コマンドを登録する。some_menuメニューがある。
Lua
RegisterCommand('testcontext', function()
lib.showContext('some_menu')
end)からのデータである。argsメニューのテーブルは、登録するイベントの第一引数として渡される。
このイベントを使って、独自のオプションを持つ新しいコンテキストメニューも登録する。
を定義する。menuパラメータを最初のメニューの id にすることで、メニュータイトルの横にある戻る矢印ボタンを取得することができます。

Last updated on