From d442f5a5635165f499a188746d12a919d7825b6d Mon Sep 17 00:00:00 2001 From: BrunoMine Date: Mon, 12 Nov 2018 19:16:41 -0200 Subject: [PATCH] =?UTF-8?q?Ajustes=20de=20documenta=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API.txt | 134 ------------------------------------------------ description.txt | 1 + mod.conf | 1 + screenshot.png | Bin 0 -> 14863 bytes 4 files changed, 2 insertions(+), 134 deletions(-) delete mode 100644 API.txt create mode 100644 description.txt create mode 100644 mod.conf create mode 100644 screenshot.png diff --git a/API.txt b/API.txt deleted file mode 100644 index 1e5e845..0000000 --- a/API.txt +++ /dev/null @@ -1,134 +0,0 @@ -API do gestor -============= - -As funcionalidades do gestor estao descritas com foco para desenvolvimento de mods de apoio - - -======================================> Lugares Avulsos <====================================== -Esses lugares sao estruturas que precisam ser montadas para o funcionamento de uma aventura ou -tarefa dos jogadores. O gestor pode informar essa estrutura e seu status de atividade -(OK ou PENDENTE) para o administrador acompanhada de um texto sobre a estrutura que pode ser -usado para informar um comando ou metodo facil para o administrador criar a estrutura. - -Sintaxe -gestor.lugares_avulsos.definir(nome, status, texto) - -* Todas as variaveis sao obrigatorias (nome, status, texto) - -* Variavel nome deve ser uma cadeia de caracteres para o nome do lugar - -* Variavel status deve ser do tipo boleano para definir o estado do lugar onde true serve -para OK e false serve para PENDENTE - -* Variavel texto deve ser uma cadeia de caracteres que serve para definir um texto sobre o -lugar e como criar o lugar por meio de comandos ou qualquer outro metodo que quiser informar. -Jamais use a barra invertida ("\") nesse texto pois isso corrompe o banco de dados do gestor. -Exemplo: -Esse lugar se trata de uma vila onde o jogador troca madeira por qualquer outra coisa. Use o -comando /montar e aguarde o termino - -Exemplo de uso: - --- Nome da estrutura acompanha o nome do mod (para evitar nomes iguais entre os mods) -local nome_estrutura = minetest.get_current_modname() .. "_castelo" - --- Texto explicativo da estrutura -local texto = "Castelo do norte. Use /"..nome_estrutura.."_instalar par montar a estrutura" - --- Verifica se ja existe o se nao existir, cria -if not gestor.registros.lugares["avulsos"][nome_estrutura] then - gestor.lugares_avulsos.definir(nome_estrutura, false, texto) -end - --- Verifica se ja foi criada e toma uma atitude -if gestor.registros.lugares["avulsos"][nome_estrutura].status == false then - - -- Bloco de algoritimos - - gestor.lugares_avulsos.definir(nome_estrutura, false, "Castelo do mal") -end - -=============================================================================================== - - - -================================> Serializar/Salvar estrutura <================================ -Esse método é usado para serializar uma estrutura dentro da pasta estruturas de um mod que a -executa - -Sintaxe -gestor.estruturador.salvar(pos, nome, largura, altura, modp, silencio) - -* Variaveis pos, nome, largura e altura sao obrigatorias e caso as outros 3 (largura, altura, -modp) não sejam definidas, elas serão pesquisadas com base na tabela de estruturas do proprio -gestor - -* Variavel pos é uma coordenada do ponto onde a estrutura vai ser lida sendo que ela sempre -é lida a partir dessa coordenada e vai para os valores positivos - -* Variavel nome é uma string do nome do arquivo que vai ser gerado na pasta estruturas do mod -que a executa. - -* As variaveis largura e altura são valores numéricos para definir as dimensoes da estrutura -que o metodo vai ler para salvar - -* Variavel modp é uma string com o caminho do diretório do mod que executa esse metodo - -* Variavel silencio é um valor boleano caso queira evitar mensagens no console do servidor -(usado para operar de forma sistemica) -=============================================================================================== - - - -======================================> Criar estrutura <====================================== -Esse metodo é usado para criar estruturas a partir de arquivos de estruturas previamente -serializadas pelo mod gestor. - -Sintaxe -gestor.estruturador.carregar(pos, nome, largura, altura, modp, silencio) - -* Variaveis pos e nome sao obrigatorias e caso as outros 3 (largura, altura, modp) não sejam -definidas, elas serão pesquisadas com base na tabela de estruturas do proprio gestor - -* Variavel pos é uma coordenada do ponto onde a estrutura vai ser montada sendo que ela sempre -é montada a partir dessa coordenada e vai para os valores positivos - -* Variavel nome é uma string para um nome do arquivo da estrutura serializada que deve -obrigatóriamente estar em uma pasta chamada estruturas dentro da pasta do mod que usar esse -metodo - -* As variaveis largura e altura são valores numéricos para definir as dimensoes da estrutura -que o metodo vai montar - -* Variavel modp é uma string com o caminho do diretório do mod que executa esse metodo - -* Variavel silencio é um valor boleano caso queira evitar mensagens no console do servidor -(usado para operar de forma sistemica) -=============================================================================================== - - - -======================================> Proteger Areas <====================================== -Primeiramente esse metodo precisa so funciona com mod areas. Esse metodo protege uma area e -caso ocorra alguma falha ao proteger uma area ele retorna uma string explicando a falha e caso -de tudo certo ele retorna boleano verdadeiro (true) - -Sintaxe -gestor.proteger_area(NomeAdmin, NomeDono, NomeArea, pos1, pos2, silencio) - -* Todas as variaveis sao obrigatorias - -* Variavel NomeAdmin deve ser string do nome de um jogador com privilegios para registrar areas - -* Variavel NomeDono deve ser string do nome de um jogador que vai poder interagir na area e -adicionar uma subarea para outro jogador - -* Variavel NomeArea deve ser string de uma nome qualquer para a area criada e vai aparecer na -lista de areas com esse nome (pode ser um nome igual ao de outras areas) - -* As variaveis pos1 e pos2 são tabelas de vetores de cordenadas ({x,y,z}) que delimitam a area -a ser protegida (tanto faz qual tem o menor valor de x, y ou z) - -* Variavel silencio é um valor boleano caso queira evitar mensagens no console do servidor -(usado para operar de forma sistemica) -=============================================================================================== diff --git a/description.txt b/description.txt new file mode 100644 index 0000000..39ff3a4 --- /dev/null +++ b/description.txt @@ -0,0 +1 @@ +Ferramenta administrativa para servidores | Server Administration Tool diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..fcb9649 --- /dev/null +++ b/mod.conf @@ -0,0 +1 @@ +name = gestor diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..fc116b7ab22490b2a5029692b5027d6f5c20bcf0 GIT binary patch literal 14863 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 V|GI|e0^jfiDaxsVzsi`0{tu6O%wPZj literal 0 HcmV?d00001