\当サイト対応のゲームサーバー/
【FiveM】スクリプト設定やカスタマイズ方法を紹介します!【QBCore】
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。

FiveMサーバーでこんな事にお困りではありませんか?
「スクリプトを導入できたけど設定方法が分からない」
「あのサーバーみたいにUIをカスタマイズしてみたい」
「スクリプトの日本語化のやり方がよく分からない」
前回、スクリプト導入方法を紹介したので、今回はこれらのお悩みを解決するべく、スクリプトの設定方法やカスタマイズ方法を紹介したいと思います!
前回の記事はこちら

【FiveM】初心者向けのスクリプト紹介と導入方法を紹介します!【QBCore】
2025年8月6日に当記事をリニューアルしました!より分かりやすくなったと思います。 FiveMサーバーを運営する上でこんな事にお困りではありませんか? 「FiveMサーバー…
この記事を見れば、FiveMサーバーのスクリプト設定やカスタマイズ方法について最低限の知識が身に付くと思います。
初めての方でも分かりやすく画像付きで解説していきます。
この記事を書いた人
揚げたてのポテト
- 当サイト「揚げポテGameSV」の管理人
- ゲームサーバー運用歴10年以上
- 見やすく、分かりやすくを心掛けて書いています。
目次
スクリプト設定やカスタマイズとは
FiveMサーバーでは、QBCoreの初期スクリプトや新たに導入するスクリプトによって、様々な要素が存在します。
これらは初期設定のままでも動作しますが、スクリプト設定やカスタマイズを行うことで、FiveMサーバーに色味を持たせられるので、オリジナル感を出すことができます。
当記事では、スクリプトごとに用意されている設定ファイルを変更することを「スクリプト設定」と呼び、HTMLファイルやLuaファイルに記述されている、既存コードを直接変更することを「カスタマイズ」と呼びます。
スクリプト設定でできること
スクリプトの設定ファイルを変更することで、以下のことが可能になります。
スクリプトによって設定項目が異なるのであくまで一例です。
- 特定の機能を有効にしたり無効できる
- 表示形式、文字の大きさ等を変更できる
- 値(数字や文字)を変更できる
- 日本語ファイルを適用できる
- キー割り当て(キーバインド)を変更できる
- 座標設定を変更できる
設定ファイルが無いスクリプトもあるので、全てのスクリプトが設定できるわけではありません。
カスタマイズでできること
スクリプトフォルダに同梱されているLuaファイルやHTMLファイルを変更することで、以下のことが可能になります。
ファイルによって異なるのであくまで一例です。
- 英語から日本語へ翻訳できる
- UIの見た目の変更やデザインを作れる
- アイテムや武器などの画像を追加できる
- バグの修正や新しい要素の追加ができる
コードの変更に間違いがあると、スクリプトが動作しなくなったり、サーバーに負荷が掛かる可能性があるので、コードを編集する際は十分に注意しましょう。※バックアップ必須
簡単なカスタマイズなら多少の知識で行けますが、ガッツリ変更になるとそれなりのプログラミング知識が必要になってきます。
スクリプトの設定方法
早速ですが、スクリプトの設定方法について紹介したいと思います。
今回、設定するスクリプトは前回の記事で導入したスクリプトを使いたいと思います。
前回の記事はこちら

