Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
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

  • Respostas 8
  • Visualizações 409
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Posted Images

Postado
  • Autor
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

Postado
  • 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:

 

Postado
  • Autor
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

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