Ir para conteúdo
  • Cadastre-se

[SQLite] -=[TFS]=- 0.4 8.60 Piso solta letra |ROX|... Porem continua com efeito do piso


Ir para solução Resolvido por Fabi Marzan,

Posts Recomendados

function onStepIn(cid, item, position, lastPosition, fromPosition)
                local level = 717217 -- Até que level pode healar
	function doHealPlayer(cid)
		local delay = 4 -- de quanto em quanto tempo irá adicionar (no caso, 1 segundo)
		local mana = 1000000000 -- quanto de mana vai ser adicionado
		local vida = 1000000000 -- quanto de health vai ser adicionado
		
		if getPlayerStorageValue(cid, 98910) == 1 then
			doCreatureAddHealth(cid, mana)
			doPlayerAddMana(cid,vida)
			addEvent(doHealPlayer, delay*1000, cid)
			doSendAnimatedText(getCreaturePos(cid), "|ROX|...", 138)
			doSendMagicEffect(getCreaturePosition(cid),53)
		end
		return TRUE
	end
	if getPlayerLevel(cid) >= level then
		doPlayerSendCancel(cid,"Você já é acima do level ".. level .."") 
	else
		setPlayerStorageValue(cid, 98910, 1)
		doHealPlayer(cid)
	end
	
	function onStepOut(cid, item, position, lastPosition, fromPosition)
		setPlayerStorageValue(cid, 98910, -2)
	end
end

 

Link para o post
Compartilhar em outros sites
  • Solução

mas você quer que ele cure enquanto o jogador ainda está no chão?

Acabei de mover o addEvent e use StopEvent.

 

local level = 717217 -- Até que level pode healar
local delay = 4 -- de quanto em quanto tempo irá adicionar (no caso, 1 segundo)
local mana = 1000000000 -- quanto de mana vai ser adicionado
local vida = 1000000000 -- quanto de health vai ser adicionado
local eventId

function doHealPlayer(cid)  
    if getPlayerStorageValue(cid, 98910) == 1 then
        doCreatureAddHealth(cid, mana)
        doPlayerAddMana(cid,vida)
	doSendAnimatedText(getCreaturePos(cid), "|ROX|...", 138)
        doSendMagicEffect(getCreaturePosition(cid),53)
	eventId = addEvent(doHealPlayer, delay*1000, cid)
    end
    return true
end

function onStepIn(cid, item, position, lastPosition, fromPosition)
    if getPlayerLevel(cid) >= level then
        doPlayerSendCancel(cid,"Você já é acima do level ".. level .."")
    else
        setPlayerStorageValue(cid, 98910, 1)
        doHealPlayer(cid)
    end
    return true
end

function onStepOut(cid, item, position, lastPosition, fromPosition)
	setPlayerStorageValue(cid, 98910, -1)
	stopEvent(eventId)
	return true
end

 

Editado por Fabi Marzan (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Eu só usaria o stopEvent caso não estivesse verificando a storage do player, nesse caso não há necessidade.
E agora um detalhe muito importante: Sempre que usar addEvent com player, é bom criar condição para verificar se ele está online, caso contrário o servidor poderá crashar.

 

local MAX_HEAL_LEVEL = 717217
local STORAGE_VALUE = 98910
local HEAL_INTERVAL = 4 * 1000
local HEAL_AMOUNT = 1000000000
local HEAL_TEXT = "|ROX|..."

function doHealPlayer(cid)
    if not cid or not isPlayer(cid) then
        return true
    end

    if getPlayerStorageValue(cid, STORAGE_VALUE) == 1 then
        doCreatureAddHealth(cid, HEAL_AMOUNT)
        doPlayerAddMana(cid, HEAL_AMOUNT)
        doSendAnimatedText(getCreaturePos(cid), HEAL_TEXT, 138)
        doSendMagicEffect(getCreaturePosition(cid), 53)
        addEvent(doHealPlayer, HEAL_INTERVAL, cid)
    end

    return true
end

function onStepIn(cid, item, position, lastPosition, fromPosition)
    if getPlayerLevel(cid) >= MAX_HEAL_LEVEL then
        doPlayerSendCancel(cid, "Você já está acima do nível " .. MAX_HEAL_LEVEL .. ", portanto não será curado.")
        return true
    end

    setPlayerStorageValue(cid, STORAGE_VALUE, 1)
    doHealPlayer(getPlayerGUID(cid))

    return true
end

function onStepOut(cid, item, position, lastPosition, fromPosition)
    setPlayerStorageValue(cid, STORAGE_VALUE, 0)
    return true
end

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo