Exp Scroll - Configuravel/ensinando Configurar

1579091
em Mods, funções e outros

1579091

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 06/11/11Posts: 1088Char no Tibia: Stroked

..

:: Experience Scroll ::..

Hoje, venho vos trazer o script/mod, Experience Scroll:

Créditos: TomCrusher

» Como funciona??

Voce tem um item, e ao clicar nele, ele sumira, e a experiencia bonus será ativa. A experiencia Bonus terá uma duração de 24horas (Configuravel), e a experiencia normal dele será multiplicada em 2x (Configuravel).

 

» Duvidas provaveis que surgirão:

E se eu logar com a exp ativa?

- Se você logar, o contador não vai parar, e ao voltar, o jogador recebera um aviso, dizendo que a experiencia bonus ainda está ativa.

 

Vamos la:

 

Na pasta Mods do seu OT, crie um arquivo chamado 'expscroll.xml' e dentro cole isto:

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="Experience Stages Scroll" version="1.0" enabled="yes">

<action itemid="9004" event="script" value="expstagescroll.lua"/>

<creatureevent type="think" name="ExpStage" event="script" value="expscroll.lua"/>

<creatureevent type="login" name="ExpStageLogin" event="script" value="expscroll.lua"/>

</mod>

 

 

 

- Em Vermelho é o item que será o exp scroll, que no caso o ItemID é 9004.

 

Depois, na pasta mods/scripts do seu ot (caso não tenha a pasta scripts dentro da sua pasta mods, é só criar normalmente como se foce uma pasta normal.) Dentro da pasta scripts crie um arquivo chamado 'expscroll.lua' e dentro coloque isso:

 

 

 

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, "Sua experiencia extra esta ativa! Agora sua xp está multiplicada em " .. config.rate .. "x.", 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, "Voce ja usou um Experience Scroll, espere ele expirar pra que possa usar outro.", 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, "Sua experiencia bonus se expirou.", 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, "Sua experiencia bonus ainda está ativa, e esta multiplicada por " .. config.rate .. "x.", 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

 

 

 

» Explicação:

 

 

[•] "Rate = 2" -- Isso é em quantas vezes a experiencia dele será multiplicada + 1. No caso se a exp dele for 200x, a exp vai pra 600x, por exemplo, se ele ganha 120 exp matando um bixo, ele vai passar a ganhar 360 exp...

[•] "time = 14400" -- Esse é o tempo que o exp scroll vai ficar ativo, no caso 24horas.

 

[•] São as frases que apareçerão in-game.

 

» Opicional:

Bom, creio que em muitos ots pode acontecer de quando o player der look no item apareçer isso:

You see an item of type 9004, please report it to gamemaster.

Ou então pode apareçer um nome de um iten nada aver...

É simples:

Vai na pasta data/items/items.xml

E dentro do items.xml clique ctrl+f e procure por 9004, se encontrar alguma coisa, apague a linha, e/ou substitua por essa linha aqui (caso não encontre nada, é só adicionar estas linhas no items.xml:

 

<item id="9004" article="a" name="exp scroll">

<attribute key="weight" value="50" />

</item>

 

É isso... Gostou? REP ++!

Guto321

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/08/12Posts: 1

Aí cara! desculpa não entender direito, mas ainda to aprendendo a mexer no ot perfeitamente. Então, fiz aí oque você disse no em um OTserver 8.60, e não funcionou! não está faltando algo?

1579091

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 06/11/11Posts: 1088Char no Tibia: Stroked

Claro que não, não sei nem se você é o TomCrusher, alias eu coloquei os devidos créditos..

rhamer

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 26/10/09Posts: 147Char no Tibia: Rhamer

ei man tipo meu sv e de war ele tbm almenta a xp de player matar player ?

otserver.png

LGV Host ainda vem com proteção ant-ddos gratis

Semi-Dedicado 02
Processador: Intel Power Xeon (1 core)
Memória: 1GB Ram
Hard Disk: 100 GB
Tráfego: Ilimitado
IP: 1 Fixo
Uplink: 1000 Mbps Full Duplex
OS: Windows/Linux
Painel de Reboot: Sim
Valor: R$ 40,00
Melhor oferta

Semi-Dedicado 02
para você que esta "começando com um ot"

1579091

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 06/11/11Posts: 1088Char no Tibia: Stroked

Bom, não sei exatamente, mas creio que almentará... Não fiz o teste, faça você mesmo!

CinabiT

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/08/12Posts: 6

Graças a você, é claro que você não me conhece :)

 

ei man tipo meu sv e de war ele tbm almenta a xp de player matar player ?

que em seguida, alterando as suas taxas de mudar todas as taxas, tanto em guerra e luta simples!

1579091

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 06/11/11Posts: 1088Char no Tibia: Stroked

#Tenso, cara usa google tradutor pra escrever.

CinabiT, não estamos entendendo o que você fala, seu português está muito ruim.

Yamamotosilva

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/06/13Posts: 13

Brow preciso de uma ajudinha, então eu fiz todo processo certo, mais quando do use no scroll ele diz que já usei para esperar terminar para pode usar outro porque acontece isso se não usei nada o,O ??

Se pude me ajudar agradeço...

 

Obrigado.