Postado Novembro 11, 2021 3 anos .Qual servidor ou website você utiliza como base? OTX1264 Qual o motivo deste tópico? Está surgindo algum erro? Se sim coloque-o aqui. Citar Nenhum Erro no Console Você tem o código disponível? Se tiver publique-o aqui: local config = { effect = 30, -- Efeito que vai usar storage = 998899, -- Storage que o player precisa ter tempo = 30, -- Tempo em segundos 1200 - 20 minutos text = '--[[TOP #1]]--' } local PremiumEfect = CreatureEvent("PremiumEfect") function PremiumEfect.onLogin(player) player:registerEvent("PremiumEfect") local resultId = db.storeQuery("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (resultId ~= false) then local pid = result.getDataString(resultId, "id") local name = result.getDataString(resultId, "name") local namereal = player:getName() if namereal == name then SendEffect(player:getId()) result.free(resultId) return true else return end end end function SendEffect(cid) local player = Player(cid) if not player then return end player:getPosition():sendMagicEffect(config.effect) player:say(config.text, TALKTYPE_MONSTER_SAY) addEvent(SendEffect, config.tempo*1000, player:getId()) return true end PremiumEfect:register() Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Somente o TOP 1 Loga no servidor. os outros players recebem mensagem de servidor offline.
Postado Novembro 11, 2021 3 anos Solução local config = { effect = 30, -- Efeito que vai usar storage = 998899, -- Storage que o player precisa ter tempo = 30, -- Tempo em segundos 1200 - 20 minutos text = '--[[TOP #1]]--' } local PremiumEfect = CreatureEvent("PremiumEfect") function PremiumEfect.onLogin(player) player:registerEvent("PremiumEfect") local resultId = db.storeQuery("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (resultId ~= false) then local pid = result.getDataString(resultId, "id") local name = result.getDataString(resultId, "name") local namereal = player:getName() if namereal == name then SendEffect(player:getId()) end result.free(resultId) end return true end function SendEffect(cid) local player = Player(cid) if not player then return end player:getPosition():sendMagicEffect(config.effect) player:say(config.text, TALKTYPE_MONSTER_SAY) addEvent(SendEffect, config.tempo*1000, player:getId()) return true end PremiumEfect:register()
Postado Novembro 13, 2021 3 anos Autor Em 11/11/2021 em 19:15, Vodkart disse: local config = { effect = 30, -- Efeito que vai usar storage = 998899, -- Storage que o player precisa ter tempo = 30, -- Tempo em segundos 1200 - 20 minutos text = '--[[TOP #1]]--' } local PremiumEfect = CreatureEvent("PremiumEfect") function PremiumEfect.onLogin(player) player:registerEvent("PremiumEfect") local resultId = db.storeQuery("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (resultId ~= false) then local pid = result.getDataString(resultId, "id") local name = result.getDataString(resultId, "name") local namereal = player:getName() if namereal == name then SendEffect(player:getId()) end result.free(resultId) end return true end function SendEffect(cid) local player = Player(cid) if not player then return end player:getPosition():sendMagicEffect(config.effect) player:say(config.text, TALKTYPE_MONSTER_SAY) addEvent(SendEffect, config.tempo*1000, player:getId()) return true end PremiumEfect:register() Obrigado!! Deu tudo certo.. pelo que entendi era o result.free que estava em local incorreto?
Postado Novembro 13, 2021 3 anos 3 horas atrás, xBlackWolf disse: Obrigado!! Deu tudo certo.. pelo que entendi era o result.free que estava em local incorreto? Negativo. Foi o “else+return” que fez travar. Explicação: você fez uma condição que apenas o top 1 ao logar passasse pela condição de forma correta. Porem, ao adicionar um else, todos que não fossem top 1 iriam dar return ao logar, ou seja, o creaturescript iria fazer com que não fosse possivel logar.
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.