SEU PRÓXIMO PROJETO COMEÇA AQUI

Preparando sua navegação.

Carregando o conteúdo da página…

DOCUMENTAÇÃO / Host de FiveM

Como colocar tranca nas portas no FiveM (base vRPex)

Atualizado em ~2 min de leitura

📌 Introdução

Na base vRPex, diferente de ESX ou QBCore, os sistemas de tranca de portas geralmente são integrados diretamente em scripts de interior, funções nativas da framework ou por scripts externos feitos para vRP. Neste tutorial, você verá como configurar portas trancáveis, seja com comandos ou permissão por grupo/job.

🔧 1. Baixe um script de trancar portas compatível com vRPex

Você pode usar scripts prontos como:

  • vrp_doorlock
  • vrp_tranca
  • Ou editar o vrp_interiors com suporte a trancas

Caso não tenha, use este como base:

📁 Estrutura do script:

resources/vrp_tranca/
├── client.lua
├── server.lua
└── __resource.lua

📄 2. Exemplo de script vrp_tranca

__resource.lua:

client_script "client.lua"
server_script "server.lua"

client.lua (simplificado):

local portas = {
{x = 425.1, y = -979.5, z = 30.7, h = 90.0, id = -1215222675, locked = true}
}

Citizen.CreateThread(function()
while true do
Citizen.Wait(1)
local player = PlayerPedId()
local px, py, pz = table.unpack(GetEntityCoords(player, true))
for k,v in pairs(portas) do
local dist = Vdist(px, py, pz, v.x, v.y, v.z)
if dist <= 1.2 then
DrawText3D(v.x, v.y, v.z + 0.3, "[E] Trancar/Destrancar")
if IsControlJustPressed(0, 38) then
TriggerServerEvent("vrp_tranca:toggle", k)
end
end
FreezeEntityPosition(GetClosestObjectOfType(v.x, v.y, v.z, 1.0, v.id, false, false, false), v.locked)
end
end
end)

function DrawText3D(x,y,z, text)
SetTextScale(0.35, 0.35)
SetTextFont(4)
SetTextProportional(1)
SetTextColour(255, 255, 255, 215)
SetTextEntry("STRING")
SetTextCentre(true)
AddTextComponentString(text)
DrawText(_x,_y)
end

server.lua:

local trancas = {}

RegisterServerEvent("vrp_tranca:toggle")
AddEventHandler("vrp_tranca:toggle", function(porta)
trancas[porta] = not trancas[porta]
TriggerClientEvent("vrp_tranca:update", -1, porta, trancas[porta])
end)

🧱 3. Adicione no server.cfg

No final do seu server.cfg, adicione:

start vrp_tranca

🧠 Como usar no jogo:

  • Vá até a porta (coordenadas definidas no script)
  • Pressione E para trancar ou destrancar
  • Pode ser adaptado para permitir só policiais, admin, etc.

🔐 Exemplo com permissão (opcional):

Você pode adicionar no client.lua um check usando vRP:

if vRP.hasPermission("police.permission") then
-- permitir trancar
end

Ou usar um webhook para logar quem usou.


💡 Dicas importantes

  • Use /coords para pegar as posições exatas das portas
  • Sempre use o hash correto da porta (ex: -1215222675)
  • Evite colocar muitas trancas em looping — use Citizen.Wait(500) fora da área

🔗 Veja também:


🤝 Suporte técnico OTH Host

Se você precisar de ajuda para implementar esse sistema de tranca, entre em contato com o suporte técnico via painel ou:
📨 https://othhost.com.br/contato/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *