Ir para conteúdo

Featured Replies

Postado

Bom dia galera blz,

Bom estou com uma dificuldade na seguinte forma,

estou usando um script de exp potion 100% funcional,  não da erro ele funciona normalmente,

porém eu uso a potion 2x, caso eu relogo eu consigo usa-la novamente,

agora eu criei outra xp potion, mudei a storage, mudei o id da potion, ela usa normal, funcionando 100%, porém se eu relogar ou morrer eu tenho que esperar o efeito dela acabar,

mais a potion 2x normal, usei, morri ou reloguei consigo usar novamente, 

agora as outras potion que pretendo criar eu tenho que esperar o efeito acabar!

 

Alguem poderia me explicar oque modificar, e onde modificar para as potion ficarem igual a 2x, morrendo ou relogando usando todas potion normais!!

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 2x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 2 -- 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 = 49015
local tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local textofinal1 = "Você já esta sob efeito da pot de experiência espere o efeito acabar."
local seuitem = 7443 -- seu item que dará double exp
local efeito2 = 40 -- 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 

 

  • Respostas 18
  • Visualizações 2.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • O Jeito mais simples, sem duvidas de arrumar. Abre o creaturescripts, login.lua Lá no meio coloca o seguinte: setPlayerStorageValue(cid, storage, 0) Quantas vezes forem necessárias

Postado

Não entendi muito bem sua explicação, mas acho que é isso 

 

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 2x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 2 -- 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 tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local seuitem = 7443 -- seu item que dará double exp
local efeito2 = 40 -- 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 then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end 

Cuidado ao copiar, editei :D

Editado por Noob II (veja o histórico de edições)

Postado
  • Autor
7 minutos atrás, Noob II disse:

Não entendi muito bem sua explicação, mas acho que é isso 

 

 


function onUse(cid, item, frompos, item2, topos)
local texto = "Você Aumentou 2x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 2 -- 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 seuitem = 7443 -- seu item que dará double exp
local efeito2 = 40 -- efeito que acontecera no momento que usar a pot

 
      function effect()
         if isPlayer(cid) then
            local pos = getCreaturePosition(cid)
            doSendMagicEffect(pos, efeito1)
         end
      end
         
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
    doPlayerSendTextMessage(cid,22,texto)
 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end 

 

esse script ele funciona 100%, se eu usar a potion 7443 ela ativa minha 2x amais, ai se eu morrer ou relogar, eu consigo usar novamente,

porém eu estou tentando usar mesmo scripts mudando somente a storage, e quando eu uso outra potion, fala que eu tenho que esperar termina o efeito da potion,

não consigo entender porque a 1, funciona certim, e as outras potion não da pra eu usar se eu morrer ou relogar.!

 

e ja vi oque voce fez, porém, o script nunca vai funcionar, pois ele não tem tempo! ele so vai ativar a potion e nunca vai funcionar!

Editado por mateusmoretti (veja o histórico de edições)

Postado
7 minutos atrás, mateusmoretti disse:

esse script ele funciona 100%, se eu usar a potion 7443 ela ativa minha 2x amais, ai se eu morrer ou relogar, eu consigo usar novamente,

porém eu estou tentando usar mesmo scripts mudando somente a storage, e quando eu uso outra potion, fala que eu tenho que esperar termina o efeito da potion,

não consigo entender porque a 1, funciona certim, e as outras potion não da pra eu usar se eu morrer ou relogar.!

 

Deve ser porque o script está com limite de uso, troque para esse e veja se ainda acontece a mesma coisa

 

function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 2x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 2 -- 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 tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local seuitem = 7443 -- seu item que dará double exp
local efeito2 = 40 -- 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 then
  doRemoveItem(item.uid,1)
   doPlayerSetExperienceRate(cid,exp)
    doSendMagicEffect(frompos,efeito2)
    doPlayerSendTextMessage(cid,22,texto)
addEvent(potion,pausa,cid)
end 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

OBS: troque esse somente pelos script dos potions que estão com limite (os que você criou)

Editado por Noob II (veja o histórico de edições)

Postado
  • Autor
Agora, Noob II disse:

 

Deve ser porque o script está com limite de uso, troque para esse e veja se ainda acontece a mesma coisa

 

 


function onUse(cid, item, frompos, item2, topos)
local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará
local texto = "Você Aumentou 2x sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion.
textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar.
local exp = 2 -- 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 tempo = 30*60*1000 -- 1000 = 1s então 1000 vezes 60 vezes 30 = 30 minutos
local seuitem = 7443 -- seu item que dará double exp
local efeito2 = 40 -- 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 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)
end 
return true
end
 
 
function potion(cid)
doPlayerSetExperienceRate(cid,expfinal)
doPlayerSendTextMessage(cid,22,textofinal)
end

 

OBS: troque esse somente pelos script dos potions que estão com limite (os que você criou)

Vou testa, poderia me explicar onde foi que voce modificou?

 

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