Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计提醒

fivem-development五方发展

Agent Skill

fivem-development 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,281

周安装

97

GitHub Stars

4

下载量

799
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:fivem-development(五方发展)
来源仓库:https://github.com/proelias7/fivem-skill
仓库路径:skills/fivem-development
安装命令:
npx skills add https://github.com/proelias7/fivem-skill --skill fivem-development
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/proelias7/fivem-skill --skill fivem-development

简介

fivem-development 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装,需确认权限与维护状态。
  • 使用前应核实是否会触发联网、命令执行或文件读写操作。
  • 建议结合原始 README 进一步核验具体用法和功能边界。

SKILL.md

FiveM Development — vRP

Framework Architecture

vRP Creative Network is based on Lua 5.4 with communication via Proxy (server-to-server) and Tunnel (client-server).

FiveM Natives — Official Source

Official source for natives:

Support for Creative v5 and vRPEX (older variations)

Older versions maintain the same logic and best practices but change function and file names.

  • Creative v5: core in camelCase, modules/group.lua, configs in config/*.lua.
  • vRPEX: classic core (getUserId, getUserSource, getUsers, etc.) and configs in cfg/*.lua.

See the full mapping in reference.md.

Key Concepts

ConceptDescription
PassportUnique character ID (equivalent to user_id in other vRPs)
SourcePlayer connection ID on the server (changes on every reconnection)
DatatableIn-memory table with character data (inventory, position, skin, etc.)
CharactersGlobal server-side table indexed by source with character data
SourcesGlobal table Sources[Passport] = source for reverse lookup

Identification Flow

-- Server-side: get Passport from source
local Passport = vRP.Passport(source)

-- Server-side: get source from Passport
local source = vRP.Source(Passport)

-- Server-side: get character Datatable
local Datatable = vRP.Datatable(Passport)

-- Server-side: get inventory
local Inventory = vRP.Inventory(Passport)

Proxy/Tunnel System

-- In any SERVER-SIDE resource, get access to vRP:
local Proxy = module("vrp", "lib/Proxy")
vRP = Proxy.getInterface("vRP")

-- In any CLIENT-SIDE resource:
local Tunnel = module("vrp", "lib/Tunnel")
local Proxy = module("vrp", "lib/Proxy")
vRPS = Tunnel.getInterface("vRP")  -- call server functions

-- Expose your resource functions (server):
myResource = {}
Proxy.addInterface("myResource", myResource)
Tunnel.bindInterface("myResource", myResource)

Fire-and-forget Rule

Prefix Tunnel calls with _ to not wait for a response:

-- Await response (blocking)
local result = vRP.Generateitem(Passport,"water",1)

-- Fire-and-forget (non-blocking)
vRP._Generateitem(Passport,"water",1)

Main API (Server-side)

Player/Identity

FunctionParametersReturnDescription
vRP.Passport(source)sourcePassport\falseGets player Passport
vRP.Source(Passport)Passportsource\nilGets source from Passport
vRP.Datatable(Passport)Passporttable\falseCharacter in-memory data
vRP.Inventory(Passport)PassporttableCharacter inventory
vRP.Identity(Passport)Passporttable\falseCharacter data (name, name2, bank, phone, etc.)
vRP.FullName(source)sourcestring\falseCharacter full name
vRP.Players()tableReturns Sources (Passport→source)
vRP.Kick(source, Reason)source, stringKicks the player
vRP.Teleport(source, x, y, z)source, coordsTeleports the player
vRP.GetEntityCoords(source)sourcevector3Player coordinates
vRP.ModelPlayer(source)sourcestringPed model (mp_m/mp_f)

Money

FunctionParametersReturnDescription
vRP.GetBank(source)sourcenumberBank balance
vRP.GiveBank(Passport, Amount)Passport, numberAdds money to bank
vRP.RemoveBank(Passport, Amount)Passport, numberRemoves money from bank
vRP.PaymentBank(Passport, Amount)Passport, numberboolPays with bank (checks balance)
vRP.PaymentMoney(Passport, Amount)Passport, numberboolPays with cash
vRP.PaymentFull(Passport, Amount)Passport, numberboolTries cash, then bank
vRP.PaymentDirty(Passport, Amount)Passport, numberboolPays with dirty money
vRP.WithdrawCash(Passport, Amount)Passport, numberboolBank withdrawal
vRP.PaymentGems(Passport, Amount)Passport, numberboolPays with gems
vRP.GetCoins(Passport)PassportnumberGets coins
vRP.AddCoins(Passport, Amount)Passport, numberboolAdds coins
vRP.RemCoins(Passport, Amount)Passport, numberboolRemoves coins

Inventory

FunctionParametersReturnDescription
vRP.GiveItem(Passport, Item, Amount, Notify, Slot)...Gives item (no durability)
vRP.GenerateItem(Passport, Item, Amount, Notify, Slot)...Gives item (with durability/charges)
vRP.TakeItem(Passport, Item, Amount, Notify, Slot)...boolRemoves item (returns success)
vRP.RemoveItem(Passport, Item, Amount, Notify)...Removes item (no return)
vRP.ItemAmount(Passport, Item)Passport, stringnumberItem amount
vRP.ConsultItem(Passport, Item, Amount)...boolChecks if has amount
vRP.InventoryWeight(Passport)PassportnumberCurrent weight
vRP.GetWeight(Passport)PassportnumberMax weight
vRP.SetWeight(Passport, Amount)Passport, numberAdds to max weight
vRP.MaxItens(Passport, Item, Amount)...boolChecks item max limit
vRP.ClearInventory(Passport)PassportClears inventory

Groups/Permissions

FunctionParametersReturnDescription
vRP.HasPermission(Passport, Permission, Level)...boolChecks direct permission
vRP.HasGroup(Passport, Permission, Level)...boolChecks group (includes parents)
vRP.HasService(Passport, Permission)...boolChecks if in service
vRP.SetPermission(Passport, Permission, Level, Mode)...Sets permission
vRP.RemovePermission(Passport, Permission)...Removes permission
vRP.ServiceToggle(Source, Passport, Permission, Silenced)...Toggles service
vRP.NumPermission(Permission, Level)...table, numberPlayers in service
vRP.CheckGroup(Passport, Type)...boolChecks group by type
vRP.HasAction(Passport)PassportboolChecks police action
vRP.SetAction(Passport, Status)...Sets action status

Survival

FunctionParametersDescription
vRP.UpgradeHunger(Passport, Amount)...Increases hunger
vRP.DowngradeHunger(Passport, Amount)...Decreases hunger
vRP.UpgradeThirst(Passport, Amount)...Increases thirst
vRP.DowngradeThirst(Passport, Amount)...Decreases thirst
vRP.UpgradeInfection(Passport, Amount)...Increases infection
vRP.DowngradeInfection(Passport, Amount)...Decreases infection
vRP.Revive(source, Health)...Revives player

Database

-- Register prepared query
vRP.Prepare("name/query", "SELECT * FROM table WHERE id = @id")

-- Execute query
local result = vRP.Query("name/query", { id = 123 })

Uses oxmysql internally. Parameters with @name.

Persistent Data

-- Server Data (entitydata — global data)
local data = vRP.GetSrvData("UniqueKey")
vRP.SetSrvData("UniqueKey", { field = "value" })

-- Player Data (playerdata — data per player)
local data = vRP.UserData(Passport, "key")
vRP.setUData(Passport, "key", json.encode(data))

Global Utilities

FunctionDescription
parseInt(value)Converts to integer (min. 0)
parseFormat(value)Formats number with thousand separator
splitString(str, symbol)Splits string by separator
SplitOne(name)First element of split
sanitizeString(str, chars, allow)Filters characters
CompleteTimers(seconds)Formats full time in HTML
MinimalTimers(seconds)Formats summarized time
CountTable(table)Counts items in table
async(func)Executes asynchronous function

Client-Server Communication

Notification Events

-- Server-side: simple notification
TriggerClientEvent("Notify", source, "success", "Message.", false, 5000)
-- Types: "success", "important", "negado" (denied)

-- Server-side: item notification
TriggerClientEvent("NotifyItens", source, { "+", "itemIndex", "amount", "Item Name" })
-- "+" for gain, "-" for loss

Important Events

EventSideDescription
"Connect"ServerPlayer chose character (Passport, Source)
"Disconnect"ServerPlayer disconnected (Passport, Source)
"CharacterChosen"ServerCharacter chosen (Passport, source)
"vRP:Active"ClientPlayer activated (source, Passport, Name)

Critical Performance Rules (Summary)

ALWAYS follow these rules when writing code:

  1. Tunnel vs Event: Use TriggerServerEvent/TriggerClientEvent when you do NOT need a return. Use Tunnel only when you NEED a return.
  2. Dynamic Sleep: NEVER fixed Wait(0). Adjust based on state (dist < 20 = 0, dist < 50 = 500, else = 1000+).
  3. Calls in same environment: Call functions directly. NEVER use TriggerEvent() to call on the same side.
  4. No remote calls in loops: Do not use Tunnel/Events in loops < 5 seconds. Prefer batch or delta.
  5. Small Payloads: Send only the change, not full data. Limit of ~8KB per event.
  6. Cache: Use exports.cacheaside:Get() for repeated database queries. Never query the database in a loop.
  7. SafeEvent (server): Every event that gives money/item/advantage MUST pass through exports["cerberus"]:SafeEvent(source, "eventName", {time = N}).
  8. SetCooldown (client): Repetitive actions on client (open menu, use item) must use exports["cerberus"]:SetCooldown("name", ms).
  9. Tables > if/else: For 3+ conditions, use lookup table (O(1)) instead of if/elseif chains.
  10. Protect nil: Always check variables before concatenating. Use or "" as fallback.

UI Construction (React + Vite)

Stack: React 18 + TypeScript + Vite + Tailwind CSS + Zustand.

Fundamental Rules:

  • base: "./" in vite.config.ts (MANDATORY for FiveM)
  • Use rem for ALL sizes — NEVER px for layout
  • Media queries in html font-size to scale with player resolution
  • Tailwind v4 uses OKLCH and FiveM CEF does not support it. Use Tailwind v3.4.17.
  • FORBIDDEN: backdrop-filter: blur(), filter: blur(), filter: drop-shadow() — cause FPS drop
  • FORBIDDEN: framer-motion, GSAP, react-spring — heavy animation libs
  • Use pure CSS transitions/keyframes for animations
  • Independent modules (Notify, Progress) outside VisibilityProvider
  • Main interface inside VisibilityProvider with NuiFocus
  • Global overflow: hidden and user-select: none
  • isEnvBrowser() for data mocking in dev
  • Communication: observe() to listen to NUI, Post.create() to send callbacks

For complete UI guide: ui-guide.md

Additional References

External Resources (Download)

Use these official repositories when the project mentions dependencies:

  • cacheaside (in-memory cache): git@github.com:proelias7/cacheaside.git
  • cerberus (anti-exploit + cooldowns): git@github.com:proelias7/cerberus.git

vRPex Compatibility

The vRP Creative Network has compatibility aliases with classic vRP:

vRPex (old)Creative Network (current)
getUserIdPassport
getUserSourceSource
getUserIdentityIdentity
getUserDataTableDatatable
hasGroupHasGroup
hasPermissionHasPermission
giveInventoryItemGiveItem
tryGetInventoryItemTakeItem
getInventoryItemAmountItemAmount
giveMoneyGiveBank
tryFullPaymentPaymentFull
getBankMoneyGetBank
query / executeQuery
preparePrepare

ALWAYS use the native Creative Network names (right column), not the aliases.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.47%
按下载量换算299

Claude

32.04%
按下载量换算256

Cursor

16.81%
按下载量换算134

Gemini CLI

9.46%
按下载量换算76

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills