antiblock
Rodnia | Alpha & Omega
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
SINOLOGY

[Quest] - Acertar Erros Da Quest.

19 posts in this topic

Quero ver agora quem são os profissionais em Metin2 a acertar quest's :PPrimeira quest:

quest dr2 begin    state start begin	    when 1093.kill begin   say_title("Parabéns!")   say("Mataste o DR, escolhe o teu prémio:")   local premio = select ("Armas","Armaduras")   if premio == 1 then   if pc . job == 0 then   local armasnome1 = select ("Faca Dragão+5(65)","Arco Dragão Amarelo+5(65)","Lâmina Zanna Fantasma+5(65)","Leque Ave do Paraíso+5(65)","Campainha Céu e Terra+5(65)")    if armasnome1 == 1 then    say("Recebeste o que pediste.")	 pc.give_item2 (1105)    if armasnome1 == 2 then	 say("Recebeste o que pediste.")	 pc.give_item2 (2145)    if armasnome1 == 3 then	 say("Recebeste o que pediste.")	 pc.give_item2 (155)    if armasnome1 == 4 then	 say("Recebeste o que pediste.")	 pc.give_item2 (7135)    if armasnome1 == 5 then	 say("Recebeste o que pediste.")	 pc.give_item2 (5105)   elseif pc . job == 1 then   local armasnome2 = select ("Partidário+5(65)","Lâmina Zanna Fantasma+5(65)","Leque Ave do Paraíso+5(65)","Campainha Céu e Terra+5(65)")    if armasnome2 == 1 then	 say("Recebeste o que pediste.")	 pc.give_item2 (3135)    if armasnome2 == 2 then	 say("Recebeste o que pediste.")	 pc.give_item2 (155)    if armasnome2 == 3 then	 say("Recebeste o que pediste.")	 pc.give_item2 (7135)    if armasnome2 == 4 then	 say("Recebeste o que pediste.")	 pc.give_item2 (5105)   elseif pc . job == 2 then   local armasnome3 = select ("Partidário+5(65)","Faca Dragão+5(65)","Arco Dragão Amarelo+5(65)","Leque Ave do Paraíso+5(65)","Campainha Céu e Terra+5(65)")    if armasnome3 == 1 then	 say("Recebeste o que pediste.")	 pc.give_item2 (3135)    if armasnome3 == 2 then	 say("Recebeste o que pediste.")	 pc.give_item2 (1105)    if armasnome3 == 3 then	 say("Recebeste o que pediste.")	 pc.give_item2 (2145)    if armasnome3 == 4 then	 say("Recebeste o que pediste.")	 pc.give_item2 (7135)    if armasnome3 == 5 then	 say("Recebeste o que pediste.")	 pc.give_item2 (5105)   elseif pc . job == 3 then   local armasnome4 = select ("Espada de Batalha+5(65)","Partidário+5(65)","Faca Dragão+5(65)","Arco Dragão Amarelo+5(65)","Lâmina Zanna Fantasma+5(65)")    if armasnome4 == 1 then	 say("Recebeste o que pediste.")	 pc.give_item2 (145)    if armasnome4 == 2 then	 say("Recebeste o que pediste.")	 pc.give_item2 (3135)    if armasnome4 == 3 then	 say("Recebeste o que pediste.")	 pc.give_item2 (1105)    if armasnome4 == 4 then	 say("Recebeste o que pediste.")	 pc.give_item2 (2145)    if armasnome4 == 5 then	 say("Recebeste o que pediste.")	 pc.give_item2 (155)   elseif premio == 2 then    say ( "Ainda indisponível." )    say ( "A equipa ainda está a construir esta parte." )	  end	 end    end   end  endendendendend

Share this post


Link to post
Share on other sites
antiblock
Rodnia | Alpha & Omega

Ora, primeiro de tudo, não fechas os If's, nem usas elseif's.

Em segundo, um Mob só pode ter 1 único kill, não pode ter mais do que isso..

Não é pc.job, mas sim, pc.get_job() (Eu uso assim)

Outra coisa que reparei, é que tu não usas o pc.give_item2("item", quantidade)

Edit: Uma coisa que gostava de saber é: para quê usas o job, por exemplo pc.get_job() == 0 e depois só pode escolher armas de ninja, shaman e sura, se o player é Warrior?

Edit2: À minha maneira

