Ir para conteúdo
  • Cadastre-se

Normal Exp Potion Mostrando o Horario


Posts Recomendados

fala galera do TK,

to usando uma xp potion no meu servidor sistema de actions,

ela ativa tudo certim bonitinho, porém não está mostrando os horários,

Alguem consegueria colocar para mostrar o horario tipow assim!

 

O Efeito da Exp Potion 3x Acabara em Xminutos, Xsegundos

Aparecer com esse efeito

"creatureEvent(doPlayerSendCancel,"

 

actions/potionx3

Spoiler

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end
 
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end 

 

Link para o post
Compartilhar em outros sites
5 horas atrás, mateusmoretti disse:

fala galera do TK,

to usando uma xp potion no meu servidor sistema de actions,

ela ativa tudo certim bonitinho, porém não está mostrando os horários,

Alguem consegueria colocar para mostrar o horario tipow assim!

 

O Efeito da Exp Potion 3x Acabara em Xminutos, Xsegundos

Aparecer com esse efeito

"creatureEvent(doPlayerSendCancel,"

 

actions/potionx3

  Ocultar conteúdo

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end
 
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end 

 

Quando via mostrar essa mensagem , so quando ele usar?

Link para o post
Compartilhar em outros sites
Agora, Gustavo Ntos disse:

Quando via mostrar essa mensagem , so quando ele usar?

Sim, ele de use na xp potion e ela mostra quanto minutos falta para acabar!

 

Link para o post
Compartilhar em outros sites
Agora, mateusmoretti disse:

Sim, ele de use na xp potion e ela mostra quanto minutos falta para acabar!

 

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end
 
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)

doPlayerSendCancel(cid, "o Efeito da Potion de Xp ira durar 3 horas, Aproveite.!")
end 

Link para o post
Compartilhar em outros sites
2 minutos atrás, Gustavo Ntos disse:

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end
 
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)

doPlayerSendCancel(cid, "o Efeito da Potion de Xp ira durar 3 horas, Aproveite.!")
end 

aonde foi que voce editou? poderia me mostrar para eu poder entender e aprender?

Link para o post
Compartilhar em outros sites
1 minuto atrás, mateusmoretti disse:

aonde foi que voce editou? poderia me mostrar para eu poder entender e aprender?

Adicionei essa mensagem> doPlayerSendCancel(cid, "o Efeito da Potion de Xp ira durar 3 horas, Aproveite.!")

( Penultima linha ) , --esta script e meio confusa.

Link para o post
Compartilhar em outros sites
1 minuto atrás, Gustavo Ntos disse:

Adicionei essa mensagem> doPlayerSendCancel(cid, "o Efeito da Potion de Xp ira durar 3 horas, Aproveite.!")

( Penultima linha ) , --esta script e meio confusa.

entendi,

mais ai no caso ele não vai fica aparencendo quanto tempo falta para acabar ne?

vamos supor usei uma potion x3 agora 17.20

ai aparecera a mensagem

"você acabou de usar uma potion 3x por 30 minutos"

ai no servidor aparecerá

"sua exp potion 3x terminara em xminutos,xsegundo"

Link para o post
Compartilhar em outros sites
1 minuto atrás, mateusmoretti disse:

entendi,

mais ai no caso ele não vai fica aparencendo quanto tempo falta para acabar ne?

vamos supor usei uma potion x3 agora 17.20

ai aparecera a mensagem

"você acabou de usar uma potion 3x por 30 minutos"

ai no servidor aparecerá

"sua exp potion 3x terminara em xminutos,xsegundo"

Não entendi tu quer que pessoa saiba quando vai acabar a potion? teria que ser um talkactions? tipo !xp ai fala o tempo de 3xp restante

Link para o post
Compartilhar em outros sites
2 minutos atrás, Gustavo Ntos disse:

Não entendi tu quer que pessoa saiba quando vai acabar a potion? teria que ser um talkactions? tipo !xp ai fala o tempo de 3xp restante

queria que na actions aparece a mensagem tipow essa

 

Spoiler

  if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
    end

essa mensagem ela esta na mods

Link para o post
Compartilhar em outros sites
7 minutos atrás, mateusmoretti disse:

queria que na actions aparece a mensagem tipow essa

 

  Ocultar conteúdo

  if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
    end

essa mensagem ela esta na mods

Manda todos o mod

Link para o post
Compartilhar em outros sites
Agora, Gustavo Ntos disse:

Manda todos o mod

eu usava sistema de mods,

porém ele tava todo bugado

se eu usar a xp potion, ele ativa, se eu morrer ou relogar ja era podia ficar 1 semana online nao conseguia mais usar qualquer xp potion porque falava que estava ativa,

ai eu trokei o sistema por actions

essa xp potion ela e actions, e está funcionando certim, 

so queria colocar para aparecer horario no scripts.

 

Link para o post
Compartilhar em outros sites
4 minutos atrás, Sekk disse:

manda o mod mano

 

 

