Ir para conteúdo

Featured Replies

Postado
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 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...."  ♪♪

  • Respostas 15
  • Visualizações 1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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 cu

  • Aqui:          <instant name="Wound Healing" words="exura tempo" lvl="8" mana="0" prem="0" selftarget="1" aggressive="0" exhaustion="60000" needlearn="0" event="script" value=

Postado
  • 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

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

@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!! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo