Administration tools, logging and anti-cheat.
هذا المجلد فيه 12 سكربت. اختر سكربت من التبويبات تحت.
مجاني (موجود مع JRS Core) jrs_admin
الإدارة في jrs core - قائمة الأدمن، الحماية وبوت JRS في Discord
| الريسورس | jrs_admin |
| المجلد | [ADMIN] |
| الإصدار | 4.19.1 |
| المطوّر | jrs team |
| يعتمد على | /server:4890, jrs_character, jrs_core, jrs_inventory, oxmysql |
| الواجهة | نعم (NUI) |
| اللغات | ar, en |
| حجم الكود | 19,484 Lua lines |
الأوامر
/-jrsadminmenu/adm/adminmenu/barber/clearfx/clothes/clothing/cure/curedisease/deletecharacter/fixheight/fixmouse/fixscale/playerscale/setscale/stts/wardrobe
الـ Exports
AllowEvent, ApplySavedPlayerScale, BankNotify, BankNotifyPlayer, CanUseScriptAdminAction, ExemptTeleport, FixPlayerScale, GetAdminGroup, GetAdminJobCatalog, GetAllPlayerSessions, GetDiscordServerTag, GetLegacySpoonerStorage, GetPlayerDiscordRoles, GetPlayerPlaytime, GetPlayerSavedScale, GetPlayerSessionInfo, HasAdminPermission, HasProtectedScriptAccess, HasScriptAdminAccess, IsAdmin, IsJRSAdmin, IsOwnerAdmin, IsScriptAdminOwner, IsServerOwner, IsUnsafeString, LogExternalAdminAction, Notify, NotifyPlayer, RequireAdminPermission, SetCharacterScale
جداول قاعدة البيانات
IF, jrs_admin_action_logs, jrs_admin_character_scale, jrs_admin_chat_messages, jrs_admin_custom_role_members, jrs_admin_custom_role_permissions, jrs_admin_custom_roles, jrs_admin_jail, jrs_admin_known_staff, jrs_admin_map_blips, jrs_admin_meta, jrs_admin_playtime, jrs_admin_report_messages, jrs_admin_reports, jrs_admin_security_alerts, jrs_admin_security_tokens, jrs_admin_server_state, jrs_admin_warn_history, jrs_admin_warns, jrs_player_bans
jail/config.lua - 6 إعداد#
عام
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Jails |
table |
جدول عناصر jails. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
ExitFromJail |
table |
جدول عناصر exit from jail. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
jailed_player |
'You have been imprisoned by... |
إعداد لـ jailed player. |
released_player |
"You were released from prison" |
إعداد لـ released player. |
query_error |
"A database error occurred." |
إعداد لـ query error. |
increase_time |
"Jail time increased by " |
إعداد لـ increase time. |
ملاحظات من ملف README#
# jrs_admin
RedM admin menu, security suite and Discord bot for JRS-framework servers.
## Requirements
- FXServer artifact `/server:4890` or newer (RedM)
- [oxmysql](https://github.com/overextended/oxmysql)
- `jrs_core`
- `jrs_character`
- `jrs_inventory`
- Node.js dependencies for the bundled Discord bot are already vendored under
`node_modules/`. If you ever need to reinstall them, run `yarn install`
(or `npm install`) inside this resource's folder — the only real npm
dependency is `discord.js`.
## Features
- Player admin actions (teleport, heal, freeze, spectate, kick/ban, warn,
inventory tools, job/level tools) with permission-gated tabs.
- Reports desk, staff chat, direct messages.
- Live Map with persistent admin blips and live player/security overlays.
- Security dashboard / anti-cheat alerts (movement, economy anomalies).
- Server Control (resource start/stop, console command relay, action logs).
- Role manager: DB-managed custom roles on top of the base Discord tiers,
optionally linked to a live Discord role.
- Discord bot: slash-command panel, per-category audit webhooks, boot report.
- noclip / spooner / jail / TX integration.
## Installation
1. Import `[SQL]/jrs_admin.sql` into your database.
2. Drop this folder into `resources/[ADMIN]/jrs_admin` (or any resources
folder) and add `ensure jrs_admin` to `server.cfg`, after `jrs_core`,
`jrs_character`, `jrs_inventory` and `oxmysql`.
3. Restart the resource (or the server).
## First-run configuration (do this before going live)
These files are intentionally left editable (not encrypted by Cfx escrow),
because every server needs its own values here:
- **`config/permissions.lua` -> `DirectAdmins`**: put **your own** Steam
identifier(s) here as `server_owner`. Remove any example/placeholder value
that ships with the resource — leaving someone else's identifier in this
table gives that identifier full owner access on your server.
- **`config/server_private.lua` -> `Discord.BotToken`**: create your own
Discord application/bot in the
[Discord Developer Portal](https://discord.com/developers/applications)
and paste **your own** bot token here. Never reuse a token that shipped
with the resource or that you've shared anywhere else — rotate it
immediately if you're unsure whether it's still private.
- **`config/server_private.lua` -> `Webhooks`**: optional, per-category
Discord audit webhook URLs.
- **`config/main.lua` / `config/permissions.lua`**: rank names, tab access,مدفوع (السيرفر فقط) jrs_anticheat
JRS Anti-Cheat: حماية يتحكم فيها السيرفر من إساءة استخدام الأحداث والشبكة
| الريسورس | jrs_anticheat |
| المجلد | [ADMIN] |
| الإصدار | 2.2.0-jrs |
| المطوّر | ramelgaming (original); repaired edition |
| الواجهة | لا |
| حجم الكود | 2,199 Lua lines |
الأوامر
/anti_entity_bans/anti_entity_spawns/anti_entity_unban
الـ Exports
CheckRate, RegisterProtectedEvent, ReportViolation
ملاحظات من ملف README#
# JRS Anti-Cheat — RedM Edition 2.1.1-jrs
## JRS changes (2026-10-02)
- Integrity challenges, resource-stop kicks and heartbeat audit start only after
the client's first heartbeat (download finished) — first-time players are no
longer kicked while downloading. `NeverLoadedKickMs` (15 min, counted from
`playerJoining`) kicks an in-world client that never starts jrs_anticheat.
- Resource-stop reports are re-checked after 4 s; players who simply quit are not
logged or kicked.
- `removeAllWeaponsEvent` is blocked only when the target is another player's
ped (scripts may strip NPC/bot weapons).
- Invincibility telemetry off by default (`ReportInvincibility`) and skipped in
safezones / while dead (state bags `inSafeZone`, `isDead`).
- `DiscordIgnoreCodes`: teleport and unknown-origin signals stay console-only.
- Unknown-entity auto-ban disabled; console spam off; MaxActive raised;
restart grace 180 s. Original zip: `_jrs/_backups/jrs_anticheat_2.1.0_orig_2026-10-02`.
JRS Anti-Cheat is a framework-independent security resource for RedM. It can
run alongside `jrs_core`, `jrs_inventory`, and other resources without changing
their database or framework APIs.
## Installation
1. Remove or disable the old `Anti-Injection` resource.
2. Copy this folder to the server and keep its exact name: `jrs_anticheat`.
3. Add the following lines to `server.cfg` before `ensure jrs_anticheat`:
'''cfg
add_ace group.admin jrs_anticheat.bypass allow
add_ace group.admin jrs_anticheat.inspect allow
add_ace group.admin jrs_anticheat.manage allow
ensure jrs_anticheat
'''
The ACE permissions provide the following access:
- `jrs_anticheat.bypass`: exempts trusted administrators from applicable
anti-cheat checks.
- `jrs_anticheat.inspect`: allows administrators to inspect entity-spawn logs.
- `jrs_anticheat.manage`: allows administrators to view and remove persistent
entity-spawn bans.
The administrator identifiers must already inherit `group.admin`. Restart the
entire server after installing or updating the resource.
No SQL installation or `screenshot-basic` dependency is required.
## Main Protection Layers
The resource includes server-side protection against:
- Ped, animal, prop, and vehicle spawn flooding.
- Excessive active scripted entities per player.
- Entities created too far away from their network owner.
- Explicitly denied entity models.
- Particle, projectile, and explosion flooding.
- Amplified explosion damage and camera shake.مجاني (موجود مع JRS Core) jrs_death_logs
سجلات الموت في JRS Core - مين مات وكيف وعلى يد مين، في الكونسول وDiscord
| الريسورس | jrs_death_logs |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | JRS TEAM |
| يعتمد على | jrs_core |
| الواجهة | لا |
| حجم الكود | 957 سطر Lua |
مجاني (موجود مع JRS Core) jrs_doorlocks
jrs core Doorlocks 6.2.0 - Native RedM prompts for door use AND door registration + jrs core access + restart-safe door state
| الريسورس | jrs_doorlocks |
| المجلد | [ADMIN] |
| الإصدار | 6.2.1 |
| المطوّر | jrs team |
| يعتمد على | jrs_character, jrs_core, jrs_inventory, oxmysql |
| الواجهة | نعم (NUI) |
| اللغات | ar, en |
| حجم الكود | 9,914 Lua lines |
الأوامر
/-jrs_door_lockpick/-jrs_door_toggle/canceld/canceldoor/cancelselect/testjob
الـ Exports
CancelSelection, ClosestDoor, CreateDoor, GetAPI, GetDoorId, IsPlayerRestricted, Notify, SetPlayerRestricted
جداول قاعدة البيانات
does, jrs_doorlock_audit, jrs_doorlock_characters, jrs_doorlock_items, jrs_doorlock_jobs, jrs_doorlock_parts, jrs_doorlocks
config/main.lua - 217 إعداد#
عام
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Version |
"6.2.0" |
إعداد لـ version. |
Locale |
"ar" |
لغة واجهة السكربت (en أو ar). |
EnableDev |
false |
يشغّل أو يطفّي dev (الافتراضي false). |
Framework
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Framework |
table |
جدول عناصر framework. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ CoreResource |
"jrs_core" |
إعداد لـ core resource. |
↳ CharacterResource |
"jrs_character" |
إعداد لـ character resource. |
↳ InventoryResource |
"jrs_inventory" |
إعداد لـ inventory resource. |
↳ RequireCharacterReady |
true |
يتطلب character ready: true = نعم، false = لا (الافتراضي true). |
↳ SyncRetryDelaysMs |
table |
Rehydrate the authoritative REDEMPIRE character/job after resource restarts and job changes. |
↳ InteractionRetryDelaysMs |
table |
جدول عناصر interaction retry delays ms. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ RefreshIntervalMs |
15000 |
إعداد وقت لـ refresh interval ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ PreferDatabaseJob |
true |
Job authorization is resolved server-side from the selected REDEMPIRE character and canonical characters.job/jobgrade row. This survives doorlocks/core restarts. |
↳ CharacterTableCandidates |
table |
Support both the canonical REDEMPIRE table and older server installs that still use the historical jrs_chrachter table name. Values are server-owned only. |
↳ JobCacheMs |
650 |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ job cache ms. |
↳ LoadDoorsBeforeCharacterReady |
true |
Door world state must load before character selection finishes. |
قاعدة البيانات
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Database |
table |
جدول عناصر database. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ AutoCreateSchema |
true |
يتعامل تلقائياً مع create schema: true = نعم، false = لا (الافتراضي true). |
↳ PersistRuntimeState |
true |
مفتاح لـ persist runtime state: true = شغّال، false = طافي (الافتراضي true). |
↳ ApplyStartStateOnBoot |
true |
On resource/server start restore the configured BASIC state (locked_on_start). Runtime lock/unlock is intentionally temporary and is not resumed after a restart. |
↳ MainTable |
"jrs_doorlocks" |
إعداد لـ main table. |
↳ InitRetries |
10 |
رقم لـ init retries (الافتراضي 10). |
↳ InitRetryMs |
2000 |
رقم لـ init retry ms (الافتراضي 2000). |
↳ PushAfterDatabaseReady |
true |
مفتاح لـ push after database ready: true = شغّال، false = طافي (الافتراضي true). |
↳ LegacyAutoImport |
true |
If this REDEMPIRE table set is empty, import a compatible normalized legacy doorlock table set automatically before the bundled seed is considered. |
↳ AutoSeedBundledSqlIfEmpty |
true |
يتعامل تلقائياً مع seed bundled sql if empty: true = نعم، false = لا (الافتراضي true). |
↳ BundledSqlPath |
"sql/jrs_doorlocks.sql" |
إعداد لـ bundled sql path. |
Full access / management
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
FullAccessIdentifiers |
table |
جدول عناصر full access identifiers. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
FullAccess |
table |
جدول عناصر full access. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ BypassDoorAccess |
true |
مفتاح لـ bypass door access: true = شغّال، false = طافي (الافتراضي true). |
↳ AllowAllManagement |
true |
يسمح بـ all management: true = نعم، false = لا (الافتراضي true). |
↳ ManagementAdminBypass |
true |
مفتاح لـ management admin bypass: true = شغّال، false = طافي (الافتراضي true). |
↳ ShowPromptForEveryDoor |
true |
يعرض prompt for every door: true = نعم، false = لا (الافتراضي true). |
↳ BypassInteractionDistance |
false |
Full Access bypasses permissions, never physical proximity. Even an administrator must stand beside the registered door to toggle it. |
Management |
table |
جدول عناصر management. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Create |
table |
جدول عناصر create. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Edit |
table |
جدول عناصر edit. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Admin |
table |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ admin. |
↳ OpenAll |
table |
جدول عناصر open all. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
The player must be physically beside the nearest registered door part.
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
DoorDistance |
1.50 |
المسافة بوحدات اللعبة لـ door distance. |
StreamDistance |
55.0 |
المسافة بوحدات اللعبة لـ stream distance. |
EnableDrawSprite |
true |
يشغّل أو يطفّي draw sprite (الافتراضي true). |
Locking |
table |
جدول عناصر locking. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ MaintainPhysicalState |
true |
مفتاح لـ maintain physical state: true = شغّال، false = طافي (الافتراضي true). |
↳ VerifyIntervalMs |
5000 |
إعداد وقت لـ verify interval ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ VerifyNativeState |
true |
مفتاح لـ verify native state: true = شغّال، false = طافي (الافتراضي true). |
↳ GroupResyncOnMismatch |
true |
مفتاح لـ group resync on mismatch: true = شغّال، false = طافي (الافتراضي true). |
↳ LockedRatioTolerance |
0.015 |
رقم لـ locked ratio tolerance (الافتراضي 0.015). |
↳ ForceClosedOnLock |
true |
Custom MLO/YMAP fallback only when a real DoorSystem binding is unavailable. Calibrate the actual CLOSED pose once from /dooradmin for stubborn/custom doors. |
↳ FreezeEntityFallback |
true |
مفتاح لـ freeze entity fallback: true = شغّال، false = طافي (الافتراضي true). |
↳ RequestEntityControl |
true |
مفتاح لـ request entity control: true = شغّال، false = طافي (الافتراضي true). |
↳ EntityLookupFallback |
true |
مفتاح لـ entity lookup fallback: true = شغّال، false = طافي (الافتراضي true). |
↳ EntityLookupRadius |
2.25 |
المسافة بوحدات اللعبة لـ entity lookup radius. |
↳ EntityCacheMaxDrift |
1.35 |
A cached handle is accepted only while it is still an OBJECT with the exact door model and remains close to the SQL part position. This prevents stale door cache entries from freezing/rotating NPCs, horses or unrelated props. |
↳ EntityFallbackMaxDrift |
1.35 |
الحد الأعلى لـ entity fallback max drift. |
↳ PhysicsReadyFallbackGraceMs |
5200 |
Restart safety: while an already-registered DoorSystem hash is waiting for its streamed physics binding, do not treat the visible object as a custom fallback. After this grace a true custom door may use the fallback path. |
↳ DoorSystemBindingGraceMs |
2200 |
رقم لـ door system binding grace ms (الافتراضي 2200). |
↳ RestartAdoptionSettleMs |
900 |
Restart settle window. Existing YMAP/Rockstar registrations can survive a resource restart while their object/physics transform is still settling. Do not write state, ratio or heading during this short adoption window. |
↳ NewRegistrationSettleMs |
500 |
رقم لـ new registration settle ms (الافتراضي 500). |
↳ CustomMapFallback |
true |
مفتاح لـ custom map fallback: true = شغّال، false = طافي (الافتراضي true). |
↳ CustomHashPrefix |
"jrs_custom_door" |
موديل أو كيان في اللعبة يُستخدم لـ custom hash prefix. |
↳ FallbackHeadingToleranceDegrees |
4.0 |
رقم لـ fallback heading tolerance degrees (الافتراضي 4.0). |
↳ EntityControlTimeoutMs |
180 |
إعداد وقت لـ entity control timeout ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ ForceShutNative |
true |
One-shot recovery for a real DoorSystem door only if forceUpdate still reports it open. It is never run continuously, so normal door animation remains natural. |
↳ DisableOpenRatioWhileLocked |
true |
يطفّي open ratio while locked: true = نعم، false = لا (الافتراضي true). |
↳ ForceShutOnInitialLock |
true |
يفرض shut on initial lock: true = نعم، false = لا (الافتراضي true). |
↳ MicroCloseCorrection |
true |
Some map doors report ratio 0 but remain visually ajar by a few degrees. This correction is intentionally tiny; large heading differences are never touched. |
↳ MicroCloseMinDegrees |
0.20 |
الحد الأدنى أو المستوى المطلوب لـ micro close min degrees. |
↳ MicroCloseMaxDegrees |
8.0 |
الحد الأعلى لـ micro close max degrees. |
↳ BoundFailureLegacyPoseFallback |
true |
but whose streamed MLO object does not visibly rotate. Legacy heading is considered only after native movement is proven ineffective, never as the normal closed pose for a bound door. |
↳ BoundFailureMinStartRatio |
0.08 |
الحد الأدنى أو المستوى المطلوب لـ bound failure min start ratio. |
↳ BoundFailureMaxObservedMovementDegrees |
0.75 |
الحد الأعلى لـ bound failure max observed movement degrees. |
↳ BoundFailureMaxLegacyCorrectionDegrees |
120.0 |
الحد الأعلى لـ bound failure max legacy correction degrees. |
↳ BoundFailureRescueDurationMs |
420 |
إعداد وقت لـ bound failure rescue duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ UseStartHeadingForBaseLockedClose |
true |
DoorSystem/MLO reports ratio=0 without moving the rendered object, REDEMPIRE may use this start pose as a bounded visual target. 135 degrees accepts a normal ~90-degree swing but still rejects a dangerous 180-degree reversal. |
↳ BaseLockedCloseMaxCorrectionDegrees |
135.0 |
الحد الأعلى لـ base locked close max correction degrees. |
↳ HardPhysicalLock |
true |
Hard physical lock: once a door reaches the closed frame it is made immovable until an authoritative unlock is received. This applies to both Rockstar DoorSystem doors and custom-map physical fallbacks. |
↳ FreezeBoundEntityWhileLocked |
true |
مفتاح لـ freeze bound entity while locked: true = شغّال، false = طافي (الافتراضي true). |
↳ DisableEntityDynamicWhileLocked |
true |
يطفّي entity dynamic while locked: true = نعم، false = لا (الافتراضي true). |
↳ EnforceHardLockWhileNearby |
true |
مفتاح لـ enforce hard lock while nearby: true = شغّال، false = طافي (الافتراضي true). |
↳ TakeScriptOwnership |
false |
مفتاح لـ take script ownership: true = شغّال، false = طافي (الافتراضي false). |
↳ DisableAutomaticState |
false |
يطفّي automatic state: true = نعم، false = لا (الافتراضي false). |
↳ SmoothMovement |
true |
Lock closes toward DoorSystem ratio 0 before committing LOCKED. Unlock only releases the lock/physics; it never forces an old open pose. This prevents imported headings/ratio signs from visually reversing state. |
↳ SmoothCloseOnLock |
true |
مفتاح لـ smooth close on lock: true = شغّال، false = طافي (الافتراضي true). |
↳ AutoCloseOnLock |
true |
AutoClose is authoritative whenever SQL/server state is LOCKED. A door that streams in open is driven to the frame before hard-freezing. |
↳ AutoCloseOnStream |
true |
يتعامل تلقائياً مع close on stream: true = نعم، false = لا (الافتراضي true). |
↳ AutoCloseRetryCooldownMs |
900 |
إعداد وقت لـ auto close retry cooldown ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ AutoCloseSettlePasses |
7 |
رقم لـ auto close settle passes (الافتراضي 7). |
↳ AutoCloseSettleIntervalMs |
55 |
إعداد وقت لـ auto close settle interval ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ LockMoveDurationMs |
900 |
إعداد وقت لـ lock move duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ TransitionTickMs |
0 |
رقم لـ transition tick ms (الافتراضي 0). |
↳ LockRetryDelaysMs |
table |
جدول عناصر lock retry delays ms. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ UnlockRetryDelaysMs |
table |
Keep reasserting UNLOCK beyond restart/binding settle windows. The release operation is idempotent and also repairs a freeze left by an older instance. |
↳ UnlockStabilizeMs |
900 |
رقم لـ unlock stabilize ms (الافتراضي 900). |
↳ UnlockStabilizeIntervalMs |
250 |
إعداد وقت لـ unlock stabilize interval ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
Per-door values are stored in SQL and editable from /dooradmin.
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
AutoClose |
table |
Existing doors inherit these defaults when the migration columns are added. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ DefaultEnabled |
true |
مفتاح لـ default enabled: true = شغّال، false = طافي (الافتراضي true). |
↳ DefaultDelayMs |
15000 |
إعداد وقت لـ default delay ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ DefaultAutoLockAfterClose |
false |
مفتاح لـ default auto lock after close: true = شغّال، false = طافي (الافتراضي false). |
↳ MinDelayMs |
750 |
إعداد وقت لـ min delay ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ MaxDelayMs |
30000 |
إعداد وقت لـ max delay ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ OpenRatioThreshold |
0.08 |
رقم لـ open ratio threshold (الافتراضي 0.08). |
↳ HeadingOpenThresholdDegrees |
5.0 |
رقم لـ heading open threshold degrees (الافتراضي 5.0). |
↳ BlockWhilePlayerNear |
true |
Safety: do not swing a door through a player standing in the doorway. |
↳ PlayerBlockRadius |
0.38 |
المسافة بوحدات اللعبة لـ player block radius. |
↳ RetryWhileBlockedMs |
600 |
رقم لـ retry while blocked ms (الافتراضي 600). |
↳ MaxBlockedWaitMs |
8000 |
إعداد وقت لـ max blocked wait ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ MoveDurationMs |
900 |
Physical close movement while the door remains logically UNLOCKED. |
↳ TransitionTickMs |
0 |
رقم لـ transition tick ms (الافتراضي 0). |
↳ DetectIntervalMs |
300 |
إعداد وقت لـ detect interval ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ StateMaintainDistance |
24.0 |
المسافة بوحدات اللعبة لـ state maintain distance. |
↳ Notify |
false |
Automatic close/re-lock feedback is intentionally silent. Door movement/state still works normally; only the toast is suppressed. |
↳ ServerRequestDistance |
7.0 |
A client may request the configured auto-lock only while near the door. |
When a LOCKED door is successfully unlocked by a player, the server stores
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
AutoRelock |
table |
a persistent deadline in SQL. When the deadline expires the authoritative state becomes LOCKED again; clients then run the normal full-close convergence before applying the hard physical lock. This survives resource/server restart |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ DelaySeconds |
30 |
Player-forgotten door safety: exactly 30 seconds by default. DelaySeconds is authoritative. DelayMinutes remains supported by the server only as a backwards-compatible fallback for old configs. |
↳ IncludeLockpick |
false |
Lockpick robbery doors stay open after a successful break-in. Their runtime HoldOpen flag suppresses both server Auto-ReLock and client passive Auto-Close until somebody explicitly locks the door. |
↳ ScanIntervalMs |
250 |
Server scan interval for the current runtime session. A resource/server restart intentionally clears pending deadlines and restores locked_on_start. |
↳ MinDelaySeconds |
30 |
Maximum accepted configuration range. Defensive bounds prevent accidental zero/huge values from producing a tight loop or multi-year stale deadline. |
↳ MaxDelaySeconds |
3600 |
إعداد وقت لـ max delay seconds. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ Audit |
true |
Audit system-triggered re-locks in jrs_doorlock_audit. |
Native prompts / controls
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Prompts |
table |
جدول عناصر prompts. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Distance |
1.50 |
المسافة بوحدات اللعبة لـ distance. |
↳ GroupFallbackLabel |
"DOOR" |
Prompt description uses the canonical/original SQL name for the selected logical door. It never swaps to state/job/access/timer text. |
↳ DoorNameMaxLength |
48 |
الحد الأعلى لـ door name max length. |
↳ Renderer |
"native" |
REDEMPIRE 6.0.0: native RedM/RDR3 prompt group. No gameplay NUI prompt is used. RedM places the native prompt group in its standard lower-right HUD area. |
↳ DescriptionMode |
"native" |
gameplay prompts use RedM natives only |
↳ DescriptionLabel |
"DOOR" |
نص يظهر للاعب لـ description label. غيّره للترجمة أو لتغيير الاسم. |
↳ ToggleKeyLabel |
"G" |
الزر أو التحكم المستخدم لـ toggle key label. أزرار التحكم قيم hash من قائمة مدخلات اللعبة. |
↳ LockpickKeyLabel |
"X" |
الزر أو التحكم المستخدم لـ lockpick key label. أزرار التحكم قيم hash من قائمة مدخلات اللعبة. |
↳ StableTarget |
true |
Prevent nearby doors from fighting for the prompt and changing its name. |
↳ TargetReleasePadding |
0.25 |
رقم لـ target release padding (الافتراضي 0.25). |
↳ TargetSwitchAdvantage |
0.35 |
رقم لـ target switch advantage (الافتراضي 0.35). |
↳ TargetSwitchHoldMs |
300 |
رقم لـ target switch hold ms (الافتراضي 300). |
↳ VisualReleasePadding |
0.25 |
Visual hysteresis: the HUD is released a little farther than the actual interaction radius and survives short streaming/snapshot misses. Inputs stay disabled outside Distance, so this does not weaken server/client range checks. |
↳ VisualHoldMs |
350 |
رقم لـ visual hold ms (الافتراضي 350). |
↳ ToggleLabel |
"LOCK / UNLOCK" |
نص يظهر للاعب لـ toggle label. غيّره للترجمة أو لتغيير الاسم. |
↳ LockpickLabel |
"LOCKPICK" |
نص يظهر للاعب لـ lockpick label. غيّره للترجمة أو لتغيير الاسم. |
↳ SelectionEnabled |
true |
Door registration / selection is a native RedM prompt group as well, so creating a door uses exactly the same interaction surface as using one. E = confirm the aimed physical door, BACKSPACE / X = cancel the registration. |
↳ SelectLabel |
"SELECT DOOR" |
نص يظهر للاعب لـ select label. غيّره للترجمة أو لتغيير الاسم. |
↳ SelectCancelLabel |
"CANCEL" |
نص يظهر للاعب لـ select cancel label. غيّره للترجمة أو لتغيير الاسم. |
↳ SelectGroupLabel |
"REGISTER DOOR" |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ select group label. |
↳ SelectAimLabel |
"AIM AT A DOOR" |
نص يظهر للاعب لـ select aim label. غيّره للترجمة أو لتغيير الاسم. |
↳ SelectReadyLabel |
"DOOR READY" |
نص يظهر للاعب لـ select ready label. غيّره للترجمة أو لتغيير الاسم. |
↳ SelectProgressLabel |
"DOOR %d / %d" |
نص يظهر للاعب لـ select progress label. غيّره للترجمة أو لتغيير الاسم. |
↳ SelectInputDebounceMs |
220 |
الزر أو التحكم المستخدم لـ select input debounce ms. أزرار التحكم قيم hash من قائمة مدخلات اللعبة. |
↳ SelectionReleaseCooldownMs |
450 |
Short input freeze after the selection closes so the X used to cancel the selection cannot immediately register as a LOCKPICK press on the door the player is standing at. |
↳ UseKeyMapping |
false |
Direct RedM control polling is the default. RegisterKeyMapping can be intercepted/rebound by other resources on some builds and was causing G to appear dead even while the HUD was visible. |
↳ UseNativeCompletion |
false |
Prompt visuals are native RedM; input is read from RedM controls directly by default to avoid artifact-specific PromptHasStandardModeCompleted issues. |
↳ DirectControlFallback |
true |
مفتاح لـ direct control fallback: true = شغّال، false = طافي (الافتراضي true). |
↳ InputDebounceMs |
550 |
الزر أو التحكم المستخدم لـ input debounce ms. أزرار التحكم قيم hash من قائمة مدخلات اللعبة. |
↳ AlwaysShowState |
true |
مفتاح لـ always show state: true = شغّال، false = طافي (الافتراضي true). |
↳ Priority |
3 |
رقم لـ priority (الافتراضي 3). |
Keys |
table |
0x17BEC168 was previously used here for "E"; that hash is INPUT_..._RIGHT, not E, so the physical-door selection confirm key never fired and no new door could ever be registered from /createdoor or /dooradmin. |
↳ select |
0xCEFD9220 |
E |
↳ lock |
0x760A9C6F |
G |
↳ lockpick |
0x8CC9CD42 |
X |
↳ cancel |
0x156F7119 |
BACKSPACE (X, ESC, and Right Click also supported as fallback) |
Commands |
table |
جدول عناصر commands. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Toggle |
"togglelock" |
إعداد لـ toggle. |
↳ Create |
"createdoor" |
إعداد لـ create. |
↳ Edit |
"editdoor" |
إعداد لـ edit. |
↳ Admin |
"dooradmin" |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ admin. |
↳ Status |
"doorstatus" |
إعداد لـ status. |
↳ Reload |
"doorreload" |
إعداد لـ reload. |
↳ ClientStatus |
"doorclientstatus" |
إعداد لـ client status. |
↳ PromptStatus |
"doorpromptstatus" |
نص يظهر للاعب لـ prompt status. غيّره للترجمة أو لتغيير الاسم. |
Lockpick / law alert
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Lockpick |
table |
جدول عناصر lockpick. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Minigame |
true |
مفتاح لـ minigame: true = شغّال، false = طافي (الافتراضي true). |
↳ Resource |
"lockpick" |
إعداد لـ resource. |
↳ Item |
"lockpick" |
أغراض المخزون المستخدمة في item. الأسماء لازم تكون موجودة في جدول jrs_items. |
↳ RemoveOnSuccess |
false |
مفتاح لـ remove on success: true = شغّال، false = طافي (الافتراضي false). |
↳ RemoveOnFail |
true |
مفتاح لـ remove on fail: true = شغّال، false = طافي (الافتراضي true). |
↳ HoldOpenAfterSuccess |
true |
open/unlocked and is EXEMPT from all automatic close/re-lock paths. Manual/admin locking clears this runtime exemption. Resource/server restart also clears it and restores locked_on_start as normal. |
AlertLaw |
table |
جدول عناصر alert law. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Chance |
60 |
نسبة أو مضاعف لـ chance. |
↳ Distance |
500.0 |
المسافة بوحدات اللعبة لـ distance. |
↳ Jobs |
table |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ jobs. |
↳ Blip |
table |
إعدادات علامة الخريطة أو الأيقونة لـ blip. |
Integrated notifications
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Notifications |
table |
جدول عناصر notifications. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Position |
"top-left" |
إحداثيات العالم (x, y, z) لـ position. |
↳ MaxVisible |
3 |
الحد الأعلى لـ max visible. |
↳ DefaultDurationMs |
3000 |
إعداد وقت لـ default duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ SuccessDurationMs |
2800 |
إعداد وقت لـ success duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ WarningDurationMs |
3200 |
إعداد وقت لـ warning duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ ErrorDurationMs |
3600 |
إعداد وقت لـ error duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ DedupeWindowMs |
1400 |
رقم لـ dedupe window ms (الافتراضي 1400). |
↳ RejectNoticeCooldownMs |
2200 |
إعداد وقت لـ reject notice cooldown ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ ShowAccessType |
true |
يعرض access type: true = نعم، false = لا (الافتراضي true). |
↳ ShowJobContext |
false |
يعرض job context: true = نعم، false = لا (الافتراضي false). |
↳ DatabaseReadyNotice |
false |
مفتاح لـ database ready notice: true = شغّال، false = طافي (الافتراضي false). |
↳ SecurityRejectNotices |
true |
مفتاح لـ security reject notices: true = شغّال، false = طافي (الافتراضي true). |
Admin inspector
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
AdminInspector |
table |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ admin inspector. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Distance |
5.0 |
المسافة بوحدات اللعبة لـ distance. |
↳ RefreshMs |
250 |
رقم لـ refresh ms (الافتراضي 250). |
↳ PreferFacingDoor |
true |
مفتاح لـ prefer facing door: true = شغّال، false = طافي (الافتراضي true). |
↳ FacingDot |
-0.10 |
رقم لـ facing dot (الافتراضي -0.10). |
↳ InspectUnregistered |
true |
مفتاح لـ inspect unregistered: true = شغّال، false = طافي (الافتراضي true). |
↳ UnregisteredRayDistance |
8.0 |
المسافة بوحدات اللعبة لـ unregistered ray distance. |
↳ UnregisteredFacingDot |
0.35 |
رقم لـ unregistered facing dot (الافتراضي 0.35). |
↳ AllowRegisterFromInspector |
true |
يسمح بـ register from inspector: true = نعم، false = لا (الافتراضي true). |
↳ AllowTemporaryControl |
true |
يسمح بـ temporary control: true = نعم، false = لا (الافتراضي true). |
Performance
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Performance |
table |
جدول عناصر performance. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ SpatialIndex |
true |
مفتاح لـ spatial index: true = شغّال، false = طافي (الافتراضي true). |
↳ SpatialCellSize |
60.0 |
رقم لـ spatial cell size (الافتراضي 60.0). |
↳ ScanNearMs |
100 |
رقم لـ scan near ms (الافتراضي 100). |
↳ ScanActiveMs |
500 |
رقم لـ scan active ms (الافتراضي 500). |
↳ ScanIdleMs |
1000 |
رقم لـ scan idle ms (الافتراضي 1000). |
↳ CoordinateCacheMs |
150 |
رقم لـ coordinate cache ms (الافتراضي 150). |
↳ EntityPoolCacheMs |
1400 |
Kept for config compatibility. The door-entity fallback no longer builds a cached snapshot of the whole CObject pool (that drained the fwScriptGuid pool); it does a small area query around each door instead. |
↳ ActiveDoorCacheMs |
650 |
رقم لـ active door cache ms (الافتراضي 650). |
↳ InspectorCandidateDistance |
8.0 |
المسافة بوحدات اللعبة لـ inspector candidate distance. |
↳ StateMaintainDistance |
32.0 |
المسافة بوحدات اللعبة لـ state maintain distance. |
config/security.lua - 57 إعداد#
عام
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Security |
table |
جدول عناصر security. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ ConsoleLog |
true |
مفتاح لـ console log: true = شغّال، false = طافي (الافتراضي true). |
↳ ConsoleLogBenignRejects |
false |
مفتاح لـ console log benign rejects: true = شغّال، false = طافي (الافتراضي false). |
↳ AuditSecurityDenials |
true |
مفتاح لـ audit security denials: true = شغّال، false = طافي (الافتراضي true). |
↳ SessionMaxLength |
160 |
الحد الأعلى لـ session max length. |
↳ RequireCharacterReadyForInteraction |
true |
Strong server-authoritative interaction envelope. Client supplied coordinates are NOT trusted for authorization in hardened mode. |
↳ InteractionServerDistance |
2.00 |
Server replicated coordinates can trail the client by a fraction of a metre, so the server envelope is only 0.50m wider than the 1.50m prompt. |
↳ InteractionProximityTolerance |
0.50 |
رقم لـ interaction proximity tolerance (الافتراضي 0.50). |
↳ ProximityTolerance |
0.50 |
رقم لـ proximity tolerance (الافتراضي 0.50). |
↳ MaxCreateDistance |
25.0 |
المسافة بوحدات اللعبة لـ max create distance. |
↳ MaxNameLength |
96 |
Payload / editor limits. |
↳ MaxItemNameLength |
64 |
الحد الأعلى لـ max item name length. |
↳ MaxJobEntries |
64 |
الحد الأعلى لـ max job entries. |
↳ MaxCharacterEntries |
128 |
الحد الأعلى لـ max character entries. |
↳ MaxPayloadDepth |
6 |
الحد الأعلى لـ max payload depth. |
↳ MaxPayloadNodes |
900 |
الحد الأعلى لـ max payload nodes. |
↳ MaxPayloadString |
256 |
الحد الأعلى لـ max payload string. |
↳ MaxPayloadNumberAbs |
1000000000000.0 |
الحد الأعلى لـ max payload number abs. |
↳ ToggleCooldown |
600 |
Per-action cooldowns in milliseconds. |
↳ LockpickCooldown |
1600 |
إعداد وقت لـ lockpick cooldown. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ AdminCooldown |
650 |
إعداد وقت لـ admin cooldown. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ LoadCooldown |
5000 |
إعداد وقت لـ load cooldown. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ AutoLockCooldown |
1200 |
إعداد وقت لـ auto lock cooldown. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
↳ GlobalBurstWindowMs |
1000 |
Global event burst protection before expensive framework/SQL work. |
↳ GlobalBurstMax |
20 |
الحد الأعلى لـ global burst max. |
↳ GlobalBurstBlockMs |
5000 |
رقم لـ global burst block ms (الافتراضي 5000). |
↳ DoorMutationLockMs |
2200 |
Prevent concurrent state mutations on the same logical door. |
↳ ApplyReportSessionMs |
8000 |
Physical apply report must match the requesting source/audit/door. |
↳ LockpickSessionMs |
30000 |
Lockpick session validation. |
↳ LockpickMinimumMs |
1200 |
الحد الأدنى أو المستوى المطلوب لـ lockpick minimum ms. |
↳ ExploitDropEnabled |
true |
Invalid/malicious requests accumulate strikes. Benign gameplay rejects do not. |
↳ ExploitStrikeWindowMs |
60000 |
رقم لـ exploit strike window ms (الافتراضي 60000). |
↳ ExploitStrikeThreshold |
24 |
رقم لـ exploit strike threshold (الافتراضي 24). |
↳ RestrictedStateKeys |
table |
الزر أو التحكم المستخدم لـ restricted state keys. أزرار التحكم قيم hash من قائمة مدخلات اللعبة. |
Backward-compatible aliases.
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
NUI |
table |
Kept here so the resource has exactly TWO config files. |
UnlockCommand |
Config.Commands.Toggle |
إعداد لـ unlock command. |
CreateDoor |
table |
جدول عناصر create door. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Command |
Config.Commands.Create |
إعداد لـ command. |
↳ Permission |
Config.Management.Create.Per... |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ permission. |
↳ Group |
Config.Management.Create.Gro... |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ group. |
EditDoor |
table |
جدول عناصر edit door. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Command |
Config.Commands.Edit |
إعداد لـ command. |
↳ Permission |
Config.Management.Edit.Permi... |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ permission. |
↳ Group |
Config.Management.Edit.Group |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ group. |
↳ DeleteConfirm |
"delete" |
إعداد لـ delete confirm. |
OpenAllDoors |
table |
جدول عناصر open all doors. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
Config.Management.OpenAll.En... |
إعداد لـ enabled. |
↳ Permission |
Config.Management.OpenAll.Pe... |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ permission. |
↳ Group |
Config.Management.OpenAll.Gr... |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ group. |
↳ ConsoleLog |
Config.Security.ConsoleLog |
إعداد لـ console log. |
AlertJobs |
table |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ alert jobs. |
↳ AlertChance |
Config.AlertLaw.Chance |
نسبة أو مضاعف لـ alert chance. |
↳ AlertDistance |
Config.AlertLaw.Distance |
المسافة بوحدات اللعبة لـ alert distance. |
↳ Jobs |
Config.AlertLaw.Jobs |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ jobs. |
↳ Blip |
Config.AlertLaw.Blip |
إعدادات علامة الخريطة أو الأيقونة لـ blip. |
ملاحظات من ملف README#
# REDEMPIRE Doorlocks 6.1.0
RedM door locking system for REDEMPIRE Core / REDEMPIRE Character / REDEMPIRE Inventory.
## Runtime
- Resource name: `jrs_doorlocks`
- Native RedM/RDR3 gameplay prompts only (`G` lock/unlock, `X` lockpick).
- Door registration is native prompts too (`E` select physical door, `X` cancel).
- Door prompt group title uses the original SQL door name.
- Server-authoritative REDEMPIRE job/grade/character/item access.
- REDEMPIRE Core and REDEMPIRE Character restart resynchronization without requiring the player to reconnect.
- 30-second forgotten-door auto close/re-lock remains server controlled.
- Successful lockpick robbery doors remain open until manually locked or the resource/server restarts.
- Resource/server start restores `locked_on_start`.
- Normalized SQL tables use the `jrs_doorlock*` names.
- If REDEMPIRE tables are empty, a compatible normalized legacy doorlock table family can be imported automatically before bundled seeding.
## Start order
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_character
ensure jrs_inventory
ensure jrs_doorlocks
'''
The HTML/NUI is retained only for administration, the editor form, the inspector and notifications. Both nearby door interaction AND physical door selection dur
## Registering a door
1. `/createdoor` (or ADD DOOR in `/dooradmin`) opens the editor form.
2. Fill in name / access / auto-close and save. The form hides itself.
3. Aim at the physical door. The native prompt group shows `SELECT DOOR` (`E`) and `CANCEL` (`X`); the group title says whether the aimed object is a usable doo
4. Press `E` to confirm. A double door asks for the second leaf before it saves.
Every failure now returns a specific message (nothing selected, unreadable door, hash already registered, too far, no permission).مدفوع (السيرفر فقط) jrs_hurricane
إعصار JRS - طقس عاصف يتصاعد مع إعلانات الريستارت المجدولة
| الريسورس | jrs_hurricane |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | jrs |
| يعتمد على | jrs_core, weathersync |
| الواجهة | نعم (NUI) |
| اللغات | ar, en |
| حجم الكود | 678 سطر Lua |
الأوامر
/cancelrestart/hurricaneclimax/hurricanestop/hurricanetest/startrestart
الـ Exports
AdvanceStorm, CalmStorm, CancelRestart, GetStormState, StartRestartStorm, StopClimax, TriggerClimax
config/config.lua - 22 إعداد#
عام
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Debug |
false |
رسائل التصحيح لـ debug: true = نعم، false = لا (الافتراضي false). |
Enabled |
true |
Master toggle. Set to false to fully disable the storm without unloading the resource. |
CoreResource |
"jrs_core" |
إعداد لـ core resource. |
WeatherResource |
"weathersync" |
إعداد لـ weather resource. |
RevertOnSkip |
true |
Revert to calm weather when txAdmin reports the scheduled restart was skipped/postponed (admin cancelled it, or a warning got skipped). |
TestAce |
"jrs.hurricane" |
Optional ACE permission for the manual test commands. add_ace group.admin jrs.hurricane allow |
AdminScope |
"hurricane" |
Scope key checked against jrs_admin's permission gateway (exports.jrs_admin:HasAdminPermission(src, Config.AdminScope)) as a fallback when the caller has no ACE grant. |
Read as: once secondsRemaining drops to/under threshold[i], the storm is
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
TimeStageSeconds |
table |
at least stage (i + 1). Keep this list sorted highest-to-lowest. |
Stages |
table |
transition is the weathersync weather-transition time in seconds (how long the sky takes to morph into this stage); windSpeed is applied instantly, weathersync's setWind has no transition of its own. |
CalmWeather |
"sunny" |
Weather/wind restored when the storm is cleared (restart skipped, or /hurricanestop used by an admin). |
CalmWindSpeed |
1.0 |
رقم لـ calm wind speed (الافتراضي 1.0). |
CalmTransition |
20.0 |
رقم لـ calm transition (الافتراضي 20.0). |
NotifyDurationMs |
12000 |
إعداد وقت لـ notify duration ms. الوحدة (ثواني أو دقائق أو ملي ثانية) غالباً مكتوبة في اسم الإعداد أو في تعليق الإعدادات اللي جنبه. |
UseTxAdminAnnounce |
true |
Presentation settings: Uses txAdmin's in-game announcement banner (txcl:showAnnouncement) or jrs_admin's full-screen broadcast fallback so every player sees and hears the storm escalation. |
ShowCountdownCard |
true |
In-Game Countdown Card Settings: ShowCountdownCard: Set to false if you want only txAdmin native announcements/timers. |
UIPosition |
"top-right" |
'top-center-below-tx' (top center pushed down so tx messages appear above it) 'top-left' 'bottom-right' |
Climax |
table |
Climax settings: final violent phase when hurricane strikes (Stage 5 or <= 45s) |
↳ enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ strikeLightning |
true |
Trigger native lightning strikes and screen flash on players |
↳ dismountHorses |
true |
Dismount / ragdoll players off horses and spook the mounts |
↳ shakeCamera |
true |
Ground/camera rumble from violent thunderclaps |
↳ intervalMs |
4500 |
Frequency of lightning and gusts during the climax |
ملاحظات من ملف README#
# jrs_hurricane
Ties world weather to txAdmin's scheduled-restart announcements. Every time
txAdmin broadcasts a restart warning (`txAdmin:events:scheduledRestart`,
default warnings at 30/15/10/5/4/3/2/1 minutes remaining -- configured in
txAdmin's own scheduler), the storm gets one stage worse:
1. `clouds` -- dark clouds gather
2. `overcastdark` -- sky turns grey, wind picks up
3. `rain` -- rain starts falling
4. `thunderstorm` -- thunder and lightning (native RDR2 weather effects, no
extra scripting needed)
5. `hurricane` -- full storm, right around the final warning
Each stage change is broadcast to every player via weathersync's own server
API (`exports.weathersync:setWeather` / `:setWind`), so it stays in sync
exactly like the `/weather` command, and a bilingual (EN/AR) tip notification
goes out with it.
If an admin postpones/skips the restart (`txAdmin:events:scheduledRestartSkipped`),
the weather calms back down automatically.
## Requirements
- `weathersync` and `jrs_core` must be running (declared as `dependency` in
`fxmanifest.lua`).
- This is a txAdmin server; if txAdmin's monitor is ever unavailable, no
`scheduledRestart` events fire and the storm never starts -- that's by
design, there's nothing to escalate towards.
## Config
See `config/config.lua`:
- `Config.Enabled` -- master on/off switch.
- `Config.TimeStageSeconds` / `Config.Stages` -- when each stage kicks in and
what weather/wind it applies.
- `Config.RevertOnSkip` -- calm the weather back down if the restart is
postponed.
- `Config.TestAce` / `Config.AdminScope` -- who can use the manual test
commands.
## Manual testing
'''
/hurricanetest <secondsRemaining> -- jump the storm to the stage that time would trigger
/hurricanestop -- clear the storm and restore calm weather
'''
Both commands require the `jrs.hurricane` ACE permission (`add_ace group.admin
jrs.hurricane allow`) or `jrs_admin` admin access; the server console can
always use them.مجاني (موجود مع JRS Core) jrs_imapviewtool
| الريسورس | jrs_imapviewtool |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | JRS TEAM |
| الواجهة | لا |
| حجم الكود | 4,238 Lua lines |
الأوامر
/iplDistanceView/removeAll/requestAll/testIpl/toggleIplView
مدفوع (السيرفر فقط) jrs_logs
jrs_logs - مركز سجلات واحد لكل سكربت: Discord أو عارض داخل اللعبة أو الاثنين
| الريسورس | jrs_logs |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | jrs team |
| يعتمد على | oxmysql |
| الواجهة | نعم (NUI) |
| حجم الكود | 1,912 سطر Lua |
الأوامر
/jrslogs_mode
الـ Exports
GetMode, Ingest, Log, OpenViewer
جداول قاعدة البيانات
jrs_logs, jrs_logs_settings
config.lua - 17 إعداد#
jrs_logs - configuration
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Mode |
"both" |
'game' - stored in the database, shown in the in-game viewer only 'discord' - sent to Discord only (nothing stored) 'both' - stored in game AND sent to Discord |
Command |
"logs" |
Command that opens the viewer. |
ViewGroups |
table |
Who may open the viewer / change routing. jrs_admin groups, plus ACE: add_ace group.admin jrs_logs.view allow add_ace group.admin jrs_logs.manage allow |
ManageGroups |
table |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ manage groups. |
Ace |
table |
جدول عناصر ace. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
RetentionDays |
30 |
logs older than this are deleted (0 = keep forever) |
PageSize |
60 |
rows per page in the viewer |
↳ Username |
"" |
empty: Discord shows each webhook's own name (the script name) and avatar |
↳ Avatar |
"" |
إعداد لـ avatar. |
↳ Footer |
"REDEMPIRE · jrs_logs" |
إعداد لـ footer. |
Builtin |
table |
Built-in logs that no other script writes. |
↳ Connections |
true |
join / leave (with drop reason) |
↳ Resources |
true |
resource start / stop after boot |
↳ TxAdmin |
true |
kicks, warns, bans, announcements, restarts |
↳ Chat |
true |
chat messages |
LiveToasts |
false |
In-game toast for staff when a new warning/danger log arrives while the viewer is closed (each admin can switch it off in the viewer). |
LiveToastLevels |
table |
جدول عناصر live toast levels. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
مدفوع (السيرفر فقط) jrs_safezone
مناطق آمنة، زر إظهار الرادار، مناطق بدون ركض سريع للخيل، وأمر شاشة التحميل بستايل RDO
| الريسورس | jrs_safezone |
| المجلد | [ADMIN] |
| الإصدار | 1.4.1 |
| المطوّر | JRS |
| يعتمد على | jrs_core, oxmysql |
| الواجهة | نعم (NUI) |
| اللغات | ar, en |
| حجم الكود | 2,550 Lua lines |
الأوامر
/reloadsafezones
الـ Exports
GetCurrentSafeZone, GetZoneAtCoords, IsCityZoneAtCoords, IsNearAnySafeZone, IsNonWeaponProp, IsSafeZoneActive, IsSafeZoneActiveForPlayer, IsSafeZoneAtCoords, IsWeaponBlocked, IsWeaponBlockedForPlayer
جداول قاعدة البيانات
jrs_safezone_jail_log, jrs_safezones
config.lua - 117 إعداد#
عام
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Locale |
"ar" |
اللغات المتوفرة: 'ar', 'en' (يتطابق تلقائياً مع لغة اللاعب عبر JrsLang) |
Framework |
"jrs" |
'jrs', 'auto' |
DevMode |
true |
الإعدادات العامة |
AdminPanel |
table |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ admin panel. |
↳ enabled |
true |
تفعيل لوحة الإدارة |
↳ command |
"managesafezone" |
أمر إدارة المناطق الآمنة |
↳ updateInterval |
1000 |
معدل التحديث (بالمللي ثانية) |
AdminCommand |
Config.AdminPanel.command |
مين مسموح له: الوظائف أو المجموعات أو الصلاحيات لـ admin command. |
ClientTick |
table |
جدول عناصر client tick. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ zoneLogic |
0 |
منطق التحقق من المنطقة |
↳ antiAbuseShoot |
50 |
مكافحة إساءة إطلاق النار |
↳ antiAbuseExplosives |
100 |
مكافحة إساءة المتفجرات |
↳ username |
"سجلات المناطق الآمنة" |
إعداد لـ username. |
↳ avatar_url |
"" |
إعداد لـ avatar url. |
↳ color |
16711680 |
رقم لـ color (الافتراضي 16711680). |
CheckInterval |
500 |
مدة التحقق من وجود اللاعب داخل منطقة آمنة (مللي ثانية) |
CombatTagDuration |
5000 |
مدة وسم القتال (5 ثواني) |
SoftWarningDistance |
20.0 |
مسافة التحذير قبل دخول المنطقة الآمنة |
DefaultRadius |
75.0 |
نصف القطر الافتراضي عند إنشاء منطقة جديدة |
MaxRadius |
1000.0 |
أقصى نصف قطر مسموح |
DefaultJailMinutes |
5 |
مدة السجن الافتراضية بالدقائق |
MaxJailMinutes |
1440 |
أقصى مدة سجن مسموحة بالدقائق |
DefaultJailLocation |
"sisika" |
موقع السجن الافتراضي |
DefaultHorseSpeed |
8.0 |
السرعة القصوى الافتراضية للحصان |
MaxHorseSpeed |
25.0 |
أقصى سرعة حصان مسموحة |
Admins |
table |
الإداريون |
ToggleBannerCommand |
"togglebanner" |
أمر إظهار / إخفاء الشريط |
Notifications |
table |
إعدادات الإشعارات |
↳ enterSafezone |
table |
جدول عناصر enter safezone. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ exitSafezone |
table |
جدول عناصر exit safezone. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ combatTag |
table |
جدول عناصر combat tag. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ warningNearby |
table |
جدول عناصر warning nearby. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
ExplosiveWeapons |
table |
الأسلحة المتفجرة |
AllowWeaponDrawing |
true |
السماح بإخراج وإشهار السلاح الجانبي (المسدسات والأفردة) داخل المنطقة الآمنة للتفاعل بدون إطلاق أو قتل |
BlockBackWeapons |
true |
منع سحب الأسلحة الثقيلة من الظهر (تبقى معلقة على ظهر الشخصية ولا يمكن سحبها باليد داخل المنطقة الآمنة) |
PreserveEquippedWeaponsOnEnter |
true |
الحفاظ على الأسلحة المجهزة على الظهر والخصر عند دخول المنطقة الآمنة ومنع حذفها أو إلغاء تجهيزها إجبارياً |
AllowFishingRodInSafezones |
true |
السنارة مسموحة في كل المناطق الآمنة (مو بس فان هورن) |
NonWeaponProps |
table |
بروبات / أدوات مو أسلحة: ما تنشال ولا تنمنع داخل المناطق الآمنة. المنع يكون فقط للأسلحة الفعلية (مسدسات، بنادق، سكاكين، فؤوس، قوس، متفجرات، حبل...). أضف أي بروب ثاني هنا بنفس الصيغة. |
TypeSettings |
table |
إعدادات أنواع المناطق |
↳ hard |
table |
جدول عناصر hard. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ soft |
table |
جدول عناصر soft. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ rp |
table |
جدول عناصر rp. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
UI |
table |
إعدادات الواجهة |
↳ showBanner |
false |
إظهار الشريط |
↳ bannerText |
table |
نص يظهر للاعب لـ banner text. غيّره للترجمة أو لتغيير الاسم. |
↳ colors |
table |
جدول عناصر colors. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ blurEffect |
false |
تأثير ضبابي |
↳ blurIntensity |
1.0 |
شدة الضباب |
↳ blurTimecycle |
"teaser_trainShot" |
إعداد لـ blur timecycle. |
Admin |
Config.Admin or {} |
أوامر الإدارة |
ShowBlips |
false |
إعدادات العلامات على الخريطة |
BlipSprite |
"blip_ambient_ped_medium" |
نوع العلامة |
BlipColor |
"BLIP_MODIFIER_MP_COLOR_32" |
لون أخضر |
MapResourceName |
"RDR2CollectorsMap" |
اسم مورد الخريطة |
MapHtmlFile |
"index.html" |
ملف HTML |
ExemptJobs |
table |
الوظائف المستثناة من قوانين المنطقة الآمنة (خريطة مفتاح=قيمة وليس قائمة، لأن server.lua يتحقق منها بـ Config.ExemptJobs[jobName]) |
↳ bwsheriff |
true |
مفتاح لـ bwsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ valsheriff |
true |
مفتاح لـ valsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ armsheriff |
true |
مفتاح لـ armsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ armheriff |
true |
مفتاح لـ armheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ twsheriff |
true |
مفتاح لـ twsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ stbsheriff |
true |
مفتاح لـ stbsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ rhdsheriff |
true |
مفتاح لـ rhdsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ sdsheriff |
true |
مفتاح لـ sdsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ annsheriff |
true |
مفتاح لـ annsheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ marshal |
true |
مفتاح لـ marshal: true = شغّال، false = طافي (الافتراضي true). |
↳ sisika |
true |
مفتاح لـ sisika: true = شغّال، false = طافي (الافتراضي true). |
↳ police |
true |
مفتاح لـ police: true = شغّال، false = طافي (الافتراضي true). |
↳ sheriff |
true |
مفتاح لـ sheriff: true = شغّال، false = طافي (الافتراضي true). |
↳ pinkerton |
true |
مفتاح لـ pinkerton: true = شغّال، false = طافي (الافتراضي true). |
↳ guardgre |
true |
مفتاح لـ guardgre: true = شغّال، false = طافي (الافتراضي true). |
↳ guardred |
true |
مفتاح لـ guardred: true = شغّال، false = طافي (الافتراضي true). |
↳ guardyel |
true |
مفتاح لـ guardyel: true = شغّال، false = طافي (الافتراضي true). |
↳ guardblu |
true |
مفتاح لـ guardblu: true = شغّال، false = طافي (الافتراضي true). |
↳ REDEMPIRE |
true |
مفتاح لـ redempire: true = شغّال، false = طافي (الافتراضي true). |
↳ ALFIE |
true |
مفتاح لـ alfie: true = شغّال، false = طافي (الافتراضي true). |
↳ Guamrma |
true |
مفتاح لـ guamrma: true = شغّال، false = طافي (الافتراضي true). |
↳ guarma |
true |
مفتاح لـ guarma: true = شغّال، false = طافي (الافتراضي true). |
↳ repguard |
true |
مفتاح لـ repguard: true = شغّال، false = طافي (الافتراضي true). |
↳ president |
true |
مفتاح لـ president: true = شغّال، false = طافي (الافتراضي true). |
↳ justice |
true |
مفتاح لـ justice: true = شغّال، false = طافي (الافتراضي true). |
↳ bankman |
true |
مفتاح لـ bankman: true = شغّال، false = طافي (الافتراضي true). |
↳ kingdom |
true |
مفتاح لـ kingdom: true = شغّال، false = طافي (الافتراضي true). |
↳ paper |
true |
مفتاح لـ paper: true = شغّال، false = طافي (الافتراضي true). |
WeaponWorkerJobs |
table |
(تنظيف/تعديل/عرض) لكن الإطلاق معطل والضرر على اللاعبين ملغي. يشمل تلقائياً: صاحب أو موظف أي متجر لاعبين من نوع weapon_store (jrs_stores). الشرطي خارج الدوام (offpolice, offvalsheriff ...) يأخذ نفس المعاملة. |
↳ weapon |
true |
مفتاح لـ weapon: true = شغّال، false = طافي (الافتراضي true). |
↳ weaponstore |
true |
مفتاح لـ weaponstore: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith |
true |
مفتاح لـ gunsmith: true = شغّال، false = طافي (الافتراضي true). |
↳ rguns |
true |
مفتاح لـ rguns: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_valentine |
true |
مفتاح لـ gunsmith valentine: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_tumbleweed |
true |
مفتاح لـ gunsmith tumbleweed: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_strawberry |
true |
مفتاح لـ gunsmith strawberry: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_blackwater |
true |
مفتاح لـ gunsmith blackwater: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_rhodes |
true |
مفتاح لـ gunsmith rhodes: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_guarma |
true |
مفتاح لـ gunsmith guarma: true = شغّال، false = طافي (الافتراضي true). |
↳ gunsmith_saintdenis |
true |
مفتاح لـ gunsmith saintdenis: true = شغّال، false = طافي (الافتراضي true). |
WeaponWorkerStoreType |
"weapon_store" |
موديل أو كيان في اللعبة يُستخدم لـ weapon worker store type. |
Safezones |
table |
تعريف المناطق الآمنة |
DefaultZones |
Config.Safezones |
إعداد لـ default zones. |
AntiAbuse |
table |
إعدادات مكافحة الاستغلال |
↳ logShootingFromInside |
true |
تسجيل إطلاق النار من الداخل |
↳ logShootingFromOutside |
true |
تسجيل إطلاق النار من الخارج |
↳ preventShootingFromInside |
true |
منع إطلاق النار من الداخل |
↳ logExplosiveAbuse |
true |
تسجيل إساءة المتفجرات |
↳ explosiveAbuseThreshold |
3 |
عدد المحاولات قبل الاشتباه |
↳ combatTagEnabled |
true |
تفعيل وسم القتال |
TempSafezones |
table |
تخزين المناطق المؤقتة (يتم تعبئتها أثناء التشغيل) |
يخفي الخريطة الصغيرة وقت ما تضغط زر الإظهار، عشان الزر اللي يفتح
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
RadarPeek |
table |
عرض المستوى في jrs_core (TAB) ما يتعارض مع الرادار على مساحة الشاشة. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ ControlHash |
0xAC4BD4F1 |
TAB / عجلة الأسلحة. نفس الـ hash اللي يستخدمه jrs_core لإظهار المستوى، عشان يبقون متزامنين؛ إذا غيّرت الزر غيّر الاثنين مع بعض. |
↳ PollMs |
50 |
كم مرة ينفحص الزر بالملي ثانية. هذا تبديل للرادار مو تصويب: 50ms ما تنحس وتكلّف جزء بسيط من حلقة كل فريم. |
The actual sprint/shift control is already blocked by the zone's own
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
HorseSprintNotify |
table |
"disable_shift" option above (same control hash horses use to sprint). This only adds a horse-specific toast so a mounted player gets a clearer reason than the generic enter-zone message. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
RDO-style loading command (merged from jrs_key)
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
LoadingCommand |
table |
جدول عناصر loading command. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ Enabled |
true |
يشغّل أو يطفّي enabled (الافتراضي true). |
↳ Command |
"rdo_loading" |
إعداد لـ command. |
↳ HoldMs |
5000 |
رقم لـ hold ms (الافتراضي 5000). |
مدفوع (السيرفر فقط) jrs_scriptadmin
إدارة السكربتات في jrs core - لوحة أدمن مشتركة بستايل المزرعة، كل سكربتات jrs core تعرض قائمة الأدمن من خلالها.
| الريسورس | jrs_scriptadmin |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | jrs team |
| الواجهة | نعم (NUI) |
| اللغات | ar, en |
| حجم الكود | 182 سطر Lua |
الـ Exports
Close, IsOwner, Open, Update
مدفوع (السيرفر فقط) jrs_spooner
محرر كيانات العالم Spooner مع ربط بـ jrs_admin
| الريسورس | jrs_spooner |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | jrs team |
| يعتمد على | jrs_core, uiprompt |
| الواجهة | نعم (NUI) |
| حجم الكود | 54,710 Lua lines |
الأوامر
/-spooner/spooner/spooner_db/spooner_migrate_old_dbs/spooner_savedb
الـ Exports
Exit, IsActive
ملاحظات من ملف README#
# 💻 Spooner
Documentation relating to the jrs_spooner.
## 1. Installation
jrs_spooner works Standalone.
To install jrs_spooner:
- Download the resource
- On [Github](https://github.com/Spooni-Development/jrs_spooner)
- Ensure that all requirements are installed
- [uiprompt](https://github.com/kibook/redm-uiprompt)
- Add the exec to the server.cfg
'''
exec @jrs_spooner/permissions.cfg
'''
- Add the permissions
'''
add_ace builtin.everyone jrs_spooner.view allow
add_ace builtin.everyone jrs_spooner.spawn allow
add_ace builtin.everyone jrs_spooner.modify.own allow
add_ace builtin.everyone jrs_spooner.delete.own allow
add_ace builtin.everyone jrs_spooner.properties allow
add_ace builtin.everyone jrs_spooner.noEntityLimit allow
add_ace builtin.everyone jrs_spooner.modify.other allow
add_ace builtin.everyone jrs_spooner.delete.other allow
'''
- Drag and drop the resource into your resources folder
- `jrs_spooner`
- Add this ensure in your server.cfg
- `ensure jrs_spooner`
- At the end
- Restart the server
If you have any problems, you can always open a ticket in the Spooni Discord.
## 2. Usage
## Cursor colours
| Colour | Meaning |
|--------|--------------------|
| white | No entity selected |
| green | Entity highlighted |
| blue | Entity attached |
## Controls
| Control | Function |
(line hidden)
| W/A/S/D | Move |
| Spacebar/Shift | Up/Down |
| E | Spawn |
| Left click | Entity highlighted: Attach, Entity attached: Detach |مدفوع (السيرفر فقط) jrs_voicemonitor
jrs_voicemonitor - your Discord voice channel in-game (avatars, talking, mute/deaf, LIVE, camera, in-game ID) - one resource, uses the jrs_admin bot
| الريسورس | jrs_voicemonitor |
| المجلد | [ADMIN] |
| الإصدار | 1.4.0 |
| المطوّر | jrs team |
| يعتمد على | jrs_admin |
| الواجهة | نعم (NUI) |
| حجم الكود | 657 سطر Lua |
config.lua - 13 إعداد#
عام
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
Channels |
table |
Limit to these voice channel IDs (right-click the channel -> Copy Channel ID). Leave empty {} = any voice channel the player joins. |
TalkChannel |
"" |
sees who sends audio (it never records or decodes it). A bot can only be in one channel per Discord server, so the ring works in this channel only. '' = off. Right-click the channel -> Copy Channel ID. |
MaxUsers |
50 |
Cap on member rows shown for the channel. |
Access |
"all" |
Who can use it: 'all' = every player (each player can turn it off/on with /dc, remembered) 'staff' = staff only (see below) |
VisibleByDefault |
true |
On for players that never turned it off themselves. |
Ace |
"jrs_voicemonitor.view" |
* ace: add_ace group.admin jrs_voicemonitor.view allow * jrs_admin: staff that pass exports.jrs_admin:IsAdmin(src) * identifiers below (discord:/steam:/license:) |
UseJrsAdmin |
true |
يشغّل أو يطفّي jrs admin (الافتراضي true). |
Identifiers |
table |
جدول عناصر identifiers. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
ShowGameIds |
"staff" |
In-game server ID next to channel members who are on the server. 'staff' = only staff see it (recommended: links Discord identity to the player) 'all' = everyone sees it, false = nobody |
Commands |
table |
Chat commands |
↳ toggle |
"dc" |
turn the monitor off / on |
↳ settings |
"dcsettings" |
move it + settings (mouse) |
↳ hide |
"dchide" |
minimise to the title bar |
مجاني (موجود مع JRS Core) weathersync
مزامنة الوقت والطقس
| الريسورس | weathersync |
| المجلد | [ADMIN] |
| الإصدار | 1.0.0 |
| المطوّر | jrs team |
| الواجهة | نعم (NUI) |
| اللغات | ar, en |
| حجم الكود | 1,563 Lua lines |
الأوامر
/forecast/mytime/myweather/syncdelay/time/timescale/weather/weathersync/weatherui/wind
الـ Exports
getForecast, getTime, getWeather, getWind, isSnowOnGround, resetSyncDelay, resetTime, resetTimescale, resetWeather, resetWeatherPattern, resetWind, setMyTime, setMyWeather, setSyncDelay, setSyncEnabled, setTime, setTimescale, setWeather, setWeatherPattern, setWind, toggleSync
config/config.lua - 39 إعداد#
day 0 (Sun) - 6 (Sat)
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
time |
21600 |
06:00 Sunday (seconds into week) |
timescale |
30 |
Default ratio of in-game seconds to real seconds. Standard game time is 30:1, or 1 in-game minute = 2 real seconds. A value of 0 means time will be synced with the real server time. |
realTimeOffset |
0 |
If Config.timescale is 0, offset the real server time by this many seconds. |
timeIsFrozen |
false |
Whether time is frozen when the resource starts |
weatherInterval |
3600 |
1 hour in seconds |
weatherIsFrozen |
false |
Whether weather is frozen when the resource starts |
permanentSnow |
false |
Whether to permanently add snow on the ground, or only during snowy weather |
dynamicSnow |
false |
Whether to add snow on the ground when: a) in the snowy area of the map b) in the northern part of the map with snowy weather |
maxForecast |
23 |
Number of weather intervals to queue up |
windDirection |
0.0 |
Default wind direction when the resource starts |
windSpeed |
0.0 |
Default base wind speed when the resource starts |
windShearDirection |
45 |
Degrees by which wind direction changes at higher altitudes |
windShearSpeed |
2.0 |
Amount by which base wind speed increases at higher altitudes |
windShearInterval |
50.0 |
Interval in metres where wind direction/speed changes |
windIsFrozen |
false |
Whether wind direction is frozen when the resource starts |
syncDelay |
5000 |
How often in milliseconds to sync with clients |
All the numbers for the next stages must add up to 100.
| الإعداد | الافتراضي | وظيفته |
|---|---|---|
defaultGtaWeatherPattern |
table |
جدول عناصر default gta weather pattern. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ clear |
table |
جدول عناصر clear. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ clouds |
table |
جدول عناصر clouds. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ foggy |
table |
جدول عناصر foggy. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ overcast |
table |
جدول عناصر overcast. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ clearing |
table |
جدول عناصر clearing. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ rain |
table |
جدول عناصر rain. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ thunder |
table |
جدول عناصر thunder. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ extrasunny |
table |
جدول عناصر extrasunny. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
defaultRdrWeatherPattern |
table |
جدول عناصر default rdr weather pattern. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ sunny |
table |
جدول عناصر sunny. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ clouds |
table |
جدول عناصر clouds. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ overcastdark |
table |
جدول عناصر overcastdark. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ misty |
table |
جدول عناصر misty. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ fog |
table |
جدول عناصر fog. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ overcast |
table |
جدول عناصر overcast. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ drizzle |
table |
جدول عناصر drizzle. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ rain |
table |
جدول عناصر rain. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ thunder |
table |
جدول عناصر thunder. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ thunderstorm |
table |
جدول عناصر thunderstorm. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ hurricane |
table |
جدول عناصر hurricane. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
↳ shower |
table |
جدول عناصر shower. أضف أو احذف أو عدّل العناصر على نفس أمثلة الملف. |
disableSnowOnCayoPerico |
false |
Disable snowy weather and snow on ground when on Cayo Perico |
ملاحظات من ملف README#
# FiveM/RedM weather and time sync
# Features
- Syncs time and weather for all players
- Configurable weather pattern
- Weather is queued so players can get a forecast of upcoming weather
- Different weather for different regions
- Adjustable timescale
- Players can temporarily disable sync and set local time/weather
# Examples
| Forecast and admin UI | Region-specific weather | Adjustable timescale |
|---|---|---|
| [](https://imgur.com/Scn0z0E) | [](https
# Installation
1. Create a `weathersync` folder within your resources directory, for example, `resources/[local]/weathersync`.
2. Copy the files from this repository into the `weathersync` folder.
3. Add the following to your `server.cfg`:
'''
exec resources/[local]/weathersync/permissions.cfg
start weathersync
'''
# Commands
| Command | Description |
(line hidden)
| `/forecast` | Displays a forecast of upcoming weather. |
| `/mytime` | Set local time (if sync is off). |
| `/myweather` | Set local weather (if sync is off). |
| `/syncdelay` | Set how often the server syncs with clients. |
| `/time` | Set the server time. |
| `/timescale` | Set the ratio of in-game seconds to real-time seconds. |
| `/weather` | Set the server weather. |
| `/weathersync` | Toggle time/weather sync on/off. |
| `/weatherui` | Opens the admin UI for changing the time/weather/wind. |
| `/wind` | Set the wind direction and base speed. |
# Configuration
| Variable | Description | Example |
(line hidden)
| `Config.time` | Default time when the resource starts. | `DHMSToTime(0, 6, 0, 0)` (Sun 06:00:00) |
| `Config.timescale` | Default timescale when the resource starts | `30` (30 in-game secs per real sec) |
| `Config.realTimeOffset` | Offset of the real server time in seconds. | `0` |
| `Config.timeIsFrozen` | Whether time is frozen when the resource starts. | `false` |
| `Config.weather` | Default weather when the resource starts. | `"sunny"` |
| `Config.weatherInterval` | How often the weather changes. | `DHMSToTime(0, 1, 0, 0)` (1 in-game hour) |
| `Config.weatherIsFrozen` | Whether weather is frozen when the resource starts. | `false` |
| `Config.permanentSnow` | Whether to permanently add snow on the ground. | `false` |
| `Config.dynamicSnow` | Whether to dynamically add snow on the ground. | `true` |