Postado Julho 13, 2019 5 anos Salve TibiaKing Então, queria uma script que o player ao clicar na "box" ele ganhasse um item... mas, assim, eu queria que fosse vários items e que tivesse % de chances que iria ganhar. Espero que entendam... de coração, eu preciso urgente!!! https://github.com/italoxxx1
Postado Julho 13, 2019 5 anos <action itemid="id_da_box" event="script" value="box.lua"/> local itens = {} local randDifficultItens = 10 function onUse(cid, item, frompos, item2, topos) local randItem = math.random(#itens+randDifficultItens) if ( randItem <= #itens ) then doPlayerAddItem(cid, itens[randItem], 1) end return true end randDifficultItens é a dificuldade que irá ganhar o item. itens é a tabela contendo os ids dos itens a serem ganhos.
Postado Julho 13, 2019 5 anos Autor Em 13/07/2019 em 17:22, Gengo disse: <action itemid="id_da_box" event="script" value="box.lua"/> local itens = {} local randDifficultItens = 10 function onUse(cid, item, frompos, item2, topos) local randItem = math.random(#itens+randDifficultItens) if ( randItem <= #itens ) then doPlayerAddItem(cid, itens[randItem], 1) end return true end randDifficultItens é a dificuldade que irá ganhar o item. itens é a tabela contendo os ids dos itens a serem ganhos. poderia fazer a cada item ele ter a chance de ganhar não? Exemplo: 2160, 2% de chance... e assim vai https://github.com/italoxxx1
Postado Julho 13, 2019 5 anos Solução @ITALOx Achei esse script aqui tinha um bug e corrigi testei e funcionou na minha base 8.54 0.3.6 acredito que vai funcionar em 0.4 também obs: dei uma incrementada adicionei um texto e um efeito configurável no script Script \/ Mostrar conteúdo oculto local items = { {itemId = 12035, count = 1, chance = 30}, -- ITEM, QUANTIDADE, CHANCE {itemId = 12034, count = 1, chance = 20}, {itemId = 12033, count = 1, chance = 20}, {itemId = 12032, count = 1, chance = 20}, {itemId = 12031, count = 1, chance = 20}, {itemId = 12030, count = 1, chance = 20}, {itemId = 12547, count = 1, chance = 10}, {itemId = 15685, count = 1, chance = 1}, } local broadcastitems = {12547, 15685} function onUse(cid, item, frompos, item2, topos) local totalChance, randomTable, randomNumber = 0, {}, 0 for _, itemInfo in pairs (items) do randomTable[itemInfo.itemId] = {min = totalChance + 1, max = itemInfo.chance, count = itemInfo.count or 1} totalChance = totalChance + itemInfo.chance end randomNumber = math.random(1, totalChance) for itemId, itemInfo in pairs (randomTable) do local min, max = itemInfo.min, itemInfo.min + itemInfo.max if randomNumber >= min and randomNumber <= max then local newItem = doPlayerAddItem(cid, itemId, itemInfo.count, false) if not newItem then return doPlayerSendCancel(cid, "Voce nao tem espaco para receber o item!") end doPlayerRemoveItem(cid, 1990, 1) local pos = {x=getPlayerPosition(cid).x+0, y=getPlayerPosition(cid).y+0, z=getPlayerPosition(cid).z+0} doSendMagicEffect(pos, 684) -- Id do efeito. local iInfo = getItemInfo(itemId) doPlayerSendTextMessage(cid, 25, "Voce ganhou "..itemInfo.count.." "..iInfo.name.."") for i, broaditem in ipairs(broadcastitems) do if itemId==broaditem then doBroadcastMessage(getCreatureName(cid).." acabou de ganhar: "..itemInfo.count.." "..iInfo.name.." (Raro) na presente box.", 19) end end break end end return true end Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Julho 14, 2019 5 anos @ITALOx editei o script aquele que tinha antes tava com o random muito pouco e tava vindo muito item repetido esse é melhor o random realmente faz diferença e também tem como adicionar itens raros que ao pegar manda uma mensagem para todos do servidor que o player tal pegou o item raro na box Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
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.