Ir para conteúdo
  • Cadastre-se

Critical hit com Regen Life


Posts Recomendados

boa noite galera, seguinte, eu tenho um sistema de critical no meu servidor, pra players "semi-deuses", onde cada dano critico heala um tanto x de life,

gostaria que fosse uma porcentagem, tipo 10% de life a cada critical, ja tentei da maneira que pensei que fosse funcionar e nao deu :/

 

preciso da colaboração de alguns ;P

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*52)+(level*2))
max = -((skill*55)+(level*2))
return min, max
end

setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*55)+(level*3))
max = -((skill*60)+(level*4))
return min, max
end

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*59)+(level*4))
max = -((skill*66)+(level*5))
return min, max
end

setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local condition = createConditionObject(CONDITION_EMO)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 100, 3000, -607)
setCombatCondition(combat2, condition)

local condition = createConditionObject(CONDITION_EMO)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 100, 3000, -607)
setCombatCondition(combat3, condition)

function onUseWeapon(cid, var)
Critical = math.random(1,100)
if Critical > 80 then
local hp = getCreatureHealthMax(cid)
local regenhp = hp*0.1
doPlayerAddHealth(cid, regenhp)
doSendAnimatedText(getPlayerPosition(cid), "Critical!", TEXTCOLOR_LIGHTGREY)
doCombat(cid, combat2, var)
end

Critical = math.random(1,100)
if Critical < 2 then
local hp = getCreatureHealthMax(cid)
local regenhp = hp*0.1
doPlayerAddHealth(cid, regenhp)
doPlayerSay(cid,"For Honor!",16)
doSendAnimatedText(getPlayerPosition(cid), "Critical!", TEXTCOLOR_LIGHTGREY)
doCombat(cid, combat3, var)
else
doCombat(cid, combat1, var)
end
end
"attempt to call global 'getCreatureHealthMax' a nil value"
 
Link para o post
Compartilhar em outros sites

Tente isso : 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*52)+(level*2))
max = -((skill*55)+(level*2))
return min, max
end

setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*55)+(level*3))
max = -((skill*60)+(level*4))
return min, max
end

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*59)+(level*4))
max = -((skill*66)+(level*5))
return min, max
end

setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local condition = createConditionObject(CONDITION_EMO)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 100, 3000, -607)
setCombatCondition(combat2, condition)

local condition = createConditionObject(CONDITION_EMO)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 100, 3000, -607)
setCombatCondition(combat3, condition)

function onUseWeapon(cid, var)
Critical = math.random(1,100)
if Critical > 80 then
local regenhp = (getCreatureMaxHealth(cid) / 100) * 10
doPlayerAddHealth(cid, regenhp)
doSendAnimatedText(getPlayerPosition(cid), "Critical!", TEXTCOLOR_LIGHTGREY)
doCombat(cid, combat2, var)
end

Critical = math.random(1,100)
if Critical < 2 then
local regenhp = (getCreatureMaxHealth(cid) / 100) * 10
doPlayerAddHealth(cid, regenhp)
doPlayerSay(cid,"For Honor!",16)
doSendAnimatedText(getPlayerPosition(cid), "Critical!", TEXTCOLOR_LIGHTGREY)
doCombat(cid, combat3, var)
else
doCombat(cid, combat1, var)
end
end

Não testei.

 

 

@edit

 

Vi que se script tem um bug...

Não existe a função:  'getCreatureHealthMax'

O correto é: 'getCreatureMaxHealth' 

Então, você tem a opção de usar o script acima, ou de apenas alterar a função errada para função certa no seu script.

Editado por Jamison Collins (veja o histórico de edições)

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites

mano, da o mesmo erro..

tem alguma outra  função pra isso ? pra checar o life total e realar 10% ?

Link para o post
Compartilhar em outros sites

Impossível dar o mesmo erro, ou é um erro diferente, ou você não alterou nada.

Se houver outro erro, me mostre.

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo