Ir para conteúdo
Entre para seguir isso  
Flatronez

Quest por gem

Recommended Posts

Flatronez    1
Flatronez

Nome: Quest por gem

.

Versão: 8.4x

.

Tipo do script: Action + TalkAction

.

Servidor Testado: TFS 0.3.4 Crying Damson

.

Autor: Flatronez

Comentario: É uma quest que usa 4 gems(red, blue, green e violet) para "sumonar" uma alavanca. Cada gem possui um elemento e suas 'palavras mágicas' para soltarem um encantamento. Após encantar as 4, uma alavanca aparece. Ao puxar essa alavanca, o player é teleportado para o local onde, após 4 segundos, aparecem os teleports de cada elemento com um efeito relacionado a eles.

 

Instalação:

 

1- Na pasta TalkActions, adicione a seguinte tag no arquivo talkactions.xml:

<talkaction words="encantus" event="script" value="palavras.lua"/>

2- Depois crie um arquivo chamado palavras.lua na pasta scripts e adicione o código abaixo:

[spoiler=Arquivo: palavras.lua]

function onSay(cid, words, param)
        local pos = getCreaturePosition(cid)
        local gem_fire = getThingFromPos({[color=Red]x= 1015, y= 1029, z= 7[/color], stackpos= 1})
        local gem_terra = getThingFromPos({[color=Red]x= 1015, y= 1043, z= 7[/color], stackpos= 1})
        local gem_ice = getThingFromPos({[color=Red]x= 1051, y= 1029, z= 7[/color], stackpos= 1})
        local gem_energy = getThingFromPos({[color=Red]x= 1051, y= 1043, z= 7[/color], stackpos= 1})
        --Encantamento da red gem
        if param == "fire" and gem_fire.itemid == 2156 and [color=Red]pos.x == 1016 and pos.y == 1029 and pos.z == 7[/color] then
              setPlayerStorageValue(cid, 200, 1)
              doCreateItem(1487, 1, {[color=Red]x= 1015, y= 1029, z= 7[/color]})
              doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The Red Gem released the enchantment.")
        elseif param == "ice" and gem_ice.itemid == 2158 and [color=Red]pos.x == 1051 and pos.y == 1030 and pos.z == 7[/color] then
        --Encantamento da blue gem
              setPlayerStorageValue(cid, 201, 1)
              doCreateItem(8574, 1, {[color=Red]x= 1051, y= 1029, z= 7}[/color])
              doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The Blue Gem released the enchantment")
        elseif param == "terra" and gem_terra.itemid == 2155 and [color=Red]pos.x == 1015 and pos.y == 1042 and pos.z == 7[/color] then
        --Encantamento da green gem
              setPlayerStorageValue(cid, 202, 1)
              doCreateItem(8062, 1, {[color=Red]x= 1015, y= 1043, z= 7[/color]})
              doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The Green Gem released the enchantment")
        elseif param == "energy" and gem_energy.itemid == 2153 and [color=Red]pos.x == 1050 and pos.y == 1043 and pos.z == 7[/color] then
        --Encantamento da violet gem
              setPlayerStorageValue(cid, 203, 1)
              doCreateItem(1495, 1, {[color=Red]x= 1051, y= 1043, z= 7[/color]})
              doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The Violet Gem released the enchantment")
        end
        --Verifica se completou tudo 
        if getPlayerStorageValue(cid, 200) == 1 and getPlayerStorageValue(cid, 201) == 1 and getPlayerStorageValue(cid, 202) == 1 and getPlayerStorageValue(cid, 203) == 1 then
           doCreateItem(9825, 1, {[color=Red]x= 1033, y= 1037, z= 6[/color]})
           local alavanca = getThingFromPos({[color=Red]x= 1033, y= 1037, z= 6[/color], stackpos= 1})
           doSetItemActionId(alavanca.uid, 9999)
           doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Agora volte ao início e puxe a alavanca que foi criada.")
           --Remove os Storage Values, pro player ter que encantar tudo de novo e não pular pra outra parte
           setPlayerStorageValue(cid, 200, -1)
           setPlayerStorageValue(cid, 201, -1)
           setPlayerStorageValue(cid, 202, -1)
           setPlayerStorageValue(cid, 203, -1)
        end      
end

 

 

3- Depois vá até a pasta Actions e adicione a tag no arquivo Actions.xml:

<action actionid="9999" event="script" value="alavanca.lua"/>

4- Dentro da pasta scripts, crie um arquivo chamado alavanca.lua e adicione o seguinte código:

[spoiler=Arquivo: alavanca.lua]

function fogo()
        doSendMagicEffect({[color=Red]x= 1033, y= 1036, z= 5[/color]}, CONST_ME_FIREAREA)
        doCreateTeleport(5023, {[color=Red]x= 1027, y= 1034, z= 4[/color]}, {[color=Red]x= 1033, y= 1036, z= 5[/color]})
end
function gelo()
        doSendMagicEffect({[color=Red]x= 1034, y= 1037, z= 5[/color]}, CONST_ME_ICEAREA)
        doCreateTeleport(5023, {[color=Red]x= 1039, y= 1034, z= 4[/color]}, {[color=Red]x= 1034, y= 1037, z= 5[/color]})
end
function raio()
        doSendMagicEffect({[color=Red]x= 1033, y= 1038, z= 5[/color]}, CONST_ME_ENERGYAREA)
        doCreateTeleport(5023, {[color=Red]x= 1039, y= 1046, z= 4[/color]}, {[color=Red]x= 1033, y= 1038, z= 5[/color]})