quest dr2 beginstate start beginwhen 1093.kill beginsay_title("Parabéns!")say("Mataste o DR, escolhe o teu prémio:")local a = select ("Armas, "Armaduras")if a == 1 thensay_title("Que arma queres?")local b = select ("Faca Dragão+5 (Lv65)", "Arco Dragão Amarelo+5 (Lv65)", "Lâmina Zanna Fantasma+5 (Lv65)", "Leque Ave do Paraíso+5 (Lv65)", "Campainha Céu e Terra+5 (Lv65)", "Partidário+5(Lv65)", "Espada de Batalha+5 (Lv65)")if b == 1 thenpc.give_item2("1105", 1)say("Recebeste o que pediste.")elseif b == 2 thenpc.give_item2("2145", 1)say("Recebeste o que pediste.")elseif b == 3 thenpc.give_item2("155", 1)say("Recebeste o que pediste.")elseif b == 4 thenpc.give_item2("7135", 1)say("Recebeste o que pediste.")elseif b == 5 thenpc.give_item2("5105", 1)say("Recebeste o que pediste.")elseif b == 6 thenpc.give_item2("3135", 1)say("Recebeste o que pediste.")elseif b == 7 thenpc.give_item2("145", 1)say("Recebeste o que pediste.")endelseif a == 2 thensay("Ainda está indisponível.")say("A equipa ainda está a construir esta parte.")endendendend

Share this post


Link to post
Share on other sites

Olá pacificador, eu preciso que a quest dei-a arma de outras classes e não para a classe que mata o mob.Quero mais vendas no servidor.Muito agradecido por responder, obrigado.Muito obrigado mesmo :PEdit: http://cyber-gamers.org/public/style_emoticons/default/451960.gif

Share this post


Link to post
Share on other sites
Então adiciona os jobs..

Share this post


Link to post
Share on other sites

Já fiz um bocadinho, algo errado?(Uma coisinha: como sei quantos comandos end leva a quest no fim?)

quest dr2 beginstate start beginwhen 1093.kill beginsay_title("Parabéns!")say("Mataste o DR, escolhe o teu prémio:")local escolher = select ("Armas, "Armaduras")if escolher == 1 thensay_title("Que arma queres?")if pc.get_job() == 0 thenlocal b = select ("Faca Dragão+5 (Lv65)", "Arco Dragão Amarelo+5 (Lv65)", "Lâmina Zanna Fantasma+5 (Lv65)", "Leque Ave do Paraíso+5 (Lv65)", "Campainha Céu e Terra+5 (Lv65)")if b == 1 thenpc.give_item2("1105", 1)say("Recebeste o que pediste.")elseif b == 2 thenpc.give_item2("2145", 1)say("Recebeste o que pediste.")elseif b == 3 thenpc.give_item2("155", 1)say("Recebeste o que pediste.")elseif b == 4 thenpc.give_item2("7135", 1)say("Recebeste o que pediste.")elseif b == 5 thenpc.give_item2("5105", 1)endelseif escolher == 2 thensay("Ainda está indisponível.")say("A equipa ainda está a construir esta parte.")endendendend

Share this post


Link to post
Share on other sites

Ora os obrigatórios são:

Para fechar os if;

Para fechar o when.

Para fechar o state.

Para fechar a quest.

Exemplo:

quest teste beginstate start beginwhen login beginsay("Oi")end -- End do whenend -- End do stateend -- End da quest

Share this post


Link to post
Share on other sites

Adicionei a sua quest e quando mato o mob 1093 não aparece nada.

Quando adiciono a minha nova que está no post #5 também não aparece anda.

Share this post


Link to post
Share on other sites

Paci onde aprendeste a fazer quests?

Share this post


Link to post
Share on other sites

Em segundo, um Mob só pode ter 1 único kill, não pode ter mais do que isso..

Vê se lês bem e com atenção.

Share this post


Link to post
Share on other sites

Novo problema:

Coloco a quest na pasta usr/home/game/share/locale/germany/quest

Dou o comando na máquina:

cd usr/home/game/share/locale/germany/quest

./qc dr2.quest

No jogo:

/reload q

Resultado:

Missão não aparece em usr/home/game/share/locale/germany/quest/object/1093/kill

No jogo: Não mostra nada ao matar o mob

!SIM, ALTEREI O MOB PARA UM QUE NEM EXISTIA PASTA!

Share this post


Link to post
Share on other sites
Mete a quest.

Share this post


Link to post
Share on other sites

Coloquei no Cão Selvagem 101 só pra testar e nada :(

quest testearma beginstate start beginwhen 101.kill beginsay_title("Parabéns!")say("Mataste o DR, escolhe o teu prémio:")local a = select ("Armas, "Armaduras")if a == 1 thensay_title("Que arma queres?")local b = select ("Faca Dragão+5 (Lv65)", "Arco Dragão Amarelo+5 (Lv65)", "Lâmina Zanna Fantasma+5 (Lv65)", "Leque Ave do Paraíso+5 (Lv65)", "Campainha Céu e Terra+5 (Lv65)", "Partidário+5(Lv65)", "Espada de Batalha+5 (Lv65)")if b == 1 thenpc.give_item2("1105", 1)say("Recebeste o que pediste.")elseif b == 2 thenpc.give_item2("2145", 1)say("Recebeste o que pediste.")elseif b == 3 thenpc.give_item2("155", 1)say("Recebeste o que pediste.")elseif b == 4 thenpc.give_item2("7135", 1)say("Recebeste o que pediste.")elseif b == 5 thenpc.give_item2("5105", 1)say("Recebeste o que pediste.")elseif b == 6 thenpc.give_item2("3135", 1)say("Recebeste o que pediste.")elseif b == 7 thenpc.give_item2("145", 1)say("Recebeste o que pediste.")endelseif a == 2 thensay("Ainda está indisponível.")say("A equipa ainda está a construir esta parte.")endendendend

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this