function onUse(cid, item, frompos, item2, topos)
local positions, npcpos, books, countBooks, tableBooks = {}, {x=759,y=827,z=7,stackpos=1}, {10309, 10310, 10311, 10312, 10314, 10215}, 0, {}
for x = 1,6 do
table.insert(positions, {x=756+x,y=828,z=7,stackpos=1})
end
if item.itemid == 1945 then
for i,pos in pairs(positions) do
book = getThingFromPos(pos)
if book.itemid == books[i] then
table.insert(tableBooks, {pos, books[i]})
countBooks = countBooks+1
end
end
if countBooks == 6 then
for _,value in pairs(tableBooks) do
book = getThingFromPos(value[1])
if book.itemid == value[2] then
doRemoveItem(book.uid, 1)
doTransformItem(item.uid,item.itemid+1)
doCreateNpc('Shenron', npcpos)
end
end
else
doPlayerSendCancel(cid, "You need at least ".. 6-(countBooks).." books as sacrifice to summon Shenron.")
end
else
doPlayerSendTextMessage(cid,22,"It doesn't seems to work.")
end
return true
end
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- O Que Esta Errado Neste Script?
O Que Esta Errado Neste Script?
Por coyotestark, 05 de fev. de 2012 em Archived
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

Editado Fevereiro 6 por Byerne
info
Grupo: Visconde
Registrado: 15/02/11
Posts: 259
Reputação: +25
Char no Tibia: Aias Laf Du

hum. nao deu muito certo.
1 Eu consigo puxar a alavanca sem os itens necessarios
2 ao puxar a alavancar sumona 6 NPCS ao inves de 1
Surge o erro, LuaDoRemoveItem<>. Item not found
vou explicar como deveria funcionar. coloco 6 livros em 6 altars, Id dos itens( 10309, 10310, 10311, 10312, 10314, 10215) quando eu puxar a alavanca estes itens sao removidos, e o NPC eh sumonado para realizar m desejo. eu nao posso puxar a alavanca, se algum destes itens estao no lugar errado, ou faltar algum.
o script com dois itens funciona perfeitamente, mas quando eu adicionei mais 4. simplesmente diz que os itens nao estao no lugar nao sei pq.
Editado Fevereiro 6 por CoyoteStark
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

function onUse(cid, item, frompos, item2, topos)
db1pos = {x=757, y=826, z=7, stackpos=1} -- posição item1
db2pos = {x=758, y=826, z=7, stackpos=1} -- 2
db3pos = {x=759, y=826, z=7, stackpos=1} -- 3
db4pos = {x=760, y=826, z=7, stackpos=1} -- 4
db5pos = {x=761, y=826, z=7, stackpos=1} -- 5
db6pos = {x=762, y=826, z=7, stackpos=1} -- 6
getpiece1 = getThingfromPos(db1pos)
getpiece2 = getThingfromPos(db2pos)
getpiece3 = getThingfromPos(db3pos)
getpiece4 = getThingfromPos(db4pos)
getpiece5 = getThingfromPos(db5pos)
getpiece6 = getThingfromPos(db6pos)
npcpos = {x=759, y=827, z=7} -- posição que sumonara o npc
if item.uid == 7054 and item.itemid == 1945 and getpiece1.itemid == 10309 and getpiece2.itemid == 10310 and getpiece3.itemid == 10311 and getpiece4.itemid == 10312 and getpiece5.itemid == 10314 and getpiece6.itemid == 10315 then
doRemoveItem(getpiece1.uid)
doRemoveItem(getpiece2.uid)
doRemoveItem(getpiece3.uid)
doRemoveItem(getpiece4.uid)
doRemoveItem(getpiece5.uid)
doRemoveItem(getpiece6.uid)
doTransformItem(item.uid,item.itemid+1)
doCreateNpc('shenron', npcpos)
elseif item.uid == 7054 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendTextMessage(cid,22,"You need right and left keys to transform key.")
end
return TRUE
end
info
Grupo: Visconde
Registrado: 15/02/11
Posts: 259
Reputação: +25
Char no Tibia: Aias Laf Du

