vlw pela explicação. Eu vou substituir o cid por uid pra ver se dá certo. Mais pode me dizer o que significa aquele stackpos=255 na position dos items 1 e 2?
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- Alavanca Para Remover Pilar
info
Grupo: Campones
Registrado: 13/01/08
Posts: 25
Reputação: +1
Char no Tibia: Diabolling

STACKPOS_GROUND = 0 STACKPOS_TOP_CREATURE = 253 STACKPOS_TOP_FIELD = 254 STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255
stackpos=255 seria para remover qualquer coisa que estiver porcima item ou creature, pode deixar assim mesmo no seu caso irá funcionar.
Att,
Paulo
info
Grupo: Campones
Registrado: 13/01/08
Posts: 25
Reputação: +1
Char no Tibia: Diabolling

STACKPOS_GROUND = 0 STACKPOS_TOP_CREATURE = 253 STACKPOS_TOP_FIELD = 254 STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255
stackpos=255 seria para remover qualquer coisa que estiver porcima item ou creature, pode deixar assim mesmo no seu caso irá funcionar.
Att,
Paulo
Entendi. Mais no caso o stone pillar não teria que ter uma unique id?
Tenta assim
item1pos = {x=422, y=25, z=10, stackpos=255} -- demonic essence pos
item2pos = {x=422, y=25, z=10, stackpos=255} -- pilar pos
item1 = getThingfromPos(item1pos)
item2 = getThingfromPos(item2pos)
parameters = {cid = cid, pillarpos = {x=422, y=25, z=10, pillarid = PILLAR ID} -- troke aki o id do pilar
function criar(parameters)
doCreateItem(parameters.pillarid, 1, parameters.pillarpos)
end
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 1945 then
if doRemoveItem(item1, 100) == TRUE then
doRemoveItem(item2, 1)
doPlayerSendTextMessage(cid, 25, "Você pode passar. A passagem se fechará em 30 segundos.")
doTransformItem(item.uid, item.uid+1)
addEvent(criar, 30000, parameters)
else
doPlayerSendTextMessage(cid, 25, "Você precisa colocar 100 demonic essence no altar.")
end
else
doTransformItem(item.uid, item.uid-1)
end
return TRUE
end
Editado Janeiro 24 por Wiltry
info
Grupo: Conde
Registrado: 07/05/08
Posts: 612
Reputação: +12
Char no Tibia: leviana luciferiana

seria melhor usar variaveis locais do que globais.
existe um pequeno conflito entre o escopo da função e a variavel externa item2.
Editado Janeiro 24 por Marcryzius
Pra que isso?
parameters = {cid = cid, pillarpos = {x=422, y=25, z=10, pillarid = PILLAR ID}
Porque simplesmente nao coloca os parametros na funcao addEvent?
E pra que a função criar()? Porque nao colocou doCreateItem direto no callback do addEvent?
E pra que a função criar()? Porque nao colocou doCreateItem direto no callback do addEvent?
Não sabia que podia fazer isso ![]()
vlw
info
Grupo: Campones
Registrado: 13/01/08
Posts: 25
Reputação: +1
Char no Tibia: Diabolling

Tenta assim
item1pos = {x=422, y=25, z=10, stackpos=255} -- demonic essence pos
item2pos = {x=422, y=25, z=10, stackpos=255} -- pilar pos
item1 = getThingfromPos(item1pos)
item2 = getThingfromPos(item2pos)
parameters = {cid = cid, pillarpos = {x=422, y=25, z=10, pillarid = PILLAR ID} -- troke aki o id do pilar
function criar(parameters)
doCreateItem(parameters.pillarid, 1, parameters.pillarpos)
end
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 1945 then
if doRemoveItem(item1, 100) == TRUE then
doRemoveItem(item2, 1)
doPlayerSendTextMessage(cid, 25, "Você pode passar. A passagem se fechará em 30 segundos.")
doTransformItem(item.uid, item.uid+1)
addEvent(criar, 30000, parameters)
else
doPlayerSendTextMessage(cid, 25, "Você precisa colocar 100 demonic essence no altar.")
end
else
doTransformItem(item.uid, item.uid-1)
end
return TRUE
end
vixe, tmbm não funcionou. Não tem unique id em lugar nenhum não será por isso?
seria melhor usar variaveis locais do que globais.
existe um pequeno conflito entre o escopo da função e a variavel externa item2.
Wiltry Ícone
Poderia me explicar melhor? hehe
Troca pra isso agora entao:
function onUse(cid, item, frompos, item2, topos)
local item1pos = {x=422, y=25, z=10, stackpos=255} -- demonic essence pos
local item2pos = {x=422, y=25, z=10, stackpos=255} -- pilar pos
local item1 = getThingfromPos(item1pos)
local item2 = getThingfromPos(item2pos)
local pillarid = ID DO PILLAR
if item.itemid == 1945 then
if doRemoveItem(item1.uid, 100) == TRUE then
doRemoveItem(item2.uid, 1)
doPlayerSendTextMessage(cid, 25, "Você pode passar. A passagem se fechará em 30 segundos.")
doTransformItem(item.uid, item.uid+1)
addEvent(doCreateItem, 30000, pillarid, 1, item2pos)
else
doPlayerSendTextMessage(cid, 25, "Você precisa colocar 100 demonic essence no altar.")
end
else
doTransformItem(item.uid, item.uid-1)
end
return TRUE
end
no xml:
<action actionid="ACTION ID DA ALAVANCA" event="script" value="other/NOMEDOSCRIPT.lua"/>
Editado Janeiro 26 por Wiltry
info
Grupo: Barão
Registrado: 01/07/09
Posts: 216
Reputação: +4

deixa as variaveis locais pra consumir menos espaço na memoria
xd
Ja coloquei elas locais na v2 ;x
info
Grupo: Barão
Registrado: 01/07/09
Posts: 216
Reputação: +4

colocou n
info
Grupo: Campones
Registrado: 13/01/08
Posts: 25
Reputação: +1
Char no Tibia: Diabolling

aff, também não funcionou Wiltry! Pior que não aparece nenhum erro no exe do server. O que pode tar aconteceno? Será que eu tô fazeno algo errado?






info
Grupo: Campones
Registrado: 13/01/08
Posts: 25
Reputação: +1
Char no Tibia: Diabolling
eae pessoal,blz? Bem, eu até tentei criar uma action assim me baseando em outra action (completamente diferente) mais não deu certo. O que eu quero é o seguinte: Tem uma alavanca, uma altar stone e o pilar que impede a passagem pro teleport.Dae queria que quando fossem colocadas 100 demonic essences na stone e a alavanca puxada o pilar sumisse. Vou colocar o script que eu "fiz", acho que facilita tudo se o script tiver concerto -ou não...-