BE
dúvida

reduzir daños em OnStatsChange tfs 0.4

Por Bennyhappy, 01 de out. de 2015 em Scripts

5
1.5k
BennyhappyB
04 de outubro de 2015 às 01:22
function onStatsChange(cid, attacker, type, combat, value)
if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then
value = value - 10
doTargetCombatHealth(attacker, cid, combat, -value, -value, type)
end
return true
end
e reduzir os danos para os jogadores?
que pode ser reduzida através de elementos?

 


bump

dalvorsnD
04 de outubro de 2015 às 03:04

tu tem uma opção de fazer por script a redução do dano e dar return false, dai é cancelado o que seria feito pelas sources e vale apenas o que tu fez no script

BennyhappyB
04 de outubro de 2015 às 04:59

tu tem uma opção de fazer por script a redução do dano e dar return false, dai é cancelado o que seria feito pelas sources e vale apenas o que tu fez no script

sim no e posible, agora estoy mudando para reflection:

function onStatsChange(cid, attacker, type, combat, value) 
if isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS then
if isPlayer(attacker) or isMonster(attacker) then

if combat == COMBAT_ICEDAMAGE then
absorb = math.floor(value / 2)
doSendMagicEffect(getThingPosition(attacker), CONST_ME_ICEATTACK)
doCreatureAddHealth(attacker, -absorb)
doSendAnimatedText(getThingPosition(attacker), absorb, COLOR_TEAL)
end

if combat == COMBAT_EARTHDAMAGE then
absorb = math.floor(value / 2)
doSendMagicEffect(getThingPosition(attacker), CONST_ME_GREEN_RINGS)
doCreatureAddHealth(attacker, -absorb)
doSendAnimatedText(getThingPosition(attacker), absorb, COLOR_LIGHTGREEN)
end



end
return true
end
end
itemHEAD = getPlayerSlotItem(cid, CONST_SLOT_HEAD)
itemARMOR = getPlayerSlotItem(cid, CONST_SLOT_ARMOR)
itemLEGS = getPlayerSlotItem(cid, CONST_SLOT_LEGS)
itemFEET = getPlayerSlotItem(cid, CONST_SLOT_FEET)
itemLEFT = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
itemRIGHT = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
getItemAttribute(itemHEAD.uid, "EnergyProtec")
getItemAttribute(itemHEAD.uid, "FireProtec")
getItemAttribute(itemHEAD.uid, "IceProtec")
getItemAttribute(itemHEAD.uid, "PhysicalProtec")
getItemAttribute(itemHEAD.uid, "DeathProtec")
getItemAttribute(itemHEAD.uid, "EarthProtec")
getItemAttribute(itemHEAD.uid, "HolyProtec")
estoy tentando fazer sume todos os attrubutes em todos los slots para sacar % do reflection by damage xD u can helpme?
BennyhappyB
07 de outubro de 2015 às 23:02

bump

akira021A
14 de outubro de 2015 às 10:49

No final dar um Return False que o dano cancelado e dentro da função vc tira quanto de dano quer que o player leve, lembrando que o Value retorna o valor do dano que o Player vai sofrer, é só vc criar a redução de dano baseando-se no Value.