Postado Abril 25, 2022 3 anos .Qual servidor ou website você utiliza como base? OTX Qual o motivo deste tópico? Bom galera, desculpe qualquer coisa, minha ignorancia quanto a isso e tals, mas eu gostaria de saber se esse seria um bom sistema de lotery ou se ja existe algum mais otimizado aqui no forum, e se for esse um otimo sistema, gostaria de saber se é possivel adicionar mais de 1 item pra ser sorteado, pra ganhar aleatoriamente, por exemplo, ter 3 items lá que possa ser sorteado, e na hora do sorteio ter uma % de tal item sair, quero por items mais dificieis de ganhar e outros mais faceis, muito obrigado pela paciencia e pela ajuda ! Está surgindo algum erro? Se sim coloque-o aqui. Citar Você tem o código disponível? Se tiver publique-o aqui: local premio = { [1] = {item = 9693, count = 1}, } local configs = { hours = 5, -- quantas em quantas horas, vai acontecer. winners = 1, -- qntos players podem ganhar. } function onThink(interval, lastExecution) local p = getPlayersOnline() local winners = configs.winners if #p < winners then winners = #p end for i = 1, winners do local p = getPlayersOnline() local c, w = #p, #premio local d, e = math.random(c), math.random(w) local playerwin = p[d] doPlayerAddItem(playerwin, premio[e].item, premio[e].count) doBroadcastMessage("[LOTTERY SYSTEM] Ganhador: " .. getCreatureName(playerwin) .. ", Premio: " .. premio[e].count .. " " .. getItemNameById(premio[e].item) .. ", Parabens!") if i == winners then doBroadcastMessage("(Proxima loteria em " ..configs.hours.. " horas.)") end doSendMagicEffect(getThingPos(playerwin), 12) end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Abril 25, 2022 3 anos Creio que para te ajudar tem esse Script um pouco mais otimizado... Agora sobre a questão da % em cada "item", acho que seria mais complicado. Spoiler local config = { lottery_hour = "2 Hours", -- Tempo ate a proxima loteria (Esse tempo vai aparecer somente como broadcast message) rewards_id = {12344, 2160, 12618, 15646, 12338, 19221, 15645, 15644, 19244, 19536, 15679}, -- ID dos Itens Sorteados na Loteria crystal_counts = 50, website = "no" } function onThink(interval, lastExecution) if(getWorldCreatures(0) == 0)then return true end local list = {} for i, tid in ipairs(getPlayersOnline()) do list[i] = tid end local winner = list[math.random(1, #list)] local random_item = config.rewards_id[math.random(1, #config.rewards_id)] if(random_item == 2160) then doPlayerAddItem(winner, random_item, config.crystal_counts) doBroadcastMessage("o Jogador: " .. getCreatureName(winner) .. ", Ganhou: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! (Proxima Loteria em " .. config.lottery_hour .. ")") else doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Proxima Loteria em " .. config.lottery_hour .. ")") doPlayerAddItem(winner, random_item, 1) end if(config.website == "yes") then db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');") end return true end
Postado Abril 25, 2022 3 anos Autor 5 minutos atrás, Theo aula disse: Creio que para te ajudar tem esse Script um pouco mais otimizado... Agora sobre a questão da % em cada "item", acho que seria mais complicado. Ocultar conteúdo local config = { lottery_hour = "2 Hours", -- Tempo ate a proxima loteria (Esse tempo vai aparecer somente como broadcast message) rewards_id = {12344, 2160, 12618, 15646, 12338, 19221, 15645, 15644, 19244, 19536, 15679}, -- ID dos Itens Sorteados na Loteria crystal_counts = 50, website = "no" } function onThink(interval, lastExecution) if(getWorldCreatures(0) == 0)then return true end local list = {} for i, tid in ipairs(getPlayersOnline()) do list[i] = tid end local winner = list[math.random(1, #list)] local random_item = config.rewards_id[math.random(1, #config.rewards_id)] if(random_item == 2160) then doPlayerAddItem(winner, random_item, config.crystal_counts) doBroadcastMessage("o Jogador: " .. getCreatureName(winner) .. ", Ganhou: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! (Proxima Loteria em " .. config.lottery_hour .. ")") else doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Proxima Loteria em " .. config.lottery_hour .. ")") doPlayerAddItem(winner, random_item, 1) end if(config.website == "yes") then db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');") end return true end Opa meu amigo, já é algo mais bem elaborado, posso por varios itens ali, vou testar aqui, mas creio que vai dar certo esse mesmo, muito obrigado pela ajuda
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.