[Actions]Potion Com Cargas.

tyuahoi
em Actions e Talkactions
  • 1
  • 2

tyuahoi

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/02/08Posts: 177

Olá

 

 

Percebi Que Muita Gente Esta Procurando Tutoriais De Como COlocar Suas Potion Com Carga.

 

 

Entao, Vamos ao Trabalho.

 

1º Passo.

 

Vá Até data\actions\scripts\liquids

 

Abra O: potions.lua

 

Apague Tudo Que Aver Dentro E Cole Isso:

 

local config = {
realAnimation = true, -- make text effect visible only for players in range 1x1
healthMultiplier = 1.0,
manaMultiplier = 1.0
}

local POTIONS = {
[8704] = {charges = 100, splash = 2, health = {50, 100}}, -- small health potion
[7618] = {charges = 100, splash = 2, health = {100, 200}}, -- health potion
[7588] = {charges = 100, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8, 12, 11}, vocStr = "knights and paladins"}, -- strong health potion
[7591] = {charges = 100, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8, 12}, vocStr = "knights"}, -- great health potion
[8473] = {charges = 100, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8, 12}, vocStr = "knights"}, -- ultimate health potion

[7620] = {charges = 100, splash = 7, mana = {70, 130}}, -- mana potion
[7589] = {charges = 100, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7, 9, 10, 11}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
[7590] = {charges = 100, splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6, 9, 10}, vocStr = "sorcerers and druids"}, -- great mana potion

[8472] = {charges = 100, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7, 11}, vocStr = "paladins"} -- great spirit potion
}

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

function onUse(cid, item, fromPosition, itemEx, toPosition)
local potion = POTIONS[item.itemid]
if(not potion or not isPlayer(itemEx.uid)) then
	return false
end

if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
	return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
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
	return doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
end

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)

doItemSetAttribute(item.uid, 'aid', math.max(101, item.actionid + 1))
doItemSetAttribute(item.uid, 'description', 'Charges: ' .. 100 + potion.charges - getItemAttribute(item.uid, 'aid'))
if item.actionid >= 100 + potion.charges then
	doRemoveItem(item.uid)
end
return true
end

 

Salve E Feche.

 

 

 

2º passo.

 

Va Até: data\items

 

Abra O items.xml

 

procure por:

 

- Great Mana Potion.

 

- Great Health Potion.

 

- Great Spirit Potion.

 

- Ultimate Health Potion.

 

- Strong Mana Potion.

 

- Strong Health Potion.

 

- Mana Potion.

 

- Heath potion.

 

Acresente essas Linhas Nas Potions.

 

Após:

<attribute key="weight" value="220" />

De Cada Potion.

 

Acresente Isso:

 

<attribute key="charges" value="100"/>
<attribute key="showCharges" value="1"/>

 

Caso Voçe Queira Mudar O peso Dela Basta Editar Está Linha:

 

<attribute key="weight" value="220"

220 = 2.20

 

Ainda Nao Esta 100%

 

Mais ja Ajuda.

 

 

Como vai Funcionar?

 

So Ira Aparecer as Charges Quando Voce Der Look Na Potion.

 

Estou Trabalhando para Aparecer na Potion, Assim Que Terminar Atualizo Aqui.

 

Exemplos.

 

 

Look Potion Antes De Usar:

 

You see a great mana potion that has 100 charges left.

It weighs 2.20 oz.

This potion can only be consumed by sorcerers and druids of level 80 or higher.

 

Após Usar 1 Vez:

 

You see a great mana potion that has 100 charges left.

It weighs 2.20 oz.

Charges: 99.

 

 

Espero Que tenham Gostado.

 

 

 

Abraço!

vamos viver, vadiar. o que importa é nossa alegria!

dwhfms

