Ir para conteúdo

Pick Funcionando Porem!


papaleguas33

Posts Recomendados

De novo galera , seguinte a pick está funcionando certinho , clica na pick e clica no piso e abre o buraco , porem o buraco não fecha sendo que ele é escondido , tipo sabe aquela quest de rookguard pra pegar a chave da quest da chain armor então abre com a pick e passa um tempo o chão volta ao normal , segue o script funcionando só falta fazer o buraco sumir.

 

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

 

tilepos = {x=topos.x, y=topos.y, z=topos.z}

 

 

if item2.itemid == 9021 and tilepos.x == 32150 and tilepos.y == 32111 and tilepos.z == 11 then

doTransformItem(item2.uid,383)

doDecayItem(item2.uid)

elseif item2.itemid == 9021 then

doSendMagicEffect(frompos,2)

else

end

return 0

end

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

E ai galera blz , bem como falei ali em cima oick funcionando porem não fecha o buraco , pois fiz uma outra agora fechando o buraco porem se eu clico no ID que é do chão ele abre o buraco la na coordenada que ta no script , , entende , tipo , se eu clicar na coordenada que ta no script ele vai abrir e passado um tempo ele fecha o buraco até ai normal do jeito que eu to querendo , mais se clicar no tile que é a mesma ID do tile da coordenada vai abrir o buraco la coordenada , pois o chão inteiro da cave são os mesmo ID , se eu sair clicando no chão da cave sempre vai abrir o buraco na coordenada , não consigo fazer para abrir o buraco somente clicando no local certo, alguem tem uma luz ai , segué o script abaixo.

 

local tempo = 6000

 

local function fechar(totals)

topos = totals.topos

 

local grounditem = getThingfromPos(npos)

doRemoveItem(grounditem.uid,1)

local item = 9021

local item = doCreateItem(item,1,npos)

end

 

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

 

npos = {x=32150, y=32111, z=11}

grounditem = getThingfromPos(npos)

doTransformItem(grounditem.uid,383)

doSendMagicEffect(npos,2)

totals ={topos = topos}

addEvent(fechar, tempo, totals)

 

end

Link para o comentário
Compartilhar em outros sites

Easy.

 

local tempo = 6000

 

local function fechar(totals)

topos = totals.topos

 

local grounditem = getThingfromPos(npos)

doRemoveItem(grounditem.uid,1)

local item = 9021

local item = doCreateItem(item,1,npos)

end

 

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

 

npos = {x=32150, y=32111, z=11}

if (topos == npos) then

grounditem = getThingfromPos(npos)

doTransformItem(grounditem.uid,383)

doSendMagicEffect(npos,2)

totals ={topos = topos}

addEvent(fechar, tempo, totals)

end

end

Link para o comentário
Compartilhar em outros sites

Bom, eu tinha entendido que você só poderia clicar no x=32150, y=32111, z=11 para abrir o buraco, certo? Se for isso, era para abrir sim =z

 

O que você pode fazer também para abrir somente o x=32... é trocar:

 

totals ={topos = topos}

 

por

 

totals ={topos = npos}

Link para o comentário
Compartilhar em outros sites

Ja tinha feito isso que vc falou

 

totals ={topos = topos}

 

por

 

totals ={topos = npos}

 

Mais não funcionou , to meio louco aqui , me da uma luz nesse aqui que foi o primeiro que eu postei esse abre somente no lugar x,y,z porem o buraco não fecha

 

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

 

tilepos = {x=topos.x, y=topos.y, z=topos.z}

 

 

if item2.itemid == 9021 and tilepos.x == 32150 and tilepos.y == 32111 and tilepos.z == 11 then

doTransformItem(item2.uid,383)

doDecayItem(item2.uid)

elseif item2.itemid == 9021 then

doSendMagicEffect(frompos,2)

else

end

return 0

end

 

como poderia colocar um tempo para ele fechar também tentei colocar e sem sucesso não funciona que raiva.

Link para o comentário
Compartilhar em outros sites

ahh, agora eu lembrei =D

 

local tempo = 6000

 

local function fechar(totals)

topos = totals.topos

 

local grounditem = getThingfromPos(npos)

doRemoveItem(grounditem.uid,1)

local item = 9021

local item = doCreateItem(item,1,npos)

end

 

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

 

npos = {x=32150, y=32111, z=11}

if (topos.x == npos.x AND topos.y == npos.y AND topos.z == npos.z) then

grounditem = getThingfromPos(npos)

doTransformItem(grounditem.uid,383)