Amigos venho pedir mil desculpas, depois de olhar tentar errar, eu resolvi tentar de um em um
coloquei com 2 depois com 3 funcionou, dai, pensou, vou dar remove neste tile, tinha um carpet no pos4, entao tentei, colquei 4 itens, e dei reload actions, tentei novamente e pegou.
o problema nao estava no script, e sim no tile de um dos items (tile do item 4, um carpetbrush,, entao apos dar remove funcionou direitinho com os 6 itens,
entao mudei de lugar para testar novamente e Pa perfeito ![]()
coloco 6 livros em 6 altars, puxo a alvanca Aparece o NPC realizo o desejo e o NPC somi *_*
Peço desculpas por meu erro, e darei Rep+ aos dois. um amanhan e o outro depois de amanhan.
Obrigado pela atenção.
Editado Fevereiro 6 por CoyoteStark
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

hum. nao deu muito certo.
1 Eu consigo puxar a alavanca sem os itens necessarios
2 ao puxar a alavancar sumona 6 NPCS ao inves de 1
Surge o erro, LuaDoRemoveItem<>. Item not found
vou explicar como deveria funcionar. coloco 6 livros em 6 altars, Id dos itens( 10309, 10310, 10311, 10312, 10314, 10215) quando eu puxar a alavanca estes itens sao removidos, e o NPC eh sumonado para realizar m desejo. eu nao posso puxar a alavanca, se algum destes itens estao no lugar errado, ou faltar algum.
o script com dois itens funciona perfeitamente, mas quando eu adicionei mais 4. simplesmente diz que os itens nao estao no lugar nao sei pq.
Ahhhh tah. Sobre 6 NPC eu que fiz merda. Pra mim voce retirava 4 paredes ... ._.
Ja mudei la o script.
Editado Fevereiro 6 por Byerne
info
Grupo: Visconde
Registrado: 15/02/11
Posts: 259
Reputação: +25
Char no Tibia: Aias Laf Du

Byerne ja ajeitei o erro, era no map
eu pensei que era no script, mas mesmo assim obrigado, pode fechar o topico.


info
Grupo: Visconde
Registrado: 15/02/11
Posts: 259
Reputação: +25
Char no Tibia: Aias Laf Du
eu quero que quando estes itens esteja nestas posições, os itens sejam removidos, quando era so 2 itens funcionava otimo, mas ai eu tive que aumentar o numero.
e da como se algum item estivese no lugar errado.
eu coloco eles numa fileira assim O,O,O,O,O,O
function onUse(cid, item, frompos, item2, topos) local func = doCreateNpc db1pos = {x=757,y=826,z=7,stackpos=1} -- pozycja pierwszej sciany db2pos = {x=758,y=826,z=7,stackpos=1} -- pozycja drugiej sciany db3pos = {x=759,y=826,z=7,stackpos=1} -- pozycja drugiej sciany db4pos = {x=760,y=826,z=7,stackpos=1} -- pozycja drugiej sciany db5pos = {x=761,y=826,z=7,stackpos=1} -- pozycja drugiej sciany db6pos = {x=762,y=826,z=7,stackpos=1} -- pozycja drugiej sciany npcpos = {x=759,y=827,z=7,stackpos=1} -- pozycja drugiej sciany getpiece0 = getThingfromPos(npcpos) -- onde ficara o NPC getpiece1 = getThingfromPos(db1pos) getpiece2 = getThingfromPos(db2pos) getpiece3 = getThingfromPos(db3pos) getpiece4 = getThingfromPos(db4pos) getpiece5 = getThingfromPos(db5pos) getpiece6 = getThingfromPos(db6pos) if item.uid == 7054 and item.itemid == 1945 and getpiece1.itemid == 10309 and getpiece2.itemid == 10310 and getpiece3.itemid == 10311 and getpiece4.itemid == 10312 and getpiece5.itemid == 10314 and getpiece6.itemid == 10315 then doRemoveItem(getpiece1.uid,10309) doRemoveItem(getpiece2.uid,10310) doRemoveItem(getpiece3.uid,10311) doRemoveItem(getpiece4.uid,10312) doRemoveItem(getpiece5.uid,10314) doRemoveItem(getpiece6.uid,10315) doTransformItem(item.uid,item.itemid+1) doCreateNpc('shenron', npcpos) elseif item.uid == 7054 and item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendTextMessage(cid,22,"You need right and left keys to transform key.") end return 1 endScript original.
function onUse(cid, item, frompos, item2, topos) local func = doCreateNpc mwallpos = {x=757,y=825,z=7,stackpos=1} -- pozycja pierwszej sciany mwall1pos = {x=758,y=825,z=7,stackpos=1} -- pozycja drugiej sciany mwall2pos = {x=759,y=825,z=7,stackpos=1} -- pozycja drugiej sciany getpiece1 = getThingfromPos(mwallpos) getpiece2 = getThingfromPos(mwall1pos) getpiece3 = getThingfromPos(mwall2pos) if item.uid == 7054 and item.itemid == 1945 and getpiece1.itemid == 10309 and getpiece2.itemid == 10310 then doRemoveItem(getpiece1.uid,10309) doRemoveItem(getpiece2.uid,10310) doTransformItem(item.uid,item.itemid+1) doCreateNpc('shenron', mwall2pos) elseif item.uid == 7054 and item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendTextMessage(cid,22,"You need right and left keys to transform key.") end return 1 endEditado Fevereiro 5 por CoyoteStark