Olá!
Eu, em razão à minha mais humilde (e pequena) possível sabedoria, decidi postar uma magia:
F-Star ART.
Ela funciona da seguinte maneira: ah, esquece, vocês verão ao final do Tópico :}
Pra começar, o ínicio básico de criação de spell:
1° PASSO: Vá na pasta do seu ot, em seguida em data/spells/scripts e crie* um arquivo (.lua) chamado fstar art.lua
Criado o arquivo, cole a seguinte fórmula dentro dele:
local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616,4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625}
local combat = createCombatObject()
local combat2 = createCombatObject()
local meteor = createCombatObject()
setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(meteor, COMBAT_PARAM_EFFECT, 6)
setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -90, -105, -110, -106)
local meteor2 = createCombatObject()
setCombatParam(meteor2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(meteor2, COMBAT_PARAM_EFFECT, 49)
setCombatFormula(meteor2, COMBAT_FORMULA_LEVELMAGIC, -90, -105, -110, -106)
local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 1500)
setConditionFormula(stun, -1.8, 0, -1.9, 0)
setCombatCondition(meteor, stun)
local meteor_water = createCombatObject()
setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 17)
setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -90, -105, -110, -106)
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, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 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},
}
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(0, 0) == 0) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})
if (isInArray(water, ground.itemid) == TRUE) then
local newpos = {x = pos.x - 3, y = pos.y + 5, z = pos.z}
doSendDistanceShoot(newpos, pos, 31)
addEvent(meteorCast, 300, {cid = cid, pos = pos, combat = meteor_water})
else
local newpos2 = {x = pos.x - 9, y = pos.y - 0, z = pos.z}
doSendDistanceShoot(newpos2, pos, 4)
addEvent(meteorCast, 300, {cid = cid, pos = pos, combat = meteor})
local newpos3 = {x = pos.x + 9, y = pos.y + 0, z = pos.z}
doSendDistanceShoot(newpos3, pos, 37)
addEvent(meteorCast, 600, {cid = cid, pos = pos, combat = meteor2})
local newpos4 = {x = pos.x + 9, y = pos.y + 9, z = pos.z}
doSendDistanceShoot(newpos4, pos, 37)
addEvent(meteorCast, 700, {cid = cid, pos = pos, combat = meteor_water})
local newpos4 = {x = pos.x + 9, y = pos.y - 9, z = pos.z}
doSendDistanceShoot(newpos4, pos, 37)
addEvent(meteorCast, 500, {cid = cid, pos = pos, combat = meteor_water})
local newpos5 = {x = pos.x - 9, y = pos.y - 0, z = pos.z}
doSendDistanceShoot(newpos5, pos, 3)
addEvent(meteorCast, 400, {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
OBS ~ Caso queira modificar a spell:
Verde: Tipo de damage. (Death, holy, ice, energy, physical, fire, ou earth)
Vermelho: Magic effect. (para escolher, digite /z de 0 até 68)
Azul: Dano causado.
Roxo: Àrea onde irão ser alcançados os DistanceEffects e onde serão realizados os MagicEffects.
Laranja: Distance Effect (para escolher, digite /x de 0 à 41)
Salve, feche, e OK!
2° PASSO: Vá na pasta do seu OT, vá em data/spells.
Certamente, deverá ver o seguinte arquivo: spells.xml
Clique com o botão direito do mouse, em seguida na opção EDITAR.
O arquivo será aberto em modo de Bloco de notas.
Logo então, vá à parte -Attack Spells- ;
Depois cole isso:
<instant name="F-Star Art" words="Flamed Star Art" lvl="13000" mana="3000" prem="1" selftarget="1" exhaustion="2000" needlearn="0" script="attack/fstar art.lua">
<vocation name="Paladin" />
<vocation name="Royal Paladin" />
</instant>
OBS ~ Caso queira modificar algo:
Verde: Nome real da magia. (Exemplo: O nome real da spell Exori san é Divine missile.)
Vermelho: CastWord, mais conhecida como "nome para realizar a spell".
Azul:Level necessário para usar a magia..
Roxo: Mana necessária para usar a magia.
Amarelo: Exausthed da spell.
Laranja: Classes que irão utilizar a spell.
Feito tuuuuuuuuuuudo isso, sua spell está pronta para ser:
U-T-I-L-I-Z-A-D-A !
- Créditos -
Eu.
Eu denovo.
Eu mesmo.
Eu novamente.
Espero ter ajudado vocês à diferenciar cada vez mais seus OTServer's.
Se curtiu, REP+ no tiozão.
Se não curtiu, pode dar REP+ também.
Se curtiu ou não curtiu, mas não quer dar REP+...
...
Não dê REP+ '-'