Ir para conteúdo

Quest Com Quebra-cabeça


Wallacy

Posts Recomendados

QUEST COM QUEBRA-CABEÇA SIMPLES

 

:INTRO:

É relativamente simples: O player resolve um enigma e consegue passar por uma porta que antes não conseguia. Não se esqueçam, esse é o quebra-cabeça SIMPLES. Existem outros 2 que serão postados futuramente. (Composto) (Mega).

 

:COMO FUNCIONA:

São 2 actions e uma pequena área do mapa, que trabalham em conjunto. São 9 lugares para o player colocar alguns items na combinação correta. Depois de colocados, o player puxa uma alavanca e os items desaparecem. Agora o player estará apto a abrir uma porta que antes não conseguia. Nesse tutorial, iremos fazer com 1 Crystal Coin e 3 Ice Cubes.

 

Requesitos

Apenas um editor de mapas e um server.

 

:LEMBRETE:

Não é exatamente uma quest inteira, depende da sua criatividade para fazer o quebra-cabeça apenas como uma parte de outra quest.

 

COMEÇANDO

 

1- Faça uma área PARECIDA com essa:

dfsdfadfssa7.png

 

2- A área do meio (A dos 9 quadradinhos) é a área aonde os players irão ter de colocar os items na combinação correta. Aquelas bolinhas coloridas representam aonde devem ficar a Crystal Coin e os Ice Cubes.

 

3- Coloque um unique id de sua escolha naquela alavanca. (Eu usei 7090)

 

4- Agora crie outra área, essa porém, vai ser a sala da quest ou uma sala com um teleport, enfim, com o que for fazer da quest. A única exigência, é que a sala só pode ter uma entrada: UMA LEVEL DOOR. (Não coloque ids na door ainda.)

 

5- Agora pegue as coordenadas de 4 (ou mais se for fazer diferente) daqueles 9 quadradinhos.

 

6- Copie um arquivo da pasta data/actions/scripts do seu server e cole em qualquer lugar.

 

7- Apague TODO seu conteúdo e cole isso:

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

 

item1pos = {x=553, y=1147, z=7, stackpos=255}

item2pos = {x=554, y=1147, z=7, stackpos=255}

item3pos = {x=555, y=1148, z=7, stackpos=255}

item4pos = {x=553, y=1149, z=7, stackpos=255}

item1 = getThingfromPos(item1pos)

item2 = getThingfromPos(item2pos)

item3 = getThingfromPos(item3pos)

item4 = getThingfromPos(item4pos)

queststatus = getPlayerStorageValue(cid,7090)

 

 

if item.uid == 7090 and item.itemid == 1945 and item1.itemid == 2160 and item2.itemid == 7441 and item3.itemid == 7441 and item4.itemid == 7441 and queststatus == -1 then

doRemoveItem(item1.uid,1)

doSendMagicEffect(item1pos,17)

doRemoveItem(item2.uid,1)

doSendMagicEffect(item2pos,17)

doRemoveItem(item3.uid,1)

doSendMagicEffect(item3pos,17)

doRemoveItem(item4.uid,1)

doSendMagicEffect(item4pos,17)

doPlayerSendTextMessage(cid,22,'YOU CAN NOW PASS BY THE SECOND DOOR!')

setPlayerStorageValue(cid,7090,1)

else

doPlayerSendTextMessage(cid,22,"It is wrong.")

end

end

 

Em Marrom, você deve por as coordenadas dos 4 quadrados. (Passo 5)

 

Em Rosa, o unique id da alavanca.

 

Em Preto, O id do item alavanca (Item id.)

 

Em Vermelho, o id da crystal coin. (Se for usar outro item, substitua pelo id do item)

 

Em Azul Claro, o id do Ice Cube. (Se for usar outro item, substitua pelo id do item)

 

Em Verde, a fala que aparecerá para o player quando ele fizer a combinação certa.

 