mods

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 = {FALSE, level = 50},
costmana = {true, mana = 30},
addrate = 3, -- 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="9942" event="script"><![CDATA[
domodlib('PotionExpConfigs')
if getPlayerStorageValue(cid, 62164) >= 1 then
    return doPlayerSendCancel(cid, "Voce ja ta Sob o Efeito da Exp Potion 3x.")
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 Exp Potion 3x.")
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 Exp Potion 3x")
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 Exp Potion 3x.")
end
creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O Efeito da Exp Potion 3x 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 3x EXP !.")
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, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
    end
return TRUE
]]></creaturescript>
</mod>

 

 

 

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Tenta ai, é actions ainda:

Spoiler

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
time = 30
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end

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, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

 

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Sekk disse:

Tenta ai, é actions ainda:

  Mostrar conteúdo oculto


function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
time = 30
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end

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, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

 

 

testei aqui

e deu isso

[Error - Action Interface] data/actions/scripts/expox3.lua:onUse Description: data/actions/scripts/expox3.lua:43: attempt to call global 'creatureEvent' (a nil value) stack traceback: data/actions/scripts/expox3.lua:43: in function

 

Unica coisa que fiz foi mudar a storage,

e que voce colocou era "62164"

e da potion e "49016"

Link para o post
Compartilhar em outros sites
1 hora atrás, mateusmoretti disse:

testei aqui

e deu isso

[Error - Action Interface] data/actions/scripts/expox3.lua:onUse Description: data/actions/scripts/expox3.lua:43: attempt to call global 'creatureEvent' (a nil value) stack traceback: data/actions/scripts/expox3.lua:43: in function

 

Unica coisa que fiz foi mudar a storage,

e que voce colocou era "62164"

e da potion e "49016"

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
time = 30
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end

for i = (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso))), 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, limitedeuso))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))*1000, cid, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

Link para o post
Compartilhar em outros sites
2 minutos atrás, Gustavo Ntos disse:

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
time = 30
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end

for i = (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso))), 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, limitedeuso))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))*1000, cid, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

adicionei seu scripts,

e dei reload e deu isso

 

[Error - LuaInterface::loadFile] data/actions/scripts/expox3.lua:1: '=' expected near 'onUse' [Error - Event::checkScript] Cannot load script (data/actions/scripts/expox3.lua) data/actions/scripts/expox3.lua:1: '=' expected near 'onUse'

Link para o post
Compartilhar em outros sites
3 minutos atrás, mateusmoretti disse:

adicionei seu scripts,

e dei reload e deu isso

 

[Error - LuaInterface::loadFile] data/actions/scripts/expox3.lua:1: '=' expected near 'onUse' [Error - Event::checkScript] Cannot load script (data/actions/scripts/expox3.lua) data/actions/scripts/expox3.lua:1: '=' expected near 'onUse'

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
local textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
local expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
local time = 30
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end

for i = (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso))), 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, limitedeuso))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))*1000, cid, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

Link para o post
Compartilhar em outros sites
2 horas atrás, Gustavo Ntos disse:

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 3x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
local textofinal = "Acabou a Exp Potion 3x." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 3 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server.
local expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal.
local limitedeuso = 49016
local textofinal1 = "Você já esta sob efeito da Exp Potion 3x espere o efeito acabar."
local seuitem = 9942 -- seu item que dará double exp
local efeito2 = 35 -- efeito que acontecera no momento que usar a pot
local time = 30
 
 
--fim da parte configuravel não mecha se nao tiver conhecimento de scripting
local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais.
 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
if item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
     setPlayerStorageValue(cid, limitedeuso, os.time() + 1800)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
 
  
elseif item.itemid == seuitem and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then
  doPlayerSendTextMessage(cid,22,textofinal1)
end

for i = (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso))), 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, limitedeuso))) then
  creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))*1000, cid, "O Efeito da Exp Potion 3x Termina em.")
  end
  creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, limitedeuso)))-i)*1000, cid, "O Efeito da Exp Potion 3x Termina em "..a..".")
  end
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

Consegui fazer do jeito que eu queria!

Quando o player relogar, ou morrer ele poder usar a Exp Potion novamente,

e aparecendo os minutos, e os segundos do tempo da Exp Potion...

Como eu resolvi, simples criei um scripts no Creaturescripts com a storage, e registrei ele no login.lua

a storage que eu editei no Creaturescripts usei a mesma na mods,

Ai funcionou perfeitamente!

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 5 months later...
Em 05/02/2017 ás 23:56, mateusmoretti disse:

Consegui fazer do jeito que eu queria!

Quando o player relogar, ou morrer ele poder usar a Exp Potion novamente,

e aparecendo os minutos, e os segundos do tempo da Exp Potion...

Como eu resolvi, simples criei um scripts no Creaturescripts com a storage, e registrei ele no login.lua

a storage que eu editei no Creaturescripts usei a mesma na mods,

Ai funcionou perfeitamente!

cara teria como você mostrar como fez ? queria faze isso tbm com minhas exps 

Mesmo desacreditado e ignorado por todos, não posso desistir, pois para mim, vencer é nunca desistir !

 

                                                     tibiagif.gif

 

                                                    (y)  :trollface: By: Thenebrozo  :HAHAHA:  (y) 

 

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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo