Ir para conteúdo
  • Cadastre-se

(Resolvido)Double Exp Potion Falhando


Ir para solução Resolvido por Dwarfer,

Posts Recomendados

Então, o problema é o seguinte, quando usa uma vez a potion, não permite que eu use de novo, fica constando que eu ja estou sobre o efeito de uma.

 

mod.xml

<?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 = 1500},
costmana = {TRUE, mana = 500},
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="12328" event="script"><![CDATA[
domodlib('PotionExpConfigs')
if getPlayerStorageValue(cid, 49016) >= 1 then
    return doPlayerSendCancel(cid, "Voce ja esta sobre efeito de uma double exp potion.")
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 double exp 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 double exp 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, "Efeito Final da double exp potion.")
end
creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O efeito da double exp potion 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 com a experiencia dobrada.")
setPlayerStorageValue(cid, 49016, os.time())
creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 49016, 0)
return TRUE
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
local time = configs.time
    if os.time()-getPlayerStorageValue(cid, 49016) < time *60 then
  doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
  creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 49016))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
  creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 49016))) * 1000 , cid, 49016, 0)
  for i = (time*60-(os.time()-getPlayerStorageValue(cid, 49016))), 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, 49016))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 49016)))*1000, cid, "O efeito da double exp potion termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 49016)))-i)*1000, cid, "o efeito da double exp potion termina em "..a..".")
  end
    end
return TRUE
]]></creaturescript>
</mod>

 

Link para o post
Compartilhar em outros sites

Isso é uma storage no qual evita que o jogador use a mesmo por muito tempo, basta mudar no script o tempo mínimo para usar novamente, só diminuir aqui "time = 30, ---- TIME IN MINUTES". Coloca um tempo em minutos igual a um minuto, ou então a dois minuto, dependendo do que você queira fazer.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
17 horas atrás, vankk disse:

Isso é uma storage no qual evita que o jogador use a mesmo por muito tempo, basta mudar no script o tempo mínimo para usar novamente, só diminuir aqui "time = 30, ---- TIME IN MINUTES". Coloca um tempo em minutos igual a um minuto, ou então a dois minuto, dependendo do que você queira fazer.

 

Eu entendi, mas mesmo passando o tempo, ele ainda não permite o uso de outra potion

Link para o post
Compartilhar em outros sites
Spoiler

<?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 = 1500},
costmana = {true, mana = 500},
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="12328" event="script"><![CDATA[

domodlib('PotionExpConfigs')

if getPlayerStorageValue(cid, 49016) - os.time() > 0 then
    return doPlayerSendCancel(cid, "Voce ja esta sobre efeito de uma double exp potion.")
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 double exp 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 double exp 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, "Efeito Final da double exp potion.")
end
creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O efeito da double exp potion 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 com a experiencia dobrada.")
setPlayerStorageValue(cid, 49016, configs.time*60 + os.time())
return true
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_restante = getPlayerStorageValue(cid, 49016) - os.time()
    if  tempo_restante <= 0 then
        doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
        creatureEvent(doPlayerSetExperienceRate, tempo_restante*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
        for i = tempo_restante, 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 == (tempo_restante) then
                creatureEvent(doPlayerSendCancel, (tempo_restante)*1000, cid, "O efeito da double exp potion termina em.")
            end
            creatureEvent(doPlayerSendCancel, ((tempo_restante-i)*1000, cid, "o efeito da double exp potion termina em "..a..".")
        end
    end
return true
]]></creaturescript>
</mod>

 

 

Contato:

 

Link para o post
Compartilhar em outros sites
4 horas atrás, Dwarfer disse:
  Mostrar conteúdo oculto


<?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 = 1500},
costmana = {true, mana = 500},
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="12328" event="script"><![CDATA[

domodlib('PotionExpConfigs')

if getPlayerStorageValue(cid, 49016) - os.time() > 0 then
    return doPlayerSendCancel(cid, "Voce ja esta sobre efeito de uma double exp potion.")
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 double exp 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 double exp 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, "Efeito Final da double exp potion.")
end
creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O efeito da double exp potion 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 com a experiencia dobrada.")
setPlayerStorageValue(cid, 49016, configs.time*60 + os.time())
return true
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_restante = getPlayerStorageValue(cid, 49016) - os.time()
    if  tempo_restante <= 0 then
        doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
        creatureEvent(doPlayerSetExperienceRate, tempo_restante*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
        for i = tempo_restante, 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 == (tempo_restante) then
                creatureEvent(doPlayerSendCancel, (tempo_restante)*1000, cid, "O efeito da double exp potion termina em.")
            end
            creatureEvent(doPlayerSendCancel, ((tempo_restante-i)*1000, cid, "o efeito da double exp potion termina em "..a..".")
        end
    end
return true
]]></creaturescript>
</mod>

 

 

seria a correção?

tumblr_o70wteR8521r9n6kzo1_400.gif

Link para o post
Compartilhar em outros sites
Em 20/08/2017 em 13:49, Dwarfer disse:
  Mostrar conteúdo oculto


<?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 = 1500},
costmana = {true, mana = 500},
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="12328" event="script"><![CDATA[

domodlib('PotionExpConfigs')

if getPlayerStorageValue(cid, 49016) - os.time() > 0 then
    return doPlayerSendCancel(cid, "Voce ja esta sobre efeito de uma double exp potion.")
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 double exp 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 double exp 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, "Efeito Final da double exp potion.")
end
creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O efeito da double exp potion 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 com a experiencia dobrada.")
setPlayerStorageValue(cid, 49016, configs.time*60 + os.time())
return true
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_restante = getPlayerStorageValue(cid, 49016) - os.time()
    if  tempo_restante <= 0 then
        doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
        creatureEvent(doPlayerSetExperienceRate, tempo_restante*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
        for i = tempo_restante, 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 == (tempo_restante) then
                creatureEvent(doPlayerSendCancel, (tempo_restante)*1000, cid, "O efeito da double exp potion termina em.")
            end
            creatureEvent(doPlayerSendCancel, ((tempo_restante-i)*1000, cid, "o efeito da double exp potion termina em "..a..".")
        end
    end
return true
]]></creaturescript>
</mod>

 

 

 

Deu esse erro, que crashou

erro.png

Link para o post
Compartilhar em outros sites
  • Solução

Ok, consertei e aproveitei para retirar algumas partes que ao meu ver eram desnecessárias.

 

Spoiler

<?xml version="1.0" encoding="ISO-8859-1"?>
<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 = 1500},
costmana = {true, mana = 500},
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="12328" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_rest = getPlayerStorageValue(cid, 49016) - os.time()
if tempo_rest > 0 then
    doPlayerSendCancel(cid, "Você já está sob efeito de uma double exp potion.")
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Double exp terminará daqui a "..tempo_rest.." segundos.")
    return true
