Skip to content

Exports

Exports

BUPA AnimPos は、他のリソースからプログラムでツールを制御できるように、3つのクライアントエクスポートを提供しています。すべてリソース名 bupa-animpos の下で実行されます。

Open

ツールを開きます。プレイヤーがコマンドやキーバインドを使用した場合と全く同様に、完全なチェックパイプライン(使用中、クールダウン、権限、状態の制限、および Config.CanUse フック)を実行します。ツールが実際に開いた場合は true を、そうでない場合は false を返します。

client
local opened = exports['bupa-animpos']:Open()
if opened then
    print('Positioning mode started')
end

Close

現在アクティブな場合に、ツールの閉じ込みを要求します。これはキャンセルキーを押すような動作をします — キャラクターは開始位置と向いていた向きに戻されます。

client
exports['bupa-animpos']:Close()

IsActive

ローカルプレイヤーに対してポジショニングモードが現在開いているかどうかを示すブール値を返します。

client
if exports['bupa-animpos']:IsActive() then
    -- e.g. block another interaction while the tool is open
end

Example — pair with an emote menu

client
-- エモートを再生した後、プレイヤーが位置を微調整できるようにする
RegisterCommand('fixpos', function()
    if not exports['bupa-animpos']:IsActive() then
        exports['bupa-animpos']:Open()
    end
end)

エクスポートのほかに、Config.CanUse はすべてのオープン試行時(Open() を含む)に実行されるクライアント側のフックです。ブロックするには false を返し、オプションでプレイヤーに表示するメッセージ文字列を返します。これは、サーバー固有の制限ロジック(戦闘、ダメージ、カスタム状態など)を実装するための推奨される場所です。

config.lua
Config.CanUse = function()
    -- return false, 'You cannot do this right now!'
    return true
end