Ir para conteúdo

LevelUP Time - "You advanced to level 35 in 3 minutes and 10 seconds".

Featured Replies

Postado

Achei esse script muito interessante na OTLand e resolvi trazer pra vocês.

 

Versão: TFS 1.X

Função: Mostra quanto tempo levou para upar deis de o ultimo level.

[IMG]

 

Instalação:

Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA, renomeie para timeLevel.lua, apague tudo e cole:

function timeString(timeDiff)
    local dateFormat = {
        {"day", timeDiff / 60 / 60 / 24},
        {"hour", timeDiff / 60 / 60 % 24},
        {"minute", timeDiff / 60 % 60},
        {"second", timeDiff % 60}
    }

    local out = {}
    for k, t in ipairs(dateFormat) do
        local v = math.floor(t[2])
        if(v > 0) then
            table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))
        end
    end
    local ret = table.concat(out)
    if ret:len() < 16 and ret:find("second") then
        local a, b = ret:find(" and ")
        ret = ret:sub(b+1)
    end

    return ret
end

function onAdvance(player, skill, oldlevel, newlevel)
    if skill ~= SKILL_LEVEL then
        return true
    end

    oldtime = player:getStorageValue(3499)
    timenow = os.time()
    if oldtime == -1 then
        player:setStorageValue(3499, timenow)
    else
        player:sendTextMessage(MESSAGE_INFO_DESCR, "It took you " .. timeString(timenow - oldtime) .. " to advance in level from your last advance.")
        player:setStorageValue(3499, timenow)
    end
    return true
end

Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e registre:

player:registerEvent("timelevel")

Agora em "Data/creaturescripts", abra o arquivo creaturescripts.xml e adicione:

<event type="advance" name="timelevel" script="timelevel.lua"/>

 

 

Créditos: Ahilphino

  • 4 weeks later...
Postado

Wakon, tentei fazer teu script de informar quanto tempo a pessoa demorou para pegar o próximo nivel. Mas eu faço tudo de acordo e dou reload no creaturescrpit e da erro no distro, segue erro:

[31/03/2016 01:14:36] [Error - CreatureScript Interface] 
[31/03/2016 01:14:36] data/creaturescripts/scripts/login.lua:onLogin
[31/03/2016 01:14:36] Description: 
[31/03/2016 01:14:36] data/creaturescripts/scripts/login.lua:58: attempt to index global 'player' (a nil value)
[31/03/2016 01:14:36] stack traceback:
[31/03/2016 01:14:36]     data/creaturescripts/scripts/login.lua:58: in function <data/creaturescripts/scripts/login.lua:7>
[31/03/2016 01:14:36] ADM Tiago has logged out.

 

 

meu login.lua é esse:

 

local config = {
    loginMessage = getConfigValue('loginMessage'),
    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

function onLogin(cid)
accountManager = "Account Manager"                       
managerCounter = 0

   for i, player in ipairs(getOnlinePlayers()) do
      if accountManager:lower() == player:lower() then             
      managerCounter = managerCounter + 1
      end 
   end
 
   if managerCounter >= 3 then
      return false
   end
    local loss = getConfigValue('deathLostPercent')
    if(loss ~= nil) then
        doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
    end

    local accountManager = getPlayerAccountManager(cid)
    if(accountManager == MANAGER_NONE) then
        local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
        if(lastLogin > 0) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
            str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
        else
            str = str .. " Please choose your outfit."
            doPlayerSendOutfitWindow(cid)
        end

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
    elseif(accountManager == MANAGER_NAMELOCK) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
    elseif(accountManager == MANAGER_ACCOUNT) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
    end

    if(not isPlayerGhost(cid)) then
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
    end

    registerCreatureEvent(cid, "Mail")
    registerCreatureEvent(cid, "GuildMotd")

    registerCreatureEvent(cid, "Idle")
    if(config.useFragHandler) then
        registerCreatureEvent(cid, "SkullCheck")
    end

registerCreatureEvent(cid, "ReportBug")
player:registerEvent("timelevel")
registerCreatureEvent(cid, "AdvanceSave")
registerCreatureEvent(cid, "attackguild")    
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "FimVip")
registerCreatureEvent(cid, "SkullCheck")
registerCreatureEvent(cid, "demonOakLogout")
registerCreatureEvent(cid, "demonOakDeath")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, VipReceive)
registerCreatureEvent(cid, "PlayerKill")
registerCreatureEvent(cid, "KillingInTheNameOf")

    if (InitArenaScript ~= 0) then
    InitArenaScript = 1

        for i = 42300, 42309 do
            setGlobalStorageValue(i, 0)
            setGlobalStorageValue(i+100, 0)
        end
    end

    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end

    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end

    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0)
    end
    setPlayerStorageValue(cid, 42350, 0)
    setPlayerStorageValue(cid, 42352, 0)
return true

end


 

Editado por tiagololxd (veja o histórico de edições)

1508741_4.png

         Acesse: www.7wars.com          Global 8.60 full

 

  • 1 month later...
  • 2 months later...
Postado

Muito bom script. Instalei em TFS 0.4, servidor 8.6, sem erros no distro, mas sem mensagem também...

 

Caso apareça alguma solução, ou até uma conversão para 8.6 TFS 0.4, muitos ficariam gradecidos.

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

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.6k

Informação Importante

Confirmação de Termo