NA

[Spell] Como Fazer Para Ela Adicionar Health

Por nari, 01 de jun. de 2012 em Scripts

12
1.6k
nariN
01 de junho de 2012 às 13:31

ae galera como faço para um spell adicionar um tanto de health, por exemplo 1000 de hp e mp.

exemplo sou um kina com 2000 de health ai eu uso a spell e fico com 3000 de health

obrigado

Editado Junho 1 por Nari

OneshotO
01 de junho de 2012 às 13:44

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setCombatFormula(combat, COMBAT_FORMULA_DAMAGE, 1000, 0, 1000, 0)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

Teste.

 

Att.

nariN
01 de junho de 2012 às 13:49

desculpe me expressei mal, eu quis dizer um spell que aumente o health, por exemplo sou um kina com 2000 de health ai eu uso a spell e fico com 3000 de health

OneshotO
01 de junho de 2012 às 14:04

Mas esse aumento é temporário, certo?

 

Se sim, basta fazer isso:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 60 * 1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 150)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

Esse é um exemplo de magia que aumenta o HP máximo em 50% por 10 minutos.

Um Knight que use a magia e possua 2000 HP, ficará com 3000 de HP por exemplo.

Editado Junho 1 por Oneshot

caoticC
01 de junho de 2012 às 14:09

Pelo que eu vi ele quer aumentar vidamax e entao eu fiz

Mais qualquer coisa eu refaço.

 

function onSay(cid, words, param)

local healthmax = getCreatureMaxHealth(cid)

local playerpos = getPlayerPosition(cid)

local mana = getCreatureMana(cid)

local cmana = 2000

doSendMagicEffect(playerpos, 35)

setCreatureMaxHealth(cid, healthmax * 2)

doPlayerAddHealth(cid, healthmax)

doCreatureAddMana(cid, mana - cmana)

doSendAnimatedText(getPlayerPosition(cid), "Power Health", TEXTCOLOR_PINK)

end

Editado Junho 1 por caotic

nariN
01 de junho de 2012 às 14:12

@oneshot

obrigado, deu certo, só mais uma coisa como ficaria para aumentar a mana?

Editado Junho 1 por Nari

OneshotO
01 de junho de 2012 às 14:15

Mude isso:

 

CONDITION_PARAM_STAT_MAXHEALTHPERCENT

 

Para isso:

 

CONDITION_PARAM_STAT_MAXMANAPERCENT

 

Att.

 

VincV
01 de junho de 2012 às 16:21

Pelo que eu vi ele quer aumentar vidamax e entao eu fiz

Mais qualquer coisa eu refaço.

 

function onSay(cid, words, param)

local healthmax = getCreatureMaxHealth(cid)

local playerpos = getPlayerPosition(cid)

local mana = getCreatureMana(cid)

local cmana = 2000

doSendMagicEffect(playerpos, 35)

setCreatureMaxHealth(cid, healthmax * 2)

doPlayerAddHealth(cid, healthmax)

doCreatureAddMana(cid, mana - cmana)

doSendAnimatedText(getPlayerPosition(cid), "Power Health", TEXTCOLOR_PINK)

end

end

tem um end extra ae, alem de que o hp do player n volta ao normal(os player ia se praticamente imortal) e isso é uma talk, o player tbm n ganha ml

caoticC
01 de junho de 2012 às 16:55

presta lordbug

Alem de que e facil adicionar um storage voce podeia limitar a vidamax em entre outros fatores.

 

Bem pelo que eu entendi ele queria aumentar a vidamax e eu fiz de acordo com meu entendimento

VincV
01 de junho de 2012 às 17:01

mas temporaria mente né,dexa permante até que tudo bem mas comvenhamos que almenta infinitamente ja é meio exagerado.

nariN
01 de junho de 2012 às 18:34

obrigado a todos por ajudarem.

 

@oneshot

ao invés de ser por porcentagem não tem como deixar um valor fixo?

OneshotO
01 de junho de 2012 às 18:48

Tem sim.

 

CONDITION_PARAM_STAT_MAXHEALTH
CONDITION_PARAM_STAT_MAXMANA

 

Aí o valor que você colocar lá será adicionado ao health/mana do jogador.