LU
pedido

Piso especial..

Por Lumus, 17 de mai. de 2015 em Scripts

resolvido
19
3k
LumusL
03 de junho de 2015 às 17:33

editado

Funcionou em partes.

 

Ao sair do piso continua enchendo a mana o.O achei estranho porque tem o stepout.

 

Teria como(se possível é claro) colocar pra mostrar a quantia que está sendo curada?

 

@EDIT

Caraleo: BUGOU geral....

 

qualquer player tá recebendo a mana, o cara pode ta em outra cidade e ta recebendo a mana o.O

 

@EDIT2

Se o mlk deslogar com o efeito da mana curando, da bug e o ot fecha. -> creio que é só por no logout. Mas caso ele for banido, não terá como de qualquer forma ele deslogará.

Editado Junho 3 por Fawz

BrunoB
03 de junho de 2015 às 17:58
Melhor resposta

Funcionou em partes.

 

Ao sair do piso continua enchendo a mana o.O achei estranho porque tem o stepout.

 

Teria como(se possível é claro) colocar pra mostrar a quantia que está sendo curada?

 

@EDIT

Caraleo: BUGOU geral....

 

qualquer player tá recebendo a mana, o cara pode ta em outra cidade e ta recebendo a mana o.O

 

@EDIT2

Se o mlk deslogar com o efeito da mana curando, da bug e o ot fecha. -> creio que é só por no logout. Mas caso ele for banido, não terá como de qualquer forma ele deslogará.

Tento ctz que agora funciona:

local config = {
	minimo = 1, -- Recuperação mínima de mana
	maximo = 25, -- Recuperação máxima de mana
	stamina = 1, -- Minutos de stamina a serem recuperados
	tempo = 10 -- Tempo em segundos da recuperação fica se repetindo
}

function Player.autoRege(self)
	if self:getStamina() < 2400 then
		self:setStamina(self:getStamina() + config.stamina)
	end
	
	if self:getMana() ~= self:getMaxMana() then
		self:addMana(math.random(config.minimo, config.maximo))
	end
	self:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
	event = addEvent(function() self:autoRege() end, config.tempo* 1000)
end
 
function onStepIn(creature, item, position, fromPosition)
	if not creature:isPlayer() then
		return false
	end
	creature:autoRege()
	return true
end
 
function onStepOut(creature, item, position, fromPosition)
	if not creature:isPlayer() then
		return false
	end
	return stopEvent(event)
end
LumusL
03 de junho de 2015 às 18:29

Agora sim 100%

 

A msg não teve como colocar?

BrunoB
03 de junho de 2015 às 20:00

Agora sim 100%

 

A msg não teve como colocar?

Está ai um exemplo com mensagem:

local config = {
	minimo = 1, -- Recuperação mínima de mana
	maximo = 25, -- Recuperação máxima de mana
	stamina = 1, -- Minutos de stamina a serem recuperados
	tempo = 10 -- Tempo em segundos da recuperação fica se repetindo
}

function Player.autoRege(self)
	if self:getStamina() < 2400 then
		self:setStamina(self:getStamina() + config.stamina)
	end
	
	local mana = math.random(config.minimo, config.maximo)
	if self:getMana() ~= self:getMaxMana() then
		self:addMana(mana)
		self:say(mana, TALKTYPE_MONSTER_SAY)
		self:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
	end
	event = addEvent(function() self:autoRege() end, config.tempo* 1000)
end
 
function onStepIn(creature, item, position, fromPosition)
	if not creature:isPlayer() then
		return false
	end
	creature:autoRege()
	return true
end
 
function onStepOut(creature, item, position, fromPosition)
	if not creature:isPlayer() then
		return false
	end
	return stopEvent(event)
end
Tópico movido para a seção de dúvidas e pedidos resolvidos.

Editado Junho 3 por Bruno Minervino