Postado Junho 24, 2022 2 anos Está surgindo algum erro? Se sim coloque-o aqui. Citar Esta dando um erro no script que estou usando e não estou sabendo resolver (Error on think [Error - GlobalEvent Interface] data/globalevents/scripts/lottery.lua:onThink Description: data/globalevents/scripts/lottery.lua:66: attempt to compare table with number stack traceback: data/globalevents/scripts/lottery.lua:66: in function <data/globalevents/scripts/lottery.lua:64> Você tem o código disponível? Se tiver publique-o aqui: local config = { lottery_hour = "2 hours", -- Tempo ate a proxima loteria (Esse tempo vai aparecer somente como broadcast message) rewards_id = {2494, 2472, 2514, 2160}, -- ID dos Itens Sorteados na Loteria crystal_counts = 10, -- Usado somente se a rewards_id for crystal coin (ID: 2160). website = "yes", -- Only if you have php scripts and table `lottery` in your database! days = { "Monday-08:00", "Monday-13:00", "Monday-19:30", "Tuesday-08:00", "Tuesday-13:00", "Tuesday-19:30", "Wednesday-08:00", "Wednesday-13:00", "Wednesday-19:30", "Thursday-08:00", "Thursday-13:00", "Thursday-19:30", "Friday-01:22", "Friday-13:00", "Friday-18:15", "Saturday-21:27", "Saturday-21:28", "Saturday-21:29", "Sunday-08:00", "Sunday-13:00", "Sunday-19:30" } } local function getPlayerWorldId(cid) if not(isPlayer(cid)) then return false end local pid = getPlayerGUID(cid) local worldPlayer = 0 local result_plr = db.getResult("SELECT * FROM `players` WHERE `id` = "..pid..";") if(result_plr:getID() ~= -1) then worldPlayer = tonumber(result_plr:getDataInt("world_id")) result_plr:free() return worldPlayer end return false end local function getOnlineParticipants() local players = {} for _, pid in pairs(getPlayersOnline()) do if getPlayerAccess(pid) <= 2 and getPlayerStorageValue(pid, 281821) <= os.time() then table.insert(players, pid) end end if #players > 0 then return players end return false end function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then if(getWorldCreatures(o) <= 0)then return true end local query = db.query or db.executeQuery local random_item = config.rewards_id[math.random(1, #config.rewards_id)] local item_name = getItemNameById(random_item) local data = os.date("%d/%m/%Y - %H:%M:%S") local online = getOnlineParticipants() if online then local winner = online[math.random(1, #online)] local world = tonumber(getPlayerWorldId(winner)) if(random_item == 2160) then doPlayerSetStorageValue(winner, 281821, os.time() + 3600 * 24) doPlayerAddItem(winner, random_item, config.crystal_counts) doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .." " .. getItemNameById(random_item) .. "s! Congratulations! (Next lottery in " .. config.lottery_hour .. ")") else doPlayerSetStorageValue(winner, 281821, os.time() + 3600 * 24) doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " ..getItemNameById(random_item) .. "! Congratulations! (Next lottery in " .. config.lottery_hour .. ")") doPlayerAddItem(winner, random_item, 1) end if(config.website == "yes") then query("INSERT INTO `lottery` (`name`, `item`, `world_id`, `item_name`, `date`) VALUES ('".. getCreatureName(winner).."', '".. random_item .."', '".. world .."', '".. item_name .."', '".. data .."');") end else print("Ninguem OnLine pra ganhar na loteria") end end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Julho 11, 2022 2 anos Em 24/06/2022 em 19:21, megatibiano disse: if(getWorldCreatures(o) <= 0)then return true end pelo que parece é essa função, comparando o world com 0 troca pra players = getPlayersOnline() if #players < 1 then return true end no caso disso: function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then if(getWorldCreatures(o) <= 0)then return true end ... pra isso: function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then players = getPlayersOnline() if #players < 1 then return true end .... Editado Julho 11, 2022 2 anos por FeeTads (veja o histórico de edições)
Postado Julho 12, 2022 2 anos Autor Em 11/07/2022 em 08:59, FeeTads disse: pelo que parece é essa função, comparando o world com 0 troca pra players = getPlayersOnline() if #players < 1 then return true end no caso disso: function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then if(getWorldCreatures(o) <= 0)then return true end ... pra isso: function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then players = getPlayersOnline() if #players < 1 then return true end .... Ai deu esse erro aqui o
Postado Julho 12, 2022 2 anos 5 horas atrás, megatibiano disse: Ai deu esse erro aqui o acima de players = getPlayersOnline() if #players < 1 then return true end coloca assim: local players = {} players = getPlayersOnline() if #players < 1 then return true end Editado Julho 12, 2022 2 anos por FeeTads (veja o histórico de edições)
Postado Julho 12, 2022 2 anos Autor 1 hora atrás, FeeTads disse: acima de players = getPlayersOnline() if #players < 1 then return true end coloca assim: local players = {} players = getPlayersOnline() if #players < 1 then return true end ai deu esse erro
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.