Ir para conteúdo
Entre para seguir isso  
tibiaa4e

[Actions] Novas Ideias Para Potions

Recommended Posts

Eu estava vagabundando meditando...

 

E lembrei das injustiças dos potions...

 

AI decidi fazer uma potion justa para leveis altos...

 

Portanto eu apenas modifique a Ultimate Healing Potion, Great Mana Potion e a Great Spirit Potion

 

Deixando elas aumentando por level...

 

E ainda fiz outra modificação que ao inves de você comprar inumeros potions

Você apenas compra um e ao usar ele gasta o valor...

Assim, se vocês estiver caçando e pegar dinheiro

Vai gastando...

Não prescisando sair do hunt

 

 

o script é simples de adicionar

Apenas troque o que há em seu potion.lua localizado em actions/scripts/liquids por:

--Modified by Ta4e--
--For use money and boost last potions--
local config = {
removeOnUse = "no",
usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
splashable = "no",
realAnimation = "no", -- make text effect visible only for players in range 1x1
healthMultiplier = 1.0,
manaMultiplier = 1.0
}

config.removeOnUse = getBooleanFromString(config.removeOnUse)
config.usableOnTarget = getBooleanFromString(config.usableOnTarget)
config.splashable = getBooleanFromString(config.splashable)
config.realAnimation = getBooleanFromString(config.realAnimation)


local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)

calc1 = getPlayerLevel(cid) * 5
calc2 = getPlayerLevel(cid) * 6
calc3 = getPlayerLevel(cid) * 2
calc4 = getPlayerLevel(cid) * 3
calc5 = getPlayerLevel(cid) * 4


