Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fala galera, pra quem não sabe eu fiz um novo task system pro meu servidor pessoal Empire e por isso decidi publicar a versão antiga dele já que não temos nenhuma intenção de usá-la mais.

ele é muito similar a um sistema que eu já havia compartilhado aqui, só que pras versões 0.X. 

O que é: um npc que te dá pequenas missões de matar monstros, qnd você terminar ele te paga uma recompensa pré definida.

O que ele tem de melhor comparado com a versão 0.4: Basicamente ele permite vc definir qualquer hierarquia entre as tasks, permite que tasks deem diversas formas de recompensas (isso era bem engessado no modelo antigo) porém ele não aceita tasks de coletar itens, nem tem dificuldades diferentes com premiações multiplicadas (ao menos não explicitamente).

 

Aqui tá a hierarquia que ele segue atualmente. Ou seja, para fazer task de Tarantula você precisa fazer Rat, depois Spider e por fim Tarantula.
task5.thumb.png.9b501e47a92a116cebf27674412f31da.png


O sistema é muito completo e eu vou postá-lo da exata forma que usávamos então prestem bastante atenção nos detalhes. Já aviso de antemão que eu não darei muito suporte aqui e que não irei explicar muita coisa, o sistema funciona e foi usado por uns 2 anos sem nenhum problema com o tfs original.

crie um arquivo em data/lib chamado tasklib.lua e coloque isso dentro dele:
Aqui temos todas as tasks e storages. Se você quiser adicionar recompensas novas vc só precisa fazer um elseif na função de getRewards. Siga o exemplo dos comentários para as rewards e se quiser todas as tasks liberadas sem precisar seguir uma ordem é só colocar needed = 0 para todas.

Mostrar conteúdo oculto



Agora crie um arquivo em creaturescripts/scripts chamado killtasksystem.lua e coloque isso dentro dele:

Mostrar conteúdo oculto

Tirando as mensagens, não acho que tenha nada que você possa editar aqui. Essa tabela racetypes eu coloquei pq queria fazer task de criaturas de um mesmo tipo: fire, undead, poison. Ele puxa esse valor de dentro do race definido no xml do monstro. (Veja a undead monsters como exemplo.)

em creaturescripts.xml coloque:
 

<event type="kill" name="tasksystem" script="killtasksystem.lua"/>

E em creaturescripts/scripts/login.lua antes do ultimo return true:

player:registerEvent("tasksystem")

Agora criaremos o npc chamado tasksystem.xml na pasta data/npcs:

Mostrar conteúdo oculto


E o script dele em data/npcs/scripts chamado tasksystem.lua: (sim, eu não sou criativo com nomes)
 

Mostrar conteúdo oculto


Por fim insira essa talkaction aqui no seu server, ela serve para gerar um arquivo chamado orderedtask.html na pasta do seu servidor (a mesma do executavel) com o código html do sistema de task (sim, eu tenho preguiça de escrever as coisas no site)

 

Mostrar conteúdo oculto


Coloque o nome que vc quiser e depois coloque a tag em talkactions.xml:

<talkaction words="/generatehtml" script="nome que vc quiser.lua" />


Note que o arquivo pode levar um tempinho para aparecer, até pq ele tá percorrendo toda a tabela pegando todas as informações e criando um arquivo html disso, é um processo que pode levar alguns segundos.

Se você quiser ser hackudo e pegar o html direto do meu site, seja livre: https://www.empirebr.com/tasks

Bom uso, se tiver qualquer dúvida ou comentário ou sugestão diz aí. ^^

  • Respostas 39
  • Visualizações 17.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Você tem que criar um novo arquivo em data/libs chamado tasksystem e colar esse conteúdo lá, e aí procurar qual a lib que carrega todas as libs (acho q fica na pasta core) e seguir o exemplo para mand

Posted Images

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Mostrar conteúdo oculto

 

Postado

@xWhiteWolf melhor não comentar, mas irei comentar apenas para deixar comentado que meu comentário não tem importância! HUFoahsd

Lindeza de algoritmo. O quê me surpreendeu foi esse código html gerado a parti das task configuradas para ser usada no site mostrando as task presentes do servidor(confere ? hausd), muito dahóra tio!!  

Postado
  • Autor
  Em 17/02/2018 em 01:24, KotZletY disse:

@xWhiteWolf melhor não comentar, mas irei comentar apenas para deixar comentado que meu comentário não tem importância! HUFoahsd

Lindeza de algoritmo. O quê me surpreendeu foi esse código html gerado a parti das task configuradas para ser usada no site mostrando as task presentes do servidor(confere ? hausd), muito dahóra tio!!  

sim, é exatamente isso. Passar as tasks pro site é um trampo considerável visto que são umas 47 tasks ao todo, aí eu criei essa talkaction que gera o html pronto pra tu copiar e colar na aba do site referente as tasks. Prum usuário comum provavelmente nao vai fazer nenhuma diferença, mas se tiver algum webmaster q tenha noçãozinha ele consegue importar mt fácil esse arquivo.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo