Postado Agosto 20, 2017 7 anos 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?
Postado Agosto 21, 2017 7 anos 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
Postado Agosto 21, 2017 7 anos 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: Email: [email protected] Discord: Dwarfer#2715
Postado Agosto 22, 2017 7 anos 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.