Créditos personalizados

  custom_credit:
    name: "Crédito Custom"
    image: "https://picsum.photos/200"
    form:
      input_id: # Nome do input, precisa ser único neste formulário
        label: "Escolha uma opção"
        # A presença do campo choices transforma este input em um select
        choices:
          foo: "Bar"
          fizz: "Buzz"
        # Função que será chamada para validar se o jogador pode ou não escolher a opção
        # Esta função é opcional, declare apenas quando for validar o dado inserido
        validation: [$exports, resource_name, validarInput]
        
        # Função que será chamada para entregar o benefício
        handler: [$exports, resource_name, entregarBeneficio]
        
        # Função que será chamada quando o formulário falhar, para remover o benefício
        rollback: [$exports, resource_name, reverterBeneficio]

Se você quer criar os validators e handlers dentro do próprio script da hydrus, existe um atalho para declarar essas funções

[$self, nome_do_exports]

No nosso exemplo, vamos assumir que você está criando os exports dentro da própria hydrus, através de um Plugin.

-- Se essas declarações forem feitas no script da hydrus
-- Você poderá usar [$self, nome_do_exports] para declarar na config
-- Se for em outro script, será necessário usar [$exports, nome_do_script, nome_do_exports]

exports('validarInput', function(credit, source, value)
    if value == 'foo' then
        return 'Opção desabilitada temporariamente'
    end
    -- Qualquer return que não seja uma string será considerado sucesso
end)

exports('entregarBeneficio', function(credit, source, value)
    --
end)

exports('reverterBeneficio', function(credit, source, value)
    --
end)

Last updated