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:
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