Fala ai galera, voltei ao XTibia depois de um tempo e esta é a minha primeira spell depois de um tempo fora do XTibia.
Nome da Spell: Holy Meteor
Créditos: 100% CoGames
Testada: Tibia 8.60
Então vamos ao trabalho!
Entre em data/spells/scripts, crie um arquivo.lua e renomeie-o para HolyMeteor, e dentro do HolyMeteor.lua, cole:
--- Holy Meteor ---
--- By CoGames ---
local combat = createCombatObject()
local meteor = createCombatObject()
setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(meteor, COMBAT_PARAM_EFFECT, 39)
setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -10, -10, -12, -20)
local meteor_water = createCombatObject()
setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 39)
setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -10, -10, -12, -20)
combat_arr = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}
local combat_area = createCombatArea(combat_arr)
setCombatArea(combat, combat_area)
local function meteorCast(p)
doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end
function onTargetTile(cid, pos)
if (math.random(1, 1) == 1) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})
if (isInArray(water, ground.itemid) == TRUE) then
local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}
doSendDistanceShoot(newpos, pos, 30)
addEvent(meteorCast, 6000, {cid = cid, pos = pos, combat = meteor_water})
else
local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}
doSendDistanceShoot(newpos, pos, 30)
addEvent(meteorCast, 600, {cid = cid,pos = pos, combat = meteor})
end
end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
O que está em Roxo é o tipo do dano. Exemplo: FIREDAMAGE, ICEDAMAGE, EARTHDAMAGE, DEATHDAMAGE, entre outros...
O que está em Verde é o tipo do Magic Effect (/z) causado após o Distance Effect atingir o solo. Exemplo: 39 é o ID do HOLY, 42 é o ID do FURACÃO, 52 é o ID do GELO GIGANTE, entre outros...
O que está em Vermelho é a quantidade de dano que o player causará no monstro, ou em outro player, ali em cima está entre 1000 de dano e 5000.
O que está em Ouro Escuro é os quadrados que o poder atingirá, neste caso atingira 2 quadrados de todos os lados do player, o número 3 é o local em que o player está.
O que está em azul escuro é o Distance Effect (/x) solto após o player ter falado o poder. No caso é 30 que é o Distance Effect do HOLY, 28 é o Distance Effect da NEVE, entre outros...
Agora vá em data/spells/spells.xml e dentro em algum lugar, ponha:
<!-- CoGames Spells -->
<instant name="HolyMeteor" words="holymeteor" lvl="1" mana="0" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="HolyMeteor.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="4"/>
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
<vocation id="9"/>
<vocation id="10"/>
<vocation id="11"/>
<vocation id="12"/>
</instant>
O que está em Azul é o nome da Spell.
O que está em Ouro é o nome da Spell para ser soltada.
O que está em Vermelho é o level que precisará para soltar a spell, no caso é no level 1 (PARA TESTE).
O que está em Marrom é a mana que custará para soltar a spell, no caso é 0 de mana (PARA TESTE).
O que está em Roxo é o tempo que demorará para o player poder soltar a magia novamente, ou seja, o intervalo para soltar a spell novamente, no caso é 1000 = 1 segundo, pode também por 500 = 0,5 segundos, 800 = 0,8 segundos, 2000 = 2 segundos, entre outros...
O que está em Laranja é o arquivo.lua que você salvou lá na pasta data/spells/scripts, no caso é HolyMeteor.lua o nome do arquivo.lua que eu salvei.
O que está em Verde é as vocações que podem soltar esta spell, no caso eu coloquei até o 12 que no meu OT tem 12 vocações, então coloquei todas (PARA TESTE).
Então é isso galera, espero que tenham gostado, não coloquei SSs por que to meio sem tempo de ficar carregando no Imageshack e depois postar aqui!
As SSs estão na hora de você entrar no tibia com a spell adicionada ai é só dizer o nome dela que soltará ela, ai não precisará de SS
Se gostou REP+
Se não gostou REP+também.
Obrigado!