Ir para conteúdo

olimpiamarkin

Artesão
  • Total de itens

    113
  • Registro em

  • Última visita

4 Seguidores

Sobre olimpiamarkin

Informações

  • Forma que conheci o xTibia
    Amigos
  • Sou
    Não Informado

Últimos Visitantes

11152 visualizações

olimpiamarkin's Achievements

  1. Bom dia, estou utilizando um sistema de roleta em meu servidor, está funcionando perfeitamente porém estou com um pouco de problema na hora de configurar as porcentagens de chance de ganho de cada item, gostaria de entender melhor a parte de chance desse script. local tiles = { Position(32163, 32295, 6), Position(32164, 32295, 6), Position(32165, 32295, 6), Position(32166, 32295, 6), -- Center Tile is winning Tile -- Position(32167, 32295, 6), Position(32168, 32295, 6), Position(32169, 32295, 6) } local items = { -- Chance Win / itemid / amount / chance amount (out of 100000) [{1, 10001}] = {itemid = 3079, amount = 1, amountChance = 80000}, -- 1, 10001 = 10000 (100000/10000 = 10% chance to win) [100000 / 80000 = 80% chance for amount to increase] [{10002, 20002}] = {itemid = 3388, amount = 1, amountChance = 70000}, [{20003, 30003}] = {itemid = 43869, amount = 1, amountChance = 60000}, [{30004, 40004}] = {itemid = 43886, amount = 1, amountChance = 50000}, [{40005, 50005}] = {itemid = 43880, amount = 1, amountChance = 40000}, [{50006, 60006}] = {itemid = 43878, amount = 1, amountChance = 30000}, [{60007, 70007}] = {itemid = 3389, amount = 1, amountChance = 25000}, [{70008, 80008}] = {itemid = 3387, amount = 1, amountChance = 15000}, [{80009, 90009}] = {itemid = 5903, amount = 1, amountChance = 10000} } -- local items = { -- -- Chance Win / itemid / amount / chance amount (out of 100000) -- [{1, 80001}] = {itemid = 3387, amount = 5, amountChance = 80000}, -- 1, 10001 = 10000 (100000/10000 = 10% chance to win) [100000 / 80000 = 80% chance for amount to increase] -- [{80002, 85002}] = {itemid = 3388, amount = 5, amountChance = 50000}, -- [{85003, 88003}] = {itemid = 2160, amount = 5, amountChance = 25000} -- } local itemsList = {3387, 3388, 3389, 43869, 43886, 43880, 43878, 3079, 5903} local canGetNoItem = false -- If true players can get nothing at all. -- local autoWin = {itemid = 3043, amount = 100, amountChance = 99999999} -- Item that is always won if they have to get something. -- local leverAID = 53452 -- AID in map for item that is used to roll -- local leverItemID = 1723 -- itemid for item that is used to roll -- -- Item required to spin activate roulette -- local itemRequired = 23681 local itemAmount = 1 local roulette = Action() function roulette.onUse(player, item, fromPosition, target, toPosition, isHotkey) player:getPosition():sendMagicEffect(CONST_ME_POFF) if not player:removeItem(itemRequired, itemAmount) then return player:sendCancelMessage("Você não tem "..itemAmount.." "..ItemType(itemRequired):getName()..".") end local rand = math.random(100000) local win = false for i, v in pairs(items) do if rand >= i[1] and rand <= i[2] then win = items[i] break end end if not canGetNoItem and not win then win = autoWin end local winAmount = 0 if win then for i = 1, win.amount do local rand = math.random(100000) if rand <= win.amountChance then winAmount = winAmount + 1 end end end rollItems(win, winAmount, 30, player:getName()) return true end function rollItems(winTable, winAmount, spins, name) moveItems() if spins == 3 then if not winTable then spins = spins - 1 addEvent(rollItems, 200, winTable, winAmount, spins, name) return true end Game.createItem(winTable.itemid, winAmount, tiles[1]) spins = spins - 1 addEvent(rollItems, 200, winTable, winAmount, spins, name) return true end if spins >= 1 and spins ~= 3 then local randEmpty = math.random(6) if randEmpty == 1 then spins = spins - 1 addEvent(rollItems, 200, winTable, winAmount, spins, name) return true end local randomItem = itemsList[math.random(#itemsList)] local itemType = ItemType(randomItem) if itemType:isStackable() then Game.createItem(randomItem, math.random(5), tiles[1]) else Game.createItem(randomItem, 1, tiles[1]) end spins = spins - 1 addEvent(rollItems, 200, winTable, winAmount, spins, name) return true end if spins == 0 then giveReward(winTable, winAmount, name) end end function moveItems() local tileItems = {} for i = 1, #tiles do local tile = Tile(tiles[i]) if tile and tile:getTopDownItem() then tileItems[i] = tile:getTopDownItem() elseif tile and not tile:getTopDownItem() then tileItems[i] = false end end for i = 1, #tileItems do if i == 7 and tileItems[i] ~= false then tileItems[i]:remove() return true elseif tileItems[i] ~= false then tileItems[i]:moveTo(tiles[i + 1]) end end end function giveReward(winTable, winAmount, name) local player = Player(name) if not player then return true end if not winTable then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "TESTE") return true end player:addItem(winTable.itemid, winAmount) player:getPosition():sendMagicEffect(CONST_ME_FIREAREA) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Parabéns! Você recebeu um(a) "..ItemType(winTable.itemid):getName()..".") -- player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You won "..winAmount.." "..ItemType(winTable.itemid):getName()..".") end roulette:id(leverItemID) roulette:register()
  2. Bom, meu nome é Marco, voltei a jogar tibia global faz uns 4 dias... estou jogando em Belobra, gostaria de dicas, onde upar, como fazer gold, compensa rushar as tasks ou não? Level : 22 Skiils: 64/56 Vocação: Royal Paladin Bank: 4k(é de chorar!) Premium Account Agradeço desde já pela ajuda e pelas dicas! [
  3. Minha antiga conta *---------------* #AnneMotta
  4. Eternal Oblivion. ps: prefiro não comentar oque o cara acima falo para não tomar ban denovo.
  5. Vo responde oque eu entendo, 1 - Não, a pessoa esta contribuindo com o servidor, você da os pontos para ele em uma forma simbolica por ele ter contribuido com o servidor. 2 - Que eu saiba não, tem muito e muitos OTs por ai. 3 - Não ele fica em uma maquina na empresa que você opitou por negociar. 4 - Não, pelo que eu saiba não.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...