Ajuste API
parent
841c89b096
commit
072d72aa21
296
API.txt
296
API.txt
|
@ -1,4 +1,4 @@
|
||||||
API para mod Xpro v1.0.0
|
API para mod XPro v1.1.0
|
||||||
|
|
||||||
### Métodos
|
### Métodos
|
||||||
|
|
||||||
|
@ -22,297 +22,3 @@ API para mod Xpro v1.0.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-
|
|
||||||
-
|
|
||||||
- exemplos (apagar depois)
|
|
||||||
-
|
|
||||||
-
|
|
||||||
|
|
||||||
### Métodos
|
|
||||||
|
|
||||||
* `aventuras.registrar_personagem(IdPersonagem, Definições de personagem)`
|
|
||||||
* Registra um personagem
|
|
||||||
* `IdPersonagem` é ID que representa o personagem
|
|
||||||
(exemplo, se for npc esse será o nome da entidade registrada)
|
|
||||||
|
|
||||||
* `aventuras.registrar_aventura(Aventura, Definições de aventura)`
|
|
||||||
* Registrar uma aventura
|
|
||||||
* `Aventura` é o nome da aventura (exemplo: "nome_mod:grande_desbravador")
|
|
||||||
|
|
||||||
* `aventuras.adicionar_tarefa(Aventura, Definições de tarefa)`
|
|
||||||
* Adicionar uma tarefa em uma aventura
|
|
||||||
|
|
||||||
* `aventuras.pegar_tarefa(NomeJogador, Aventura)`
|
|
||||||
* Retorna o número da última tarefa realizada
|
|
||||||
* Retorna `0` caso não tenha feito nenhuma
|
|
||||||
|
|
||||||
* `aventuras.salvar_tarefa(NomeJogador, Aventura, Tarefa)`
|
|
||||||
* Salva a ultima tarefa realizada por um jogador
|
|
||||||
* `Tarefa` é o numero da tarefa
|
|
||||||
|
|
||||||
* `aventuras.registrar_item_bau_noob(ItemString, Definições do item noob)`
|
|
||||||
* Registra um item para ser comprado por jogadores quando estiverem numa tarefa especifica
|
|
||||||
* O nome Item Noob é defido ao fato do item ser destinado aos jogadores que perderam o item
|
|
||||||
que seria usado na proxima etapa da tarefa.
|
|
||||||
* `ItemString` é o itemstring do item (exemplo: "mymod:bilhete_1")
|
|
||||||
|
|
||||||
* `aventuras.comum.verif_tarefa(Aventura, Tarefa)`
|
|
||||||
* Verifica se uma tarefa existe
|
|
||||||
|
|
||||||
* `avesturas.registrar_estrutura(Estrutura, Definições de estrutura)`
|
|
||||||
* Registra uma estrutura para ser construida no mundo
|
|
||||||
* `Estrutura` é o nome da estrutura (exemplo: "modname:castelo")
|
|
||||||
|
|
||||||
* `aventuras.registrar_lugar(Lugar, Definições de lugar)`
|
|
||||||
* Isso é usado pelo balao de aventureiro para que jogadores acessem lugares relacionados a aventuras
|
|
||||||
|
|
||||||
### Funções de registo de chamada global (callbacks)
|
|
||||||
|
|
||||||
* `aventuras.callbacks.registrar_ao_concluir(function(NomeJogador, Aventura, Tarefa))`
|
|
||||||
* Chamada quando um jogador conclui uma tarefa
|
|
||||||
|
|
||||||
## Definições de estrutura
|
|
||||||
{
|
|
||||||
titulo = "Castelo Real", -- Titulo exibido ao jogador
|
|
||||||
|
|
||||||
versao = "1", --[[
|
|
||||||
^ Versao da estrutura
|
|
||||||
^ Quando uma estrutura é montada no mundo, a versao é gravada
|
|
||||||
^ Isso é usado apenas como string
|
|
||||||
^ Quando for diferente da versao gravada a estrutura é remontada no mesmo local ]]
|
|
||||||
|
|
||||||
altura = 10, -- Altura da estrutura
|
|
||||||
|
|
||||||
largura = 21, -- Largura da estrutura
|
|
||||||
|
|
||||||
filepath = minetest.get_modpath(minetest.get_current_modname()).."/schems/castelo.mts", --[[
|
|
||||||
^ Caminho do arquivo no formato schematic de minetest onde a estrutura está armazenada ]]
|
|
||||||
|
|
||||||
mapgen = { -- Dados para definir como a estrutura será gerada no mundo
|
|
||||||
|
|
||||||
tipo = "tipo", --[[
|
|
||||||
^ Tipo de posicionamento da estrutura no mapa gerado
|
|
||||||
^ No tipo "suspenso" a estrutura será colocada 3 blocos acima do bloco mais
|
|
||||||
alto numa area gerada aleatoriamente no mapa
|
|
||||||
^ em bioma "floresta" a estrutura aparece acima de arvores comuns
|
|
||||||
^ em bioma "campo" a estrutura aparece acima de uma area plana de terra com grama ]]
|
|
||||||
|
|
||||||
bioma = "bioma", --[[
|
|
||||||
^ Bioma da area onde a estrutura é montada
|
|
||||||
^ Para detalhes dos biomas, verifique o `tipo` utilizado na mapgen da estrutura utilizado ]]
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
### Definições do item noob (`registrar_item_bau_noob`)
|
|
||||||
{
|
|
||||||
aventura = "mymod:aventura_exemplo", -- Aventura relacionada
|
|
||||||
|
|
||||||
tarefa = 10, -- Tarefa que o jogador deve ter realizado por ultimo (onde o mesmo recebe o item)
|
|
||||||
|
|
||||||
desc_item = "Apple", -- Descrição do item no menu
|
|
||||||
|
|
||||||
custo = 1, --[[ OPCIONAL
|
|
||||||
^ Custo da compra
|
|
||||||
^ O item é definido com a definição aventuras_moeda_bau_noob
|
|
||||||
^ Se nulo, é definido como 1 ]]
|
|
||||||
|
|
||||||
give_item = func(player), --[[ OPCIONAL
|
|
||||||
^ Função que da o item ao jogador
|
|
||||||
^ Se nulo, uma unidade é dada ao jogador ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
### Definições de personagem (`registrar_personagem`)
|
|
||||||
{
|
|
||||||
type = "npc", --[[
|
|
||||||
^ Tipo do personagem
|
|
||||||
^ "npc" para NPCs (entidades Lua)]]
|
|
||||||
|
|
||||||
npc_preset = "human", --[[
|
|
||||||
^ Predefinição da entidade a ser criada
|
|
||||||
^ "human" para ser predefinido como um humano]]
|
|
||||||
|
|
||||||
npc = { -- Caracteristicas da entidade Lua
|
|
||||||
|
|
||||||
textures = { --[[
|
|
||||||
^ Texturas da entidade
|
|
||||||
^ Se voce deseja que a entidade use texturas alternativas
|
|
||||||
precisa lista-las como abaixo]]
|
|
||||||
{"texture.png"},
|
|
||||||
{"texture.1.png"},
|
|
||||||
{"texture.2.png"},
|
|
||||||
},
|
|
||||||
|
|
||||||
sounds = { --[[
|
|
||||||
^ Sons da entidade
|
|
||||||
^ Não precisa listar todos os sons alternativos]]
|
|
||||||
random = "sound", -- Som emitido aleatoriamente pela entidade
|
|
||||||
},
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
arte_npc = Definições de arte de NPC, -- Arte do NPC
|
|
||||||
|
|
||||||
spawner_node = { --[[
|
|
||||||
^ Nodes que spawnadores do npc
|
|
||||||
^ Os NPCs surgem proximos aos nodes
|
|
||||||
["aventuras_tomas:bau"] = {
|
|
||||||
spawn_mode = "front", --[[
|
|
||||||
^ Maneira como o NPC spawna pelo node
|
|
||||||
^ "front" spawna em frente ao node (um bloco de distancia)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
random_spawn = { --[[
|
|
||||||
^ Spawn aleatorio
|
|
||||||
^ NPCs que spawnam aleatoriamente duram um tempo limitado no mapa e desaparecem]]
|
|
||||||
|
|
||||||
nodes = {"nodename1", "nodename2"}, -- Tabela de nodes
|
|
||||||
min_light = 10, -- OPCIONAL | Luminosidade minima do local (se omitido, sera 10)
|
|
||||||
chance = 15000, -- OPCIONAL | Chance de spawn ocorrer (se omitido, sera 15000)
|
|
||||||
active_object_count = 1, -- OPCIONAL | Limite de mobs por blocos de mapa (se omitido, sera 1)
|
|
||||||
min_height = 0, -- OPCIONAL | Altura minima para spawn ocorrer (se omitido, sera 0)
|
|
||||||
day_toggle = true, --[[ OPCIONAL | Define se deve estar de dia ou de noite
|
|
||||||
^ `true` para spawn apenas de dia
|
|
||||||
^ `false` para spawn apenas de noite
|
|
||||||
^ `nil` para qualquer momento]]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
### Definições de aventura
|
|
||||||
{
|
|
||||||
titulo = "Grande Desbravador", -- Titulo da aventura
|
|
||||||
desc = "Uma aventura legal", -- Pequena descrição da aventura
|
|
||||||
img = "default_apple.png", -- [OPCIONAL] Imagem (quadrada) que representa a aventura
|
|
||||||
}
|
|
||||||
|
|
||||||
### Definições de tarefa
|
|
||||||
{
|
|
||||||
titulo = "Descobrindo o mundo", -- Titulo da tarefa
|
|
||||||
|
|
||||||
tipo = "info_npc" --[[
|
|
||||||
^ "npc_info" o jogador deve falar com um NPC
|
|
||||||
^ "npc_troca" o jogador deve trocar itens com um NPC
|
|
||||||
^ "npc_place_node" o jogador deve colocar um node após falar com um NPC
|
|
||||||
^ "npc_dig_node" o jogador deve quebrar um node após falar com um NPC
|
|
||||||
^ "npc_comida" o jogador deve comer algo apos falar com um NPC
|
|
||||||
^ "npc_craft" o jogador deve craftar algo apos falar com um NPC ]]
|
|
||||||
|
|
||||||
dados = { -- Tabela de dados que o referido tipo de tarefa designar
|
|
||||||
|
|
||||||
aven_req = {["uma_aventura"]=2,["outra_aventura"]=10}, --[[
|
|
||||||
^ Exige que o jogador tenha concluido algumas tarefas de outras aventuras ]]
|
|
||||||
|
|
||||||
npcs = {"mobs_npc:igor", "mobs_npc:trader"}, --[[
|
|
||||||
^ Tabela de entidades que possibilitam a realização da tarefa ]]
|
|
||||||
|
|
||||||
item_rem = Tabela de Itens, --[[
|
|
||||||
^ Usado para tarefas do tipo "npc_troca"
|
|
||||||
^ Tabela de itens exigidos para a troca (limite de 5 itens na tabela) ]]
|
|
||||||
|
|
||||||
item_add = Tabela de Itens, --[[
|
|
||||||
^ Usado para tarefas do tipo "npc_troca"
|
|
||||||
^ Tabela de itens recebidos pela troca (limite de 5 itens na tabela) ]]
|
|
||||||
|
|
||||||
item = "", --[[
|
|
||||||
^ Itemstring de um item
|
|
||||||
^ Na tarefa do tipo "npc_place" o jogador deve colocar o node informado aqui
|
|
||||||
^ Na tarefa do tipo "npc_dig" o jogador deve quebrar o node informado aqui
|
|
||||||
^ Na tarefa do tipo "npc_craft" o jogador deve craftar o item informado aqui
|
|
||||||
^ Na tarefa do tipo "npc_comida" o jogador deve comer o alimento informado aqui ]]
|
|
||||||
|
|
||||||
img_item = "aventuras_tarefa_duvida.png" --[[
|
|
||||||
^ OPCIONAL
|
|
||||||
^ Nome de um arquivo de imagem
|
|
||||||
^ Quando informado, essa imagem fica no lugar da imagem do `item` informado acima ]]
|
|
||||||
|
|
||||||
msg = "", -- Mensagem apresentada pelo NPC quando o jogador acessa inicialmente
|
|
||||||
|
|
||||||
msg_fim = "", --[[
|
|
||||||
^ Mensagem apresentada quando o jogador conclui a tarefa
|
|
||||||
^ Caso o jogador esteja em uma interação com o NPC, essa mensagem será a fala do NPC
|
|
||||||
^ Caso o jogador não esteja interagindo com o NPC no momento da conclusão,
|
|
||||||
a mensagem é exibida do console do chat (como nas tarefas do tipo "npc_craft" e "npc_food")
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
### Tabela de Itens
|
|
||||||
{
|
|
||||||
{name="default:dirt", count=50, wear=0, metadata=""},
|
|
||||||
{name="default:sand", count=5, wear=0, metadata=""},
|
|
||||||
{name="default:cobble", count=1, wear=0, metadata=""},
|
|
||||||
}
|
|
||||||
|
|
||||||
Recursos
|
|
||||||
--------
|
|
||||||
|
|
||||||
### NPCs
|
|
||||||
* `aventuras.recursos.npc.registrar(nome, aventura)` : Registrar o uso de um NPC na engine
|
|
||||||
* `nome` é o nome da entidade-NPC (exemplo: "mobs_npc:igor")
|
|
||||||
* `aventura` é o nome da aventura (exemplo: "nome_mod:grande_desbravador")
|
|
||||||
* Executa a chamada `aventuras.tarefas["tipo de tarefa"].npcs.on_rightclick(npc_name, clicker, aventura, tarefa)` quando o npc é acessado e o jogador está na tarefa cujo registro possui `npcs.on_rightclick["nome da entidade"]`
|
|
||||||
|
|
||||||
* `aventuras.recursos.npc.on_rightclick(self, clicker)` : Coordena o chamada 'on_rightclick' no NPC
|
|
||||||
* São os mesmo argumentos da chamada 'on_rightclick'
|
|
||||||
|
|
||||||
* `aventuras.recursos.npc.registrar_arte(nome, Definições de arte de NPC)` : Registra dados de arte do npc
|
|
||||||
* `nome` é o nome da entidade-NPC (exemplo: "mobs_npc:igor")
|
|
||||||
|
|
||||||
### Definições de arte de NPC
|
|
||||||
{
|
|
||||||
face = "default_dirt.png",
|
|
||||||
^ Imagem da face do NPC para as formspecs de apresentação (recomenda-se largura e altura iguais)
|
|
||||||
bgcolor = "bgcolor[#080808BB;true]",
|
|
||||||
^ Valor RGB-Hexadecimal da cor de fundo para as formspecs de apresentação
|
|
||||||
bg_img1x1 = "background[5,5;1,1;gui_formbg.png;true]",
|
|
||||||
^ Imagem de fundo para as formspecs no formato quadrado
|
|
||||||
bg_img10x3 = "background[5,5;1,1;gui_formbg.png;true]",
|
|
||||||
^ Imagem de fundo para as formspecs no formato 10x3
|
|
||||||
sounds = Sons de NPC,
|
|
||||||
^ Opcional. Tabela de sons do NPC
|
|
||||||
}
|
|
||||||
|
|
||||||
### Definições de lugar
|
|
||||||
{
|
|
||||||
titulo = "Castelo Real", -- Titulo exibido ao jogador
|
|
||||||
pos = {x=0,y=0,z=0}, -- Coordenada para onde o jogador é teleportado quando for ao lugar
|
|
||||||
aven_req = {["uma_aventura"]=2,["outra_aventura"]=10}, -- OPICIONAL | Tarefas de aventuras exigidas para teleportar para o lugar
|
|
||||||
}
|
|
||||||
|
|
||||||
### Sons de NPC
|
|
||||||
{
|
|
||||||
concluir = {name="aventuras_concluir",gain=1.0},
|
|
||||||
^ Nome do arquivo de audio de quando o jogador conclui uma tarefa no NPC
|
|
||||||
}
|
|
||||||
|
|
||||||
Banco de Dados
|
|
||||||
--------------
|
|
||||||
O banco de dados utilizado pela API é o Memor. Veja a documentação especifica para este.
|
|
||||||
|
|
||||||
A estrutura dos dados é feita da seguinte forma:
|
|
||||||
|
|
||||||
mundo
|
|
||||||
--aventuras
|
|
||||||
|--editor_schem
|
|
||||||
| --acessos (dados de acessos)
|
|
||||||
|
|
|
||||||
--player_<NomeJogador>
|
|
||||||
|--aventura_<Aventura> (ultima tarefa realizada)
|
|
||||||
|--tarefa_<TipoTarefa> (dados de processamento da tarefa)
|
|
||||||
--livro_de_aventuras (dados do livro de aventuras do jogador)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue