Postado Novembro 29, 2023 1 ano Autor 3 horas atrás, GM Vortex disse: function onUse(cid, item, frompos, item2, topos) local playerLocation = getCreaturePosition(cid) local enchantments = { [2361] = {amount = 1, transformId = 2453}, [2159] = {amount = 10, transformId = 2646}, -- Adicione mais itens de encantamento aqui [OutroID] = {amount = QuantidadeNecessaria, transformId = IDTransformacao} } local weaponEnchantmentTable = { { weaponId = 7735, positions = { weaponTable = {x = 32352, y = 31912, z = 7}, enchantmentTable = {x = 32354, y = 31912, z = 7} }, enchantmentIds = {2361} }, { weaponId = 6132, positions = { weaponTable = {x = 32356, y = 31912, z = 7}, enchantmentTable = {x = 32358, y = 31912, z = 7} }, enchantmentIds = {2159} } -- Adicione mais armas e suas respectivas posições aqui -- Exemplo: {weaponId = IDDaArma, positions = {posicaoDaArma, posicaoDoEncantamento}, enchantmentIds = {IDDoEncantamento1, IDDoEncantamento2, ...}} } local function hasItems(items) for itemID, enchantmentData in pairs(items) do local enchantment = getTileItemById(enchantmentData.positions.enchantmentTable, itemID) if not enchantment or enchantment.type < enchantmentData.amount then return false end end return true end local function enchantWeapon(enchantmentData) for _, data in pairs(enchantmentData) do local weapon = getTileItemById(data.positions.weaponTable, data.weaponId) if weapon then local enchantmentsNeeded = data.enchantmentIds if hasItems(enchantmentsNeeded) then for _, enchantmentID in ipairs(enchantmentsNeeded) do local enchantment = getTileItemById(data.positions.enchantmentTable, enchantmentID) if enchantment then local requiredAmount = enchantments[enchantmentID].amount doRemoveItem(enchantment.uid, requiredAmount) end end doRemoveItem(weapon.uid, 1) doPlayerAddItem(cid, enchantments[enchantmentID].transformId, 1) doSendMagicEffect(playerLocation, 39) return true end end end return false end if not enchantWeapon(weaponEnchantmentTable) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sem itens necessários para o encantamento.") doSendMagicEffect(playerLocation, CONST_ME_POFF) end return true end oque eu dizer é o seguinte, adicionar mais items a serem mesclados, ai so pode colocar 2 combinaçoes eu quero de 5, onde eu botar 5 items para virar 1. Enetendeu ? Tem como quebrar mais esse galho porfavor ? (eu quero q o script peça 5 items para transformar em 1). tipo 5 posicoes 5 items.
Postado Novembro 29, 2023 1 ano 19 minutos atrás, deza disse: oque eu dizer é o seguinte, adicionar mais items a serem mesclados, ai so pode colocar 2 combinaçoes eu quero de 5, onde eu botar 5 items para virar 1. Enetendeu ? Tem como quebrar mais esse galho porfavor ? (eu quero q o script peça 5 items para transformar em 1). tipo 5 posicoes 5 items. function onUse(cid, item, frompos, item2, topos) local playerLocation = getCreaturePosition(cid) local combinationItems = { [ItemID1] = {x = X1, y = Y1, z = Z1}, [ItemID2] = {x = X2, y = Y2, z = Z2}, [ItemID3] = {x = X3, y = Y3, z = Z3}, [ItemID4] = {x = X4, y = Y4, z = Z4}, [ItemID5] = {x = X5, y = Y5, z = Z5} -- Adicione mais itens para combinação aqui } local function hasItems(items) for itemID, position in pairs(items) do local tileItem = getTileItemById(position, itemID) if not tileItem then return false end end return true end local function combineItems(items) if hasItems(items) then for itemID, position in pairs(items) do doRemoveItem(getTileItemById(position, itemID).uid, 1) end local newItemID = 9999 -- aqui id novo doPlayerAddItem(cid, newItemID, 1) doSendMagicEffect(playerLocation, 39) return true end return false end if not combineItems(combinationItems) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Não há itens suficientes para combinar.") doSendMagicEffect(playerLocation, CONST_ME_POFF) end return true end
Postado Novembro 30, 2023 1 ano Autor Exatamente isso que queria, 5 items pra 1. problema q n funcionou. olha o error que deu ! link do gift q fiz pra vc entender. https://ibb.co/C0CRsd9
Postado Novembro 30, 2023 1 ano Autor Deu error, queria upar o gift q fiz porem no TK nao deixa. mas n funfuou, ta ai o error !=[
Postado Novembro 30, 2023 1 ano Solução Boa tarde! Fiz um script melhor e bem simples. É possível entender o script, Segue o GIF para ver como ele funciona e foi testado no tfs 0.4, tudo certo. Divirta-se function onUse(cid, item, frompos, item2, topos) local playerLocation = getCreaturePosition(cid) local itemData = { {itemId = 2400, x = 722, y = 658, z = 7}, {itemId = 2401, x = 722, y = 657, z = 7}, {itemId = 2376, x = 724, y = 658, z = 7} -- Adicione mais itens para combinação aqui } local newItemId = 2406 -- ID do novo item após a combinação local newItemPosition = {x = 724, y = 657, z = 7} -- Posição para o novo item local foundItems = {} local hasAllItems = true for _, data in ipairs(itemData) do local tileItem = getTileItemById({x = data.x, y = data.y, z = data.z}, data.itemId) if tileItem.uid > 0 then table.insert(foundItems, tileItem.uid) else hasAllItems = false break end end if hasAllItems then for _, uid in ipairs(foundItems) do if not doRemoveItem(uid, 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Erro ao remover um dos itens necessários.") return false end end local newItem = doCreateItem(newItemId, 1, newItemPosition) if newItem ~= LUA_ERROR then doSendMagicEffect(newItemPosition, 39) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Erro ao criar o novo item.") return false end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não possui todos os itens necessários para a combinação.") return false end return true end @deza 20231130_150112.mp4 Editado Novembro 30, 2023 1 ano por GM Vortex (veja o histórico de edições)
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.