ox-target: skill de FiveM para Cursor, VS Code e Claude Code
Trigger: ox_target, third-eye, targeting, interaction zone, qb-target migration. Add targetable entities, models, players and zones with exports.ox_target.
Não quer gerenciar as skills por conta própria? Obtenha o app completo.
Como instalar esta skill
Baixe o zip, descompacte e coloque a pasta onde a sua ferramenta carrega skills ou regras. O caminho exato depende da ferramenta:
Claude Code
Descompacte em .claude/skills/ox-target/ dentro do projeto (a pasta precisa conter SKILL.md). Para todos os projetos, use ~/.claude/skills/ox-target/.
Cursor
O Cursor carrega as regras do projeto de .cursor/rules/. Adicione ali um arquivo de regra apontando para a skill descompactada, ou cole o conteúdo do SKILL.md e dos arquivos de regras em uma regra. O formato é .mdc com frontmatter e muda entre versões, então confira a documentação da sua versão.
VS Code / Copilot
O Copilot lê arquivos de instruções em .github/instructions/*.instructions.md. Copie o SKILL.md para lá com um glob applyTo para os seus arquivos Lua e mantenha os arquivos de regras ao lado.
O arquivo SKILL.md
Este é o arquivo que o seu assistente de IA lê. Ele aponta para os arquivos de regras incluídos no download.
O conteúdo da skill está em inglês: é documentação técnica feita para agentes de IA.
ox_target
Third-eye targeting for FiveM. Replaces qb-target and bt-target. Supports ox_core, esx and qbx_core.
Activation Contract
Load this skill when the user asks to make something interactable: "press E on this ped", "third eye", "target option", "add an interaction to this vehicle/door/prop", or when migrating from qb-target.
Hard Rules
- Call every function through
exports.ox_target:<fn>(...). There is no globalox_targettable. onSelectruns on the CLIENT. Never trust its arguments server-side: re-validate in theserverEventhandler.- Always pass
nameon an option you intend to remove later. Removal is by name, not by index. distancedefaults to the resource default; set it explicitly for anything above ~2.5m.- Zone and entity functions are CLIENT-side only.
- Prefer
addLocalEntityfor entities you spawned yourself; useaddEntityonly for networked entities and expect the id to change on respawn.
Decision Gates
| Target | Function |
|---|---|
| One entity you spawned locally | addLocalEntity(entities, options) |
| A networked entity (net id) | addEntity(entities, options) |
| Every instance of a model | addModel(models, options) |
| Every ped / vehicle / object / player | addGlobalPed / addGlobalVehicle / addGlobalObject / addGlobalPlayer |
| Everything, no filter | addGlobalOption(options) |
| A location, not an entity | addBoxZone / addSphereZone / addPolyZone |
Execution Steps
- Confirm
ox_targetis started AFTERox_libinserver.cfg. - Pick the function from the Decision Gates table.
- Build the options array. Read rules/options.md for every allowed field.
- Gate visibility with
groups,itemsorcanInteractrather than checking insideonSelect. - Route the action:
onSelectfor client logic,serverEventfor anything that grants money, items or state. - Store the returned zone id if the zone must be removed later.
Output Contract
Return runnable Lua using exports.ox_target. Include the fxmanifest.lua dependency lines when the resource is new. Never emit qb-target syntax.
References
- rules/setup.md — install, fxmanifest, convars, framework support.
- rules/options.md — every field of the option table.
- rules/entities.md — entity, model and global targets.
- rules/zones.md — box, sphere and poly zones.
- rules/migration.md — qb-target to ox_target.
Upstream docs: https://overextended.dev/ox_target