Em Roxo, a fala que aparecerá para o player quando ele fizer a combinação errada

 

8- Salve, Feche-o, e renomeie o documento para um nome de sua escolha. (Eu usei quebra1)

 

9- Agora lembra aquela level door que eu mencionei no passo número 4? Chegou a hora de dar um UNIQUE ID para ela. (Eu usei 7091)

 

10- Agora copie um arquivo da pasta data/actions/scripts do seu server e cole em qualquer lugar.

 

11- Apague TODO seu conteúdo e cole isso:

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

 

if item.uid == 7091 then

status = getPlayerStorageValue(cid,7090)

if status == 1 then

pos = getPlayerPosition(cid)

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

else

doPlayerSendTextMessage(cid,22,'Stand in front of the door.')

return 1

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(topos,12)

else

doPlayerSendTextMessage(cid,22,'You need to have completed the challenge first.')

end

return 1

else

return 0

end

end

 

Em Laranja, o Unique Id da porta.

 

Em Rosa, o unique id da alavanca.

 

12- Salve, Feche-o, e renomeie o documento para um nome de sua escolha. (Eu usei wldoor)

 

13- Agora mova esses 2 arquivos (No meu caso quebra1 e wldoor) de volta para data/actions/scripts.

 

14- Agora abra seu actions.xml (Data/actions) com o bloco de notas.

 

15- Adcione isso nas tags:

<action uniqueid="7090" script="quebra1.lua" />

<action uniqueid="7091" script="wldoor.lua" />

 

16- Salve.

 

Pronto! Agora é só modificar ao seu gosto.

 

Créditos: Koti.

Nível do tutorial: Fácil

Testado em: YurOts 0.3 (versão 8.0)

Nível de quest: Elaborado

 

Divirtam-se. Atenciosamente, Koti

Link para o comentário
Compartilhar em outros sites

Rapaz!!

 

Muito Rox a quest...

Eu prefiro muito mais quest deste tipo, do que a classica mata e pega!

 

Meus Parabens!

Muito criativo, interessante e inteligente!

 

Aprovado!

Vo fazer no meu ot!

 

^^

 

Brigado e fico no aguardo das proximas quests (Composto e Mega). =]~

 

Att,

Neo

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

Muito bom. Só para corrigir:

Em ambos os scripts, existe um comando que é: setPlayerStorageValue(cid,7090,1) e o outro status = getPlayerStorageValue(cid,7090). Estes não são os UniqueIDs da alavanca, e sim, um valor que vai ser adicionado para o player poder passar na porta. Você pode colocar qualquer ID, desde que não exista um desse em outra quest/action.

 

Mesmo assim, é muito bom este tutorial. Aprovado

Link para o comentário
Compartilhar em outros sites

Muito útil realmente.

Quests complexas e mapas bem feitos são fundamentais!

Mas é claro que deve ter um balanceamento com quests de "mata e pega" e quests bem elaboradas pra um map ficar perfeito.

 

Aprovado

Link para o comentário
Compartilhar em outros sites

Muito boa... isso me lembra o tempo em q eu jogava mario no gameboy color, aih era cheio desses mini-quebra cabeças =D

 

tah aprovado com nota 9,5

eh uma boa ideia

util e inutil ao mesmo tempo, soh q rox

Link para o comentário
Compartilhar em outros sites

~ Muito Bom, Finalmente Alguém Usou Criatividade

 

Ficou Bem Legal Só falta Ficar Mais Bonito, Pois Esse Deserto Fico Muito Bom Não.

 

Mais

 

aprovadojv5.png

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

  • 3 weeks later...
  • 4 weeks later...
  • 2 months later...

Olá Xtibiano,

 

Parabéns, seu tutorial foi aprovado.

 

Estarei movendo ele para a área de tutoriais.

 

Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho.

 

 

Atenciosamente,



JV Chequer *Sub-Administrador do Fórum Xtibia.com*

:great:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...