# 空域違反通知システム
FiveM QBCore向けの空域違反監視・通知システムです。航空機が設定された高度制限を超えた場合に警察へ自動通知を行います。
## 機能
### 主要機能
- **二段階警告システム**: 異なる高度での段階的な警告表示
- **リアルタイム高度表示**: 航空機搭乗時のHUD表示
- **自動警察通知**: 高度制限違反時の警察への自動アラート
- **マップBlip作成**: 違反者位置の可視化
- **警察除外オプション**: 設定により警察を違反対象から除外可能
### 高度制限
- **第一警告**: 518.0m (1,700ft) - 黄色警告
- **第二警告**: 853.4m (2,800ft) - 赤色警告・警察通知
## インストール
1. リソースフォルダを `resources` ディレクトリに配置
2. `server.cfg` に以下を追加:
```
ensure [リソース名]
```
3. サーバーを再起動
## 設定
### config.lua
```lua
Config = {}
-- 警察を違反者として扱うかどうかの設定
Config.IncludePoliceAsViolators = false -- trueにすると警察も違反者に含まれる
```
### 設定オプション
- `IncludePoliceAsViolators`: 警察職員も違反対象に含めるかどうか
- `false` (デフォルト): 警察は違反対象外
- `true`: 警察も違反対象に含める
## 仕様詳細
### 対象車両
- **ヘリコプター** (車両クラス 15)
- **飛行機** (車両クラス 16)
### 警告システム
1. **第一段階** (518m超過)
- 黄色テキストで高度表示
- 「禁止空域付近です。高度を下げてください!」通知
- 警察への通知なし
2. **第二段階** (853.4m超過)
- 赤色テキストで高度表示
- 「禁止空域に入っています。ただちに高度を下げてください!」通知
- 5秒継続で警察に自動通知
### 警察通知内容
- 違反者名
- CitizenID
- Server ID
- 位置情報付きBlip(60秒間表示)
### HUD表示
- **位置**: 画面左下
- **表示内容**: `高度: XXX.X ft`
- **色分け**:
- 白色: 正常範囲(518m未満)
- 黄色: 注意範囲(518-853.4m)
- 赤色: 警告範囲(853.4m超過)
## 動作フロー
```
航空機搭乗
↓
高度監視開始(5秒間隔)
↓
518m超過 → 第一警告
↓
853.4m超過 → 第二警告
↓
5秒継続 → 警察通知 + Blip作成
↓
518m未満 → 全リセット
```
## 技術仕様
### 依存関係
- **QBCore Framework**
- **FiveM Server**
### ファイル構成
```
├── client.lua # クライアントサイド処理
├── server.lua # サーバーサイド処理
├── config.lua # 設定ファイル
└── fxmanifest.lua # リソース定義
```
### 処理間隔
- **高度チェック**: 5秒間隔
- **HUD更新**: 1秒間隔
- **画面描画**: 毎フレーム
- **Blip表示時間**: 60秒
## カスタマイズ
### 高度制限の変更
`client.lua` の以下の値を変更してください:
```lua
local firstWarningAltitude = 518.0 -- 第一警告高度
local secondWarningAltitude = 853.4 -- 第二警告高度
```
### 警告時間の調整
```lua
timeOverAltitude >= 5 -- 5秒から変更可能
```
### Blip表示時間
```lua
Citizen.Wait(60000) -- 60秒から変更可能
```
## トラブルシューティング
### よくある問題
**Q: 高度が表示されない**
A: 航空機(ヘリコプター・飛行機)に搭乗しているか確認してください
**Q: 警察に通知が届かない**
A: 対象プレイヤーのジョブタイプが `leo` に設定されているか確認してください
**Q: 警察も違反対象にしたい**
A: `config.lua` の `IncludePoliceAsViolators` を `true` に設定してください
### デバッグ
デバッグが必要な場合は、コード内のコメント化された `print` 文を有効にしてください。
## ライセンス
このリソースは MesaProject によって開発されました。
## バージョン情報
**Version**: 1.0.0
**Author**: MesaProject
**Framework**: QBCore
**Game**: GTA5 (FiveM)