Mocas 228 Posted June 16, 2012 Tutorial 1 : Iniciar em Quest - Conceito básico: Quest é uma linguagem derivada de Lua em que as funções usadas dentro delas, são 'compreendidas' pelo ficheiro mestre(game) e o ficheiro acaba sendo separado em vários ficheiros dependendo dos "Eventos" que ocorrem dentro dele.(.script,.arg,.when,etc.)- Qual é o objectivo de 'programar' nesta linguagem ? Bem, as vantagens de 'programar' nesta linguagem, são a simplicidade dos comandos/funções e a capacidade de poder criar várias "Missões"/Eventos em Metin2.- Sim,mas como é que vamos programar nessa linguagem? Ah bom, estava a ver que nunca mais perguntavam Bem, para começar, vou vos mostrar como deve ser o ínicio do vosso 1º Ficheiro Quest.Quest primeiro_ficheiro beginstate start begin----------endend Explicação:Bem, vamos analisar estas 4 linhas de código. Linha 1 : Declaramos o nome da Quest. Linha 2 : Declaramos o nome do Estado ( PS: Todas as Quest's, têm como 'start' sendo o Estado Inicial, portanto todas as Quest's que um jogador 'entrar', vai entrar directamente no Estado de 'Start'. Os '-----' representam código, que no próximo Tutorial iremos falar mais. Linha 5: Representa o Fim do Estado. ( Todos os Estados;Quest's;Eventos(próximo tutorial);Condições devem ter um end para "dizer" à Máquina, que ali é o fim do Estado. Linha 6 : Representa o Fim da Quest.Tutorial #2 - Quest Events Bem, hoje vamos falar sobre os Quest Events.. Vocês devem-se estar a perguntar, o que é isso dos Quest Events? Bem, aqui fica uma breve Explicação: Um Quest Event, é sempre que um Jogador faz alguma coisa. Bem, há vários tipos de Quest Events - no fim do tópico está uma lista completa - mas nós hoje vamos falar dos mais importantes.Login: Bem, o Quest Event do Login, acontece sempre que um jogador logue.( P.S: Quem não sabe, sempre que 'mudamos' de mapa, é como se estivesse-mos a relogar ).Exemplo: quest primeira_missao beginstate start beginwhen login begin--------endendendLembram-se, que eu falei que todas as Quest's, Estados e Eventos devem ter um Fim ( end ) para dizer á 'Máquina' que é ali o fim do Evento.Bem, não há muito mais a saber sobre o Evento de Login. Logout: O Logout é basicamente como o Login, mas é quando Saímos da Conta.Exemplo:quest primeira_missao beginstate start beginwhen logout begin--------endendend Letter: Bem, o Letter é um Evento especial, é um Evento, que ocorre milhões de vezes enquanto estamos logados..Portanto, só vos recomendo usar 2 funções especificas para este Evento.Exemplo:quest primeira_missao begin state start beginwhen letter beginsend_letter("Primeira Missão!")endendendBem bem bem, já estamos a avançar..A função que usamos aí, só deve ser usada neste Evento unicamente.O que está função faz, é que Apareça um Boletim/Missão do lado, aqueles pergaminhos de lado.A outra função que podemos usar, é a target.Mas isso iremos falar noutro tutorial mais à frente. Use: Bem, o Evento de Use, acontece quando usamos o Item que for escrito atrás.Imaginemos que queremos que aconteça alguma coisa quando usamos o item 80091(exemplo):quest primeira_missao beginstate start beginwhen 80091.use begin----------endendendP.S: Para o Jogo reconheçer que este Item, é activado por Quest,devem alterar o Type do Item ( player->item_proto ) para 18 ( corresponde a QuestItem ) Kill: Bem, o Evento de Kill acontece sempre que matamos um monstro ou um jogador. Este Evento, pode ter um Identificador ( como no .use ) ou não.quest primeira_missao begin state start beginwhen101.killbegin--------endendendOUquest primeira_missao begin state start beginwhen kill begin----------endendendNeste 2º Exemplo, o que está dentro do Evento, irá acontecer sempre que um Jogador matar um monstro, ou um jogador.No 1º Exemplo, o que está dentro do Evento, só irá acontecer quando um jogador matar um Cão Selvagem ( ID : 101) Chat: Bem, este é o Evento que mais pessoas usam, este Evento,coloca um Botão de Quest num NPC.Mas este Evento, tem uma maneira mais díficil de ser usado,reparem:quest primeira_missao begin state start beginwhen9003.chat."Primeira Missão"begin----------endendendComo podem observar, este Evento ocorre de uma maneira mais avançada.Neste Exemplo, eu usei 9003 como o ID do NPC ( Loja Geral) e o texto que iria aparecer no botão como :"Primeira Missão"AVISO: Nunca se esqueçam de colocar os pontos entre o ID,o CHAT e o Texto. A Lista de Quest's Events: LogoutLoginLetterLeaveEnterUnmountUseTakeButtonInfoTargetAttrOutAttrInLevelUpTimerServerTimerKillPartyKillClickChat Fonte:Tech-gamers Créditos:ReBirTH (menbro da Tech-Gamers) mokas2010 , Por transmitir á cyber-gamers. ;) Cumprimentos. 8 DownD, lucasdiego, Valenza and 5 others reacted to this Share this post Link to post Share on other sites
p0w3r0ff 3,770 Posted June 16, 2012 Obrigado por partilhares com Comunidade.Tópico esta bem organizado e muito bem explicado.Cumprimentoshttp://cyber-gamers.org/public/style_emoticons/default/451960.gif Share this post Link to post Share on other sites
Mocas 228 Posted June 17, 2012 Obrigado. Sempre que puder meto + :)Cumprimentos,DemenZ Share this post Link to post Share on other sites
Doose. 1 Posted August 16, 2021 (edited) Alguém me pode confirmar como se começa 1 dungeon?? I mean, para que o mapa se torne em dungeon, tipo a torre Edited August 16, 2021 by Doose. (see edit history) Share this post Link to post Share on other sites