Ir para conteúdo

Aura Spell 2.0


Oneshot

Posts Recomendados

Nome: Aura System 2.0

Tipo: Magia

Autor: Oneshot

 


 

Eu prometi, o troco vem cedo. Quer ganhar dinheiro, crie suas próprias coisas e não se baseie nas coisas dos outros.

 

Enfim, sem flames, segue abaixo a magia Aura Spell 2.0.

 


 

Crie um arquivo chamado aura spell.lua em data/spells/scripts, e coloque o seguinte conteúdo:

 


local AURASYSTEM_STORAGE = 200001 -- STORAGE DE CONTROLE
local AURASYSTEM_AURA_DELAY = 0.1


local AURASYSTEM_CONFIG = {
DURATION = 30, -- O tempo de duração da aura
DELAY = 0.1, -- O delay, quanto menor, mais rápida a aura será.
TYPE = "all", -- O tipo de aura. [fire/ice/energy/earth/death/holy/all]
DAMAGE = {-100, -200} -- O dano da aura
}

local AURASYSTEM_DIRECTIONS = {
[NORTH] = {
	{0, 0}, {1, 0}, {1, 1}, {1, 2}, {0, 2}, {-1, 2}, {-1, 1}, {-1, 0}
},
[EAST] = {
	{0, 0}, {0, 1}, {-1, 1}, {-2, 1}, {-2, 0}, {-2, -1}, {-1, -1}, {0, -1}
},
[sOUTH] = {
	{0, 0}, {-1, 0}, {-1, -1}, {-1, -2}, {0, -2}, {1, -2}, {1, -1}, {1, 0}
},
[WEST] = {
	{0, 0}, {0, -1}, {1, -1}, {2, -1}, {2, 0}, {2, 1}, {1, 1}, {0, 1}
}
}

local AURASYSTEM_TEMPLATES = {
["fire"] = {COMBAT_FIREDAMAGE, CONST_ME_FIREATTACK},
["ice"] = {COMBAT_ICEDAMAGE, CONST_ME_ICEATTACK},
["earth"] = {COMBAT_EARTHDAMAGE, CONST_ME_SMALLPLANTS},
["energy"] = {COMBAT_ENERGYDAMAGE, CONST_ME_PURPLEENERGY},
["holy"] = {COMBAT_HOLYDAMAGE, CONST_ME_HOLYDAMAGE},
["death"] = {COMBAT_DEATHDAMAGE, CONST_ME_MORTAREA},
["all"] = {
	{COMBAT_FIREDAMAGE, CONST_ME_FIREATTACK},
	{COMBAT_ICEDAMAGE, CONST_ME_ICEATTACK},
	{COMBAT_EARTHDAMAGE, CONST_ME_SMALLPLANTS},
	{COMBAT_ENERGYDAMAGE, CONST_ME_PURPLEENERGY},
	{COMBAT_HOLYDAMAGE, CONST_ME_HOLYDAMAGE},
	{COMBAT_DEATHDAMAGE, CONST_ME_MORTAREA}
}
}

local AURASYSTEM_COUNT = 1

function doPlayerCastAura(cid, position)
if getCreatureStorage(cid, AURASYSTEM_STORAGE) == -1 then

end

local PLAYER_LOOKDIRECTION = getCreatureLookDirection(cid)

local tmp = AURASYSTEM_DIRECTIONS[PLAYER_LOOKDIRECTION][AURASYSTEM_COUNT]
local position = getPositionByDirection(getThingPosition(cid), PLAYER_LOOKDIRECTION, 1)

position.x = position.x + tmp[1]
position.y = position.y + tmp[2]

