Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Olá TK,

 

Hoje trago para vocês um MOD bem interessante que encontrei na internet, a lógica é bem simples, você usa um item e ganha mais XP durante um tempo.

O item, a XP e o tempo são totalmente configuráveis, vocês podem mudar como quiserem.

 

FUNCIONA COM TFS 0.4 E DEVE FUNCIONAR COM 0.3.6 (NÃO TESTADO)

Eu vou testar com a minha versão 0.3.7 quando chegar em casa e edito o post para vocês.

 

 

Bem, então vamos ao script,

 

Abra a pasta "mods" do seu servidor e crie um arquivo chamado expscroll.xml, abra e coloque o seguinte código:

<?xml version="1.0" encoding="UTF-8"?> 
<mod name="Experience Stages Scroll" version="1.0" author="TomCrusher" contact="otland.net" enabled="yes"> 
    <action itemid="9004" event="script" value="expstagescroll.lua"/> 
    <creatureevent type="think" name="ExpStage" event="script" value="expstagescroll.lua"/> 
    <creatureevent type="login" name="ExpStageLogin" event="script" value="expstagescroll.lua"/> 
</mod>

Agora em "mods/scripts", crie um arquivo chamado expstagescroll.lua e coloque este código:

local config = {  
    rate = 2, 
    storage = 1000, 
    expstorage = 1100, 
    register = 1200, 
    time = 14400, 
}  

function onUse(cid, item, fromPosition, itemEx, toPosition) 
    if getPlayerStorageValue(cid, config.storage) <= 0 then 
        local rates = getPlayerRates(cid) 
        setPlayerStorageValue(cid, config.expstorage, rates[SKILL__LEVEL]) 
        setPlayerStorageValue(cid, config.register, 1) 
        itemEx=itemid == 9004 
        doCreatureSay(cid, "Your extra experience rate has been activated! It now is: " .. config.rate .. "x added to your former experience rate.", TALKTYPE_ORANGE_1, true, cid) 
        setPlayerStorageValue(cid, config.storage, os.time()+config.time)  
        doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]+config.rate)  
        doRemoveItem(item.uid,1) 
        registerCreatureEvent(cid, "ExpStage") 
    else 
        doCreatureSay(cid, "You must finish first exp condition to start other exp condition !", TALKTYPE_ORANGE_1, true, cid) 
    end 
return true 
end 
function onThink(cid, interval) 
    if getPlayerStorageValue(cid, config.register) == 1 then 
        if getPlayerStorageValue(cid, config.storage) <= os.time() then 
            doCreatureSay(cid, "Your extra experience rate has finished! It is now normaly experience rate.", TALKTYPE_ORANGE_1, true, cid) 
            setPlayerStorageValue(cid, config.storage, 0) 
            setPlayerStorageValue(cid, config.register, 0) 
            local oldexp = getPlayerStorageValue(cid, config.expstorage) 
            doPlayerSetExperienceRate(cid, oldexp) 
            unregisterCreatureEvent(cid, "ExpStage") 
        end 
    end 
return true 
end 
function onLogin(cid) 
    if getPlayerStorageValue(cid, config.register) == 1 then 
        registerCreatureEvent(cid, "ExpStage") 
        local rates = getPlayerRates(cid) 
        doCreatureSay(cid, "Your extra experience rate is still here! It is: " .. config.rate .. "x added to your former experience rate.", TALKTYPE_ORANGE_1, true, cid) 
        if getPlayerStorageValue(cid, config.storage) > os.time() then 
        local oldexp = getPlayerStorageValue(cid, config.expstorage) 
        doPlayerSetExperienceRate(cid, oldexp+config.rate) 
        end 
    end     
return true 
end

Configurando:

 

rate = 2, -- número que irá ser multiplicado pela sua exp rate básica (funciona com números quebrados, tais como 1.5 ou 0.2).

storage = 1000, -- storage que irá guardar o tempo

expstorage = 1100, -- storage que irá guardar a xp

register = 1200, -- storage que indica se o player está registrado no mod

time = 14400, -- tempo que falta para o buff do scroll acabar (o tempo é calculado em segundos, ex: 14400 segundos = 24 horas)

 

___________________________________________________________________________________________________________________________________

 

Créditos :

TomCrusher (OTland) - Desenvolveu o sistema

Eu - Traduzi e postei aqui.

  • Respostas 8
  • Visualizações 3.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Volta sim, o script grava o storage dele e reativa a xp, quando ele logar outra vez, o tempo ainda será o mesmo de quando ele deslogou

Postado

Legal esse script, eu tinha ele não como mod, mas em action mesmo, agora em mod ficou melhor a instalação e a adaptação!

Única coisa que eu acho que esses mods de xp boost é que tipo, se o player deslogar, ele não volta com o restante de tempo né?

rxtoGjF.jpg 

Postado
  • Autor

Volta sim, o script grava o storage dele e reativa a xp, quando ele logar outra vez, o tempo ainda será o mesmo de quando ele deslogou

Postado

Olá, GBDias.

 

Primeiramente gostaria de agradecer pela contribuição com a comunidade :D

Sempre gostei de scripts que usam tempo, não sei como, mas eles têm alguma mágica que não sei explicar.

Não pude deixar de notar que esse script está utilizando o creatureevent onThink, ele é bastante útil, mas para um servidor que possui muitos players o uso dele se torna inviável. Porque ele fica fazendo verificações muito rapidamente e isso causa um lag absurdo no servidor.

 

Abraço.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Postado
  • Autor

Olá, GBDias.

 

Primeiramente gostaria de agradecer pela contribuição com a comunidade :D

Sempre gostei de scripts que usam tempo, não sei como, mas eles têm alguma mágica que não sei explicar.

Não pude deixar de notar que esse script está utilizando o creatureevent onThink, ele é bastante útil, mas para um servidor que possui muitos players o uso dele se torna inviável. Porque ele fica fazendo verificações muito rapidamente e isso causa um lag absurdo no servidor.

 

Abraço.

Isso é verdade, o lag fica muito alto dependendo do modo que você utiliza, não existem scripts perfeitos né, ele é bom mas seu lado ruim também é bem caro.

 

Mas vou dar uma analisada melhor no script, se não me engano, foi la pela OTland mesmo que vi que é possivel que você configure no script, de modo que o onThink se torne muito mais leve de acordo com o seu servidor, vou pesquisar mais sobre o assunto e posto aqui para você.

 

Att.

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