Jump to content
TLThings

Recommended Posts

Boas a todos estou aqui com um problema nessa quest que é a seguinte eu gostaria de saber como é que posso por exemplo colocar ai por exemplo 200 adicionares e receber 40 feitiços de item  ou seja receber 20  porcento, eu ja consegui  por a fazer a troca e por a receber o problema é que por qualquer quantidade que dé neste caso 1  da me sempre os  40 feitiços  , sei que a forma simples era entregar 1 e receber 1 isso eu consigo por a dar mas queria tipo como disse acima dar por exmplo 200 adicionares e receber 40 feitiços  ou seja receber 20  porcento.

cumprimentos

-- Quest wrote by Exygo
-- Creation date: 19 December 2015 5:35 PM - Romania hour
-- Line count: 44
----------------------------------------------------------
quest item_exchange begin
    state start begin
        -- 9003 = NPC vnum
        when 9003.take begin
            local vnum = item.get_vnum()
            local items
            items = {
            --[GIVE]      [RECEIVE]    [COUNT]
            [71085] =    { 71084,    20 },
            [27993] =    { 27003,    1 },
            [27994] =    { 27006,    1 },
            }

            if items[vnum] then
                say_title("NPC NAME:")
                say("Exchange an item for another item")
                --
                local received_vnum = items[vnum][1]
                local received_quantity = items[vnum][2]
                ---
                local item_name = item_name(received_vnum)
                --
                say_reward("You'll receive: "..item_name.." , quantity: "..received_quantity.."")
                say_item_vnum(received_vnum)
                say_title("Are you sure you want to do exchange ?")
                say("")

                local sel=select("Yes","No")

                if sel == 2 then
                    return
                else
                    setskin(0)
                    pc.give_item2(received_vnum, received_quantity)
                    pc.remove_item(vnum, 1)
                end
            end -- i
        end -- w
    end -- s
end -- q

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Link to post
Share on other sites

Vcs são grandes , e já agora há forma de eu dentro da mesma quest colocar por exmplo as pedras partidas a dar uma perola ou tenho q fazer uma quest para cada item  que quiser fazer a troca? cumprimentos .

Link to post
Share on other sites

quest mojo_itens begin
    state start begin
        function get_settings()
            mojo_itens = {}
            mojo_itens.dar = 71085, 27990 -- Itens que o jogador precisa de ter para trocar por outros itens
            mojo_itens.quantidade = 200, 600,  -- Quantidade de itens que o jogador precisa de ter para trocar pelos itens abaixo:
            mojo_itens.receber = 71084, 27992, 27993, 27994 -- Itens que o jogador irá receber depois da troca
            mojo_itens.rquantidade = 20, 1, 1, 1 -- Quantidade de itens que o jogador irá receber
            
            return mojo_itens
        end

        when 20008.take begin
            local settings = mojo_itens.get_settings()

            if pc.get_count(settings.dar[71085]) >= settings.quantidade[200] then -- Conta o primeiro valor, ou seja, 456 da tabela mojo_itens.dar e 200 da tabela mojo_itens.quantidade
                pc.remove_item(settings.dar[71085], settings.quantidade[200])
                pc.give_item2(settings.receber[71084],settings.rquantidade[20])
            elseif pc.get_count(settings.dar[27990]) >= settings.quantidade[600] then
                pc.remove_item(settings.dar[27990], settings.quantidade[600])
                pc.give_item2(settings.receber[27992, 27993, 27994],settings.rquantidade[1])
            elseif pc.get_count(settings.dar[]) >= settings.quantidade[] then
                pc.remove_item(settings.dar[], settings.quantidade[])
                pc.give_item2(settings.receber[],settings.rquantidade[])
            
            else
                syschat("Não tens itens suficientes, queres enganar o Otávio? ")
            end
        end
    end
end

 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Edited by MÓJÓ
ERRO
Link to post
Share on other sites
Please login or register to see this quote.

 

Não é assim meu irmão, não precisas de mexer dessa forma!

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Vamos lá entender isto:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

settings.dar[2] & settings.quantidade[2] representam o segundo a frente de cada tabela dar e quantidade (mojo_itens.dar & mojo_itens.quantidade) que nestes casos são representados pelos números 789 e 200 respetivamente (consulta a tabela e começa a contar a partir do primeiro número que existe em cada uma delas).

O que acontece acima é igual ao que o Tierri fez mas um pouco mais complexo, ela vai buscar os valores nas tabelas que foram criadas:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

 

OBS: Utiliza a minha primeira quest, tinha esquecido de meter os {} em cada uma das tabelas

Edited by Mário.
  • Upvote 1
Link to post
Share on other sites

quest feitico begin
    state start begin
        when 20008.take begin
            if pc.get_count(71085) >= 200 then
                pc.remove_item(71085,200)
                pc.give_item2(71084,20)

            else

            if pc.get_count(27990) >= 250 then
                pc.remove_item(27990,250)
                pc.give_item2(27992,1)

            else

            if pc.get_count(27990) >= 200 then
                pc.remove_item(27990,200)
                pc.give_item2(27993,1)

            else

            if pc.get_count(27990) >= 150 then
                pc.remove_item(27990,150)
                pc.give_item2(27994,1)

            else

            if pc.get_count(50300) >= 5 then
                pc.remove_item(50300,5)
                pc.give_item2(50300,1)

            else
            say("Não tens items suficientes, queres enganar o Otávio?.")
        
        end
    end
end

Mário depois de ver o teu post não aguentei o bixinho e tive que ir tentar e então passei horas nisto a queimar a cabecinha fiz a quest da informaçao no npc funcionou bem ai fiquei logo esperançado q ia correr tudo bem , e acontece- me isso q ai vez quando  instalo esta  , que mal fiz eu a deus ,que é que achas q eu ai pus mal ? ela está como o exemplo q me postas te em cima  ate fiz o upload da quest . abraço e mais uma vez obrigado

QUEST : feitico
STATE : start
WHEN  : 20008.take
Killed

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Link to post
Share on other sites

Faltou-te demasiado ends no final, de forma a poderes fechar cada uma delas

Deixo-te aqui já feita e organizada, só precisas de instalar:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Edited by Mário.
  • Upvote 1
Link to post
Share on other sites

[email protected]:/usr/home/srv1/share/locale/germany/quest # ./qc feitico.quest
QUEST : feitico
STATE : start
WHEN  : 20008.take
Calls undeclared function! :
pc.get_count

diz me isso exactamente como ai está , aliás   já esse pc.get_count me tinha dado erro na outra quest das tabelas que eu ainda cheguei a por essa tb , é uma quest tão fixe que tenho pena de não conseguir por aqui . Obrigado uma vez mais mário

Link to post
Share on other sites

vou já ver isso , eu não entendo ainda muito disto como dá para ver mas tenho muito gosto no que estou a fazer e como tal tenho queimado muito a cabeça com isto , agradeço muito aos dois a ajuda que me em dado e desculpem se vos tenho chateado . muito obrigado mesmo

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.