Postado Maio 20, 2014 11 anos Oi tudo bem galera do tk? Eu estava modificando um script de potion de exp ai estava colocando por player ganhar tal storage quando bebesse a pot, e quando o efeito acabasse ele perdesse o storage(tudo no script esta funcional menos a parte de perder o storage) Script expo.lua function onUse(cid, item, frompos, item2, topos) local pausa = 30*60*1000 -- (1000 = 1 segundos) Tempo que o script durará local texto = "Você dobrou 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 = 49012 local tempo = 1*1*1000 local textofinal1 = "Você já esta sob efeito da pot de experiência espere o efeito acabar." if item.itemid == 9930 and (getPlayerStorageValue(cid, limitedeuso) < 1) then doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) doPlayerSendTextMessage(cid,22,texto) addEvent(potion,pausa,cid) setPlayerStorageValue(cid, limitedeuso, 1) elseif item.itemid == 9930 and (getPlayerStorageValue(cid, limitedeuso) >= 1) then doPlayerSendTextMessage(cid,22,textofinal1) end end function potion(pos, cid) local limitedeuso = 49012 doPlayerSetExperienceRate(pos,expfinal) doPlayerSendTextMessage(pos,22,textofinal) setPlayerStorageValue(cid, limitedeuso, 0) end Se alguem souber pq o storage não volta pro 0 ao acabar o tempo eu agraceço. Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
Postado Maio 20, 2014 11 anos Pq o addEvent é cancelado quando player desloga ou morre Meus trabalhos no fórum
Postado Maio 20, 2014 11 anos Autor Hum... mas ae é so colocar uma função onlogout para setar o storage...Mas não é por isso pra testar coloquei o tempo(pausa em 1s ) pro addevent 1s depois executar as ações.. mas mesmo assim a storage não seta de volta...( a mensagem final que não esta mais sob o efeito é transmitida..) Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
Postado Maio 20, 2014 11 anos não executa porque "pos" não existe... que parametro é esse "pos" que você utilizou? function potion(pos, cid) local limitedeuso = 49012 doPlayerSetExperienceRate(pos,expfinal) doPlayerSendTextMessage(pos,22,textofinal) setPlayerStorageValue(cid, limitedeuso, 0) end você tinha que ter declarado ele antes ou utilizado outro parametro já conhecinho. Eis os conhecidos: function onUse(cid, item, frompos, item2, topos) Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Maio 20, 2014 11 anos Autor EU posso mudar esse pos por topos?(sem erros) ou eu posso declará-lo? Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
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.