Configurando Permissões e Pagamentos no Lapdance

Neste guia, você aprenderá a configurar as funções relacionadas a permissões de criação de blips e transações financeiras no script Lapdance.

📁 dk_lapdance > config > server > functions.lua

Verificando permissões de criação de blips

Função Config.blipCreatePermission

Essa função verifica se o player possui permissão para criar ou remover blips.

Como funciona:

  • Utiliza a função FW.isAdmin(source) do framework do player, caso ele seja identificado pelo dk_snippets.
  • Caso o framework não seja detectado, verifica diretamente através do FiveM Ace Permissions usando IsPlayerAceAllowed(source, "admin").

Código:

function Config.blipCreatePermission(source) 
    return FW.isAdmin(source)
end

Customização: Se necessário, adapte o comportamento para utilizar permissões específicas ou outro método de validação de administradores.

Efetuando pagamento de gorjetas

Função Config.tipPayment

Essa função processa o pagamento de gorjetas pelo player.

Como funciona:

  1. Obtém o user_id do player usando FW.userId(source).
  2. Deduz o valor da gorjeta do banco do player com FW.paymentBank(user_id, amount).
  3. Caso o player não tenha saldo suficiente, uma mensagem de erro é enviada.
  4. Se o pagamento for bem-sucedido, uma mensagem de sucesso é exibida.

Código:

function Config.tipPayment(source, amount)
    local user_id = FW.userId(source)
    if not FW.paymentBank(user_id, amount) then
        DkNotify(source, "red", "Impossível efetuar o pagamento da gorjeta. Dinheiro insuficiente.")
        return false
    end
    DkNotify(source, "green", "Gorjeta enviada com sucesso.")
    return true
end

Mensagem ao jogador:

  • Erro: “Impossível efetuar o pagamento da gorjeta. Dinheiro insuficiente.”
  • Sucesso: “Gorjeta enviada com sucesso.”

Distribuindo gorjetas aos dançarinos

Função Config.giveTip

Essa função distribui o valor total da gorjeta entre os dançarinos.

Como funciona:

  1. Calcula o valor individual da gorjeta dividindo o total pela quantidade de dançarinos.
  2. Adiciona o valor ao banco do player usando FW.giveBank(user_id, amount).
  3. Envia uma notificação de sucesso ao player informando o valor recebido.

Código:

function Config.giveTip(dancers, total)
    local amount = ParseInt(total / #dancers)
    table.forEach(dancers, function(datas)
        CreateThread(function()
            local user_id = FW.userId(datas.source)
            FW.giveBank(user_id, amount)
            DkNotify(datas.source, "green", "Você recebeu uma gorjeta de <strong>$"..amount..".0</strong> pela dança.", 10000)
        end)
    end)
end

Mensagem ao jogador:

  • “Você recebeu uma gorjeta de $X.0 pela dança.”

Nota: O valor é dividido igualmente entre os dançarinos para evitar inconsistências e possíveis duplicações.

Dicas Úteis

  • As funções FW.isAdmin, FW.userId, FW.paymentBank e FW.giveBank são dependências do framework detectado pelo dk_snippets. Certifique-se de que seu framework é compatível ou adapte essas funções conforme necessário.
  • A função Config.blipCreatePermission é verificada em todas as alterações de blips para evitar dumps, caso queira remover a necessidade de permissões altere para return true.

Configurando Permissões e Pagamentos no Lapdance

Neste guia, você aprenderá a configurar as funções relacionadas a permissões de criação de blips e transações financeiras no script Lapdance.

📁 dk_lapdance > config > server > functions.lua

Verificando permissões de criação de blips

Função Config.blipCreatePermission

Essa função verifica se o player possui permissão para criar ou remover blips.

Como funciona:

  • Utiliza a função FW.isAdmin(source) do framework do player, caso ele seja identificado pelo dk_snippets.
  • Caso o framework não seja detectado, verifica diretamente através do FiveM Ace Permissions usando IsPlayerAceAllowed(source, "admin").

Código:

function Config.blipCreatePermission(source) 
    return FW.isAdmin(source)
end

Customização: Se necessário, adapte o comportamento para utilizar permissões específicas ou outro método de validação de administradores.

Efetuando pagamento de gorjetas

Função Config.tipPayment

Essa função processa o pagamento de gorjetas pelo player.

Como funciona:

  1. Obtém o user_id do player usando FW.userId(source).
  2. Deduz o valor da gorjeta do banco do player com FW.paymentBank(user_id, amount).
  3. Caso o player não tenha saldo suficiente, uma mensagem de erro é enviada.
  4. Se o pagamento for bem-sucedido, uma mensagem de sucesso é exibida.

Código:

function Config.tipPayment(source, amount)
    local user_id = FW.userId(source)
    if not FW.paymentBank(user_id, amount) then
        DkNotify(source, "red", "Impossível efetuar o pagamento da gorjeta. Dinheiro insuficiente.")
        return false
    end
    DkNotify(source, "green", "Gorjeta enviada com sucesso.")
    return true
end

Mensagem ao jogador:

  • Erro: “Impossível efetuar o pagamento da gorjeta. Dinheiro insuficiente.”
  • Sucesso: “Gorjeta enviada com sucesso.”

Distribuindo gorjetas aos dançarinos

Função Config.giveTip

Essa função distribui o valor total da gorjeta entre os dançarinos.

Como funciona:

  1. Calcula o valor individual da gorjeta dividindo o total pela quantidade de dançarinos.
  2. Adiciona o valor ao banco do player usando FW.giveBank(user_id, amount).
  3. Envia uma notificação de sucesso ao player informando o valor recebido.

Código:

function Config.giveTip(dancers, total)
    local amount = ParseInt(total / #dancers)
    table.forEach(dancers, function(datas)
        CreateThread(function()
            local user_id = FW.userId(datas.source)
            FW.giveBank(user_id, amount)
            DkNotify(datas.source, "green", "Você recebeu uma gorjeta de <strong>$"..amount..".0</strong> pela dança.", 10000)
        end)
    end)
end

Mensagem ao jogador:

  • “Você recebeu uma gorjeta de $X.0 pela dança.”

Nota: O valor é dividido igualmente entre os dançarinos para evitar inconsistências e possíveis duplicações.

Dicas Úteis

  • As funções FW.isAdmin, FW.userId, FW.paymentBank e FW.giveBank são dependências do framework detectado pelo dk_snippets. Certifique-se de que seu framework é compatível ou adapte essas funções conforme necessário.
  • A função Config.blipCreatePermission é verificada em todas as alterações de blips para evitar dumps, caso queira remover a necessidade de permissões altere para return true.