Postado Julho 30, 2022 2 anos .Qual servidor ou website você utiliza como base? OTX 2.12 Qual o motivo deste tópico? Como resolvo esse erro? ao usar a máquina da o seguinte erro abaixo. Está surgindo algum erro? Se sim coloque-o aqui. [1:1:31.786] [Error - Action Interface] [1:1:31.787] data/actions/scripts/heldFusion.lua:onUse [1:1:31.788] Description: [1:1:31.788] (LuaInterface::luaDoPlayerAddItem) Item not found Você tem o código disponível? Se tiver publique-o aqui: -- Held Fusion 0.1 by Marcot -- Se encontrou algum erro no script, favor enviar PM explicando os erros -- http://www.tibiaking.com/forum/profile/120572-marcot/ -- Configuracoes necessarias para o script local config = { quest = { -- Precisa fazer quest? (Nao mexa caso negativo) necessaria = false, -- Eh necessario fazer uma quest para liberar o sistema? storageID = 10001, -- Qual o storageID dessa quest? (caso true, anteriormente) }, chestPos = {x = 107, y = 174, z = 5, stackpos = 1}, -- Posicao do Bau (certifique-se que nao tenha nada encima dele) -- Tenha atencao para que a soma das chances dos helds em cada tier seja igual a 100 helds = { -- Item IDs e chance de vir o held [1] = { -- Array Tier 1 {ID = 2143, chance = 100}, }, [2] = { -- Array Tier 2 {ID = 2301, chance = 1}, -- Force Critic Chance {ID = 2302, chance = 2}, -- Force Critic Damage {ID = 2303, chance = 3}, -- Force Life Leech {ID = 2304, chance = 4}, -- Force Ki Leech {ID = 2305, chance = 5}, -- Force Damage {ID = 2306, chance = 6}, -- Force Skills {ID = 2307, chance = 7}, -- Force Magic {ID = 2308, chance = 8}, -- Force Protection All {ID = 2309, chance = 9}, -- Force Health {ID = 2310, chance = 10}, -- Force Ki {ID = 2311, chance = 11}, -- Force Health Regeneratio {ID = 2312, chance = 12}, -- Force Ki Regeneration }, [3] = { -- Array Tier 3 }, [4] = { -- Array Tier 4 }, [5] = { -- Array Tier 5 }, [6] = { -- Array Tier 6 }, [7] = { -- Array Tier 7 }, }, } function onUse(cid, item, fromPosition, itemEx, toPosition) if config.quest.necessaria and getPlayerStorageValue (cid, config.quest.storageID) == 0 then -- Erro caso a pessoa use a maquina sem ter feito a quest -- Valido apenas quando a opcao esta ativada doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don\'t have permission to use this machine.") return false end items = {nil, nil, nil} container = getThingFromPos(config.chestPos) for i = 0, 2 do items[i + 1] = getContainerItem (container.uid, i) if items [i + 1].itemid == 0 or items [i + 1].itemid == nil then -- Erro quando tem menos de 3 itens no bau doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de 3 card's vázios para fundir.") return false end end heldType = {nil, nil, nil} for j=1, 3 do for i=1, 7 do for k = 1, #config.helds[i] do if config.helds[i][k].ID == items[j].itemid then heldType[j] = i end end end if heldType [j] == nil then -- Erro a ser exibido caso o jogador coloque algum item que nao seja um held na maquina doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Esta máquina funciona apenas com card's vázios.") return false end end if heldType[1] ~= heldType[2] or heldType[2] ~= heldType[3] then -- Erro a ser exibido caso o jogador coloque helds de tiers diferentes doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de card's com os mesmos atributos.") return false elseif heldType[1] == 3 or heldType[2] == 3 or heldType[3] == 3 then -- elseif heldType[1] == 7 or heldType[2] == 7 or heldType[3] == 7 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode fundir esses cards.") return false end -- Sortear qual held vira for i = 1, 3 do doRemoveItem(items[i].uid, 1) end tierSorteado = heldType[1] + 1 numeroSorte = math.random(1, 100) itemIDSorteado = sorteiaValor (tierSorteado, numeroSorte) doPlayerAddItem(cid, itemIDSorteado, 1) -- Mensagem exibida ao fundir com sucesso doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu seu novo card.") return true end -- Função retirada de https://pt.stackoverflow.com/questions/147884/sorteio-aleat%C3%B3rio-mas-com-diferentes-probabilidades function sorteiaValor (tierSorteado, numeroSorte) x = numeroSorte for i = 1, #config.helds[tierSorteado] do x = x - config.helds[tierSorteado][i].chance if x <= 0 then return config.helds[tierSorteado][i].ID end end end
Postado Julho 30, 2022 2 anos 19 horas atrás, XGaduX disse: helds em cada tier seja igual a 100 19 horas atrás, XGaduX disse: [2] = { -- Array Tier 2 e me parece que seu array 2, não é igual a 100 a chance total, da igual a 78 19 horas atrás, XGaduX disse: numeroSorte = math.random(1, 100) logo se o numero for maior que 78, creio que não entra no script mesmo
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.