Postado Agosto 8, 2017 7 anos 51 minutos atrás, Hunterii disse: @luangop Funcionou bem amigo, mas não esta healando, a animação sai certinha mas não heala. Estranho, nem eu nem o amigo acima mechemos na função de healar, a menos que o script já não era funcional, deveria funcionar. Refiz os cálculos da minha forma, tente assim:*Edit: Realmente o script estava sem a função de add o health no player kk local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12 --- efeito que vai sair mana_cost_percent = 20 -- % da mana que vai custar } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionFormula(condition, 0.8, -72, 0.8, -72) setCombatCondition(combat, condition) function onCastSpell(cid, var) local manacost = math.ceil((getCreatureMaxMana(cid) / 100) * (config.mana_cost_percent)) if getCreatureMana(cid) >= manacost then if os.time() - getPlayerStorageValue(cid, config.storage) >= config.cooldown then for i = 1, config.tempo do addEvent(function() if isCreature(cid) then local lifedraw = math.ceil(getCreatureMaxHealth(cid) * (config.percent)/100) local pos = getPlayerPosition(cid) doSendAnimatedText(pos, "+"..lifedraw , TEXTCOLOR_GREEN) doCreatureAddHealth(cid, lifedraw) doSendMagicEffect(pos, config.effect) end end, 1000*i) end doPlayerSetStorageValue(cid, config.storage, os.time()) doCombat(cid, combat, var) doCreatureAddMana(cid, -(manacost)) else doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.") end else doPlayerSendCancel(cid, "You do not have enough mana.") end return true end Editado Agosto 8, 2017 7 anos por luangop kk (veja o histórico de edições) Te ajudei? Clique em Gostei ! ²²²d¬¬b²²² "She's got a smile that it seems to me...." ♪♪
Postado Agosto 8, 2017 7 anos Autor @luangop Deu esse erro. Spoiler [19:52:34.514] [Error - LuaInterface::loadFile] data/spells/scripts/healing/exura tempo.lua:7: '}' expected (to close '{' at line 1) near 'mana_cost_percent' [19:52:34.517] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/healing/exura tempo.lua) [19:52:34.517] data/spells/scripts/healing/exura tempo.lua:7: '}' expected (to close '{' at line 1) near 'mana_cost_percent'
Postado Agosto 8, 2017 7 anos Erro meu, mude essa parte: local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12 --- efeito que vai sair mana_cost_percent = 20 -- % da mana que vai custar } para: local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12, --- efeito que vai sair mana_cost_percent = 20, -- % da mana que vai custar } Te ajudei? Clique em Gostei ! ²²²d¬¬b²²² "She's got a smile that it seems to me...." ♪♪
Postado Agosto 9, 2017 7 anos @luangop porquê criar um combat e setar a condição nele e usar o combat depois ao invés de usar somente a condição ? Spoiler local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12, --- efeito que vai sair mana_cost_percent = 20 -- % da mana que vai custar } local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionFormula(condition, 0.8, -72, 0.8, -72) function onCastSpell(cid, var) local manacost = math.ceil((getCreatureMaxMana(cid) / 100) * (config.mana_cost_percent)) if getCreatureMana(cid) >= manacost then if os.time() - getPlayerStorageValue(cid, config.storage) >= config.cooldown then for i = 1, config.tempo do addEvent(function() if isCreature(cid) then local lifedraw = math.ceil(getCreatureMaxHealth(cid) * (config.percent)/100) local pos = getPlayerPosition(cid) doSendAnimatedText(pos, "+"..lifedraw , TEXTCOLOR_GREEN) doCreatureAddHealth(cid, lifedraw) doSendMagicEffect(pos, config.effect) end end, 1000*i) end doPlayerSetStorageValue(cid, config.storage, os.time()) doAddCondition(cid, condition) doCreatureAddMana(cid, -(manacost)) else doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.") end else doPlayerSendCancel(cid, "You do not have enough mana.") end return true end Em todo caso, parabéns por ajudar o membro fazendo o script. Reputado!!
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.