Este é um post popular. JB PHorizon 55 Postado 16 de Junho Este é um post popular. Compartilhar Postado 16 de Junho Bom rapaziada venho aqui compartilhar um sistema que finalizei ele ontem, não é 100% meu já que me baseei em um sistema de task do lordbaxx. Esse module se trata de um sistema de Quest Log onde todas as quests disponiveis para o jogador são exibidas lá e com uma opção de marcar no mapa para o jogador encontrar facilmente. como podem ver no print, ele exibe uma descrição, uma imagem e o botão de marcar, criando essa marcação no mapa do jogador e as opções que estão verdes são as quests concluidas, para adicionar uma quest novo é apenas pelo servidor, sem necessariamente editar e atualizar o cliente dos jogadores, apenas ficará sem imagem nesse caso, para adicionar uma quest nova com imagem é necessario uma adição da imagem no cliente Antes de tudo já aviso que vai ser necessario opcodes caso sua base não tenha, e também é importante avisar que estou usando TFS 0.3.6 com OTCV8, caso o seu seja outra versão talvez precise de pequenas alterações 1. Faça o download dos arquivos e coloque todos em sua respectiva pasta(assim como tá organizado no zip) This is the hidden content, please Entre ou Cadastre-se QUEST LOG by JB.zip 2. Agora vamos ligar o comando, vá em data/talkactions/talkactions.xml e adicione essas duas linhas: <talkaction words="!marcar" event="script" value="marcar.lua" /> <talkaction words="!sendquestlog" event="script" value="sendquestlog.lua"/> Pronto, já está funcional mas com as quests que eu adicionei, então agora vamos adicionar quests 3. Vá em data/lib/quest_system_lib.lua e adicione uma linha nesse padrão: { id = 18, name = "Nome da Quest", description = "Descrição", lvl = 1, storage = 0, successful = 1 } vamo lá, o id é a ordem que será exibida essa quest, se for 18 vai ser exibida logo abaixo da 17 e acima da 19, o lvl será o lvl minimo para essa quest aparecer no log do player, se ela for lvl 50 e o player 49 ou menos a quest não será exibida, em storage é uma cobrança de storage, por exemplo se a Mewtwo Quest dependa que você termine a BOX+2 então ela não aparecerá enquanto não a BOX+2(o storage dela entregue ai) não for maior ou = a 1, por exemplo, quando você termina uma quest o baú vai te dar um storage para você nunca mais pegar essa recompensa, esse storage da BOX+2 você colocaria em storage, caso fique 0 então quer dizer que não tem dependencia de nenhuma outra quest, já em succesful você colocará o storage que é entregue no fim da quest, seguindo o mesmo exemplo seria do baú da Mewtwo Quest, assim você vai retornar pro log q vc terminou e a Mewtwo Quest ficará verde, o resto é auto explicativo. obs: não esqueça de colocar a virgula em todas as linhas, exceto na ultima 4. Agora vá em data/talkactions/scripts/marcar.lua e adicione uma linha nesse padrão: {mark = 2, pos = {x = 1288, y = 1034, z = 7}, desc = "Nome da Quest"} utilize o exato nome da quest, pois o module vai chamar assim: !marcar nomedaquest e esse comando vai responder a isso marcando no seu mapa, {x,y,z} são as posições do mapa que vai aparecer a marcação, eu costumo usar sempre a altura 7 porquê fica mais facil do player identificar onde é a quest olhando pela camada 7, mark seria qual a flag que vai aparecer no mapa, se vc não souber quais são vai testando uma por uma(1,2,3,4...) lembre se de fazer no mesmo padrão da lib, sempre que adicionar a linha final deixe ela sem virgula e todas as outras com virgula. Por fim já tá completamente funcional essa quest, mas exibirá essa imagem: claro que da pra manter assim caso você não queira atualizar o cliente apenas para catalogar uma nova quest, mas quando possivel siga o proximo passo 5. Por fim, para adicionarmos a imagem é bastante simples em client/modules/questlog/imgs adicione uma nova imagem do mesmo tamanho das outras imagens nessa pasta, se tiver interesse também deixei um "modelo.pdn" que é um modelo dessas imagens que fiz, caso você queira criar algo semelhante, se n me engano esse formato de imagem só é editado pelo paint.net, então depois que tiver sua imagem pronta em mãos, coloque nessa pasta e renomeie para o exato nome da quest tipo "Bueiro Pt. 1.png" e pronto, seu module vai exibir corretamente dessa forma: créditos: JB(por editar o sistema de task até virar esse sistema de quest log e postar aqui) Lordbaxx(pelo sistema de tasks que usei como base) ot alissow(pelo sistema de marcações no mapa em creaturescripts que usei como base para criar o talkaction !marcar) meu discord para contato: jb_087 47 3 Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/ Compartilhar em outros sites Mais opções de compartilhamento...
Administrador Yomee 4696 Postado 17 de Junho Administrador Compartilhar Postado 17 de Junho Obrigado pelo compartilhamento 😀, porfavor adicione um scan para o arquivo postado. Tópico Movido para a área correta. 3 Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5931 Compartilhar em outros sites Mais opções de compartilhamento...
fnixdev 96 Postado 17 de Junho Compartilhar Postado 17 de Junho Que modulo bom amigo, bem bonitinho e modular pra usar rep+ 1 Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5932 Compartilhar em outros sites Mais opções de compartilhamento...
teste010 5 Postado 17 de Junho Compartilhar Postado 17 de Junho fala amigo boa noite! me retornou esse erro porem ele ja está na registrado na interface ERROR: Unable to find module 'game_questlog' required by 'game_interface' utilizo otcv8 0.x outro erro que alegou [Error - TalkAction Interface] datapack/talkactions/scripts/sendquestlog.lua:onSay Description: cannot open data/lib/quest_system_lib.lua: No such file or directory stack traceback: [C]: in function 'dofile' datapack/talkactions/scripts/sendquestlog.lua:3: in function <datapack/talkactions/scripts/sendquestlog.lua:1> Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5933 Compartilhar em outros sites Mais opções de compartilhamento...
JB PHorizon 55 Postado 17 de Junho Autor Compartilhar Postado 17 de Junho 1 hora atrás, teste010 disse: fala amigo boa noite! me retornou esse erro porem ele ja está na registrado na interface ERROR: Unable to find module 'game_questlog' required by 'game_interface' utilizo otcv8 0.x outro erro que alegou [Error - TalkAction Interface] datapack/talkactions/scripts/sendquestlog.lua:onSay Description: cannot open data/lib/quest_system_lib.lua: No such file or directory stack traceback: [C]: in function 'dofile' datapack/talkactions/scripts/sendquestlog.lua:3: in function <datapack/talkactions/scripts/sendquestlog.lua:1> Opa, cara pelomenos no meu não precisou citar ele no game_interface, mas se no seu precisar, cita ele como apenas "questlog" sem o game_, no segundo erro é causado porque o seu servidor está numa pasta chamada "datapack" e eu criei esse caminho para uma pasta "data" vai lá em datapack/talkactions/scripts/sendquestlog.lua e substitui essa linha: dofile("data/lib/quest_system_lib.lua") por essa linha: dofile("datapack/lib/quest_system_lib.lua") creio que seguindo essas 2 coisas que falei vai resolver o seu problema, mas caso não resolva me chama lá no discord: jb_087 2 Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5934 Compartilhar em outros sites Mais opções de compartilhamento...
teste010 5 Postado 20 de Junho Compartilhar Postado 20 de Junho vc é incrivel! muito obrigado amigo, vai ajudar muito em meu projeto. Boa sorte e muito obrigado Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5938 Compartilhar em outros sites Mais opções de compartilhamento...
esnio12 3 Postado 20 de Junho Compartilhar Postado 20 de Junho Muito bom cara, parabéns Só um adendo, existe uma limitação via opcode da quantidade de dados, dependendo dos textos, ou da quantidade de quests que o servidor tenha, você não conseguirá utilizar esse module, teria q mandar por pacotes (json) Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5941 Compartilhar em outros sites Mais opções de compartilhamento...
JB PHorizon 55 Postado 21 de Junho Autor Compartilhar Postado 21 de Junho 2 horas atrás, esnio12 disse: Muito bom cara, parabéns Só um adendo, existe uma limitação via opcode da quantidade de dados, dependendo dos textos, ou da quantidade de quests que o servidor tenha, você não conseguirá utilizar esse module, teria q mandar por pacotes (json) obrigado, você diz q tem uma limitação em um envio unico ou no envio de opcodes em geral no game? por que se for apenas no envio unico eu acho que seria melhor trabalhar em paginas(a cada pagina ter 50 quests) tendo em vista que não manjo nada de json e nem sabia que existia essa limitação Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5945 Compartilhar em outros sites Mais opções de compartilhamento...
esnio12 3 Postado 21 de Junho Compartilhar Postado 21 de Junho 12 horas atrás, JB PHorizon disse: obrigado, você diz q tem uma limitação em um envio unico ou no envio de opcodes em geral no game? por que se for apenas no envio unico eu acho que seria melhor trabalhar em paginas(a cada pagina ter 50 quests) tendo em vista que não manjo nada de json e nem sabia que existia essa limitação Sim, no envio unico há uma limitação no tamanho do buffer, exemplo, se tu manda 20~50 quests, é de boa agora imagina mandar 300~400, ele estoura o buffer, mas tem como contornar isso fácil, de qlqer forma é só uma observação caso alguém passe por isso e não consiga entender o pq do erro é só transformar pra json que resolve, kk Link para o comentário https://tibiadevs.com/forums/topic/1151-module-quest-log-com-marca%C3%A7%C3%B5es-no-mapa/#findComment-5947 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora