Pular para conteúdo

Biblioteca Firecast

Biblioteca Firecast

A biblioteca firecast contém funções relacionadas às mesas, personagens, envio de mensagens, rolagem de dados, etc..

Todas as funções estão contidas na table/variável "Firecast" da unidade "firecast.lua".

 

Exemplo de uso:

-- Primeiro, é necessário usar a unidade "firecast.lua" require("firecast.lua");    -- Agora é possível acessar as funções da biblioteca Firecast.FUNCAO_DA_BIBLIOTECA(Parametro1, Parametro2, ...);

 

 

Funções da biblioteca Firecast

 

function Firecast.asyncOpenUserNDB(name[, options])

 

Asynchronously open a per-user NodeDatabase that is physically stored in the Firecast server.

 

Arguments:

  •  
  • name - A string identifying which remote user NodeDatabase should be opened
  • (OPTIONAL) options - A Lua table describing additional settings that may contain:
    • create - a boolean. If true, the NodeDatabase can be created if it does not exist. Default: false
    • skipLoad - a boolean. If true, the returned Promise will be resolved before the load process is finished. If true, you will receive a “Loading node” instead of a “Loaded node”. Default: false

 

Return:

  •  
  • a Promise of a Node Object. As default behavior, the Promise will be resolved after all data is downloaded and available to be used.

 

Remarks:

  •  
  • The content of NodeDatabases opened by this function is stored separately per-user. Each user will have their own copy of the NodeDatabase identified by the “name” argument

 

Example:

 

  1. local promise = Firecast.asyncOpenUserNDB("exampleNodeDatabase", {create=true});
  2. promise:thenDo(
  3. function(node)
  4. *-- This function will be called when/if the *
  5. *-- load completes. The first argument, *
  6. -- "node", contains the root node of the opened nodedatabase
  7. end,
  8.  
  9. function(errorMsg)
  10. *-- This function will be called when/if the *
  11. *-- load fails. The first argument, *
  12. -- "errorMsg", contains the message explaining why
  13. -- it was not possible to open the nodeDatabase
  14. end);

 

 

 

 

function Firecast.getMesas()

 

Retorna a lista de objetos mesas representando as mesas em que o usuário está no momento.

 

Parâmetros:

    Não há parâmetros

    

Retorno:

  •  
  • Um arranjo de objeto mesa, isto é, uma tabela lua indexada de 1 a N.

 

 

Exemplo - Exibindo uma mensagem contendo o nome e o sistema de todas as mesas em que o usuário está:\  

local mesas = Firecast.getMesas(); local msg = "";  for i = 1, #mesas, 1 do         local objMesa = mesas[i];               msg = msg .. objMesa.nome .. " (" .. objMesa.sistema .. ")\n"; end;  showMessage(msg);

 

 

function Firecast.findMesa(codigoInterno)

 

Dado o código interno de uma mesa, localiza o objeto mesa de código interno correspondente.

 

Parâmetros:

    Não há parâmetros

    

Retorno:

 

 

function Firecast.interpretarRolagem(stringDaRolagem)

 

Dado uma cadeia de caracteres representando uma rolagem de dados (Exemplos: "1d20 + 5", "1d20 + 1d10 - 5", etc..), retorna um objeto rolagem que contém as informações sobre a mesma.

 

Parâmetros:

  •  
  • stringDaRolagem - cadeia de caracteres que deseja interpretar como um objeto rolagem.

    

Retorno:

 

Observação:

  •  
  • Se stringDaRolagem não possuir uma cadeia de caracteres válida, o novo objeto rolagem ainda será retornado, porém vazio.

 

 

 

function Firecast.getRoomOf(object)

 

Dado um objeto qualquer, a função tenta determinar à qual objeto mesa ele está ligado.

 

Parâmetros:

  •  
  • object - O objeto que deseja tentar determinar à qual objeto mesa ele pertence ou está ligado.

    

Retorno:

  •  
  • Um Objeto Mesa, caso a função consiga determinar
  • nil, caso a função não consiga determinar

 

Observações:

  •  
  • Os objetos que costumam ser passados como parâmetro à esta função, são:
  • Também é possível passar um valor numérico para esta função. Se for passado um valor numérico, esta função se comporta como a função rrpg.findMesa.

 

 

function Firecast.getBibliotecaItemDe(objeto)

 

