Jump to content

AJUDA AO BLOQUEAR VIATURA


Recommended Posts

Boa noite, gostaria de ajuda para alterar um script, eu fiz um script para bloquear a entrada de pessoas sem a ACL específica no veículo, porém ele também bloqueia a entrada de pessoas comuns mesmo de passageiro, existe a possibilidade de apenas bloquear que a pessoa que não tem a ACL específica entre de motorista? ou seja, mesmo sem a ACL vai poder ir de passageiro, também, nesse script ele só está configurado para 1 veículo, gostaria de poder ter mais veículos bloqueados, sem a necessidade de duplicar o arquivo do script, fazer tudo por aqui, a seguir vou enviar o script atual:

function enterVehicle(player, seat, jacked)
    local account = getPlayerAccount(player)
    if (not account or isGuestAccount(account)) then return end
    local accountName = getAccountName(account)
    if (getElementModel(source) == 596) and (not isObjectInACLGroup("user.".. accountName,aclGetGroup("Policial"))) then
        setVehicleLocked(source, true)
        outputChatBox("Apenas A PM Pode entrar neste veículo.", player)
    else
        setVehicleLocked(source, false)
    end
end
addEventHandler("onVehicleStartEnter", root, enterVehicle)

Aqui ele executa a função, porém bloqueia a entrada total de pessoas sem a ACL, gostaria que mesmo sem ACL a pessoa pudesse ir de passageiro.

também, só é possível bloquear 1 veículo, gostaria de poder adicionar mais veículos, nesse mesmo script.

Edited by Lord Henry
Script convertido de texto para Lua.
Link to comment

Bom dia, meu amigo!

  • A função getElementModel(source) pega o modelo do veículo que o jogador está tentando entrar.
  • seat == 0 garante que só estamos verificando o motorista.
  • A função cancelEvent() impede a entrada no veículo — bem melhor do que setVehicleLocked, que trava pra todo mundo.
  • O sistema usa uma tabela com o ID do veículo ([596] = true) para facilitar a checagem rápida.
  • Como agradecimento você pode conferir o Claire Anticheat no meu perfi, pode ser útil pro seu servidor :D

 

-- Lista de modelos que devem ter a entrada do motorista restrita
local restrictedVehicles = {
    [596] = true, -- viatura policial
    [597] = true, -- outro veículo
    [598] = true  -- e outro se quiser
}

-- Nome do grupo ACL autorizado
local allowedACL = "Policial"

function onPlayerAttemptEnterVehicle(player, seat, jacked)
    -- Só bloquear se for o banco do motorista
    if seat ~= 0 then return end

    -- Verifica se o veículo atual está na lista de veículos restritos
    local model = getElementModel(source)
    if not restrictedVehicles[model] then return end

    -- Verifica a conta do jogador e se ele está na ACL permitida
    local acc = getPlayerAccount(player)
    if not acc or isGuestAccount(acc) then return end

    local accName = getAccountName(acc)
    if not isObjectInACLGroup("user." .. accName, aclGetGroup(allowedACL)) then
        cancelEvent() -- Impede que ele entre como motorista
        outputChatBox("Apenas membros da ACL '" .. allowedACL .. "' podem dirigir este veículo.", player, 255, 0, 0)
    end
end
addEventHandler("onVehicleStartEnter", root, onPlayerAttemptEnterVehicle)

 

Edited by Erknneto
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...