このスクリプトはまだ 100% 完成していません。プロジェクトに貢献したいことがあれば、お気軽にプル リクエストを送信してください。
このリソースはネイティブをキャッシュ テーブルに保存し、クライアントからのサーバー リクエストの総数を減らします。これにより、サーバー全体のパフォーマンスが向上し、キャッシュを使用するスクリプトの読み込み時間が短縮されます。
esx_policejob クライアント ファイルはPlayerPed()
ネイティブを 18 回呼び出します。Cache.PlayerPed Cache.PlayerPed
介して 1 回の呼び出しで同じデータを取得できます。
(注: ESX はこのスクリプトの要件ではありません)
一言で言えば、キャッシュする内容に応じて、ネイティブ呼び出しの量が大幅に削減されます。
これは現在進行中の作業です。そのため、いかなる貢献や意見も常に大歓迎です。
PlayerPed()
を返したいとします。以下を使用して、スクリプトからのエクスポートを通じてこれを呼び出すことができます。
exports.cache:requestCache().PlayerPed
このリソースのリソース名にハイフン (- 記号) が含まれていないことを確認してください。含まれていない場合は、次のエラーが返されます。
attempt to index a nil value (global 'cache')
キャッシュを利用したいスクリプトの fxmanifest.lua の client_scripts にこの行を挿入します。
"@cache/client/cl_cache.lua",
これは自分で手動で行う必要があります。必要な作業の例を次に示します。
ここでは、PlayerPedId() をキャッシュに保存しています。
Cache.PlayerPed = PlayerPedId()
スクリプト内でPlayerPedId()
見つかった場合は、 exports.cache:requestCache().PlayerPed
に置き換える必要があります。
フレームワーク/スクリプトの前にstart mascotte-cache
を配置します
これはできる限り定期的に更新しますが、独自のキャッシュされた値を追加したい場合は、次の形式に従うだけです。
Cache.YourNameHere = NativeYouWantToCache()
-- スレッドに追加します
@d0p3t - そもそもキャッシュの作成について私が見つけられた唯一の情報は、ネイティブからのデータをキャッシュする方法を説明した CFX discord での投稿からのものでした。
@NotSomething0 - 多くのコードのクリーンアップに対する彼の貢献と、スクリプト開発のコメント中に私がよく相談した人に対して