Ir para conteúdo

Featured Replies

Postado

Olá galera do TK

 

Bom, como o título acima aponta, eu gostaria de uma Poção ou qualquer outro Item que eu configurar no Script faça com que eu upe um certo Skill Mais rápido, como um Boost, por exemplo:

 

-Parabéns, você usou a Skill Potion e Agora sua magia está 5 por Cento mais fácil de upar--

-Parabéns, você usou a Skill Potion e Agora seu Fist está 5 por Cento mais fácil de upar--

-Parabéns, você usou a Skill Potion e Agora seu Distance está 5 por Cento mais fácil de upar--  

ETC..

 

Meu Servidor é de Narutitiba [DERIVADO] - TFS 0.4.4 - 8.60

 

Eu tentei alterar um Script do @Vodkart e Alterar, mas sem Sucesso.

OBS: O Script da Potion Exp Está funcionando perfeitamente, Eu gostaria apenas de adaptar pra Um X Skill

Pode ser Todos Skills de uma vez, ou vários Scripts, cada um aumentando x Velocidade de Upar Skill ?

 

Segue o Script da Base da Exp Potion ---> Pasta Mods

 

Agradeço Desde Já.

 

Você tem o código disponível? Se tiver publique-o aqui: 

 <?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Exp Potion" version="1.0" author="Vodkart" contact="DISCORD: vodkart#6090" enabled="yes">
<config name="exppotion"><![CDATA[
exp_info = {rate = 0.2, storage = {354870,354871,354872}, minutes = 30} -- rate 0.2 = 20%
function convertTime(a)
  if(type(tonumber(a)) == "number" and a > 0) then
    if (a <= 3599) then
      local minute = math.floor(a/60)
      local second = a - (60 * minute)
      if(second == 0) then
        return ((minute)..((minute > 1) and " minutos" or " minuto"))
      else
        return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo"))
      end
    else
      local hour = math.floor(a/3600)
      local minute = math.floor((a - (hour * 3600))/60)
      local second = (a - (3600 * hour) - (minute * 60))
      if (minute == 0 and second > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo"))
      elseif (second == 0 and minute > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto"))
      elseif (second == 0 and minute == 0) then
        return (hour..((hour > 1) and " horas" or " hora"))
      end
      return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo"))
    end
  end
end
]]></config>
<event type="login" name="ExpPotionLogin" event="script"><![CDATA[
domodlib('exppotion')
function onLogin(cid)
    if getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() > 0 then 
        registerCreatureEvent(cid, "ExpPotionThink")
        local rates = getPlayerRates(cid)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você ainda tem "..convertTime(getPlayerStorageValue(cid, exp_info.storage[1]) - os.time()).." de Ex Scroll.")
        doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]+exp_info.rate)
		setPlayerStorageValue(cid, exp_info.storage[3], 1) -- registro
    end 
	return true
end]]></event>
<event type="think" name="ExpPotionThink" event="script"><![CDATA[
domodlib('exppotion')
function onThink(cid, interval)
	if getPlayerStorageValue(cid, exp_info.storage[3]) > 0 and getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() <= 0 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua Exp Scroll acabou!") 
		-- doPlayerSetExperienceRate(cid, getPlayerStorageValue(cid, exp_info.storage[2]))
		local rates = getPlayerRates(cid)
		doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]-exp_info.rate)
		setPlayerStorageValue(cid, exp_info.storage[3], 0) -- registro
	end
	return true
end]]></event>
<talkaction words="!XpScroll;/ExpScroll;!xp;/XpScroll" event="buffer"><![CDATA[
domodlib('exppotion')
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() <= 0 and "Você não possui Exp Scroll ativa no momento." or "Você tem "..convertTime(getPlayerStorageValue(cid, exp_info.storage[1]) - os.time()).." de Xp Scroll.")]]></talkaction>
<action itemid="14562" event="script"><![CDATA[
domodlib('exppotion')
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() > 0 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não pode usar outra Exp Scroll. Você já possui uma Ativa. E Ainda restam: "..convertTime(getPlayerStorageValue(cid, exp_info.storage[1]) - os.time())..".") return true
	end
	
	local rates = getPlayerRates(cid)
	-- setPlayerStorageValue(cid, exp_info.storage[2], rates[SKILL__LEVEL])
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você ativou Exp Scroll por "..exp_info.minutes.." minutos! Durante este tempo, você receberá +20% Xp Extra de Qualquer Mob. Para saber o tempo, digite: /xpScroll") 
	setPlayerStorageValue(cid, exp_info.storage[1], os.time()+exp_info.minutes*60)
	setPlayerStorageValue(cid, exp_info.storage[3], 1) -- registro
	doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]+exp_info.rate)
	registerCreatureEvent(cid, "ExpPotionThink")
	doRemoveItem(item.uid,1)
	return true
end]]></action>
</mod>

 

 

 

Editado por AidanNarutoHellDust
Remover ultima Linha. (veja o histórico de edições)

  • Respostas 14
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • que estranho, no meu server funcionou, testei num baiak 8.6...   pode ser que a função seja diferente, tenta colocar 2 desse jeito para ver se aumenta a taxa de up     <?xml

  • Creio que se editar essa parte da skill resulte: doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]+exp_info.rate) SKILL__LEVEL para a skill desejada, confere se está adicionando uma skill e

  • n testei   <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Exp Potion" version="1.0" author="Vodkart" contact="DISCORD: vodkart#6090" enabled="yes"> <config name="exppot