local POTIONS = {
[8704] = {empty = 7636, splash = 2, health = {50, 100}, price = 20}, -- small health potion
[7618] = {empty = 7636, splash = 2, health = {100, 200}, price = 45}, -- health potion
[7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins", price = 100}, -- strong health potion
[7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights", price = 190}, -- great health potion
[8473] = {empty = 7635, splash = 2, health = {calc1,calc2}, level = 130, vocations = {4, 8}, vocStr = "knights", price = 310}, -- ultimate health potion

[7620] = {empty = 7636, splash = 7, mana = {70, 130}, price = 50}, -- mana potion
[7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins", price = 80}, -- strong mana potion
[7590] = {empty = 7635, splash = 7, mana = {calc3, calc4}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids", price = 120}, -- great mana potion

[8472] = {empty = 7635, splash = 3, health = {calc3, calc5}, mana = {calc2, calc3}, level = 80, vocations = {3, 7}, vocStr = "paladins", price = 190} -- great spirit potion
}

local potion = POTIONS[item.itemid]
if(not potion) then
	return false
end

if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
	if(not config.splashable) then
		return false
	end

	if(toPosition.x == CONTAINER_POSITION) then
		toPosition = getThingPos(item.uid)
	end

	doDecayItem(doCreateItem(2016, potion.splash, toPosition))
	return true
end

		if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
			doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
			return true
		end

		if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and
			not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then
			doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
			return true
		end

if(doPlayerRemoveMoney(cid, potion.price) == TRUE) then

		local health = potion.health
		if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then
			return false
		end

		local mana = potion.mana
		if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then
			return false
		end

		doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
		if(not realAnimation) then
			doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
		else
			for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do
				if(isPlayer(tid)) then
					doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
				end
			end
		end

		doAddCondition(cid, exhaust)
		if(not potion.empty or config.removeOnUse) then
			doRemoveItem(item.uid)
			return true
		end

		return true
else
	doCreatureSay(itemEx.uid, "You don't have money to use", TALKTYPE_ORANGE_1)
return false
end
end

 

Bem espero comentarios

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa ta4e,funciono certinho aqui no meu ot 8.54.

Mais eu pensei que elas já aumentavam por level,mais se nao aumentavam,agora vai aumentar.

 

Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou muito bom o sistema!

Só temos que tomar cuidado em onde implementar...

Se o server for low rate, uma pots assim pode deixar facil demais ;D

 

Vlws!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa idéia, mas fica muito facil pro cara ^^

Player tem que sofrer um poco pra não fica chato!

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Entre para seguir isso  

  • Conteúdo Similar

    • Por JulioLancetti
      Sistema de Reset por Talkactions com Exhausted para não ser bugado.   Vá em talkaction.xml e adicione : <talkaction words="!resetar;/installreset" event="script" value="resetar.lua"/>   Agora va em talkaction/scripts e crie um arquivo lua chamado resetar.lua e cole dentro do arquivo :   Registre-se para ver spoiler(s).
    • Por PsyMcKenzie
      É um sistema do tipo Ragnarok em que ao usar a talk, o player ficará imóvel e seu life e mana irão subir.

      Vamos ao script!

      Em data/talkactions/scripts, crie um arquivo com o nome de sentar.lua e adicione:




      local sentar = {health = 5, mana = 5}
      local storage = 12345

      function onSay(cid, words)

      if getTilePzInfo(getPlayerPosition(cid)) then
      if getPlayerStorageValue(cid, 12345) == -1 then
      doCreatureSay(cid, "Ahh, vou descansar...", TALKTYPE_MONSTER)
      doSendMagicEffect(getCreaturePosition(cid), 1)
      doPlayerAddHpManaSentar(cid, sentar)
      doCreatureSetNoMove(cid, true)
      setPlayerStorageValue(cid, 12345, 1)
      else
      setPlayerStorageValue(cid, 12345, -1)
      doCreatureSetNoMove(cid, false)
      doCreatureSay(cid, "Já descansei.", TALKTYPE_MONSTER)
      stopEvent(hpmana)
      end
      end
      return true
      end

      function doPlayerAddHpManaSentar(cid, formula)
      if not isCreature(cid) then return true end
      doCreatureAddHealth(cid, formula.health)
      doCreatureAddMana(cid, formula.mana)
      hpmana = addEvent(doPlayerAddHpManaSentar, 5000, cid, formula)
      end[/code]

      [b]Agora em talkactions.xml adicione a tag:[/b]

      <talkaction words="!sentar" event="script" value="sentar.lua"/>

      Imagens:






      É isso ai galera, espero que isso sirva pra alguém.
      Abraços e até semana que vem!




      Créditos: LuckOake por ajudar com storage.
    • Por PokemonBR
      Alguem por favor poderia me passar um script para quest de poketibia que precise passar por tal porta e tal nivel necessario e clicar no bau pra receber premio que no caso e uma stone,e um sem porta tb apenas clicar no bau pra receber o premio ,stone ,pokemon ou hds
        
        base que tou usando e o pokemon dash v6 
       
      desculpe caso eu tenha postado isso em uma area errada,nao entendo muito bem os locais aqui do forum.

      Registre-se para ver attachment(s).
    • Por 300698
       
      Dice System


      Iaae galera suave? Hoje venho trazer á vocês meu novo sistema, é o sistema de Dice (o dado), nele você tem chance de 10%, 30%, 50%, 75% e 100% de cair X itens, tudo configurável.

      Vamos á instalação

      Siga para data/actions/scripts crie um arquivo chamado dice.lua e coloque dentro:


      Registre-se para ver spoiler(s).


      Agora em actions.xml adicione essa tag:


      <action itemid="5792" event="script" value="dice.lua">  
      Configurando:


      local cfg = {listas = {chance100 = {2494, 2492, 2646}, -- Demon Armor, DSA, Golden Bootschance75 = {2400, 2472, 2470}, -- SOV, MPA, Golden Legschance50 = {2466, 2514, 2640}, -- Golden Armor, MMS, Soft Bootschance30 = {2487, 2498, 2491}, -- Crown Armor, RH, Crown Helmetchance10 = {4, 8, 10, 30, 50, 80}, -- Crystal coins (40k, 80k, 100k...)}}

      chance100 você coloca os Item IDS mais difíceis de pegar, os de chance 100%, chance75 os de 75% e assim sucessivamente

      ~~

      É isso galera espero que tenham gostado e façam bom uso, vendam o Dice no Shopping, usem a criatividade rsrs. Dúvidas? Sugestões? Críticas/Bugs? Estou aqui para atendê-los!

      Ideia by vital900
×