Ir para conteúdo

Quest Com Actions ótimas Para O Seu Servidor!


koninhoo

Posts Recomendados

Bom gente, vamos com a historinha que eu fiz com a Quest, e ao termino iremos ao Script.

dasvh5.png

Depois de dias e dias de jornadas, o nosso herói aloja-se em uma casinha na floresta para

proteger-se da Chuva.

 

12893127yb7.png

Percebeu que alí morava ninguém, então decidiu acender as tochas para aquecer ao local.

 

42543887hc7.png

Logo depois começara a procurar algum agasalho para ir dormir.

Empurrando as caixas à procura do agasalho, ele acabou achando uma alavanca.

 

18642319qk8.png

Então para ver no que daria, "juntou" a coragem e puxou-a, percebeu que uma passagem

acabou abrindo-se.

Notou que havia um baú dentro da salinha recém descoberta...

 

11324792gr6.png

(...) ,muito curioso, entrou para abrir o baú, porém a passagem fechou-se.

 

92185983rt1.png

Ao abrir o baú, ele achou um tesouro escondido, e no mesmo momento foi expulso da sala.



FIM

Vamos ao Script agora.

O mapa que usei foi esse:

44481574kv4.png

 

 

  • Função: A pessoa acende todas as tochas, e puxa a alavanca (embaixo do crate). Ao puxar, as tochas irão apagar-se, e a parede sumir. Quando entrar no SQM sul do baú, a parede fechará-se novamente. Ao abrir o baú a pessoa irá receber o prêmio e ser teleportada para fora da salinha.



data/actions/actions.xml

<action uniqueid="4066" script="bau.lua" />

<action uniqueid="4065" script="alavanca.lua" />

Legenda:

 

- UniqueID usado no baú e na alavanca.

 

data/actions/script/bau.lua

function onUse(cid, item, frompos, item2, topos)

 

local pos1 = {x=229, y=32, z=7}

doTeleportThing(cid, pos1)

doSendMagicEffect(topos,12)

 

if item.uid == 4066 then

queststatus = getPlayerStorageValue(cid,4066)

if queststatus == -1 then

doPlayerSendTextMessage(cid,24,"You have found a Crown Armor.")

doPlayerAddItem(cid,2487,1)

setPlayerStorageValue(cid,4066,1)

else

doPlayerSendTextMessage(cid,24,"It is empty.")

end

else

return 0

end

 

return 1

end

Legenda:



- Coordenada para onde o player vai ser teleportado quando abrir o baú.

- UniqueID usado no baú.

- Storage Value.

- Mensagem recebida ao abrir o baú.

- ID do item que o player irá receber ao abrir o báu.

 

data/actions/script/alavanca.lua

function onUse(cid, item, pos)

 

pos1 = { x=228, y=31, z=7, stackpos=3}

pos1 = getThingfromPos(pos1)

pos2 = { x=231, y=31, z=7, stackpos=3}

pos2 = getThingfromPos(pos2)

pos3 = { x=233, y=31, z=7, stackpos=3}

pos3 = getThingfromPos(pos3)

pos4 = { x=235, y=31, z=7, stackpos=3}

pos4 = getThingfromPos(pos4)

pos5 = { x=229, y=31, z=7, stackpos=1}

pos5 = getThingfromPos(pos5)

 

 

if pos1.itemid == 2059 and pos2.itemid == 2059 and pos3.itemid == 2059 and pos4.itemid == 2059 then

 

doTransformItem(pos1.uid, 2058)

doTransformItem(pos2.uid, 2058)

doTransformItem(pos3.uid, 2058)

doTransformItem(pos4.uid, 2058)

doRemoveItem(pos5.uid, 1)

 

end

 

if (item.itemid == 1945) then

doTransformItem(item.uid, 1946)

else

doTransformItem(item.uid, 1945)

end

 

return 1

end

Legenda:



- Coordenadas das tochas.

- Coordenada da parede que irá sumir ao puxar a alavanca.

 

PS.1: O stackpos das tochas podem variar, se estiver dando problema de ItemNotFound tente usar o stackpos 2, depende de como é o local feito.

 

Como podem ver, no script só há 4 tochas, porém que quiser adicionar mais você terá que seguir esta ordem:

function onUse(cid, item, pos)

 

pos1 = { x=228, y=31, z=7, stackpos=3}