Dado um objeto qualquer, a função tenta determinar à qual objeto BibliotecaItem ele está ligado.

 

Parâmetros:

  •  
  • objeto - O objeto que deseja tentar determinar à qual objeto BibliotecaItem ele pertence ou está ligado.

    

Retorno:

  •  
  • Um Objeto BibliotecaItem caso a função consiga determinar
  • nil, caso a função não consiga determinar

 

Observações:

  •  
  • Os objetos que costumam ser passados como parâmetro à esta função, são:
    • objeto Nodo. Se o NodeDatabase for de um item na biblioteca, a função retorna o objeto biblioteca item.
    • Outros objetos que possam estar ligados à biblioteca da mesa.

 

 

function Firecast.getPersonagemDe(object)

 

Dado um objeto qualquer, a função tenta determinar à qual objeto Personagem ele está ligado.

 

Parâmetros:

  •  
  • object - O objeto que deseja tentar determinar à qual objeto Personagem ele pertence ou está ligado.

    

Retorno:

  •  
  • Um Objeto Personagem caso a função consiga determinar
  • nil, caso a função não consiga determinar

 

Observações:

  •  
  • Os objetos que costumam ser passados como parâmetro à esta função, são:
    • objeto Nodo. Se o NodeDatabase for de um personagem, a função retorna o objeto personagem.
    • Outros objetos que possam estar ligados aos personagens da mesa.

 

 

function Firecast.getCurrentUser()

 

Retorna uma tabela contendo informações do usuário logado atualmente no Firecast.

    

Retorno:

  •  
  • Um tabela LUA contendo as seguintes propriedades/atributos:
    • isLogged - Boleano (true ou false) indicando se possui um usuário logado no momento.
    • login - Se o usuário tiver logado, contém uma cadeia de caracteres contendo seu login/username.
    • isGold - Booleano (true ou false) indicando se o usuário é assinante Firecast Gold
    • isGoldPlus - Booleano (true ou false) indicando se o usuário é assinante Firecast Platinum / RRPG Gold Plus
    • isRuby - Booleano (true ou false) indicando se o usuário é assinante Firecast Ruby

 

 

function Firecast.registerChatToolButton(params)

 

Registra um botão-ferramenta que será apresentado nos chats do Firecast.

 

Parâmetros:

  •  
  • params - Uma tabela Lua contendo as seguintes propriedades do botão:
    • "hint" - Um string que será apresentado ao usuário quando ele arrastar o mouse em cima do botão.
    • "icon" - Um string contendo o endereço da imagem que será apresentada como ícone do botão.
    • "callback" - Uma função que será chamada quando o usuário clicar no botão. Seu primeiro parâmetro recebe um objeto Chat representado em qual chat o usuário clicou no botão.
    • (OPCIONAL) "priority" - Se quiser sugerir a ordem dos botões, informe um número em priority. Botões com prioridade maior aparecem antes dos com prioridade menor.
    • (OPCIONAL) "group" - Um string. Se quiser vários botões ficarem juntos, você pode especificar o mesmo valor em group para eles.
    • (OPCIONAL) "groupPriority" - Se quiser sugerir a ordem do grupo de botões, informe um número nesta propriedade. Grupos de botões com maior prioridade aparecem antes dos grupos com menor prioridade.

    

Retorno:

 

Observações:

  •  
  • O ícone informado poderá sofrer tratamento visual para se encaixar no tema do Firecast. Use ícones com transparência e cuja "sombra" seja capaz de remeter seu significado.
  • O botão só será apresentado se:
    • O usuário for assinante Gold.
    • Ou o usuário não for pagante e estiver em mesa cujo dono seja assinante Gold+/Platina.

 

Exemplo:

local params = {}; params.hint = "This button do @@localized.text.id"; params.icon = "/icons/myIcon.png"; params.priority = 10; params.group = "myButtonGroup";   params.callback =     function(chat)         -- the param "chat" contains good information to handle =)         showMessage("User clicked the button");     end;     Firecast.registerChatToolButton(params); 

 

 

 

function Firecast.unregisterChatToolButton(toolButtonId)

    

Desregistra um botão-ferramenta de chat previamente instalado pela função Firecast.registerChatToolButton

 

Parâmetros:

 

 


Created with the Personal Edition of HelpNDoc: Easily create EBooks