Posted Images

Postado
  • Autor
1 hora atrás, Nysman disse:

Creio que se editar essa parte da skill resulte:

doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]+exp_info.rate)

SKILL__LEVEL para a skill desejada, confere se está adicionando uma skill existente.

troque todos.

Agradeço a atenção.

Vou Alterar o Script e Testar, caso haja algum erro ou algo inalterado eu te retorno. 

 

Só uma dúvida, como eu já possuo o Exp Scroll, é só alterar a storage e o nome dos Eventos no Script, certo?

Postado
27 minutos atrás, AidanNarutoHellDust disse:

Agradeço a atenção.

Vou Alterar o Script e Testar, caso haja algum erro ou algo inalterado eu te retorno. 

 

Só uma dúvida, como eu já possuo o Exp Scroll, é só alterar a storage e o nome dos Eventos no Script, certo?

Exato.

Postado
  • Autor
20 minutos atrás, Nysman disse:

Exato.

image.thumb.png.b5459f76733a0caa137627cb1251d45f.png

 

Erro, troquei os storages e o Nome dos Eventos, mesmo assim deu bug.

só aparece a mensagem, mas não remove o Scroll também:

image.thumb.png.4229a2eace714004da78c0e2ff9c8442.png

 

Segue o Script:

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Taijutsu Potion" version="1.0" author="Vodkart" contact="DISCORD: vodkart#6090" enabled="yes">
<config name="fistpotion"><![CDATA[
exp_info = {rate = 0.2, storage = {354875,354876,354877}, minutes = 30} -- rate 0.2 = 20%
function convertTime(a)
  if(type(tonumber(a)) == "number" and a > 0) then
    if (a <= 3599) then
      local minute = math.floor(a/60)
      local second = a - (60 * minute)
      if(second == 0) then
        return ((minute)..((minute > 1) and " minutos" or " minuto"))
      else
        return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo"))
      end
    else
      local hour = math.floor(a/3600)
      local minute = math.floor((a - (hour * 3600))/60)
      local second = (a - (3600 * hour) - (minute * 60))
      if (minute == 0 and second > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo"))
      elseif (second == 0 and minute > 0) then
        return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto"))
      elseif (second == 0 and minute == 0) then
        return (hour..((hour > 1) and " horas" or " hora"))
      end
      return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo"))
    end
  end
end
]]></config>
<event type="login" name="Taijutsupotionlogin" event="script"><![CDATA[
domodlib('fistpotion')
function onLogin(cid)
    if getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() > 0 then 
        registerCreatureEvent(cid, "FistPotionThink")
        local rates = getPlayerRates(cid)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você ainda tem "..convertTime(getPlayerStorageValue(cid, exp_info.storage[1]) - os.time()).." de Ex Scroll.")
        doPlayerSetExperienceRate(cid, rates[SKILL__FIST]+exp_info.rate)
        setPlayerStorageValue(cid, exp_info.storage[3], 1) -- registro
    end 
    return true
end]]></event>
<event type="think" name="FistPotionThink" event="script"><![CDATA[
domodlib('fistpotion')
function onThink(cid, interval)
    if getPlayerStorageValue(cid, exp_info.storage[3]) > 0 and getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() <= 0 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua Taijutsu Scroll acabou!") 
        -- doPlayerSetExperienceRate(cid, getPlayerStorageValue(cid, exp_info.storage[2]))
        local rates = getPlayerRates(cid)
        doPlayerSetExperienceRate(cid, rates[SKILL__FIST]-exp_info.rate)
        setPlayerStorageValue(cid, exp_info.storage[3], 0) -- registro
    end
    return true
end]]></event>
<talkaction words="!TaijutsuScroll;/TaijutsuScroll;!Tj;/TaijutsuScroll" event="buffer"><![CDATA[
domodlib('fistpotion')
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() <= 0 and "Você não possui Taijutsu Scroll ativa no momento." or "Você tem "..convertTime(getPlayerStorageValue(cid, exp_info.storage[1]) - os.time()).." de Xp Scroll.")]]></talkaction>
<action itemid="14565" event="script"><![CDATA[
domodlib('fistpotion')
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, exp_info.storage[1]) - os.time() > 0 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não pode usar outro Taijutsu Scroll. Você já possui uma Ativa. E Ainda restam: "..convertTime(getPlayerStorageValue(cid, exp_info.storage[1]) - os.time())..".") return true
    end
    
    local rates = getPlayerRates(cid)
    -- setPlayerStorageValue(cid, exp_info.storage[2], rates[SKILL__FIST])
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você ativou o Taijutsu Scroll por "..exp_info.minutes.." minutos! Durante este tempo, você irá Upar Taijutsu +20% Mais Rápido Para saber o tempo, digite: /TaijutsuScroll") 
    setPlayerStorageValue(cid, exp_info.storage[1], os.time()+exp_info.minutes*60)
    setPlayerStorageValue(cid, exp_info.storage[3], 1) -- registro
    doPlayerSetExperienceRate(cid, rates[SKILL__FIST]+exp_info.rate)
    registerCreatureEvent(cid, "FistPotionThink")
    doRemoveItem(item.uid,1)
    return true
end]]></action>
</mod>

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo