Postado Novembro 21, 2022 2 anos .Qual servidor ou website você utiliza como base? TFS 0.4 Olá, eu gostaria que as spells de cura, curassem igual para todos, sem que haja cálculo com base no magic level do char. Exemplo: que a Spell "regeneration" curasse 50k para qualquer um que for usar. Agradeço a quem puder ajudar. Citar local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 450.0, 525.0) function onCastSpell(cid, var) local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} doSendMagicEffect(pos1, 87) return doCombat(cid, combat, var) end Editado Novembro 21, 2022 2 anos por Maahzeera (veja o histórico de edições)
Postado Dezembro 21, 2022 2 anos local config = { min = 500, max = 500, } -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Heal = createCombatObject() setCombatParam(combat0_Heal, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat0_Heal, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Heal, createCombatArea({ { 3 } })) function getDmg_Heal(cid, level, maglevel) return config.min, config.max end setCombatCallback(combat0_Heal, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Heal") -- =============== CORE FUNCTIONS =============== local function RunPart(c, cid, var, dirList, dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos, { x = dirEmitPos.x - dirList[i], y = dirEmitPos.y - dirList[i + 1], z = dirEmitPos.z } , dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Heal, cid, var) return true end
Postado Dezembro 22, 2022 2 anos Autor 12 horas atrás, Anderson Sacani disse: local config = { min = 500, max = 500, } -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Heal = createCombatObject() setCombatParam(combat0_Heal, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat0_Heal, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Heal, createCombatArea({ { 3 } })) function getDmg_Heal(cid, level, maglevel) return config.min, config.max end setCombatCallback(combat0_Heal, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Heal") -- =============== CORE FUNCTIONS =============== local function RunPart(c, cid, var, dirList, dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos, { x = dirEmitPos.x - dirList[i], y = dirEmitPos.y - dirList[i + 1], z = dirEmitPos.z } , dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Heal, cid, var) return true end não deu nenhum erro, mas também não curou obrigado pela tentativa
Postado Dezembro 22, 2022 2 anos Solução Este funcionará perfeitamente: local config = { heal = 500, -- Quanto irá curar? Obs.: Valor fixo. } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onGetFormulaValues(cid, level, maglevel) local max = config.heal local min = max return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Editado Dezembro 22, 2022 2 anos por Anderson Sacani (veja o histórico de edições)
Postado Dezembro 23, 2022 2 anos Autor 18 horas atrás, Anderson Sacani disse: Este funcionará perfeitamente: local config = { heal = 500, -- Quanto irá curar? Obs.: Valor fixo. } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onGetFormulaValues(cid, level, maglevel) local max = config.heal local min = max return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end funcionou, muito obrigado !
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.