Ir para conteúdo

[Encerrado] [ Duvida ] Scripts de EXP POTION.


DriGuiins

Posts Recomendados

Seguinte Minha exp potion ela depois que usam pelo primeira vezes, fala que o player já esta sobre efeito da potion.

 

 

Uso a seguinte scripts MODS :

<?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 = 50},

costmana = {TRUE, mana = 300},

addrate = 50, -- 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="2015" event="script"><![CDATA[

domodlib('PotionExpConfigs')

if getPlayerStorageValue(cid, 62164) >= 1 then

return doPlayerSendCancel(cid, "You are already taking effect from this item.")

end

 

if configs.needpa and not isPremium(cid) then

return doPlayerSendCancel(cid, "You need to be a premmium account to use this item.")

end

 

if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then

return doPlayerSendCancel(cid, "You need to be level " .. configs.needlvl.level .. " to use this item.")

end

 

if configs.costmana[1] then

if getCreatureMana(cid) < configs.costmana.mana then

return doPlayerSendCancel(cid, "You need " .. configs.costmana.mana .. " mana to use this item.")

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, "The effect of the exp potion end.")

end

creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "The effect of the exp potion will end in "..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 ira receber mais exp por matar os mosntros.")

setPlayerStorageValue(cid, 62164, os.time())

creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0)

return TRUE

]]></action>

 

<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[

domodlib('PotionExpConfigs')

local time = configs.time

if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then

doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))

creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))

creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0)

 

for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 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, 62164))) then

creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "The effect of the exp potion end.")

end

creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "The effect of the exp potion will end in "..a..".")

end

end

return TRUE

]]></creaturescript>

</mod>

 

 

Alguem poder ajudar agradeço ...

 

Pow ninguém sabe me disse o que ta acontecendo não ? wacko.png

Link para o comentário
Compartilhar em outros sites

Não entendi bem, quer que ela possa ser usada varias vezes?

 

Seguinte Minha exp potion ela depois que usam pelo primeira vezes, fala que o player já esta sobre efeito da potion.

 

 

Uso a seguinte scripts MODS :

<?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 = 50},

costmana = {TRUE, mana = 300},

addrate = 50, -- 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="2015" event="script"><![CDATA[

domodlib('PotionExpConfigs')

if getPlayerStorageValue(cid, 62164) >= 1 then

return doPlayerSendCancel(cid, "You are already taking effect from this item.")

end

 

if configs.needpa and not isPremium(cid) then

return doPlayerSendCancel(cid, "You need to be a premmium account to use this item.")

end

 

if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then

return doPlayerSendCancel(cid, "You need to be level " .. configs.needlvl.level .. " to use this item.")

end

 

if configs.costmana[1] then

if getCreatureMana(cid) < configs.costmana.mana then

return doPlayerSendCancel(cid, "You need " .. configs.costmana.mana .. " mana to use this item.")

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, "The effect of the exp potion end.")

end

creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "The effect of the exp potion will end in "..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 ira receber mais exp por matar os mosntros.")

setPlayerStorageValue(cid, 62164, os.time())

creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0)

return TRUE

]]></action>

 

<creaturescript type="login" name="ExpPotion" event="script"><![CDATA[

domodlib('PotionExpConfigs')

local time = configs.time

if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then

doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100))

creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100)))

creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0)

 

for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 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, 62164))) then

creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "The effect of the exp potion end.")

end

creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "The effect of the exp potion will end in "..a..".")

end

end

return TRUE

]]></creaturescript>

</mod>

 

 

Alguem poder ajudar agradeço ...

 

Pow ninguém sabe me disse o que ta acontecendo não ? wacko.png

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 5 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...