Postado Junho 13, 2014 10 anos Tem como fazer isso sem alavanca? Depois que colocar 7 items em cima da pedra, aparecer o ancient helmet?sozinho igual do global. function onUse(cid, item) local recompensa = 2342 -- | Item que vai aparecer local ids = {2335,2336,2337,2338,2339,2340,2341} -- | Todos os itens. local tilepos = {x=1883,y=1024,z=11} -- | Posição que vai tar os itens local tab = {} local value = true if getPlayerStorageValue(cid, 66654) >= 1 then return doPlayerSendCancel(cid, "Voce ja construiu o seu helmet") end for i = 1,7 do tab[i] = getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=i}).itemid end for i = 1,7 do if not table.find(ids, tab[i]) then value = false break end ids[table.find(ids, tab[i])] = nil end if value then doPlayerAddItem(cid, recompensa) setPlayerStorageValue(cid, 65535, 1) for i = 1,7 do doRemoveItem(getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=1}).uid) end end return TRUE end Editado Junho 13, 2014 10 anos por AlekysRocha. (veja o histórico de edições) Actions; Vip door Systema By Mock Movements; Piso que TELEPORTA apenas players PREMIUM
Postado Junho 13, 2014 10 anos Em 13/06/2014 em 01:45, AlekysRocha. disse: Tem como fazer isso sem alavanca? Depois que colocar 7 items em cima da pedra, aparecer o ancient helmet? igual do global . function onUse(cid, item) local recompensa = 2342 -- | local ids = {2335,2336,2337,2338,2339,2340,2341} -- | Mude se precisar local tilepos = {x=1883,y=1024,z=11} -- | local tab = {} local value = true if getPlayerStorageValue(cid, 66654) >= 1 then return doPlayerSendCancel(cid, "Voce ja construiu o seu helmet") end for i = 1,7 do tab[i] = getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=i}).itemid end for i = 1,7 do if not table.find(ids, tab[i]) then value = false break end ids[table.find(ids, tab[i])] = nil end if value then doPlayerAddItem(cid, recompensa) setPlayerStorageValue(cid, 65535, 1) for i = 1,7 do doRemoveItem(getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=1}).uid) end end return TRUE end Tem sim. Movement onAddItem... Em 12/06/2014 em 23:59, Ribeiro Foda disse: O script não funcionou.! Se você pudesse falar qual o erro, seria de grande ajuda. Ainda não aprendi a ler mentes, sabe. Em 13/06/2014 em 01:29, Frenesy disse: function onUse(cid, item, frompos, item2, topos) item1pos = {x=71, y=234, z=15, stackpos=255} --item1pos item2pos = {x=76, y=237, z=15, stackpos=255} --item2pos item3pos = {x=76, y=237, z=15, stackpos=255} --item3pos item4pos = {x=76, y=237, z=15, stackpos=255} --item4pos item5pos = {x=66, y=236, z=15, stackpos=255} --item5pos item6pos = {x=66, y=236, z=15, stackpos=255} --item6pos item7pos = {x=66, y=236, z=15, stackpos=255} --item7pos item8pos = {x=66, y=236, z=15, stackpos=255} -- Local onde o helmet irá aparecer item1 = getThingfromPos(item1pos) item2 = getThingfromPos(item2pos) item3 = getThingfromPos(item3pos) item4 = getThingfromPos(item4pos) item5 = getThingfromPos(item5pos) item6 = getThingfromPos(item6pos) item7 = getThingfromPos(item7pos) item8 = getThingfromPos(item8pos) if item.itemid == 1945 and item1.itemid == 0000 and item2.itemid == 0000 and item3.itemid == 0000 and item4.itemid == 0000 and item5.itemid == 0000 and item6.itemid == 0000 and item7.itemid == 0000 then -- Substitua os 0000 pelos IDs dos items doRemoveItem(item1.uid,1) doSendMagicEffect(item1pos,13) doRemoveItem(item2.uid,1) doSendMagicEffect(item2pos,13) doRemoveItem(item3.uid,1) doSendMagicEffect(item3pos,13) doRemoveItem(item4.uid,1) doSendMagicEffect(item4pos,13) doRemoveItem(item5.uid,1) doSendMagicEffect(item5pos,13) doRemoveItem(item6.uid,1) doSendMagicEffect(item6pos,13) doRemoveItem(item7.uid,1) doSendMagicEffect(item7pos,13) doTransformItem(item.uid,item.itemid+1) doCreateItem(0000,1, item8pos) -- Colocar ID do Helmet Aqui doPlayerSendTextMessage(cid,22,'Sacrifio realizado com sucesso!') elseif item.uid == 9011 and item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) else return 0 end return 1 end Action.xml <action uniqueid="9011" script="NomeDoArquivo.lua"/> Coloque UniqueID 9011 na Alavanca pelo Map Editor. #MaXwEllDeN Antes que pergunte, NÂO, eu não sei por tudo bem organizadinho meus script iguais ao seu. Eu faço tudo 'brabo' mesmo. Ainda preciso aprender tabelas e essas coisas, pra fazer scripts iguais ao seu. To só me adiantando Huahuahuaha,Usa getTileItemById em vez do getThingfrompos. Esse negócio de stacks sempre muda e.e. Dá uma olhada nos tutoriais que eu poste, podem te ajudar bastante -"Supra Omnes Lux Lucis" - Acima de todos brilha a Luz -
Postado Junho 13, 2014 10 anos Não obtive sucesso KKK me ajudao? rs <3 function onUse(cid, item) local recompensa = 2342 -- | local ids = {2335,2336,2337,2338,2339,2340,2341} -- | Mude se precisar local tilepos = {x=1883,y=1024,z=11} -- | local tab = {} local value = true if getPlayerStorageValue(cid, 66654) >= 1 then return doPlayerSendCancel(cid, "Voce ja construiu o seu helmet") end for i = 1,7 do tab[i] = getTileItemById({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=i}).itemid end for i = 1,7 do if not table.find(ids, tab[i]) then value = false break end ids[table.find(ids, tab[i])] = nil end if value then doPlayerAddItem(cid, recompensa) setPlayerStorageValue(cid, 65535, 1) for i = 1,7 do doRemoveItem(getTileItemById({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=1}).uid) end end return TRUE end Editado Junho 13, 2014 10 anos por AlekysRocha. (veja o histórico de edições) Actions; Vip door Systema By Mock Movements; Piso que TELEPORTA apenas players PREMIUM
Postado Junho 13, 2014 10 anos #MaXwEllDeN Farei isso Gosto dos meus scripts bem organizados. Qualquer informação que possa facilitar isso é de grande ajuda.
Postado Junho 15, 2014 10 anos Autor Max, não deu nenhum erro mas não funcionou! TRABALHOS [iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/ [CreatureScripts] OwNeD ao character morrer: http://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.