Postado Novembro 5, 2015 9 anos Só avisando não foi eu quem fiz! Mas achei interessante passar para todos, pois é difícil encontrar um script desses que é da época do Epa. Testado em: Servidor Styller Yourots Premium versão 1.1.2Nome: Scroll que multiplica exp por um determinado tempo.Instalação: Action Vamos ao script. Na pasta scripts, em actions, crie um arquivo lua com esse script. XXXXX.lua (Escolha um nome para seu script). Ex: Scrollexp.lua function onUse(cid, item, frompos, item2, topos) local pausa = 30*60*1000 -- "1000 = 1 segundo" Tempo que durará a exp multiplicada! "a adicionada dura 15min" local texto = "Voce Recebeu, 3x de exp por, 15min" -- Texto que aparece ao utilizar o Scroll. Pode mudar como quizer, Ex: "Utilizando o Scroll, agora você receberá 5x a mais de exp...." textofinal = "Seu tempo acabou." -- Texto que finaliza o scroll, avisando que o tempo terminou. Igual ao de cima! local exp = 3 -- Por quanto X será multiplicada a experiencia do jogador quando der use no item. Exp de 20x - usando multiplicará para 60x por 15min. expfinal = 1 -- A exp que retornará ao player, que utilizar, caso coloque 2 ou mais o personagem ganhará Eterno xp multiplicada. Isso serve para exp voltar ao normal. if item.itemid == XXXX then -- Id do Item que servirá como Sua Scroll. Mude o XXXX por o ID de sua escolha. doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) doPlayerSendTextMessage(cid,22,texto) addEvent(potion,pausa,cid) end end function potion(pos, cid) doPlayerSetExperienceRate(pos,expfinal) doPlayerSendTextMessage(pos,22,textofinal) end Em actions.xml (faça isso junto com o nome que você criou seu script.) <action itemid="XXXX" event="script" value="XXXX.lua" /> Escreva em XXXX.lua o nome que você criou para sua script. E em ItemID="Coloque ID escolhido na citação anterior." Há o outro script feito por @vankk, podem estar utilizando-o pois já é mais atualizado que este de cima! local config = { rate = 3.0, -- Rate que vai ficar o Scroll. time = 24, -- Tempo dado pelo Scroll. storage = 20011 } local function endExpRate(cid) if not isPlayer(cid) then return end doPlayerSetRate(cid, SKILL__LEVEL, 6.0) setPlayerStorageValue(cid, config.storage, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your extra experience time has ended.") end function onUse(cid, item, fromPosition, itemEx, toPosition) local timeLeft = getPlayerStorageValue(cid, 20011) if timeLeft > os.time() then local timeTable = os.date('*t', timeLeft - (os.time() + 3600)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("You still have %d %s %d %s %d %s left of extra experience.", timeTable.hour, timeTable.hour > 1 and "hours" or "hour", timeTable.min, timeTable.min > 1 and "minutes" or "minute", timeTable.sec, timeTable.sec > 1 and "seconds" or "second")) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("Your extra experience rate is now: %d. It will last for %d hours.", config.rate, config.time)) doPlayerSetRate(cid, SKILL__LEVEL, config.rate) setPlayerStorageValue(cid, config.storage, os.time() + config.time * 3600 * 1000) addEvent(endExpRate, config.time * 3600 * 1000, cid) doRemoveItem(item.uid, 1) return true end Pelo que entendi do Script, corrijam se eu estiver Errado, você deverá adicionar a action ID na tag e adicionar isto no item! Relembrando esse script, não é meu era um script que tinha guardado a anos, e não o vi na internet e gostaria de mostrar para vocês. Não fui o criador dele, mesmo que seja tão simples. Créditos ao verdadeiro dono seja ele quem for! AndreAzevedo Postagens Mapping Criando uma Hunt Com Imagens Outros Scroll Multiplica XP/MIN Editando/Criando Itens Vip/Comuns Idéia de Evento
Postado Novembro 6, 2015 9 anos Olá amigo, seria interessante você colocar a versão do servidor em que este script foi testado e também utilizar a tag de code ao invés dos quotes. Aguardo um retorno para que eu possa aprovar seu tópico.
Postado Novembro 6, 2015 9 anos Autor 19 horas atrás, Matk disse: Olá amigo, seria interessante você colocar a versão do servidor em que este script foi testado e também utilizar a tag de code ao invés dos quotes. Aguardo um retorno para que eu possa aprovar seu tópico. Atualizei, mas não tem code Lua. utilizei o Sql, se caso queira eu modifico para xml tbm, mas vai continuar errado igual! AndreAzevedo Postagens Mapping Criando uma Hunt Com Imagens Outros Scroll Multiplica XP/MIN Editando/Criando Itens Vip/Comuns Idéia de Evento
Postado Novembro 7, 2015 9 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
Postado Novembro 11, 2015 9 anos Que tal assim? local config = { rate = 3.0, time = 24, storage = 20011 } local function endExpRate(cid) if not isPlayer(cid) then return end doPlayerSetRate(cid, SKILL__LEVEL, 6.0) setPlayerStorageValue(cid, config.storage, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your extra experience time has ended.") end function onUse(cid, item, fromPosition, itemEx, toPosition) local timeLeft = getPlayerStorageValue(cid, 20011) if timeLeft > os.time() then local timeTable = os.date('*t', timeLeft - (os.time() + 3600)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("You still have %d %s %d %s %d %s left of extra experience.", timeTable.hour, timeTable.hour > 1 and "hours" or "hour", timeTable.min, timeTable.min > 1 and "minutes" or "minute", timeTable.sec, timeTable.sec > 1 and "seconds" or "second")) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("Your extra experience rate is now: %d. It will last for %d hours.", config.rate, config.time)) doPlayerSetRate(cid, SKILL__LEVEL, config.rate) setPlayerStorageValue(cid, config.storage, os.time() + config.time * 3600 * 1000) addEvent(endExpRate, config.time * 3600 * 1000, cid) doRemoveItem(item.uid, 1) return true end Discord: vankk #7765 Precisando de ajuda? Entre em contato comigo via Discord. Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.
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.