Ir para conteúdo

Featured Replies

Postado

Versão: 8.60

 

Eae gente, tava testando o script de efeito no TOP LEVEL e ele se encontra com o seguinte erro:

O efeito funciona normalmente, mas quando alguém ultrapassa o TOP LEVEL do server não aparece a mensagem de quem é o novo TOP e o efeito continua no antigo TOP, ou seja, não muda para o que passou a ser o novo TOP LEVEL.

 

O script está assim:

{data/creaturescripts/scripts/login.lua}

Spoiler

registerCreatureEvent(cid, "TopEffect")

 

{data/creaturescripts/creaturescripts.xml}

Spoiler

<event type="login" name="TopEffect" event="script" value="toplvl.lua"/>
<event type="advance" name="CheckTop" event="script" value="toplvl.lua"/>

 

{data/creaturescripts/scripts/toplvl.lua}

Spoiler

local config = {
    tempo = 5, 
    mensagem = {
        texto = "[TOP]", 
        efeito = TEXTCOLOR_RED
    },
    efeito = 29, 
    globalstr = 150202 
}
function TopEffect(cid)
    local var = tostring(getGlobalStorageValue(config.globalstr)):gsub(':', ''):explode(',')
    if not isCreature(cid) or getPlayerName(cid) ~= var[1] then return LUA_ERROR end
    doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito)
    doSendMagicEffect(getCreaturePosition(cid), config.efeito)
    addEvent(TopEffect, config.tempo*500, cid)
end
function onLogin(cid)
    if tonumber(getGlobalStorageValue(config.globalstr)) then -- virgin
        local query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
        if (query:getID() ~= -1) then
            setGlobalStorageValue(config.globalstr, ":"..query:getDataString("name")..",:"..query:getDataInt("level"))
            TopEffect(cid)
        end
    else
        TopEffect(cid)
    end
    registerCreatureEvent(cid, "CheckTop")
    return true
end
function onAdvance(cid, skill, oldLevel, newLevel)
    if skill ~= SKILL__LEVEL then return true end
    local var = tostring(getGlobalStorageValue(config.globalstr)):gsub(':', ''):explode(',')
    if newLevel > tonumber(var[2]) and getPlayerName(cid) ~= var[1] then
        doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22)
        setGlobalStorageValue(config.globalstr, ":"..getPlayerName(cid)..",:"..newLevel)
        TopEffect(cid)
    end            
    return true
end

 

Agradeço desde já!

  • 4 weeks later...
  • 8 months later...

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo