Postado Fevereiro 3, 2017 8 anos 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
Postado Fevereiro 3, 2017 8 anos 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 Fevereiro 3, 2017 8 anos por Noob II (veja o histórico de edições)
Postado Fevereiro 3, 2017 8 anos 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 Fevereiro 3, 2017 8 anos por mateusmoretti (veja o histórico de edições)
Postado Fevereiro 3, 2017 8 anos 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 Fevereiro 3, 2017 8 anos por Noob II (veja o histórico de edições)
Postado Fevereiro 3, 2017 8 anos 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.