Double Exp

Jhony Araujo
em Scripts

Jhony Araujo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/02/17Posts: 19

alguém poderia me arrumar um script de double exp que funcione?, o script que eu tenho ele buga quando o player usa ele e depois de um determinado tempo buga e quando acaba e o player vai usar a double buga diz que está ativada só que não está ativada por que acabou o tempo determinado

TFS: 0.4

Versão 10.31

Yan Oliveira

Yan18
avatar
Moderador
Moderador

INFOS

Grupo: ModeradorRegistrado: 05/06/12Posts: 2221Gênero: Masculino
22 horas atrás, Jhony Araujo disse:

alguém poderia me arrumar um script de double exp que funcione?, o script que eu tenho ele buga quando o player usa ele e depois de um determinado tempo buga e quando acaba e o player vai usar a double buga diz que está ativada só que não está ativada por que acabou o tempo determinado

TFS: 0.4

Versão 10.31

Esse script que você tem é um item?

Jhony Araujo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/02/17Posts: 19

exatamente, irei enviar o script que uso

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="AdvancedExpPotionSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com">
<!-- Configs and Functions -->
<config name="PotionExpConfigs"><![CDATA[
------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE
configs = {
time = 30, ---- TIME IN MINUTES
needpa = TRUE,
needlvl = {TRUE, level = 5},
costmana = {FALSE, mana = 3},
addrate = 100, -- Exp que vai adicionar em %
removeonuse = TRUE
}
function getTime(s)
    local n = math.floor(s / 60)
    s = s - (60 * n)
    return n, s
end
CreatureEventChecker = function(event, ...) -- Colex
    if isCreature(arg[1]) then
   event(unpack(arg))
    end
end
creatureEvent = function(event, delay, ...) -- Colex
    addEvent(CreatureEventChecker, delay, event, unpack(arg))
end
function getPlayerExtraExpRate(cid) -- By MatheusMkalo
    return (getPlayerRates(cid)[8]-1)*100
end
]]></config>
<!-- exppotion.lua -->
<action itemid="6527" event="script"><![CDATA[
domodlib('PotionExpConfigs')
if getPlayerStorageValue(cid, 9069755) >= 1 then
    return doPlayerSendCancel(cid, "Voce ja ta Esta com Double Xp.")
end
if configs.needpa and not isPremium(cid) then
    return doPlayerSendCancel(cid, "Voce Precisar ser Premium Para Usar")
end
if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then
    return doPlayerSendCancel(cid, "Voce Precisa ser " .. configs.needlvl.level .. " Para usar a Potion.")
end
if configs.costmana[1] then
if getCreatureMana(cid) < configs.costmana.mana then
    return doPlayerSendCancel(cid, "Voce Precisar ter " .. configs.costmana.mana .. " de Mana Para usar a Potion")
else
doCreatureAddMana(cid, -configs.costmana.mana)
end
end
if configs.removeonuse then
    doRemoveItem(item.uid, 1)
end
 
for i = configs.time*60, 1, -1 do
local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60))
if #a < 4 then
a = string.sub(a,1,2) .. "0" .. string.sub(a, 3)
end
if i == configs.time*60 then
creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "Double Final de EXP.")
end
creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "Seu Double Xp Vai acabar em "..a..".")
end
doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
doPlayerSendTextMessage(cid, 22, "Agora Voce Esta Recebendo mais EXP por Matar Monstros.")
setPlayerStorageValue(cid, 9069755, os.time())
creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 9069755, 0)
return TRUE
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
local time = configs.time
    if os.time()-getPlayerStorageValue(cid, 9069755) < time *60 then
  doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
  creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 9069755))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
  creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 9069755))) * 1000 , cid, 9069755, 0)
  for i = (time*60-(os.time()-getPlayerStorageValue(cid, 9069755))), 1, -1 do
  local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60))
  if #a < 4 then
  a = string.sub(a,1,2) .. "0" .. string.sub(a, 3)
  end
  if i == (time*60-(os.time()-getPlayerStorageValue(cid, 9069755))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 9069755)))*1000, cid, "O Double Xp acaba em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 9069755)))-i)*1000, cid, "Seu Double Xp vai acabar em "..a..".")
  end
    end
return TRUE
]]></creaturescript>
</mod>

Yan Oliveira

Yan18
avatar
Moderador
Moderador

INFOS

Grupo: ModeradorRegistrado: 05/06/12Posts: 2221Gênero: Masculino
Em 17/03/2020 em 12:20, Jhony Araujo disse:

alguém poderia me arrumar um script de double exp que funcione?, o script que eu tenho ele buga quando o player usa ele e depois de um determinado tempo buga e quando acaba e o player vai usar a double buga diz que está ativada só que não está ativada por que acabou o tempo determinado

TFS: 0.4

Versão 10.31

Bom vamos lá, ficou meio confuso seu pedido. Você mandou um script de item, mas você quer que double exp seja através de item ou pode ser de outra forma? E quanto tempo vai durar?

 

E quando mandar código ou scripts, coloque dentro de spoiler ou da tag código para ficar mais legível.