【FiveM】初心者向けのスクリプト紹介と導入方法を紹介します!【QBCore】
2025年8月6日に当記事をリニューアルしました!より分かりやすくなったと思います。 FiveMサーバーを運営する上でこんな事にお困りではありませんか? 「FiveMサーバー…
その中でも、「TimeAndDateDisplay-FiveM」と「Cats Advanced Name」、「okokBillingV2」は、設定ファイルが用意されているので、これらの設定方法を紹介したいと思います。
スクリプト名 | 概要 | 設定ファイル |
---|---|---|
Postal Code Map & Minimap | マップにカラーの市外局番を追加するスクリプト(無料) | なし |
TimeAndDateDisplay-FiveM | 画面右上に日時とプレイヤーIDを表示するスクリプト(無料) | ある |
VoiceRangeMarker | ボイスチャット範囲を円状に可視表示するスクリプト(無料) | なし |
Ox Inventory | プレイヤーのインベントリをカスタマイズしやすくするスクリプト(無料) | ある |
Cats Advanced Name | プレイヤーの頭上に名前やタグ等を表示するスクリプト(有料) | ある |
okokBillingV2 | 請求書システムを導入するスクリプト(有料) | ある |
全ての設定は紹介しきれないので予めご了承ください。
これを参考にQBCoreの初期スクリプト設定を行いましょう!
TimeAndDateDisplay-FiveMの設定方法
TimeAndDateDisplay-FiveM
の中にある「config.lua
」が設定ファイルになります。
中を開くと、以下の設定項目が表示されます。(注釈を分かりやすく日本語に変換しました)
Config = {}
-- Config.ShowServerName = true -- サーバー名を表示する場合はtrueに設定します
-- Config.ServerName = "Server Name" -- Config.ShowServerName = trueの場合にこの名前が表示されます
-- Config.ShowPlayerName = false -- プレイヤー名を表示する場合はtrueに設定します
-- Config.ShowPlayerID = false -- プレイヤーIDを表示する場合はtrueに設定します
-- 以下の設定のうち、どれか1つをtrueに設定する必要があります
-- Config.ShowDateAndTime = true -- 日付と時間を表示する場合はtrueに設定します
-- Config.ShowOnlyDate = false -- 日付のみを表示する場合はtrueに設定します
-- Config.ShowOnlyTime = false -- 時間のみを表示する場合はtrueに設定します
-- 以下の設定のうち、どれか1つをtrueに設定する必要があります
-- Config.DayMonthYear = true -- DD-MM-YYYY形式にする場合はtrueに設定します
-- Config.MonthDayYear = false -- MM-DD-YYYY形式にする場合はtrueに設定します
-- Config.YearMonthDay = false -- YYYY-MM-DD形式にする場合はtrueに設定します
-- Config.YearDayMonth = false -- YYYY-DD-MM形式にする場合はtrueに設定します
-- Config.TimezoneOffset = 0 -- 必要なオフセットに設定します
-- 例: -1は時間を1時間早く、1は時間を1時間遅くします。
例えば、「Config.ServerName = “Server Name”」を「Config.ServerName = “Poteton Server”」に変更すると、ゲーム画面の右上に、日時に加えて「Poteton Server」と表示されます。
他の設定項目を変更すると以下のようになります。
Cats Advanced Nameの設定方法
cats-advanced-name
の中にある「config.lua
」が設定ファイルになります。
中を開くと、以下の設定項目が表示されます。(注釈を分かりやすく日本語に変換しました)
-- 高度な名前表示設定
Config = {
-- UIテキストの言語設定 (en, ja, krが利用可能)
language = 'en',
-- フレームワーク設定 (qbcoreまたはesx)
framework = 'auto', -- 'auto', 'qbcore', または 'esx'
-- 主要設定オプション
['main'] = {
-- テキストのスケール設定
name_textScale = 0.47,
gang_textScale = 0.38,
label_textScale = 0.42,
-- 頭の位置のオフセット
head_position_offset = 0.38,
-- プレイヤーの上にテキストを表示する高さ
nametag_height = 0.14, -- ネームタグテキストの高さ
name_height = 0.07, -- 名前テキストの高さ
gang_height = 0.1, -- ギャングテキストの高さ (ジャンプした時の重なりを修正するため、0.07から増やしました)
-- プレイヤー名を表示する最大距離 (ゲーム内の単位)
distance = 5.0,
-- 通知で使用されるタイトル
title = 'Advanced Name Display',
-- フォント設定
gfxUse = true, -- カスタムGXTフォントを使用するかどうか
gfxFileName = 'CatsFont', -- streamフォルダー内のgfxフォントファイル名
gfxFontName = 'CatsFont', -- gfxファイル作成時に指定したフォント名
fontId = 0, -- gfxUseがfalseの場合に使用するフォントID
-- 名前メニューのコマンド
name_menu_command = 'name',
name_menu_key = 'F9',
},
-- PVEモード設定 (新規プレイヤー/PVEプレイヤー用の特別なインジケーターを表示)
-- 警告: PVEモードを有効にすると、サーバーに初めてログインしたプレイヤーにPVEモードが自動的に付与され、プレイヤー間のフレンドリーファイアが無効になります。
['pvemode'] = {
enabled = false, -- PVEモード機能を有効/無効にする
},
-- キャラクター名設定
['character'] = {
enabled = true, -- キャラクター名変更機能を有効/無効にする
min_length = 2, -- キャラクター名の最小文字数
max_length = 20, -- キャラクター名の最大文字数
},
-- ニックネームシステム設定
['nickname'] = {
enabled = true, -- ニックネーム機能を有効/無効にする
max_count = 3, -- プレイヤーが保存できるニックネームの最大数 (1-3)
min_length = 2, -- ニックネームの最小文字数
max_length = 30, -- ニックネームの最大文字数
},
-- 名前ラベル設定
['namelabel'] = {
enabled = false, -- 名前ラベル機能を有効/無効にする
max_length = 30, -- 名前ラベルの最大文字数
},
-- カスタムマーク設定
['custommarks'] = {
enabled = false, -- カスタムマーク機能を有効/無効にする
command = 'marks', -- マーク管理メニューを開くコマンド
singleMarkMode = false, -- trueの場合、一度に選択できるマークは1つのみになります (カテゴリごと)
},
}
例えば、「language = ‘en’」を「language = ‘ja’」に変更すると、英語から日本語になります。また、「enabled = false」を「enabled = true」にすると、ゲーム内の名前メニューの項目が増えます。
他の設定項目を変更すると以下のようになります。
okokBillingV2の設定方法
okokBilling
の中にある「config.lua
」が設定ファイルになります。
中を開くと、以下の設定項目が表示されます。(注釈を分かりやすく日本語に変換しました)
Config, Locales = {}, {}
Config.Debug = false -- 問題の原因究明に役立ちます
Config.OnlyUnpaidCityInvoices = false -- 未払いの市民請求書のみを表示するかどうか
Config.OnlyUnpaidSocietyInvoices = false -- 未払いの組織請求書のみを表示するかどうか
Config.EventPrefix = 'okokBilling'
Config.Locale = 'en' -- 言語設定(日本語訳ファイルを追加したら'ja')
Config.DatabaseTable = 'okokbilling'
Config.ReferencePrefix = 'OK' -- 請求書番号の接頭辞
Config.OpenMenuKey = 168 -- デフォルト 168 (F7キー)
Config.OpenMenuCommand = 'invoices' -- メニューを開くためのコマンド
Config.UseOKOKNotify = true -- trueに設定するとokokNotifyを使用し、falseに設定するとQB通知を使用します
Config.UseOKOKBankingTransactions = false -- trueに設定すると、請求書をokokBankingの取引として登録します
Config.InvoiceDistance = 15 -- 請求書を作成できる距離
Config.AllowPlayersInvoice = true -- プレイヤーがプレイヤー間の請求書を作成できるかどうか
Config.okokRequests = false -- 悪用を防ぐため、プレイヤー間の請求書のみに適用
Config.AuthorReceivesAPercentage = true -- 組織請求書を送信した際に、作成者がパーセンテージを受け取るかどうか
Config.AuthorPercentage = 10 -- 請求書作成者が受け取るパーセンテージ
Config.VATPercentage = 23 -- 消費税のパーセンテージ
Config.SocietyReceivesLessWithVAT = false -- 消費税込みで組織の受取額を減らすかどうか
Config.QBManagement = true -- trueに設定するとqb-managementリソースを使用し、falseに設定するとokokBankingのデータベーステーブルを使用します
Config.UseQBBanking = false -- 最新のQBCoreバージョンで役立ちます
Config.RenewedBanking = false -- Renewed-Bankingを使用している場合はtrueに設定します
Config.SocietyHasSocietyPrefix = false -- *リソースが正常に動作している場合は変更しないでください* trueに設定すると、組織請求書の支払時に `society_police` (例) を検索します
Config.AutoDeletePaidInvoices = true -- true: 支払い済みの請求書を削除します (ラグを減らすため) | false: 支払い済みの請求書を削除しません
Config.DeletePaidInvoicesEvery = 30 -- 支払い済みの請求書を削除する頻度 (分単位)
Config.AuthorReceiveNotification = false -- trueに設定すると、請求書が支払われた際に作成者に通知を送信します
-- 自動支払い
Config.UseAutoPay = true -- 自動支払いを使用するかどうか
Config.AllowMoneyToGoNegative = false -- trueに設定すると、プレイヤーの所持金がマイナスになることを許可します
Config.DefaultLimitDate = 7 -- 支払期限 (日数)
Config.CheckForUnpaidInvoicesEvery = 30 -- 未払い請求書をチェックする頻度 (分)
Config.FeeAfterEachDay = true -- 期限切れ後、毎日手数料を請求するかどうか
Config.FeeAfterEachDayPercentage = 5 -- 毎日請求される手数料のパーセンテージ
-- 自動支払い
Config.JobsWithCityInvoices = { -- 市民請求書を作成できるジョブ (あらゆる請求書を削除できます) | 管理者はデフォルトでアクセスできます
'court'
}
Config.CityInvoicesAccessRanks = { -- 市民請求書を作成できるジョブ (あらゆる請求書を削除できます)
'' -- すべてのジョブにアクセス権があります
}
Config.AllowedSocieties = { -- 組織請求書にアクセスできる組織
'police',
'ambulance'
}
Config.InspectCitizenSocieties = { -- 市民請求書を閲覧できる組織
'police'
}
Config.SocietyAccessRanks = { -- 組織請求書と市民請求書にアクセスできる組織のランク
'Boss',
'Chief',
}
Config.BillsList = {
['police'] = {
{'速度超過違反', 550},
{'駐停車禁止', 1200},
{'道路交通法違反', 250},
{'危険運転', 750},
{'妨害運転罪', 1000},
{'Custom'}, -- 値を設定しない場合、プレイヤーはカスタム請求書 (カスタム価格) を作成できます
},
['ambulance'] = {
{'救急車対応', 550},
{'医療処置1', 750},
{'医療処置2', 1200},
{'医療処置3', 250},
{'医療処置4', 400},
},
}
Config.AdminGroups = {
'god',
'admin',
'mod',
}
-------------------------- DISCORDログ
-- Discord Webhook URLを設定するには、sv_utils.luaの3行目に移動してください
Config.BotName = 'ServerName' -- 任意のボット名を入力してください
Config.ServerName = 'ServerName' -- あなたのサーバー名を入力してください
Config.IconURL = '' -- 任意の画像リンクを挿入してください
Config.DateFormat = '%d/%m/%Y [%X]' -- 日付形式を変更するには、このウェブサイトを確認してください - https://www.lua.org/pil/22.1.html
-- Webhookの色を変更するには、色の10進数値を設定する必要があります。このウェブサイトを使用して変換できます - https://www.mathsisfun.com/hexadecimal-decimal-colors.html
Config.CreatePersonalInvoiceWebhookColor = '65535' -- 個人請求書作成時のWebhookの色
Config.CreateJobInvoiceWebhookColor = '16776960' -- ジョブ請求書作成時のWebhookの色
Config.CancelInvoiceWebhookColor = '16711680' -- 請求書キャンセル時のWebhookの色
Config.PayInvoiceWebhookColor = '65280' -- 請求書支払い時のWebhookの色
-------------------------- ロケール (変更しないでください)
function _L(id)
if Locales[Config.Locale][id] then
return Locales[Config.Locale][id]
else
print('Locale '..id..' doesn\'t exist')
end
end
この設定ファイルは、目に見えて分かる項目が少ないため、今回は警察の違反切符の項目を増やしたいと思います。例えば、「{'妨害運転罪', 1000},
」の下に「{'ポテト食べすぎ罪', 1000000},
」を追加します。
これを反映すると以下のようになります。
変更後は、txAdminの「Resources」より各スクリプトの「Restart」から反映できますが、確実に反映するのはサーバー再起動になります。
スクリプトのカスタマイズ方法
次にスクリプトのカスタマイズ方法について紹介したいと思います。
今回は、「TimeAndDateDisplay-FiveM」と「VoiceRangeMarker」、「Ox Inventory」、「okokBillingV2」のカスタマイズについて、紹介したいと思います。
比較的簡単にできるカスタマイズを中心に紹介します。
カスタマイズを行う前に
カスタマイズは、直接コードを編集する行為です。
万が一、間違ったコードを記述してしまうとスクリプトが動作しなくなったり、サーバーが重くなってしまうので、事前に編集するファイルのバックアップをしておくことをおすすめします。
TimeAndDateDisplay-FiveMのカスタマイズについて
初期設定では、ゲーム内画面の右上に日時やサーバー名などが表示されています。今回のカスタマイズでは、表示の「文字の色」や「文字の大きさ」などを変更したいと思います。
このカスタマイズは、TimeAndDateDisplay-FiveM
のhtml
の中にある「index.html
」から行う必要があります。
中を開くと、以下のコードが表示されます。(分かりやすく注釈を付けました)
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<title>TimendDateDisplay-FiveM</title>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<link rel='stylesheet' type='text/css' media='screen' href='main.css'>
<style>
h1 {
color: white; <! -- 文字の色を変更 -- >
font-size: 20px; <! -- 文字の大きさを変更 -- >
text-align: right; <! -- 文字の行揃えを変更 -- >
font-weight: 900; <! -- 文字の太さを変更 -- >
}
</style>
</head>
<body>
<h1 id="TimeAndDate"><b>情報取得中...</b></h1>
<script src="time.js"></script>
</body>
</html>
例えば、「color: white;」を「color: red;」に変更して、「font-size: 20px;」を「font-siza: 100px;」に変更します。その後、サーバー再起動すると以下のように反映されます。
上手くデザインするとこんなオシャレな日時表示も可能です。※見やすくあえて文字を大きくしています。
VoiceRangeMarkerのカスタマイズについて
初期設定では、ボイスチャットの範囲が「Whisper(ささやき声)」、「Normal(通常の声)」、「Shouting(大声)」の3段階で紫色の円範囲が表示されます。
今回は「Super Shouting(叫び声)」を増やすことと、可視表示される「色の変更」や「表示時間の変更」をカスタマイズしたいと思います。
ボイスチャット範囲を増やす
このカスタマイズは、[voice]
のpma-voice
の中にある「shared.lua
」から行う必要があります。
中を開くと、以下の設定項目が表示されます。(注釈を分かりやすく日本語に変換しました)
if GetConvar('voice_useNativeAudio', 'false') == 'true' then
-- ネイティブオーディオの距離は通常のGTA単位よりも大きいようです
Cfg.voiceModes = {
{ 1.5, "Whisper" }, -- ささやき音声の距離(GTA距離単位)
{ 3.0, "Normal" }, -- 通常の音声距離(GTA距離単位)
{ 6.0, "Shouting" }, -- 大声の音声距離(GTA距離単位)
{ 12.0, "Super Shouting" } -- 叫び声の音声距離(GTA距離単位)
}
else
Cfg.voiceModes = {
{ 3.0, "Whisper" }, -- ささやき音声の距離(GTA距離単位)
{ 7.0, "Normal" }, -- 通常の音声距離(GTA距離単位)
{ 15.0, "Shouting" }, -- 大声の音声距離(GTA距離単位)
{ 27.0, "Super Shouting" } -- 叫び声の音声距離(GTA距離単位)
}
end
既に「{ 12.0, "Super Shouting" }
」と「{ 27.0, "Shouting" }
」をコードに追加しています。こうすることで、声の範囲を広げた段階を追加できます。
可視表示の色の変更
このカスタマイズは、[standalone]
→VoiceRangeMarker
→config
→「cl.config.lua
」から行う必要があります。
この中の「110, 60, 213, 100」がボイスチャット範囲の紫色を指していて、RGBA形式で設定します。例えば、これを「60, 179, 113, 100」に変更すると緑色の範囲に変更できます。
Client = {}
---@param proximityRange number # radius of range
---@return nil
Client.DrawMarker = function(proximityRange)
local coords = GetEntityCoords(PlayerPedId())
---@diagnostic disable-next-line: missing-parameter
DrawMarker(1, coords.x, coords.y, coords.z-1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, proximityRange*2.0, proximityRange*2.0, 0.5, 110, 60, 213, 100, false, true, 2, nil, nil, false)
end
可視表示の表示時間の変更
このカスタマイズは、[standalone]
→VoiceRangeMarker
→client
→「cl.main.lua
」から行う必要があります。
この中の「proximityRangeTimeout = 2」が2秒間を表しているので、「proximityRangeTimeout = 5」に変更すると表示時間の秒数が伸びます。(2ヵ所あるのでどちらも変更する)
local proximityRangeTimeout = 0;
local proximityRangeMarkerReachTimeOut = false
function CreateProximityRangeTimeout()
proximityRangeTimeout = 2
Citizen.CreateThread(function ()
repeat
Wait(1000)
proximityRangeTimeout -= 1
until (proximityRangeTimeout <= 0)
proximityRangeMarkerReachTimeOut = true
Wait(1)
proximityRangeMarkerReachTimeOut = false
end)
end
function CreateProximityRange(proximityRange)
proximityRangeMarkerReachTimeOut = true
Wait(1)
proximityRangeMarkerReachTimeOut = false
if proximityRangeTimeout <= 0 then
CreateProximityRangeTimeout()
end
proximityRangeTimeout = 2
Citizen.CreateThread(function()
while not proximityRangeMarkerReachTimeOut do
Wait(0)
Client.DrawMarker(proximityRange)
end
end)
end
それぞれのカスタマイズを保存して、サーバー再起動すると以下のように反映されます。
緑色の可視表示とボイスチャットの範囲「Super Shouting」が追加されました。
Ox Inventoryのカスタマイズについて
当記事で紹介しているOx Inventoryのフォーク版には、「アイテムの数値入力ボタン」や「所持金表示」、「UIカラー設定」、「ロゴ画像の表示」が実装されています。
これらは、公式のOx Inventoryには存在しない機能で、既にある程度カスタマイズされています。
そのため、カスタマイズする必要が無いので、今回はアイテム名の日本語訳をしたいと思います。
このアイテム名の日本語訳は、ox_inventory_fork
→data
→「items.lua
」から行う必要があります。(武器名は「weapons.lua
」から変更できる)
以下に日本語翻訳したものを貼りますので、ご活用ください。
return {
['testburger'] = {
label = 'テストバーガー',
weight = 220,
degrade = 60,
client = {
image = 'burger_chicken.png',
status = { hunger = 200000 },
anim = 'eating',
prop = 'burger',
usetime = 2500,
export = 'ox_inventory_examples.testburger'
},
server = {
export = 'ox_inventory_examples.testburger',
test = 'なんて美味しいバーガーなんだ、そう思わないか?'
},
buttons = {
{
label = '舐める',
action = function(slot)
print('あなたはバーガーを舐めました')
end
},
{
label = '握りつぶす',
action = function(slot)
print('あなたはバーガーを握りつぶしました :(')
end
},
{
label = 'ヴィーガンバーガーを何と呼ぶ?',
group = 'ハンバーガーのダジャレ',
action = function(slot)
print('間違いです')
end
},
{
label = 'カエルはハンバーガーと一緒に何を食べるのが好き?',
group = 'ハンバーガーのダジャレ',
action = function(slot)
print('フランス産のハエ')
end
},
{
label = 'なぜバーガーとポテトは走っているの?',
group = 'ハンバーガーのダジャレ',
action = function(slot)
print('ファストフードだから')
end
}
},
consume = 0.3
},
['bandage'] = {
label = '包帯',
weight = 115,
client = {
anim = { dict = 'missheistdockssetup1clipboard@idle_a', clip = 'idle_a', flag = 49 },
prop = { model = `prop_rolled_sock_02`, pos = vec3(-0.14, -0.14, -0.08), rot = vec3(-50.0, -50.0, 0.0) },
disable = { move = true, car = true, combat = true },
usetime = 2500,
}
},
['black_money'] = {
label = 'ブラックマネー',
},
['burger'] = {
label = 'ハンバーガー',
weight = 220,
client = {
status = { hunger = 200000 },
anim = 'eating',
prop = 'burger',
usetime = 2500,
notification = '美味しいハンバーガーを食べました'
},
},
['sprunk'] = {
label = 'スプランク',
weight = 350,
client = {
status = { thirst = 200000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `prop_ld_can_01`, pos = vec3(0.01, 0.01, 0.06), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
notification = 'スプランクで喉の渇きを癒しました'
}
},
['parachute'] = {
label = 'パラシュート',
weight = 8000,
stack = false,
client = {
anim = { dict = 'clothingshirt', clip = 'try_shirt_positive_d' },
usetime = 1500
}
},
['garbage'] = {
label = 'ゴミ',
},
['paperbag'] = {
label = '紙袋',
weight = 1,
stack = false,
close = false,
consume = 0
},
['identification'] = {
label = '身分証明書',
client = {
image = 'card_id.png'
}
},
['panties'] = {
label = '下着',
weight = 10,
consume = 0,
client = {
status = { thirst = -100000, stress = -25000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `prop_cs_panties_02`, pos = vec3(0.03, 0.0, 0.02), rot = vec3(0.0, -13.5, -1.5) },
usetime = 2500,
}
},
['lockpick'] = {
label = 'ロックピック',
weight = 160,
},
['phone'] = {
label = 'スマホ',
weight = 190,
stack = false,
consume = 0,
client = {
add = function(total)
if total > 0 then
pcall(function() return exports.npwd:setPhoneDisabled(false) end)
end
end,
remove = function(total)
if total < 1 then
pcall(function() return exports.npwd:setPhoneDisabled(true) end)
end
end
}
},
['money'] = {
label = '現金',
},
['mustard'] = {
label = 'マスタード',
weight = 500,
client = {
status = { hunger = 25000, thirst = 25000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `prop_food_mustard`, pos = vec3(0.01, 0.0, -0.07), rot = vec3(1.0, 1.0, -1.5) },
usetime = 2500,
notification = 'マスタードを飲みました'
}
},
['water'] = {
label = '水',
weight = 500,
client = {
status = { thirst = 200000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `prop_ld_flow_bottle`, pos = vec3(0.03, 0.03, 0.02), rot = vec3(0.0, 0.0, -1.5) },
usetime = 2500,
cancel = true,
notification = '爽やかな水を飲みました'
}
},
['radio'] = {
label = '無線',
weight = 1000,
stack = false,
allowArmed = true
},
['armour'] = {
label = '防弾ベスト',
weight = 3000,
stack = false,
client = {
anim = { dict = 'clothingshirt', clip = 'try_shirt_positive_d' },
usetime = 3500
}
},
['clothing'] = {
label = '服',
consume = 0,
},
['mastercard'] = {
label = 'フリーサ・カード',
stack = false,
weight = 10,
client = {
image = 'card_bank.png'
}
},
['scrapmetal'] = {
label = 'スクラップメタル',
weight = 80,
},
}
変更後、サーバー再起動すると以下のように反映されます。
okokBillingV2のカスタマイズについて
okokBillingV2は高クオリティなので基本的にカスタマイズは不要になります。
強いて言うと、日本語に対応してないので、日本語に対応することを今回のカスタマイズにしたいと思います。
まず、locales
の「en.lua
」を複製して「ja.lua
」を作成します。
以下に日本語翻訳したものを貼りますので、ご活用ください。
Locales['ja'] = {
-- Notifications
['created_success'] = {
title = '請求書',
text = '請求書は正常に作成されました',
time = 5000,
type = 'success'
},
['created_error'] = {
title = 'Invoice',
text = '請求書を作成できませんでした',
time = 5000,
type = 'error'
},
['received_invoice'] = {
title = '請求書',
text = '請求書を受け取りました',
time = 5000,
type = 'success'
},
['paid_success'] = {
title = '請求書',
text = '請求書が正常に支払われた',
time = 5000,
type = 'success'
},
['paid_error'] = {
title = '請求書',
text = '請求書が支払われなかった',
time = 5000,
type = 'error'
},
['near_error'] = {
title = '請求書',
text = 'あなたの近くにプレイヤーがいない',
time = 5000,
type = 'error'
},
['send_as_soc_error'] = {
title = '請求書',
text = '請求書を送れない',
time = 5000,
type = 'error'
},
['removed_invoice'] = {
title = '請求書',
text = '請求書は正常に削除されました',
time = 5000,
type = 'success'
},
['removed_invoice_error'] = {
title = '請求書',
text = '請求書を削除できません。',
time = 5000,
type = 'error'
},
['citizen_not_found'] = {
title = '請求書',
text = '市民は見つからなかった',
time = 5000,
type = 'error'
},
['okokRequests'] = {
title = '請求書',
text = '誰かがあなたに請求書を送りたがっている ${price}円',
time = 20000,
},
}
次にokokBilling
のweb
の中にある「ui.html
」と「scripts.js
」も翻訳対象になります。翻訳したい部分を翻訳しましょう。
その後、設定ファイルのconfig.lua
の「Config.Locale = ‘ja’」に変更して、サーバー再起動すると以下のように反映されます。
スクリプト設定やカスタマイズ方法の紹介を終わります!
スクリプトが動作しなくなるかもと思うと、神経使って疲れますよね…。
最近だとChatGPT系にファイルを読み込ませると、どんな動作のコードなのか教えてくれるので、プログラミング知識が無くても、ある程度はカスタマイズしやすくなっています。
ひとこと
FiveMサーバーのスクリプト設定やカスタマイズ方法はいかがだったでしょうか?
日本でFiveMが流行りだして2~3年経ちますが、なかなかスクリプト周りの設定方法やカスタマイズに関する記事が無かったため、満を持して書いてみました。
今回は初心者向けのため、ごく一部のスクリプト設定やカスタマイズになりましたが、今回の記事を通して、少しずつ学んでいただけたら嬉しいです。
また、がっつりカスタマイズするには、プログラミング言語やFiveMについて、理解を深めないといけないので少々ハードルは高いですが、よきFiveMライフを送るために頑張りましょう!
最後までお読みいただきありがとうございました。
今後とも「揚げポテGameSV」をよろしくお願いします!
0 件のコメント