Ir para conteúdo
Entre para seguir isso  
Fadi

Quests|: Passagem aberta por combinação.

Recommended Posts

Fadi    0
Fadi

Nome: Quest Add-on (Combinações)

.

Versão: 0.8

.

Tipo do script: Action

.

Servidor Testado: Não foi testado

.

Autor:Fadi

 

 

E ae povo! :)

 

Voltei por um tempo, e pra marcar fiz um add-on simples para quests.

 

 

Não sei se todos conhecem aquela quest, feita em darashia, onde se consegue a blue legs (Koshei The Deathless... ou algo assim)... Para os que não conhecem, vou explicar a parte que interessa, para que vocês entendam o script:

 

------------------------------------------------

 

Basicamente, pouco antes de enfrentar o tal Koshei, há uma parte onde tem algumas tochas na parede, distribuidas simetricamente.

 

No centro dessa mesma parte, há uma espécie de compasso, que, se for usado, pode abrir uma passagem para ir enfrentar o mestre.

 

Mas, a passagem só será aberta se as tochas estiverem na combinação certa, ou seja, algumas acesas e outras apagadas.

 

No caso do original, você usa 4 ou 5 tochas, que abrirão uma passagem (no caso, um caixão, que será aberto, e que tem uma escada por dentro), e aparece o texto "click" ao canto da tela.

 

Mas, como achei que deixar um número limitado de tochas seria um incômodo, deixei de uma forma editável, onde você pode acrescentar quantas tochas quiser. E como também achei que limitar o uso à tochas seria chato, você pode colocar o id que quiser, na posição que quiser, que a mágica acontece. :P

Bom, vamos ao script em si:

function onUse(cid,item,frompos,item2,topos)
-----------------------------------------Configuração Geral----------------------------------------------------------------------------------------------------------
TochasConfig = {
   [1] = {pos = {x = 150, y = 200, z = 7, stackpos = 2}, Id = 3944},
   [2] = {pos = {x = 140, y = 195, z = 7, stackpos = 2}, Id = 3946}
   }------------Edite aqui a posição e o id das tochas que serão usadas para abrir a porta. Se quiser que a tocha precise estar acesa, coloque o id dela acesa, e se quiser apagada, o id dela apagada. Simples assim.
   --------------(você pode colocar quantas tochas quiser, acrescentando numeros abaixo dos já existentes, e usando o mesmo padrão.)
PassagemConfig = {
   [1] = {pos = {x = 150, y = 210, z = 7, stackpos = 1}, IdFechado = 1213, IdAberto = 1214},
   [2] = {pos = {x = 150, y = 210, z = 7, stackpos = 1}, IdFechado = 1213, IdAberto = 1214}
   }------------Aqui, edite a posição das passagens que quer criar *(Elas serão abertas ou fechadas ao mesmo tempo, juntas. Apenas para casos especiais, em que duas portas devem ser abertas ao mesmo tempo.)
   --------------Em "IdFechado" e "IdAberto", coloque os ids respectivos da passagem em questão.
TextConfig = {
   [1] = {pos = {x = 125, y = 200, z = 7}, Cor = 32, Texto = "Click"},
   [2] = {pos = {x = 130, y = 200, z = 7}, Cor = 32, Texto = "Tec"}
   }------------Parte auto-explicativa: Apenas adicione a posição onde o texto irá aparecer, a cor dele (numérica ou por palavra-chave, vide global.lua), e o texto em questão, que não deve ter mais que 6 caracteres.

-----------------------------------------Main System (não mude nada a partir daqui, se não souber o que está fazendo)---------------------------------
   if #TochasConfig >= 1 then
       for number = 1, #TochasConfig do
       tocha = getThingfromPos(TochasConfig[number].pos)
       if tocha.itemid == TochasConfig[number].Id then
           if number == #TochasConfig then
               check = 1
           end
       else
           check = 0
           break
       end
       end
   else
       check == 1
   end
   if check == 1 then
       for number2 = 1, #PassagemConfig do
           passagem = getThingfromPos(PassagemConfig[number2].pos)
           if passagem.itemid == PassagemConfig[number2].IdFechado then
               doTransformItem(passagem.uid, PassagemConfig[number2].IdAberto)
               for number3 = 1, #TextConfig do
                   doSendAnimatedText(TextConfig[number3].pos, TextConfig[number3].Texto, TextConfig[number3].Cor)
               end
           else
               doTransformItem(passagem.uid, PassagemConfig[number2].IdFechado)
           end
       end
   else
       doPlayerSendCancel(cid, "Nothing happened")
   end