Eterno Coordenador - ou não :(
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 08/05/08Posts: 1342

Muito bom cara, muito bom mesmo!

 

Movido para > Actions, TalkActions & MoveEvents

 

Abraços!

Entrada como Estagiário: 10/05/09

Entrada na Equipe de Imprensa: 23/06/09

Coordenador de Imprensa: 11/09/09

Coordenador de Redação: 20/03/11

Coordenador de Imprensa: 11/07/11

Diretor de Publicidade: 19/10/12

Contato: wonhelder@xtibia.com

 

"Não podemos prever o futuro, mas podemos criá-lo." Paul Pilzer

"Todo homem morre, mas são poucos os que realmente vivem." William Wallace

 



 

Conheça o Facebook do XTibia.com, lá você vê o melhor conteúdo do XTibia e ainda pode concorrer a prêmios incríveis!

 

facebooklogoq.jpg

felipedorgas

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 01/06/10Posts: 230

Muito bom :button_ok:

 

Parabens

papeldeparededopalmeira.jpg

Kreuus

Mappers e Scripter
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/03/10Posts: 73Char no Tibia: ADM

1tyi - Parabens mas quer ficar com o nome no credito do meu otserv kreuus? fais isso pra mim e muito confuso entre em contato com migo Kreuusot@hotmail.com

 



a9miqc.jpg

 

  

 

- KreuusOT@hotmail.com -

luisfe23

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 31/10/08Posts: 871Char no Tibia: Luis Felipe Knight

Parabens cara, ótimo script.

Obrigado por trazer ao XTibia.

 

Abraços.

luisfe23 here

tyuahoi

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/02/08Posts: 177

:D

 

Valeu galera Estou Trabalhando Para Deixa-lo 100%!

vamos viver, vadiar. o que importa é nossa alegria!

tioslash

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/07/10Posts: 38Gênero: Masculino

Quando eu digo que tu é de mais tu não acredita -.-'

 

kkkkkkkkkkkkkkkkkkk

 

Valeu macho, por compartilhar

murilo775

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/01/10Posts: 16Char no Tibia: [God] Grimerah

Boa garoto estava precisando desse script teste aqui e funcionou 100%!!!

So uma coisa as pontion quando acaba a carga some da mochila, como faço para elas nao sumirem?

"Para que levar a vida tão a sério, se a vida é uma alucinante aventura da qual jamais sairemos vivos."

tyuahoi

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/02/08Posts: 177

Use Esse Script Para QUem Kiser Que Fike COm Empty POtion Após o Uso.

 

local config = {
removeOnUse = "no",
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.splashable = getBooleanFromString(config.splashable)
config.realAnimation = getBooleanFromString(config.realAnimation)

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

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

[8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7, 11}, vocStr = "paladins"} -- great spirit potion
}

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

function onUse(cid, item, fromPosition, itemEx, toPosition)
local potion = POTIONS[item.itemid]
if(not potion) then
	return false
end

if(not isPlayer(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))
	doTransformItem(item.uid, potion.empty)
	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

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

local aidd = 
{
 min = 10901,
  max = 10911
   }
    if item.actionid < aidd.min then
     doItemSetAttribute(item.uid, "aid", aidd.min)
      elseif item.actionid >= aidd.min and item.actionid <= aidd.max then
     doItemSetAttribute(item.uid, "aid", getItemAttribute(item.uid, "aid")+1)
    elseif item.actionid >= aidd.max then
   doTransformItem(item.uid, potion.empty)
  return TRUE
 end
return true
end

 

 

Esse Script Está Com 10 Cargas Cada Potion Voçe Pode Mudar alterando essa linha:

 

max = 10911

 

 

Pronto.

 

 

Esse Script Que Acabei De CItar Nao é Meu!

 

Creditos:

 

Kiman

vamos viver, vadiar. o que importa é nossa alegria!

zani123

http://HeroesOT.com
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 07/03/08Posts: 231Gênero: Masculino

Valeu por trazer esse script..

Garanto que muita gente tava precisando..

 

Surpreenda-se no melhor server. Crie sua conta e ganhe dois dias VIP e Triple EXP até os 15 resets. Junte sua team, crie uma guild e venha para a war!

 

http://www.TheHeroesOfTime.com

thumbnail_Final - Copia - Copia.jpg

 

logo thot 200 - Copia.png

noobera

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/12/06Posts: 5

sim é bom e talz

mas infelizmente fez a potion ficar infinita

(ou é alguma config minha?)

e por incrivel q pareça minha strong mana potion NAO FUNCIONA tenso :s

(mas isso é problema velho aqui)

tyuahoi

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/02/08Posts: 177

Se Voçê fazer tudo dirreitinho passo a passo no que ta no tutorial n tem erro velho.

 

 

testei esse script no alissow,yurots baiak, real server.

vamos viver, vadiar. o que importa é nossa alegria!

lokiado0

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 25/05/08Posts: 178Char no Tibia: Lokiado Spirit

Funcionou aqui 100 %, muito bom, valeu brother!

 

 

Lokiado.

setlokiado.png

GabriielYuri

<- Web Master & Mapper ->
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/07/10Posts: 16Char no Tibia: Haayashi

masquente

ph
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 26/02/10Posts: 218

Interessante.

 

Aprovado :button_ok:

Banido por falta de respeito.

  • 1
  • 2