- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- Player So Passa Pela Porta Se Ja Completou Tal Quest
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

info
Grupo: Artesão
Registrado: 23/02/08
Posts: 134
Reputação: 0
Char no Tibia: Buster of Flame

function onUse(cid, item, fromPosition)
if getPlayerStorageValue(cid, 6557) >= 1 then -- 6557 é o valor da storage
doTeleportThing(cid,{x=33266,y=32446,z=12}) -- coordenadas para onde o player vai caso tiver a storage
doSendMagicEffect(getPlayerPosition(cid), 10)
else
doPlayerSendCancel(cid,"You have already done this quest.")
end
return TRUE
end
doTeleportThing!doSendMagicEffect! ! Eu queria quando ele passar pela porta, como se fosse uma porta normal, a porta abre e fecha normalmente
Mais eu gostei dessa função, que o PLAYER SO PODE PASSAR PELA PORTA 1 VEZ, mais não vai contar como Storage ele passar pela porta, e sim quando ele pegar a recompensa no Chest
Obrigado!
Editado Agosto 18 por Wenemy
Acho que por movements ficava melhor, você coloca a action no piso dai quando o player abrir a porta e tentar passa vai mandar efeito...
Não manjo muito em script...
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

sabe oque é mais facil vc fazer?
Colocar no ActionID a storage da sua quest
por exemplo se a storage da sua quest for 11145
vc coloca na propriedade da porta
só em ActionID = 11145
ou se não tente:
function onUse(cid, item, frompos, item2, topos)
local storageValue = 11145
vipstatus = getPlayerStorageValue(cid, 11145) < 1
if vipstatus ~= TRUE then
doTransformItem(item.uid, item.itemid + 1)
playerpos = getPlayerPosition(cid)
doorpos = {x = frompos.x, y = frompos.y, z = frompos.z, stackpos = 253}
if playerpos.y == doorpos.y + 1 and playerpos.x == doorpos.x then
doMoveCreature(cid, 0)
elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y then
doMoveCreature(cid, 1)
elseif playerpos.y == doorpos.y - 1 and playerpos.x == doorpos.x then
doMoveCreature(cid, 2)
elseif playerpos.y == doorpos.y and playerpos.x == doorpos.x + 1 then
doMoveCreature(cid, 3)
elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y - 1 then
doMoveCreature(cid, 4)
elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y - 1 then
doMoveCreature(cid, 5)
elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y + 1 then
doMoveCreature(cid, 6)
elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y + 1 then
doMoveCreature(cid, 7)
end
else
doPlayerSendCancel(cid,"Você so podera passar aqui se ja estiver completado a Annihilator Quest.")
end
return 1
end
Editado Agosto 18 por Vodkart




info
Grupo: Artesão
Registrado: 23/02/08
Posts: 134
Reputação: 0
Char no Tibia: Buster of Flame
I aew, é o seguinte, tava precisando de uma porta que o player so pudesse passar por ela se ele tiver a Storage de uma quest que ele fez antes
Exemplo do que vai estar escrito na porta!!
"Você so podera passar aqui se ja estiver completado a Annihilator Quest"!
Ai no Chest da anihi da uma Storage pro player, eu so quero que o Player passe pela porta se ele tiver aquela Storage
E eu queria que fosse aquela Quest Door, que fica piscando a fechadura!
Obrigado!