end

 

TochasConfig = {

[1] = {pos = {x = 150, y = 200, z = 7, stackpos = 2}, Id = 3944},

[2] = {pos = {x = 140, y = 195, z = 7, stackpos = 2}, Id = 3946}

}

 

Edite aqui a posição e o id das tochas que serão usadas para abrir a porta. Se quiser que a tocha precise estar acesa, coloque o id dela acesa, e se quiser apagada, o id dela apagada. Simples assim.

(Você pode colocar quantas tochas quiser, acrescentando numeros abaixo dos já existentes, e usando o mesmo padrão. Ou seja:

 

(Ps: Não se esqueça de colocar vírgulas após cada termo, exceto no último.)

 

 

[1] = {pos = {x = 150, y = 200, z = 7, stackpos = 2}, Id = 3944},

[2] = {pos = {x = 140, y = 195, z = 7, stackpos = 2}, Id = 3946},

[3] = {pos = {x = xxx, y = yyy, z = z, stackpos = n}, Id = iiii}

 

 

PassagemConfig = {

[1] = {pos = {x = 150, y = 210, z = 7, stackpos = 1}, IdFechado = 1213, IdAberto = 1214},

[2] = {pos = {x = 150, y = 210, z = 7, stackpos = 1}, IdFechado = 1213, IdAberto = 1214}

}

 

 

Aqui, edite a posição das passagens que quer criar

*(Elas serão abertas ou fechadas ao mesmo tempo, juntas. Apenas para casos especiais, em que duas portas devem ser abertas ao mesmo tempo.)

Em "IdFechado" e "IdAberto", coloque os ids respectivos da passagem em questão.

 

 

TextConfig = {

[1] = {pos = {x = 125, y = 200, z = 7}, Cor = 32, Texto = "Click"},

[2] = {pos = {x = 130, y = 200, z = 7}, Cor = 32, Texto = "Tec"}

}

 

Parte auto-explicativa: Apenas adicione a posição onde o texto irá aparecer, a cor dele (numérica ou por palavra-chave, vide global.lua), e o texto em questão, que não deve ter mais que 6 caracteres.

 

 

Adicione a parte geral do script em um bloco de notas,e salve com o nome de "nome.lua", depois acrescente uma linha no "actions.xml" com o seguinte conteúdo:

<action itemid="IIII" script="nome.lua" />
Substitua "IIII" pelo id do seu "compasso", ou equivalente, que será onde o player deve clicar para abrir a passagem.

 

Você pode mudar o nome do arquivo lua para qualquer um que você queira, basta que substitua no actions.xml também.

 

 

Bom gente, é isso ^^

Não cheguei a testar o script, não tive tempo, então se encontrarem algum erro avisem no tópico que eu arrumo.

 

Espero que tenham gostado, e até a próxima! :lol:

Editado por Fadi
Melhorar a estética.

Compartilhar este post


Link para o post
Nord    2
Nord

Demorei mas cheguei, muito bom seu script prof :D

Tava tão desatualizado que nem sabia dessa quest.

 

Aprovado

Compartilhar este post


Link para o post
islak    0
islak

Parece ser bOm vou testar

Compartilhar este post


Link para o post
123123    1
123123

otimo script, parabens cara e vlw!!!

Compartilhar este post


Link para o post
Fadi    0
Fadi

Que bom que gostaram ^^

Na verdade o codigo eh bem simples.. mas como nao tinha como testar, ficava mais dificil garantir que ia funcionar.

 

Testem, e postem os comentarios!

Compartilhar este post


Link para o post
Valderrama    0
Valderrama

kra aki no meu tah dando um erro, diz assim:

 

[11/12/2008  11:54:57] Warning: [Event::loadScript] Can not load script. data/actions/scripts/other/button.lua
[11/12/2008  11:54:57] data/actions/scripts/other/button.lua:9: '}' expected (to close '{' at line 3) near 'PassagemConfig'

Editado por Valderrama

Compartilhar este post


Link para o post
Mock    32
Mock

xD fico legal fadi bem util em alguns servers

Compartilhar este post


Link para o post
Klenioyok    0
Klenioyok

Muitooo bom vou fazer algo parecido no meu server!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×