Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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.2
Nome: Scroll que multiplica exp por um determinado tempo.
Instalação: Action
 

separador-1.png

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."

separador-1.png

 

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!

Link para o post
Compartilhar em outros sites

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. 

 

Link para o post
Compartilhar em outros sites
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!

Link para o post
Compartilhar em outros sites

51mutNo.png 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.

Link para o post
Compartilhar em outros sites

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.pngDiscord: 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.

Link para o post
Compartilhar em outros sites
12 horas atrás, vankk disse:

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

 

Muito Obrigado irei recolocalo! :) obrigado!

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

@Andre Felipe de Azev

Tomei a liberdade de editar seu post e acrescentar a identação do primeiro script junto com a separação do script que você trouxe e a do vankk.

Sobre o conteúdo em si, ótimo tópico, você está trazendo ótimos conteúdos. Reputado! :rock:

Beijoss

Link para o post
Compartilhar em outros sites
1 minuto atrás, Larissa Azhaurn disse:

@Andre Felipe de Azev

Tomei a liberdade de editar seu post e acrescentar a identação do primeiro script junto com a separação do script que você trouxe e a do vankk.

Sobre o conteúdo em si, ótimo tópico, você está trazendo ótimos conteúdos. Reputado! :rock:

Beijoss

Obrigado @Larissa Azhaurn

Link para o post
Compartilhar em outros sites
  • 3 weeks later...
Spoiler

Lua Script Error: [Action Interface]
data/actions/scripts/other/scrollexp.lua:onUse
data/actions/scripts/other/scrollexp.lua:26: attempt to call global 'doPlayerSetRate' (a nil value)
stack traceback:
        [C]: in function 'doPlayerSetRate'
        data/actions/scripts/other/scrollexp.lua:26: in function <data/actions/scripts/other/scrollexp.lua:17>

 

Link para o post
Compartilhar em outros sites
8 minutos atrás, CyCu991 disse:
  Ocultar conteúdo

Lua Script Error: [Action Interface]
data/actions/scripts/other/scrollexp.lua:onUse
data/actions/scripts/other/scrollexp.lua:26: attempt to call global 'doPlayerSetRate' (a nil value)
stack traceback:
        [C]: in function 'doPlayerSetRate'
        data/actions/scripts/other/scrollexp.lua:26: in function <data/actions/scripts/other/scrollexp.lua:17>

 

Qual a versão do seu TFS?

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Em TFS 1.0 não irar funcionar os scripts do tópico devido a serem scripts feitos para TFS 0.4 :p

discord.pngDiscord: 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.

Link para o post
Compartilhar em outros sites
Em 05/11/2015 14:53:12, Andre Felipe de Azev disse:

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.2
Nome: Scroll que multiplica exp por um determinado tempo.
Instalação: Action
 

separador-1.png

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."

separador-1.png

 

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
Citar

Aqui funcionando Perfeitamente 2h. mais sera que alguem ai conseguira colocar pra aparecer brasileiro? 

18:56 Your extra experience rate is now: 3. It will last for 2 hours. e oque aparece no meu server!!!

 

 

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 05/11/2015 em 10:53, AndreAzevedo disse:

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.2
Nome: Scroll que multiplica exp por um determinado tempo.
Instalação: Action
 

separador-1.png

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."

separador-1.png

 

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!

 

base poketibia

 

nao ta dando exp :/

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por amoxicilina
      Action: Remover skull
       
       
    • Por Dono do WNA
      Andei procurando aqui pelo TK inteiro e não acho um script funcional para um boss room onde o player clica com direito num altar (parecido com uma alavanca) podendo ir sozinho ou com até 10 jogadores ele é teleportado para uma sala com o boss, podendo desafiar ele a cada 20 horas, toda vez que um jogador puxa a alavanca ele checa se tem player na sala e caso tenha, precisa esperar todos os jogadores sairem. Caso o boss esteja vivo sem players dentro da sala ele remove e adiciona um novo assim que puxam a alavanca.

      Achei scripts parecidos no forum porém são todos para TFS 1.x+ e eu uso o 0.4 e nenhum compatível que achei esta funcionando

      TFS 0.4 REV 3996
    • Por cssiqueira
      Bom , minha primeira contribuição aqui no fórum, espero que ajude o pessoal novato assim como me ajudou pois sempre acho scripts para servers antigos mas para esses novos que não usam XML fica difícil, aqui no meu OT funcionou corretamente  estou usando o sistema VIP que insere na database em Account o campo vipdays e viplastday 
       
      OT -> Canary 1.3.0 / Cliente 12.86
       
      Eu criei o arquivo Lua em .: data\scripts\movements\others , O nome vocês que escolhem pode ser televip.lua...viptele.lua....teleportvip.lua fica a seu gosto ?
       
      local config = { teleportActionId = Coloque Aqui o ACTION ID do item de teleport criado em seu RME } local teleVIP = MoveEvent('teleVIP') function teleVIP.onStepIn(player, item, position, fromPosition) if player:getVipDays() == 0 then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_SMALL, "Voce nao tem VIP.") return true end return true end teleVIP:aid(config.teleportActionId) teleVIP:register()  
       
    • Por aicilopmes123
      Gostaria de pedir script de boss em alavanca 8.60, onde o player pode ir solo ou em 4 pessoas. Assim que puxar a alavanca sumona um boss, caso o time morra ele é deletado para o próximo player que for entrar, tendo um exhaust de 20 horas. Agradeço desde já 
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo