Postado Novembro 30, 2015 9 anos Autor 1 hora atrás, vankk disse: My bad, utilize o script abaixo, o outro foi uma falha minha hard Não li antes de posta, e te mandei uma bosta com 4 then e tals. E dei uma explicada melhor, e sim para sua primeira pergunta, e não para a segunda. local item, item2, item3, item4 = 2160, 2161, 2162, 2163 local pos, pos2, pos3, pos4 = {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7} if getTileItemById(pos, item).uid > 100 and getTileItemById(pos2, item2).uid > 100 and getTileItemById(pos3, item3).uid > 100 and getTileItemById(pos4, item4).uid > 100 then -- se tem o item na posicao X e é 100 stacks então removo doRemoveItem(getTileItemById(pos, item).uid, 100) doRemoveItem(getTileItemById(pos2, item2).uid, 100) doRemoveItem(getTileItemById(pos3, item3).uid, 100) doRemoveItem(getTileItemById(pos4, item4).uid, 100) -- removi -- adiciono outfit -- adiciono storage -- magic effect de sucesso? -- adiciono msg de sucesso else -- nada acontece? -- msg de erro? -- magic effect poff? end Vankk cada vez melhor!!! Rs No caso do efeito de sucesso seria isso mais ou menos: doSendMagicEffect E tambem nao sei muito bem sobre storage, nem como adicionar a linha de addon sendo possivel uma vez so. Queria pedir um favor pra finalizar essa duvida, se possivel é claro! Voce pode criar um modelo? qlq addon, com sucesso e falha... Ai eu altero de acordo com minha necessidade. Sou muito leigo ainda... Editado Novembro 30, 2015 9 anos por PLoOc (veja o histórico de edições)
Postado Novembro 30, 2015 9 anos Eu do minha bunda, se esse script funcionar sem da algum erro antes/funcionar. local config = { itemId = {2160, 2161, 2162, 2163}, -- item ids itemPlace = {{x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}}, -- posicoes addons = {156, 152}, -- addon female/male storage = 2306 -- storage } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, config.storage) < 1 then if(getPlayerLevel(cid) > 50) then for i = 1, #config.itemId do for i = 1, #config.itemPlace do if getTileItemById(config.itemPlace[i], config.itemId[i]).uid > 0 then doRemoveItem(config.itemId[i].uid, 100) doRemoveItem(getTileItemById(config.itemPlace[i], config.itemId[i]).uid, 100) doSendMagicEffect(config.itemPlace[i], CONST_ME_POFF) doCreatureAddHealth(cid, - getCreatureHealth(cid)) doSendMagicEffect(getThingPos(cid), CONST_ME_ENERGYAREA) for i = 1, #addons do doPlayerAddOutfit(cid, config.addons[i], 3) setPlayerStorageValue(cid, config.storage, 1) end else return doCreatureSay(cid, "You need items to sacrifice to get your addon!", TALKTYPE_MONSTER), doSendMagicEffect(itemPlace[i], CONST_ME_POFF) end end end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're to low level to made this sacrifice.") end else doPlayerSendTextMessage(cid,25, "You already made a sacrifice.") end end Editado Novembro 30, 2015 9 anos por vankk (veja o histórico de edições)
Postado Novembro 30, 2015 9 anos Autor 5 horas atrás, vankk disse: Eu do minha bunda, se esse script funcionar sem da algum erro antes/funcionar. local config = { itemId = {2160, 2161, 2162, 2163}, -- item ids itemPlace = {{x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}, {x = 1, y = 2, z = 7}}, -- posicoes addons = {156, 152}, -- addon female/male storage = 2306 -- storage } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, config.storage) < 1 then if(getPlayerLevel(cid) > 50) then for i = 1, #config.itemId do for i = 1, #config.itemPlace do if getTileItemById(config.itemPlace[i], config.itemId[i]).uid > 0 then doRemoveItem(config.itemId[i].uid, 100) doRemoveItem(getTileItemById(config.itemPlace[i], config.itemId[i]).uid, 100) doSendMagicEffect(config.itemPlace[i], CONST_ME_POFF) doCreatureAddHealth(cid, - getCreatureHealth(cid)) doSendMagicEffect(getThingPos(cid), CONST_ME_ENERGYAREA) for i = 1, #addons do doPlayerAddOutfit(cid, config.addons[i], 3) setPlayerStorageValue(cid, config.storage, 1) end else return doCreatureSay(cid, "You need items to sacrifice to get your addon!", TALKTYPE_MONSTER), doSendMagicEffect(itemPlace[i], CONST_ME_POFF) end end end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're to low level to made this sacrifice.") end else doPlayerSendTextMessage(cid,25, "You already made a sacrifice.") end end Kkkkkkkk Não po, vai dar certo!!! O vankk, na linha: doRemoveItem(config.itemId[i].uid, 100) Nao seria necessario 4 linhas de configuracao por ser itens diferentes? Valeeeeu
Postado Novembro 30, 2015 9 anos Não porque ele está configurado para remover os 4 items: itemId = {2160, 2161, 2162, 2163}, -- item ids Pela lógica, está certo. Agora quero ver se vai dar algum erro
Postado Novembro 30, 2015 9 anos Autor 1 hora atrás, vankk disse: Não porque ele está configurado para remover os 4 items: itemId = {2160, 2161, 2162, 2163}, -- item ids Pela lógica, está certo. Agora quero ver se vai dar algum erro Vou testar logo logo, so terminar a aula e ja vo correndo ver isso! Mas cara, pelo que entendi esta configurado pra remover 100 de cada certo? E se eu quiser por exemplo que seja 10 de um 30 de outro 100 de outro 5 de outro... Ai daria pra configurar do modo que disse com 4 linhas? vankk... E esse aqui cara? local config = { ["Wizard Helmet Addon"] = { storage = 21000, outfit = { sex = { [0] = 149, -- Sex 0 [1] = 145, -- Sex 1 }, addons = 1 }, items = { [2536] = {count = 1, pos = {x = 182, y = 262, z = 9}}, -- [Item1] = {posição 1} [2492] = {count = 1, pos = {x = 183, y = 262, z = 9}}, -- [Item2] = {posição 2} [2488] = {count = 1, pos = {x = 185, y = 262, z = 9}}, -- [Item3] = {posição 3} [2123] = {count = 1, pos = {x = 186, y = 262, z = 9}}, -- [Item4] = {posição 4} } -- Caso tenha a necessidade de usar mais itens é só ir adicionando mais à tabela }, } function onUse(cid, item, frompos, item2, topos, pos) for i, v in pairs(config) do local ok = true for item_id, c in pairs(v.items) do local item = getTileItemById(c.pos, item_id) if item.uid < 100 or item.type < c.count then ok = false break end end if ok then if getPlayerStorageValue(cid, v.storage) > 0 then return doPlayerSendCancel(cid, "You already have this addon.") end for item_id, c in pairs(v.items) do local item = getTileItemById(c.pos, item_id) doRemoveItem(item.uid, c.count) doSendMagicEffect(c.pos, 6) end setPlayerStorageValue(cid, v.storage, 1) doPlayerSendTextMessage(cid, 21, "You just earned the ".. i ..".") doSendMagicEffect(getThingPos(cid), 28) doPlayerAddOutfit(cid, v.outfit.sex[getPlayerSex(cid)], v.outfit.addons) return true end end return true end vankk, esse que eu mandei por último deu certinho! Fez basicamente o que eu precisava cara!!! Só não fez uma coisa... se eu não por item nenhum no recipiente, e não tiver o addon ele não da mensagem nenhuma... nem que precisa de itens nem nada, apenas não faz nada! Gostaria que quando desse USE sem por item nenhum, avisasse por mensagem ("You need this item") ou algo do tipo!
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.