doSendMagicEffect(npos,2)

totals ={topos = topos}

addEvent(fechar, tempo, totals)

end

end

 

erro meu, foi mal =p

Link para o comentário
Compartilhar em outros sites

Vou tentar dar uma mão aqui.

No arquivo pick.LUA bote isso e troque conforme seu OTServ:

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

tilepos = {x=toPosition.x, y=toPosition.y, z=toPosition.z}

tilepos2 = {x=toPosition.x, y=toPosition.y, z=toPosition.z}

 

 

if itemEx.itemid == 0 then

return 0

end

 

 

 

if itemEx.itemid == 355 and tilepos.x == 115 and tilepos.y == 168 and tilepos.z == 13 then

doTransformItem(itemEx.uid,392)

doSendMagicEffect(toPosition, CONST_ME_POFF)

doDecayItem(itemEx.uid)

return destroyItem(cid, itemEx, toPosition)

end

 

if itemEx.itemid == 355 and tilepos2.x == 0 and tilepos2.y == 0 and tilepos2.z == 0 then

doTransformItem(itemEx.uid,392)

doSendMagicEffect(toPosition, CONST_ME_POFF)

doDecayItem(itemEx.uid)

return destroyItem(cid, itemEx, toPosition)

else

doPlayerSendCancel(cid,"Sorry not possible.")

end

return 1

end

 

O 355 é o tile de barro normal.

Coordenadas: tilepos.x == 115 and tilepos.y == 168 and tilepos.z == 13 (x=115,y=168,z=13 no caso)

392 é o ID do buraco aberto.

Caso você quiser um segundo buraco, é só editar em baixo da mesma maneira:

if itemEx.itemid == 355 and tilepos2.x == 0 and tilepos2.y == 0 and tilepos2.z == 0 then

doTransformItem(itemEx.uid,392)

doSendMagicEffect(toPosition, CONST_ME_POFF)

doDecayItem(itemEx.uid)

return destroyItem(cid, itemEx, toPosition)

Agora no items.XML seu buraco 392, deve estar assim para funcionar também:

<item id="392" article="a" name="hole">

<attribute key="floorchange" value="down"/>

<attribute key="decayTo" value="355"/> -- Tile de barro, tem que ser o mesmo da pick.LUA.

<attribute key="duration" value="30"/> -- Quanto tempo o buraco fica aberto.

Tenta ai, ve se da certo.

Link para o comentário
Compartilhar em outros sites

Ja tinha feito isso que vc falou

 

totals ={topos = topos}

 

por

 

totals ={topos = npos}

 

Mais não funcionou , to meio louco aqui , me da uma luz nesse aqui que foi o primeiro que eu postei esse abre somente no lugar x,y,z porem o buraco não fecha

 

 

 

como poderia colocar um tempo para ele fechar também tentei colocar e sem sucesso não funciona que raiva.

 

 

Yes men thanks , rs.... certinho agora com esse comando que vc colocou valeu mesmo se alguem quizer um buraco fechando pode pegar esse que o noobinhu colocou funcionando 100% valeu noobinhu.

 

 

Vou tentar dar uma mão aqui.

No arquivo pick.LUA bote isso e troque conforme seu OTServ:

 

 

O 355 é o tile de barro normal.

Coordenadas: tilepos.x == 115 and tilepos.y == 168 and tilepos.z == 13 (x=115,y=168,z=13 no caso)

392 é o ID do buraco aberto.

Caso você quiser um segundo buraco, é só editar em baixo da mesma maneira:

 

Agora no items.XML seu buraco 392, deve estar assim para funcionar também:

 

Tenta ai, ve se da certo.

MUTAN0 isso eu sei só que o script que eu tava montando é de tiles escondidos entende , vc clica com a pick no tile onde esta a coordenada no script somente aquele tile vai ser aberta e depois fechada conforme o script setado para tempo de 6000 milessimo de segundo o buraco fecha :) , o script tava certinho só que eu tava precisando de uma força para arrumar uma coisinha que era o lugar a ser clicado , pq vc clicava em qualquer lugar que tinha o ID do tile 9021 ele abria o buraco kkkk , sendo que só poderia abrir na coordenada marcado no script , mais valeu pela força logo acima o noobinho arrumou :)

Link para o comentário
Compartilhar em outros sites

Mas foi isso mesmo que eu postei :p

Voce usar a pick em um certo tile de barro, e abrir um buraco...

Mas se a ajuda do noobinhu já resolveu, beleza.

Boa sorte ae.

Abraços.

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...