end

if configs.needpa and not isPremium(cid) then
    return doPlayerSendCancel(cid, "Você precisa ser premium para usar.")
end
if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then
    return doPlayerSendCancel(cid, "Você precisa ser " .. configs.needlvl.level .. " para usar a double exp potion.")
end
if configs.costmana[1] then
    if getCreatureMana(cid) < configs.costmana.mana then
        return doPlayerSendCancel(cid, "Você precisa ter " .. configs.costmana.mana .. " de mana para usar a double exp potion.")
    else
        doCreatureAddMana(cid, -configs.costmana.mana)
    end
end
if configs.removeonuse then
    doRemoveItem(item.uid, 1)
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, MESSAGE_INFO_DESCR, "Agora você está com a experiencia dobrada.")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "A double expirará daqui a "..configs.time.." minutos.")
setPlayerStorageValue(cid, 49016, configs.time*60 + os.time())
return true
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_restante = getPlayerStorageValue(cid, 49016) - os.time()
    if  tempo_restante > 0 then
        doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
        creatureEvent(doPlayerSetExperienceRate, tempo_restante*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "A double exp expirará daqui a: "..tempo_restante.." segundos.")
    end
return true
]]></creaturescript>
</mod>

 

 

Contato:

 

Link para o post
Compartilhar em outros sites
20 horas atrás, Dwarfer disse:

Ok, consertei e aproveitei para retirar algumas partes que ao meu ver eram desnecessárias.

 

  Mostrar conteúdo oculto


<?xml version="1.0" encoding="ISO-8859-1"?>
<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 = 1500},
costmana = {true, mana = 500},
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="12328" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_rest = getPlayerStorageValue(cid, 49016) - os.time()
if tempo_rest > 0 then
    doPlayerSendCancel(cid, "Você já está sob efeito de uma double exp potion.")
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Double exp terminará daqui a "..tempo_rest.." segundos.")
    return true
end

if configs.needpa and not isPremium(cid) then
    return doPlayerSendCancel(cid, "Você precisa ser premium para usar.")
end
if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then
    return doPlayerSendCancel(cid, "Você precisa ser " .. configs.needlvl.level .. " para usar a double exp potion.")
end
if configs.costmana[1] then
    if getCreatureMana(cid) < configs.costmana.mana then
        return doPlayerSendCancel(cid, "Você precisa ter " .. configs.costmana.mana .. " de mana para usar a double exp potion.")
    else
        doCreatureAddMana(cid, -configs.costmana.mana)
    end
end
if configs.removeonuse then
    doRemoveItem(item.uid, 1)
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, MESSAGE_INFO_DESCR, "Agora você está com a experiencia dobrada.")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "A double expirará daqui a "..configs.time.." minutos.")
setPlayerStorageValue(cid, 49016, configs.time*60 + os.time())
return true
]]></action>
<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[
domodlib('PotionExpConfigs')
tempo_restante = getPlayerStorageValue(cid, 49016) - os.time()
    if  tempo_restante > 0 then
        doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))
        creatureEvent(doPlayerSetExperienceRate, tempo_restante*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "A double exp expirará daqui a: "..tempo_restante.." segundos.")
    end
return true
]]></creaturescript>
</mod>

 

 

 

vlw cara, ce é o bixao msm

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo