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
5
1.5k
04 de outubro de 2015 às 03:04
info
Grupo: Artesão
Registrado: 10/11/11
Posts: 118
Reputação: +2

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?
info
Grupo: Artesão
Registrado: 10/11/11
Posts: 118
Reputação: +2

07 de outubro de 2015 às 23:02
bump
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.


info
Grupo: Artesão
Registrado: 10/11/11
Posts: 118
Reputação: +2
bump