Skip to main content
O banned é o sistema de reclusão (ban) da base. Ele confina jogadores banidos em uma zona-prisão, decrementa o tempo de banimento em tempo real e impede a conexão de contas com ban permanente. Este recurso é a camada de confinamento e contagem de tempo. A aplicação, verificação e persistência do ban ficam no core vRP (modules/banned.lua e base.lua); este recurso reage ao estado Banned.

Como funciona

1

Statebag

Banido quando LocalPlayer.state.Banned == true (definido no servidor).
2

Confinamento (cliente)

Uma PolyZone "Banned" (centro vec3(-1670.08,-3168.85,13.99)) prende o jogador; se ele sair, é teleportado de volta ao centro.
3

Auto-revive

Vida <= 100 → após 15s teleporta ao centro e revive via exports.survival:Revive(200).
4

Decremento

A cada 60s o cliente dispara banned:Service; o servidor chama vRP.UpdateBanned(Passport), reduz o saldo e libera quando zera.
5

Bloqueio no connect

vRP.Banned(source,Account) recusa a conexão se Account.Banned == -1 (permanente), exibindo motivo/tempo.
6

HWID

vRP.Banned percorre identificadores e tokens de hardware na tabela hwid, propagando o ban por hardware.

Dependências

vrp

vRP.UpdateBanned, tabela Banned em config/Global.lua.

PolyZone

Define a zona-prisão de confinamento.

survival

Revive no auto-revive.

pma-voice

Mute do jogador banido.

Eventos


Banco de Dados

Não cria tabelas próprias; usa estruturas do core.

Customização

Em vrp/config/Global.lua, tabela Banned: Mute (true), Route (9999998, bucket do banido), Leave (vec3(242.71,-392.01,46.30), saída ao fim). No recurso (client-side/core.lua): Center da prisão e vértices da PolyZone.