Ir para conteúdo

Quests Beeem Elaboradas.


Wizi

Posts Recomendados

É chato entrar num ot e ver a quest:

Mata o dragon e abra o baú.

então resolvi fazer um tutorial para vocês.

lembrando que:

Você não deve fazer uma quest assim exatamente como a minha, com o baú do lado da alavanca e etc..., fiz o mapa em menos de um minuto.

Isso serve como exemplo de actions, e realmente, da para fazer muita coisa com esse exemplo.

 

Resumindo:

Você puxa uma alavanca, então é atribuido um storage ID à você, quando vc pisa no tile especial, ele checa se vc ja puxou a alavanca, se não, ele move você 1 sqm para o lado oposto.

 

Vou por um esquema para vocês verem:

 

esquemaquestjc1.jpg

 

 

Fiz o script da alavanca o mais facil possivel de configurar:

salve como questcomplexa.lua

function onUse(cid, item, frompos, item2, topos)
local summonpos = {x=578, y=432, z=7, stackpos=1} -- posição de onde vai sumonar
local iditem = 1945, 1946 -- ids das alavancas
local itemuid = 12345 -- uid da alavanca
local creaturename = "Demon" -- monstro a ser sumonado
local storageid = 12345
local storagestatus = getPlayerStorageValue(cid, storageid)

if item.itemid == iditem and item.uid == itemuid and storagestatus == -1 then 
	doSummonCreature(creaturename, summonpos)
		   setPlayerStorageValue(cid,storageid,1)
	doPlayerSendTextMessage(cid,22,"You summoned a monster!")
	else
				   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You already summoned the monster, go to the reward room.")
end
return 1
end

Única coisa que vc deve configurar são as primeiras linhas, onde tem 'local = blablabla'

No actions.xml

<action uniqueid="12345" script="questcomplexa.lua"/>

 

 

 

 

 

Agora o tile, que ve se puxou a alavanca, se não ele te empurra para traz.

Salve como quest_tile.lua

local position = getCreaturePosition(cid)

function onStepIn(cid, item, position, fromPosition)

if getPlayerLookDir(cid) == 0 then
newdir = 2
elseif getPlayerLookDir(cid) == 1 then
newdir = 3
elseif getPlayerLookDir(cid) == 2 then
newdir = 0
else
newdir = 1
end

if item.uid == 12344 and getPlayerStorageValue(cid, 12345) == 1 then
doPlayerSendTextMessage(cid,22,"You can get your reward!")
else
doMoveCreature(cid, newdir)
doSendMagicEffect(position, 10)
doPlayerSendTextMessage(cid,22,"You must pull the lever!")
end
end

 

 

No movements.xml:

<movevent event="StepIn" uniqueid="12344" script="quest_tile.lua"/>

Nele vc só edita a mensagem que manda, e botar o UID no mapa.

 

 

 

Sem fazer a quest vc não pode abrir o baú:

questcompelxa2fm1.jpg

 

 

Sumonando o demon:

 

questcomplexa3iw9.jpg

 

 

 

Você não pode puxar a alavanca novamente:

 

questcomplexa4qo0.jpg

 

 

 

Espero que tenha ajudado, dúvidas é só postar.

 

 

 

 

Grato,

Tuco

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

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

bem e mto bom essa quest mais eu queria q tivessi um geito de q o player ao sumonasse nao poderia mais fujir do lucal onde ele sumonou ate o monstro morrer (pq se n ele abre a alanvanca sobe a escada espera um player mais forte apareçer matar e talz) ou intao ele xega sai correndo varado abre o bau e volta correndo e puff paff pum acabo a quest tenderao?

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

olá amigo, estive olhando aqui e achei muito interresante.. e pensei se nesse seu script no lugar do demon, nao teria como aparecer diversos bixos, como : 1 orshabaal, Undead Dragon, Demons.. como se fosse uma mini invasão , ou seja uma quest para muitas pessoas fazerem juntas.

 

se nao tiver como mesmo assim está muito bom sua quest já adicionei ela em meu Ot :)

 

abraço!

 

@Edit, outra coisinha que eu já ia me esquecendo, se eu for fazer uma quest grande.. e for mais de uma pessoa todas terão que puxar a lavanca certo?.. no caso começaria a dar um monte de respaw? x.x

 

só uma duvida :D

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

  • 4 weeks later...
fiko bem rox esse aew!!

 

Cara.. olha o flood.. segunda vez ja.. quando eu reportar naunm reclama..

 

Enquanto ao script.. muito bom.. ja tive muitas ideias.. a partir dessa script =D

 

[ Aprovado ] :button_ok:

 

 

Bom trabalho..

 

Sem mais..

Link para o comentário
Compartilhar em outros sites

  • 2 years later...
×
×
  • Criar Novo...