Postado Fevereiro 12, 2018 7 anos Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: Qual erro está surgindo/O que você procura? Ele não funciona no meu servidor ele é OTX do maluco será que alguém podia me ajudar e corrigir essa script pra min? quero que apareça uma mensagem de top level e um efeito. Você tem o código disponível? Se tiver publique-o aqui: <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> registerCreatureEvent(cid, "TopEffect") local tempo = 10 --tempo em segundos function onLogin(cid) query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then name = query:getDataString("name") if getPlayerName(cid) == name then TopEffect(cid) end end return true end function TopEffect(cid) if isPlayer(cid) then doSendAnimatedText(getCreaturePosition(cid), "[TOP]", TEXTCOLOR_LIGHTBLUE) doSendMagicEffect(getCreaturePosition(cid), 30) addEvent(TopEffect, tempo*1000, cid) end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Editado Fevereiro 12, 2018 7 anos por Mateus Lagasse (veja o histórico de edições)
Postado Fevereiro 13, 2018 7 anos --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] -- [[ Adaptado TFS 1.3 by Sttorm ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if creature:getName(cid) == name then if topPlayer ~= creature:getId(cid) then topPlayer = creature:getId(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end creature:registerEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= creature:getId(cid) then Game.broadcastMessage("O jogador " .. creature:getName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = creature:getId(cid) doSaveServer() setGlobalStorageValue(config.globalstr, creature:getId(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not player:isPlayer()(cid) then return true end if topPlayer == creature:getId(cid) then doSendAnimatedText(creature:getPosition(cid), config.mensagem.texto, config.mensagem.efeito) position:sendMagicEffect(creature:getPosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(creature:getName(cid)) end XML <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/> Editado Fevereiro 13, 2018 7 anos por Sttorm (veja o histórico de edições)
Postado Fevereiro 13, 2018 7 anos Autor 49 minutos atrás, Sttorm disse: --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] -- [[ Adaptado TFS 1.3 by Sttorm ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if creature:getName(cid) == name then if topPlayer ~= creature:getId(cid) then topPlayer = creature:getId(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end creature:registerEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= creature:getId(cid) then Game.broadcastMessage("O jogador " .. creature:getName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = creature:getId(cid) doSaveServer() setGlobalStorageValue(config.globalstr, creature:getId(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not player:isPlayer()(cid) then return true end if topPlayer == creature:getId(cid) then doSendAnimatedText(creature:getPosition(cid), config.mensagem.texto, config.mensagem.efeito) position:sendMagicEffect(creature:getPosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(creature:getName(cid)) end XML <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/> Esse funciona em OTX?? ele tem o tempo para o efeito e o tempo para o TOP??? Editado Fevereiro 13, 2018 7 anos por Mateus Lagasse (veja o histórico de edições)
Postado Fevereiro 13, 2018 7 anos Provavelmente funcionará em TFS 1.x . Não sei se funcionará em Otx , já que você pediu para TFS 1.3. Bastar olhar a script direito , verá que tem tudo.
Postado Fevereiro 13, 2018 7 anos Autor 5 minutos atrás, Sttorm disse: Provavelmente funcionará em TFS 1.x . Não sei se funcionará em Otx , já que você pediu para TFS 1.3. Bastar olhar a script direito , verá que tem tudo. Eu pedi pra OTX
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.