Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Não sei se é isso que você quer mas tenta aí.. tenho um script aqui, pode ser oque você está procurando.

 

Cria um arquivo auralogin.lua é põe dentro da pasta "creaturescripts".

function onLogin(cid)
	aurastr = 25950 -- storage da aura
	setPlayerStorageValue(cid, aurastr, -1)
	return TRUE
end

Abre o "creaturescripts.xml" é põe a tag

<event type="login" name="AuraLogin" script="auralogin.lua"/>

 

Agora vai na pasta "actions" é um um arquivo aura.lua

-- CONFIGURAÇÕES
	aurastr = 25950 -- storage da aura
	estr = 25951 -- storage para o exhaust
	porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem
	quantheal = 90 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
	tempo = 5000 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
	tipoaura = 59 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo)
	efeitocura = 53 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)

-- Função que chama a aura
function efeitosAura(i,tm,cid)
	if(isCreature(cid)) then
        	local atual = getCreaturePosition(cid)
		local posaura = {
			{x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
			{x=atual.x, y=(atual.y)-1, z=atual.z},
			{x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
			{x=(atual.x)+1, y=atual.y, z=atual.z},
			{x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
			{x=atual.x, y=(atual.y)+1, z=atual.z},
			{x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
			{x=(atual.x)-1, y=atual.y, z=atual.z},
		}
		local chances = math.random(100)
		if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
			doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal)
			if(i<=8 and i>1) then
				doSendMagicEffect(atual, tipoaura)
			else
				doSendMagicEffect(atual, tipoaura)
			end
			doSendMagicEffect(atual, efeitocura)
		end
		if(i==8) then
			doSendMagicEffect(atual, tipoaura)
		elseif(i<8) then
			doSendMagicEffect(atual, tipoaura)
		end
		if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then
			i = i+1
			tm = tempo/8
			return addEvent(efeitosAura,tm,i,tm,cid)
		elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then
			return efeitosAura(1,0,cid)
		else
			return TRUE
		end
	else
		return TRUE
	end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(getPlayerStorageValue(cid, aurastr)==2) then
			setPlayerStorageValue(cid, estr, os.time()+2)
			setPlayerStorageValue(cid, aurastr, -1)
			doPlayerSendCancel(cid,"Você desligou a Aura!")
	else
			doPlayerSendCancel(cid,"Você ligou a Aura!")
			setPlayerStorageValue(cid, aurastr, 2)
			efeitosAura(1,tempo/8,cid)
	end
	return TRUE
end 

Abre o "actions.xml" é põe a tag

<action itemid="11253" event="script" value="aura.lua"/>

 

Não sei se é isso que você quer, mas tentei kkk!

" Sou um homem de gostos simples: dinamite, pólvora..."

  • Respostas 6
  • Visualizações 2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor
1 hora atrás, Neeg disse:

Não sei se é isso que você quer mas tenta aí.. tenho um script aqui, pode ser oque você está procurando.

 

Cria um arquivo auralogin.lua é põe dentro da pasta "creaturescripts".


function onLogin(cid)
	aurastr = 25950 -- storage da aura
	setPlayerStorageValue(cid, aurastr, -1)
	return TRUE
end

Abre o "creaturescripts.xml" é põe a tag


<event type="login" name="AuraLogin" script="auralogin.lua"/>

 

Agora vai na pasta "actions" é um um arquivo aura.lua


-- CONFIGURAÇÕES
	aurastr = 25950 -- storage da aura
	estr = 25951 -- storage para o exhaust
	porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem
	quantheal = 90 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
	tempo = 5000 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
	tipoaura = 59 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo)
	efeitocura = 53 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)

-- Função que chama a aura
function efeitosAura(i,tm,cid)
	if(isCreature(cid)) then
        	local atual = getCreaturePosition(cid)
		local posaura = {
			{x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
			{x=atual.x, y=(atual.y)-1, z=atual.z},
			{x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
			{x=(atual.x)+1, y=atual.y, z=atual.z},
			{x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
			{x=atual.x, y=(atual.y)+1, z=atual.z},
			{x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
			{x=(atual.x)-1, y=atual.y, z=atual.z},
		}
		local chances = math.random(100)
		if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
			doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal)
			if(i<=8 and i>1) then
				doSendMagicEffect(atual, tipoaura)
			else
				doSendMagicEffect(atual, tipoaura)
			end
			doSendMagicEffect(atual, efeitocura)
		end
		if(i==8) then
			doSendMagicEffect(atual, tipoaura)
		elseif(i<8) then
			doSendMagicEffect(atual, tipoaura)
		end
		if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then
			i = i+1
			tm = tempo/8
			return addEvent(efeitosAura,tm,i,tm,cid)
		elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then
			return efeitosAura(1,0,cid)
		else
			return TRUE
		end
	else
		return TRUE
	end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(getPlayerStorageValue(cid, aurastr)==2) then
			setPlayerStorageValue(cid, estr, os.time()+2)
			setPlayerStorageValue(cid, aurastr, -1)
			doPlayerSendCancel(cid,"Você desligou a Aura!")
	else
			doPlayerSendCancel(cid,"Você ligou a Aura!")
			setPlayerStorageValue(cid, aurastr, 2)
			efeitosAura(1,tempo/8,cid)
	end
	return TRUE
end 

Abre o "actions.xml" é põe a tag


<action itemid="11253" event="script" value="aura.lua"/>

 

Não sei se é isso que você quer, mas tentei kkk!


Não reconhece o "tipoaura" como efeito !x, ele usa o efeito do !z, dizendo melhor, ao ives de fazer o efeito em volta do char como no video ele faz um efeito no char como por exemplo do exura. E outra, no caso do action ele precisa expirar sozinho, ter um timer, e o item sumir ao usar tambem..

Editado por dimmebag (veja o histórico de edições)

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.6k

Informação Importante

Confirmação de Termo