Ir para conteúdo

Posts Recomendados

Protocolo (versão do Tibia): 8.60

Servidor utilizado: TheForgottenServer - Distro DEV_0.4

Nível de experiência: Basíco

Adicionais/Informações: Olá. Eu queria fazer um item que dava EXP em dobro, o item que eu quero usar é o ID: 12468.

Eu queria que fosse assim: Quando o player clicar nele ele da EXP em DOBRO e logo em seguida o item sumi-se, o item so poderia dar pra uzar 1 vez, ai ele da EXP em DOBRO por 1 hora. Se alguem souber como faz me ajuda por favor?

Link para o comentário
https://xtibia.com/forum/topic/182719-item-que-da-dobro-de-experiencia/
Compartilhar em outros sites

data>actions>script faça um arquivo chamado dexp.lua e ponha isso:

local config = {
storage = 12345,
exp = 100, -- em %
tempo = 60, -- em minutos
item = 12468 -- id do item
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid, config.storage) == 1 then
return doPlayerSendCancel(cid, "Você já está com Double EXP.")
end
doPlayerSetExperienceRate(cid, (1+(config.exp/100))+(getPlayerExtraExpRate(cid)/100))
creatureEvent(doPlayerSetExperienceRate, config.tempo*60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(exp/100)))
doPlayerSendTextMessage(cid, "Agora você está com Double EXP.")
setPlayerStorageValue(cid, config.storage, os.time())
creatureEvent(setPlayerStorageValue, config.tempo *60*100, cid, config.storage, 0)
doPlayerRemoveItem(cid, config.item, 1)
return TRUE
end

data>actions>actions.xml e ponha isso:

<action itemid="12468" event="script" value="dexp.lua"/>

data>creaturescripts>scripts e crie um arquivo com o nome ddexp.lua e ponha isso:

local config = {
storage = 12345,
exp = 100, -- em %
tempo = 60 -- em minutos
}
local time = config.tempo
function onLogin(cid)
if os.time()-getPlayerStorageValue(cid, storage) < time *60 then
doPlayerSetExperienceRate(cid, (1+(config.exp/100))+(getPlayerExtraExpRate(cid)/100))
creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, config.storage))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(config.exp/100)))
creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, config.storage))) * 1000 , cid, config.storage, 0)
end
end

depois vá em data>creaturescripts>creaturescripts.xml e ponha isso:

<event type="login" name="PlayerLogin" event="script" value="ddexp.lua"/>

 

Não deu pra testar mas tentei

Link para o comentário
https://xtibia.com/forum/topic/182719-item-que-da-dobro-de-experiencia/#findComment-1219485
Compartilhar em outros sites

×
×
  • Criar Novo...