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)