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
Emvrp/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.