end
function poison()
        doSendMagicEffect({[color=Red]x= 1032, y= 1037, z= 5[/color]}, CONST_ME_SMALLPLANTS)
        doCreateTeleport(5023, {[color=Red]x= 1027, y= 1046, z= 4[/color]}, {x= 1032, y= 1037, z= 5})
end
function elementos(cid)
        addEvent(fogo, 1000)
        addEvent(gelo, 2000)
        addEvent(raio, 3000)
        addEvent(poison, 4000)
end

function onUse(cid, item)
--Tira os itens criados para que a quest possa ser feita novamente
        --Locais das GEMs
        local fire = getThingFromPos({[color=Red]x= 1015, y= 1029, z= 7[/color], stackpos = 1})
        local terra = getThingFromPos({[color=Red]x= 1015, y= 1043, z= 7[/color], stackpos = 1})
        local ice = getThingFromPos({[color=Red]x= 1051, y= 1029, z= 7[/color], stackpos = 1})
        local energy = getThingFromPos({[color=Red]x= 1051, y= 1043, z= 7[/color], stackpos = 1})
        --Encantamentos das GEMs
        local fire2 = getThingFromPos({[color=Red]x= 1015, y= 1029, z= 7[/color], stackpos = 2})
        local terra2 = getThingFromPos({[color=Red]x= 1015, y= 1043, z= 7[/color], stackpos = 2})
        local ice2 = getThingFromPos({[color=Red]x= 1051, y= 1029, z= 7[/color], stackpos = 2})
        local energy2 = getThingFromPos({[color=Red]x= 1051, y= 1043, z= 7[/color], stackpos = 2})
        --Remove os itens
        doRemoveItem(fire.uid)
        doRemoveItem(terra.uid)
        doRemoveItem(ice.uid)
        doRemoveItem(energy.uid)
        doRemoveItem(fire2.uid)
        doRemoveItem(terra2.uid)
        doRemoveItem(ice2.uid)
        doRemoveItem(energy2.uid)
         doRemoveItem(item.uid)
--Segundo passo da quest
         doTeleportThing(cid, {[color=Red]x= 1033, y= 1037, z= 5[/color]})
         doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Escolha um elemento e entre no portal.")
         addEvent(elementos, 3000)
end

 

 

Script vencedor da ScOTW #2!

flatronez.png

 

________________

Se quiserem testar a quest sem ter que alterar os códigos, aqui está o mapa que usei para testar: Link - 4Shared

Editado por Flatronez
Arrumando link quebrado

Compartilhar este post


Link para o post
Gpwjhlkdcf    21
Gpwjhlkdcf

  • Aprovado e Movido para Download de Ações.

 

Observação: Script vencedor de concurso, dai nem tem discução! :w00t:

Compartilhar este post


Link para o post
AkillesW    6
AkillesW

Nossa muito rox seu script, nãp é atoa que ganha o Scowt

parabéns

tentei faze pro scowt mas nao funfo

Compartilhar este post


Link para o post
Eroz    0
Eroz

Muiiito loko cara, gostei muito. Vai servi pra uma quest que eu to fazendo, vai fik hiperphodastico

 

Parabens, exelente script

Compartilhar este post


Link para o post
Shyzoul    0
Shyzoul

noofffaa..

por isso que vc ganho ;~

Compartilhar este post


Link para o post
MeLaHeLL    0
MeLaHeLL

Link foi deletado..

Upa ele denovo. ;/ ..

 

queria baixar pra emtender melhor..

x.x

abraços ~

Compartilhar este post


Link para o post
Flatronez    1
Flatronez

Link arrumado, malz pela demora >_<

Compartilhar este post


Link para o post
Tozim    0
Tozim

caracas, ideia muito massa.

da até um toque de rpg.

Compartilhar este post


Link para o post
Gorgulf    0
Gorgulf

vei eu n intendi muito bem, eu coloquei aki, mas pra puxar a alavanca não precisa fazer nada .-., depois q puxa vai pros teleports la, e depois some o coal basin e a gem, dai n tem oq faze .-., não precisei usa o encantus nem nada .-., mas tirando isso fico rox xD

Compartilhar este post


Link para o post
Flatronez    1
Flatronez

@[D]arkNess

 

Olha a versão do OT que vc testou. na que eu usei(TFS 0.3.4 Crying Damson) não problema nenhum.

Compartilhar este post


Link para o post
Gorgulf    0
Gorgulf

TFS 0.3.5 Crying Damson usei essa, mas não deu error, eu coloquei a alavanca certa la, com a action, só que não precisa fazer nada, é só puxar a alavanca, pra ser teleportado, não precisou usar o encantus nem nada, só tive que puxar a alavanca, os teleports deu certo, mas as gems nem tiverão ultilidade, eu puxo a alavanca, com as gem no coal basim, dai depois volto la, sumiu o coal basin, vi la no script que era pra criar 1 fogo no coal, e isso nem aconteceu .-.

Compartilhar este post


Link para o post
Dark Maker    0
Dark Maker

Nossa cara muito criativo e incrivelmente legal, gostei muito

Compartilhar este post


Link para o post
Atthon    0
Atthon

Que legal, vou colocar no meu OT xD

Compartilhar este post


Link para o post
Flatronez    1
Flatronez

@Darkness:

 

A alavanca é criada automaticamente depois que encanta as gems, se vc colocar ela vai pular a parte do encantamento ._.

Compartilhar este post


Link para o post
FriesMur    0
FriesMur

WOWOWOWOW

Lindo lindo seu script

parabens ;D

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.

×