Nova licença
[gestor/gestor2.git] / API.txt
blob1e5e8452651e39310876d6b8dec4adb3d566511c
1 API do gestor
2 =============
4 As funcionalidades do gestor estao descritas com foco para desenvolvimento de mods de apoio
7 ======================================> Lugares Avulsos <======================================
8 Esses lugares sao estruturas que precisam ser montadas para o funcionamento de uma aventura ou 
9 tarefa dos jogadores. O gestor pode informar essa estrutura e seu status de atividade 
10 (OK ou PENDENTE) para o administrador acompanhada de um texto sobre a estrutura que pode ser 
11 usado para informar um comando ou metodo facil para o administrador criar a estrutura.
13 Sintaxe
14 gestor.lugares_avulsos.definir(nome, status, texto)
16 * Todas as variaveis sao obrigatorias (nome, status, texto)
18 * Variavel nome deve ser uma cadeia de caracteres para o nome do lugar
20 * Variavel status deve ser do tipo boleano para definir o estado do lugar onde true serve 
21 para OK e false serve para PENDENTE
23 * Variavel texto deve ser uma cadeia de caracteres que serve para definir um texto sobre o 
24 lugar e como criar o lugar por meio de comandos ou qualquer outro metodo que quiser informar.
25 Jamais use a barra invertida ("\") nesse texto pois isso corrompe o banco de dados do gestor. 
26 Exemplo:
27 Esse lugar se trata de uma vila onde o jogador troca madeira por qualquer outra coisa. Use o 
28 comando /montar e aguarde o termino
30 Exemplo de uso:
32 -- Nome da estrutura acompanha o nome do mod (para evitar nomes iguais entre os mods)
33 local nome_estrutura = minetest.get_current_modname() .. "_castelo"
35 -- Texto explicativo da estrutura
36 local texto = "Castelo do norte. Use /"..nome_estrutura.."_instalar par montar a estrutura"
38 -- Verifica se ja existe o se nao existir, cria
39 if not gestor.registros.lugares["avulsos"][nome_estrutura] then
40         gestor.lugares_avulsos.definir(nome_estrutura, false, texto)
41 end
43 -- Verifica se ja foi criada e toma uma atitude
44 if gestor.registros.lugares["avulsos"][nome_estrutura].status == false then
45         
46         -- Bloco de algoritimos
47         
48         gestor.lugares_avulsos.definir(nome_estrutura, false, "Castelo do mal")
49 end
51 ===============================================================================================
55 ================================> Serializar/Salvar estrutura <================================
56 Esse método é usado para serializar uma estrutura dentro da pasta estruturas de um mod que a 
57 executa
59 Sintaxe
60 gestor.estruturador.salvar(pos, nome, largura, altura, modp, silencio)
62 * Variaveis pos, nome, largura e altura sao obrigatorias e caso as outros 3 (largura, altura, 
63 modp) não sejam definidas, elas serão pesquisadas com base na tabela de estruturas do proprio 
64 gestor
66 * Variavel pos é uma coordenada do ponto onde a estrutura vai ser lida sendo que ela sempre 
67 é lida a partir dessa coordenada e vai para os valores positivos
69 * Variavel nome é uma string do nome do arquivo que vai ser gerado na pasta estruturas do mod 
70 que a executa.
72 * As variaveis largura e altura são valores numéricos para definir as dimensoes da estrutura 
73 que o metodo vai ler  para salvar
75 * Variavel modp é uma string com o caminho do diretório do mod que executa esse metodo
77 * Variavel silencio é um valor boleano caso queira evitar mensagens no console do servidor 
78 (usado para operar de forma sistemica)
79 ===============================================================================================
83 ======================================> Criar estrutura <======================================
84 Esse metodo é usado para criar estruturas a partir de arquivos de estruturas previamente 
85 serializadas pelo mod gestor.
87 Sintaxe
88 gestor.estruturador.carregar(pos, nome, largura, altura, modp, silencio)
90 * Variaveis pos e nome sao obrigatorias e caso as outros 3 (largura, altura, modp) não sejam 
91 definidas, elas serão pesquisadas com base na tabela de estruturas do proprio gestor
93 * Variavel pos é uma coordenada do ponto onde a estrutura vai ser montada sendo que ela sempre 
94 é montada a partir dessa coordenada e vai para os valores positivos
96 * Variavel nome é uma string para um nome do arquivo da estrutura serializada que deve 
97 obrigatóriamente estar em uma pasta chamada estruturas dentro da pasta do mod que usar esse 
98 metodo
100 * As variaveis largura e altura são valores numéricos para definir as dimensoes da estrutura 
101 que o metodo vai montar
103 * Variavel modp é uma string com o caminho do diretório do mod que executa esse metodo
105 * Variavel silencio é um valor boleano caso queira evitar mensagens no console do servidor 
106 (usado para operar de forma sistemica)
107 ===============================================================================================
111 ======================================> Proteger  Areas <======================================
112 Primeiramente esse metodo precisa so funciona com mod areas. Esse metodo protege uma area e 
113 caso ocorra alguma falha ao proteger uma area ele retorna uma string explicando a falha e caso 
114 de tudo certo ele retorna boleano verdadeiro (true)
116 Sintaxe
117 gestor.proteger_area(NomeAdmin, NomeDono, NomeArea, pos1, pos2, silencio)
119 * Todas as variaveis sao obrigatorias
121 * Variavel NomeAdmin deve ser string do nome de um jogador com privilegios para registrar areas
123 * Variavel NomeDono deve ser string do nome de um jogador que vai poder interagir na area e 
124 adicionar uma subarea para outro jogador
126 * Variavel NomeArea deve ser string de uma nome qualquer para a area criada e vai aparecer na 
127 lista de areas com esse nome (pode ser um nome igual ao de outras areas)
129 * As variaveis pos1 e pos2 são tabelas de vetores de cordenadas ({x,y,z}) que delimitam a area 
130 a ser protegida (tanto faz qual tem o menor valor de x, y ou z)
132 * Variavel silencio é um valor boleano caso queira evitar mensagens no console do servidor 
133 (usado para operar de forma sistemica)
134 ===============================================================================================