Postado Dezembro 25, 2016 8 anos Copiando aquele script em um arquivo lua na pasta Actitions. é so criar uma tag no actions Xml com o id do item e setar o nome do arquivo lua. Você queer tfs 1.0 ou outro? Eu axo que é a mesma coisa
Postado Dezembro 25, 2016 8 anos Tfs1.0 , teria como adicionar alguma coisa para que enquanto ele tiver com o dobro de xp ele nao poça usar o item novamente ? Editado Dezembro 25, 2016 8 anos por kinglekke (veja o histórico de edições) OldTaboos24hpor48h.com Inauguração DOMONIGO as 18:00 | 18/03/2018 | Stages | Custom Map |VENHA SER TOP TABOOS!
Postado Dezembro 26, 2016 8 anos 25 minutos atrás, kinglekke disse: Tfs1.0 , teria como adicionar alguma coisa para que enquanto ele tiver com o dobro de xp ele nao poça usar o item novamente ? talvez um checador de storage mais ele ja tem Editado Dezembro 26, 2016 8 anos por lucasvtr1 (veja o histórico de edições)
Postado Dezembro 26, 2016 8 anos olha tentei installar aqui e ficou assim actions/script/other/exp.lua Spoiler function onUse(cid, item, frompos, item2, topos) local pausa = 120*60*120000 -- (1000 = 1 segundos) Tempo que o script durará local texto = "Você dobrou sua Experiencia por 2 Horas" -- Texto que irá receber ao usar a potion. textofinal = "Acabou o seu Bonus 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. remoitem = true --irá remover o item. local limitedeuso = 49015 local tempo = 120*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 = 24810 -- seu item que dará double exp local efeito1 = 13 -- efeito que ficara com o char por meia hora local efeito2 = 35 -- efeito que acontecera no momento que usar a pot local hours = 2 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() + hours*3600) doPlayerSendTextMessage(cid,22,texto) addEvent(potion, pausa, cid) a = 1 while a ~= timeEffect do addEvent(effect, a * 1000) a = a + 1 end 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 e no actions.xml <action itemid="24810" script="other/exp.lua"/> o item some mais nada acontece Obs: acho que falta isto Spoiler function onSay(cid, words, param) if getPlayerStorageValue(cid,49015) - os.time() > 0 then doPlayerSendTextMessage(cid, 23,"Tempo para acabar a Exp Potion:") return true end return true end esse é o erro que aparece Spoiler Editado Dezembro 26, 2016 8 anos por kinglekke (veja o histórico de edições) OldTaboos24hpor48h.com Inauguração DOMONIGO as 18:00 | 18/03/2018 | Stages | Custom Map |VENHA SER TOP TABOOS!
Postado Dezembro 26, 2016 8 anos Não achei uma função especifica na lib. mais tenta trocar por esse script: function onUse(cid, item, frompos, item2, topos) local pausa = 120*60*120000 -- (1000 = 1 segundos) Tempo que o script durará local texto = "Você dobrou sua Experiencia por 2 Horas" -- 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 = 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. remoitem = true --irá remover o item. local rates = getPlayerRates(cid) local limitedeuso = 49015 local tempo = 120*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 = 7440 -- seu item que dará double exp local efeito1 = 13 -- efeito que ficara com o char por meia hora local efeito2 = 35 -- efeito que acontecera no momento que usar a pot local hours = 2 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, rates[SKILL__LEVEL]*exp) doSendMagicEffect(frompos,efeito2) setPlayerStorageValue(cid, limitedeuso, os.time() + hours*3600) doPlayerSendTextMessage(cid,22,texto) addEvent(potion, pausa, cid) a = 1 while a ~= timeEffect do addEvent(effect, a * 1000) a = a + 1 end 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,rates[SKILL__LEVEL]) doPlayerSendTextMessage(cid,22,textofinal) end Axo que ainda vai dar errado. mas se o erro mudar pelo menos ja é alguma coisa. posta as diferenças. Valeu. Eu pus esse script no meu otserver ele é 9.83 e não funcionou. Ele é um OTX. 2.52. Editado Dezembro 26, 2016 8 anos por lucasvtr1 (veja o histórico de edições)
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.