if AURASYSTEM_CONFIG.TYPE == "all" then
	local x = AURASYSTEM_TEMPLATES[AURASYSTEM_CONFIG.TYPE]
	local r = math.random(1, #x)
	doAreaCombatHealth(cid, x[r][1], position, 0, AURASYSTEM_CONFIG.DAMAGE[1], AURASYSTEM_CONFIG.DAMAGE[2], x[r][2])
else
	doAreaCombatHealth(cid, AURASYSTEM_TEMPLATES[AURASYSTEM_CONFIG.TYPE][1], position, 0, AURASYSTEM_CONFIG.DAMAGE[1], AURASYSTEM_CONFIG.DAMAGE[2], AURASYSTEM_TEMPLATES[AURASYSTEM_CONFIG.TYPE][2])
end

if getCreatureStorage(cid, AURASYSTEM_STORAGE) > os.time() then
	addEvent(doPlayerCastAura, AURASYSTEM_CONFIG.DELAY * 1000, cid)
end

AURASYSTEM_COUNT = AURASYSTEM_COUNT + 1
if AURASYSTEM_COUNT > #AURASYSTEM_DIRECTIONS[PLAYER_LOOKDIRECTION] then
	AURASYSTEM_COUNT = 1
end
end

function onCastSpell(cid, var)
if getCreatureStorage(cid, AURASYSTEM_STORAGE) > os.time() then
	return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
end

doCreatureSetStorage(cid, AURASYSTEM_STORAGE, os.time() + AURASYSTEM_CONFIG.DURATION)
return doPlayerCastAura(cid)
end

 

E adicione a seguinte linha no arquivo spells.xml

 

<instant name="Aura" words="aura" lvl="50" mana="100" prem="0" blockwalls="1" needlearn="0" event="script" value="aura spell.lua"/>

 

Para configurar a magia, mexa apenas nessa parte do script:

 



local AURASYSTEM_CONFIG = {
DURATION = 30, -- O tempo de duração da aura
DELAY = 0.1, -- O delay, quanto menor, mais rápida a aura será.
TYPE = "all", -- O tipo de aura. [fire/ice/energy/earth/death/holy/all]
DAMAGE = {-100, -200} -- O dano da aura
}

 


 

Segue abaixo o vídeo de demonstração que o coleguinha Jhon992 gravou para gente icon_lol.gif

 

Editado por caotic
Retirado site de venda para evitar confusões
Link para o comentário
Compartilhar em outros sites

Na minha humilde opinião tudo que se cria é baseado em algum conhecimento de outras fontes...

Mal ae por usar sua ideia só tava afim de inovar porque eu tinha achado a spell muito limitada! E o resultado como todos podem ver ficou ótimo!

Rep+ pra ti, e vou disponibilizar pra download lá agora né.. saijda. Download: http://www.#####/categorias-index/275781/sistemas.html

Link para o comentário
Compartilhar em outros sites

Na minha humilde opinião tudo que se cria é baseado em algum conhecimento de outras fontes...

Mal ae por usar sua ideia só tava afim de inovar porque eu tinha achado a spell muito limitada! E o resultado como todos podem ver ficou ótimo!

Rep+ pra ti, e vou disponibilizar pra download lá agora né.. saijda. Download: http://www.jhon-soft...1/sistemas.html

 

Ah, você tinha achado a spell muito limitada? Engraçado é que não vi ninguém pensar no algoritmo por trás da spell antes, depois que foi feito e disponibilizado, é muito fácil fazer uma alteração ridícula e falar que a spell estava muito limitada.

 

Acho que estou ficando louco para retrucar algo para alguém banido.

 

Abraços.

Link para o comentário
Compartilhar em outros sites

Espero que faça o auction npc, porque fiquei sabendo que você não ia fazer:

 

Vou criar porra nenhuma não. Reputação eu tenho até demais e reconhecimento do fórum, pff... que dó.

 

http://www.xtibia.com/forum/topic/194106-demo-auction-npc/page__fromsearch__1

Link para o comentário
Compartilhar em outros sites

Não vou mesmo. Se eu fizesse algo desse tipo, até eu ia querer vender. Vamos parar de querer tudo caindo do céu e estudar LUA, né, meus queridos?

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

Oneshot, não adianta se mandar o povo estudar lua, só estou querendo saber se vc vai cumprir com o que disse:

 

 

O próximo script que eu vou fazer é o Auction NPC, viva aos piratas \o/

 

só isso. A resposta é não? Ok então, só queria saber!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...