Ir para conteúdo

Sistema de aura com quest de gemas


alissonxzff2

Posts Recomendados

Bom galera, como não vi nenhum tópico de tutorial sobre ISSO, deu vontade de postar o que consegui fazer hoje..

 

 

Imagem da quest

 

 

kce3uq.jpg

 

 

 

Vamos começar então..

 

Em creaturescripts.xml adicione:

        <event type="login" name="Aura" event="script" value="aura.lua"/>

Na pasta creaturescripts/scripts crie o arquivo aura.lua ou copie algum .lua e renomeie-o para aura.lua e coloque isto:

local tab = {
    [1] = {effect = 6},
    [2] = {effect = 8},
    [3] = {effect = 18},
    [4] = {effect = 3},
    [5] = {effect = 36},
    [6] = {effect = 28},-- [vocationID] = {effect = Number}
    [7] = {effect = 39},
    [8] = {effect = 31},
}
local delay = 1 -- tempo do efeito da aura em segundos
function ariseAura(cid)
    if isPlayer(cid) then
        doSendMagicEffect(getThingPos(cid), tab[getPlayerVocation(cid)].effect)
        addEvent(ariseAura, delay * 1000, cid)
    end
end
function onLogin(cid)
    if tab[getPlayerVocation(cid)] and getPlayerStorageValue(cid, 13782) == 1 then
        ariseAura(cid)
    end
    return true
end

Ali onde mostra 1, 2, 3.. são as vocações e efeitos, configuráveis

 

Player storage 13782, mude para o storage que quiser que seja a sua aura (storage é como se você tivesse completado uma quest)

 

Pronto a aura está pronta, agora só falta fazer a quest para obte-la!

 

Em actions/actions.xml adicione:

<action actionid="13783" script="questaura.lua" /> 

13783 é o ID que vai ficar na alavanca da quest, e o script é o nome do arquivo.lua

 

Em actions/scripts copie um arquivo .lua e renomeie para questaura.lua e coloque isto:

function onUse(cid, item, fromPosition, itemEx, toPosition)


coalbasin1 = {x=428, y=219, z=6, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE}
coalbasin2 = {x=430, y=219, z=6, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE}
coalbasin3 = {x=434, y=219, z=6, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE}
coalbasin4 = {x=436, y=219, z=6, stackpos=STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE}
gem1 = getThingFromPos(coalbasin1)
gem2 = getThingFromPos(coalbasin2)
gem3 = getThingFromPos(coalbasin3)
gem4 = getThingFromPos(coalbasin4)


if item.actionid == 13783 and item.itemid == 1945 then
                if getPlayerStorageValue(cid, 13782) < 1 then
    if gem1.itemid == 2153 and gem2.itemid == 2154 and gem3.itemid == 2155 and gem4.itemid == 2156 then
doRemoveItem(gem1.uid)
doRemoveItem(gem2.uid)
doRemoveItem(gem3.uid)
doRemoveItem(gem4.uid)
setPlayerStorageValue(cid,13782,1)
doPlayerSendTextMessage(cid,25, "Parabéns você conseguiu a aura.")
    else
 doPlayerSendTextMessage(cid,26, "Desculpe você não tem as gems violet, yellow, green, red.")
    end
                else
                     doPlayerSendTextMessage(cid,26, "Desculpe, voce ja tem aura!")
end


        end


return TRUE
end

Ali em coalbasin1/2/3/4 são as posições dos "altares" das pedras, configure para a posição correta da sua quest

 

Item action id é a mesma id que você colocou em actions.xml no caso ali é 13783

 

Verificando a storage é 13782, mude para a storage que é a sua aura, no caso o id que você colocou no segundo script

 

Verificando as ids 2153 2154 2155 2156, você pode alterar essas ids, por itens que vocês queiram.. no caso ta as gemas coloridas

 

Mais uma vez em 13782 é a id da storage da aura, mude para não dar erro no script

 

E embaixo os textos de aprovação e negação

 

No map

 

Faça os coalbasin's para colocar as gemas, faça uma alavanca e coloque action id que você colocou no actions.xml no caso 13783

 

Créditos 100% xtibia, porque só modifiquei e modifiquei :ph34r:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...