Skip to main content
A arena é um sistema de PvP / deathmatch (Airsoft) com loadouts fixos por modalidade, respawn automático, killstreak e killfeed. Ao entrar, o personagem é guardado e substituído por inventário e vida temporários; ao sair, tudo é restaurado.

Como funciona

1

Entrada via NPC

O jogador interage com um NPC (u_m_y_juggernaut_01) no ponto de entrada (Init.Coords) via ox_target, escolhendo uma das 3 modalidades: Pistolas, Sub-Metralhadoras ou Rifles.
2

Guardar e equipar (arena:Enter)

Ao entrar, o servidor faz vRP.SaveTemporary: guarda inventário, vida, colete, status e posição reais; zera o inventário; define vida 200/colete 100/status cheios; entrega o loadout e teleporta para um respawn aleatório, isolado num bucket por Route (900001/900002/900003).
3

Contagem de jogadores

GlobalState["Arena:<Route>"] mantém a contagem de jogadores por modalidade.
4

Mortes e killfeed

Morte via gameEventTriggered: incrementa killstreak do atacante e dispara arena:Death (killfeed). Respawn/reset de streak vêm do survival.
5

Saída e restauração

Sair da PolyZone (ou arena:Exit) restaura tudo (vRP.ApplyTemporary), revive e teleporta de volta. Dentro da arena há stamina infinita e state.Arena desativa lógicas de outros recursos (paramédico, sangramento, dano padrão).

Dependências

vrp

SaveTemporary / ApplyTemporary / Bucket.

PolyZone

Delimita a área da arena.

ox_target

Menu de entrada no NPC.

survival

Revive; arena:Respawn / ResetStreek.

inventory

SaveArena / ApplyArena / CleanWeapons.

domination

KillFeed.

Configuração

shared-side/shared.lua e client-side/config.lua:
  • Init.Model / Init.Coords: NPC e posição de entrada (blip sprite 433).
  • Zones["1".."3"]: por modalidade: Respawn (lista vec3, sorteado), Route (bucket), Attachs (acessórios por arma), Ammos (munição por tipo), Itens (armas com Amount/Slot).
  • Polyz["1".."3"] (config.lua): polígono PolyZone que delimita a arena.

Eventos

Interfaces Tunnel

Publica arena em ambos os lados: CheckEnter(Table)/CheckExit() (servidor), Config(Number) (cliente).

Recebidos no servidor

Cliente

Também registra AddStateBagChangeHandler("Arena:<Route>") por modalidade para atualizar a contagem de jogadores na NUI.

Customização

  • Modalidades: novas entradas em Zones (+ Route/Polyz) e opções no menu ox_target.
  • Loadouts: Itens, Attachs, Ammos de cada zona.
  • Reposicionar: Init.Coords, pontos de Respawn, vértices de Polyz.
  • Vida/colete de entrada (200/100): em vRP.SaveTemporary.
Sem exports e sem persistência em banco.