pos1 = getThingfromPos(pos1)

pos2 = { x=231, y=31, z=7, stackpos=3}

pos2 = getThingfromPos(pos2)

pos3 = { x=233, y=31, z=7, stackpos=3}

pos3 = getThingfromPos(pos3)

pos4 = { x=235, y=31, z=7, stackpos=3}

pos4 = getThingfromPos(pos4)

pos5 = { x=229, y=31, z=7, stackpos=1}

pos5 = getThingfromPos(pos5)

pos6 = { x=235, y=31, z=7, stackpos=3}

pos6 = getThingfromPos(pos6)

 

 

if pos1.itemid == 2059 and pos2.itemid == 2059 and pos3.itemid == 2059 and pos4.itemid == 2059 and pos6.itemid == 2059 then

 

doTransformItem(pos1.uid, 2058)

doTransformItem(pos2.uid, 2058)

doTransformItem(pos3.uid, 2058)

doTransformItem(pos4.uid, 2058)

doTransformItem(pos6.uid, 2058)

doRemoveItem(pos5.uid, 1)

 

end

 

if (item.itemid == 1945) then

doTransformItem(item.uid, 1946)

else

doTransformItem(item.uid, 1945)

end

 

return 1

end

Legenda:



- Tag adicionada.

 

data/movements/movements.xml

<movevent event="StepIn" actionid="4067" script="parede.lua" />

Legenda:



- ActionID usado no chão para fazer a parede fechar-se.

 

data/movements/scripts/parede.lua

function onStepIn(cid, item, pos)

 

pos = { x=229, y=31, z=7, stackpos=1}

wall = getThingfromPos(pos)

doCreateItem(1026,1,pos)

 

return 1

end

Legenda:



- Coordenada de onde fica a parede que vai ser criada.

- ID da parede.

 

  • Onde colocar o ActionID e os UniqueIDs:



59239178mw9.png

  • Vídeo do Youtube:





44 segundos de vídeo.



PS.2: Qualquer dúvida ou problemas observados avisem aqui, por favor.



 

 

Créditos: Koninho (por ter feito) e pdzinhow (por ter dado a idéia).

 

COMENTEM, POR FAVOR!

Koninhoo~

Legenda:

- UniqueID na alavanca (ela está em baixo do crate), alavanca.lua.

- ActionID da parede, parede.lua.

- UniqueID no baú, bau.lua.

Editado por Koninho
Link para o comentário
Compartilhar em outros sites

É Koninho muito bom o script so faltou você botar meus créditos ai né? porque acho que a idéia foi minha e falei isso com você no msn... e te expliquei como seria e talz!

 

Opa, claro née, tinha esquecido.

Mas tamo ae..

Conseguiu ageitar aquele script?

Falora.

 

Koninhoo~

Link para o comentário
Compartilhar em outros sites

@Topic

 

Isso nao seria Tutorial?

 

se nao for ... DoPlayerDeleteMsg(cid, all) ....

Eu também achava.

Como esta Action foi desenvolvida do "zero" resolvi falar com o JV Chequer, e ele também concordou que o certo seria desse tópico está em Downloads de Actions, aí ele moveu.

Olha lá em cima:

Olá Usuários,

 

Está Seção de Actions serve para postar actions desenvolvidas.

 

Esperamos que esteja ciente disto.

 

Atenciosamente,

Equipe Xtibia.

E esta Action é desenvolvida.

:smile_positivo:

 

Koninhoo~

Editado por Koninho
Link para o comentário
Compartilhar em outros sites

Ops, Valeu ae Koninho.

Deu errado no começo, então só foi trocar os Stackpos das tochas, :smile_positivo:

Dai sim funciono certinho.

Cotinue trazendo actions interessantes assim.

 

Cya :smile_positivo:

Link para o comentário
Compartilhar em outros sites

Muito bem explicado e organizado

=D

Parabens....

 

Uma coisa básica que você devia ter colocado, é os créditos desta ideia, me lembro que essa ideia foi do Thyranic se não me engano..

mais tudo bem, ele nem aparece mais aqui =/

 

vlw ae...parabens d novo

Link para o comentário
Compartilhar em outros sites

Interessante essa quest veio, mas ja da pra sacar que tem algo esperando pq tem um vao ali vazio onde abre a passagem , por isso da pra perceber.

mesmo assim valeu pela ideia

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...