lukinha017 0 #1 Postado 10 Maio, 2008 (editado) ------------------------------- Nome: 4 novas magias boas Versão: 7.6 Tipo do script: Spell Servidor Testado: Yurots Autor: lukinha017 ------------------------------- Vou ensinar passa-a-passa como colocar as magias em seu OTServer, elas são para leveis meio avançado, criativas e são feitas por mim 1° - Vá até spells\instant copie um arquivo e cole ele 4 vezes. 2° - Renomeie eles para : cross deadly ; squall explosive ; skull of death ; arrow rain . 3° - Vai abrindo 1 por 1, apague o que estava e cole isso : cross deadly (soccer) area = { {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, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, } attackType = ATTACK_PHYSICAL needDirection = false areaEffect = NM_ME_MORT_AREA animationEffect = NM_ANI_SUDDENDEATH hitEffect = NM_ME_MORT_AREA damageEffect = NM_ME_MORT_AREA animationColor = RED offensive = true drawblood = true GreatEnergyBeamObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0) function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} n = tonumber(var) -- try to convert it to a number if n ~= nil then -- bugged -- GreatEnergyBeamObject.minDmg = var+0 -- GreatEnergyBeamObject.maxDmg = var+0 GreatEnergyBeamObject.minDmg = 0 GreatEnergyBeamObject.maxDmg = 0 else GreatEnergyBeamObject.minDmg = (level * 2 + maglv * 3) * 2.7 - 30 GreatEnergyBeamObject.maxDmg = (level * 2 + maglv * 3) * 3.5 end return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, GreatEnergyBeamObject:ordered()) end squall explosive (kina) area = { {0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0}, {0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1}, {0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0}, } attackType = ATTACK_PHYSICAL needDirection = false areaEffect = NM_ME_EXPLOSION_AREA animationEffect = NM_ANI_NONE hitEffect = NM_ME_EXPLOSION_DAMAGE damageEffect = NM_ME_DRAW_BLOOD animationColor = RED offensive = true drawblood = true UltimateExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0) function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} n = tonumber(var) -- try to convert it to a number if n ~= nil then -- bugged -- ultimateExplosionObject.minDmg = var+0 -- UltimateExplosionObject.maxDmg = var+0 UltimateExplosionObject.minDmg = 0 UltimateExplosionObject.maxDmg = 0 else UltimateExplosionObject.minDmg = (level * 3 + maglv * 2) * 2.2 - 30 UltimateExplosionObject.maxDmg = (level * 3 + maglv * 2) * 3.3 end return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, UltimateExplosionObject:ordered()) end skull of death (druid) area = { {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1} } attackType = ATTACK_POISON needDirection = false areaEffect = NM_ME_POISEN_RINGS animationEffect = NM_ANI_NONE hitEffect = NM_ME_POISEN damageEffect = NM_ME_POISEN_RINGS animationColor = GREEN offensive = true needDirection = false drawblood = false minDmg = 20 maxDmg = 20 PoisonStormObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, minDmg, maxDmg) SubPoisonStormObject1 = MagicDamageObject(attackType, NM_ANI_NONE, NM_ME_NONE, damageEffect, animationColor, offensive, drawblood, 15, 15) SubPoisonStormObject2 = MagicDamageObject(attackType, NM_ANI_NONE, NM_ME_NONE, damageEffect, animationColor, offensive, drawblood, 10, 10) SubPoisonStormObject3 = MagicDamageObject(attackType, NM_ANI_NONE, NM_ME_NONE, damageEffect, animationColor, offensive, drawblood, 5, 5) function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} PoisonStormObject.minDmg = (level * 2 + maglv * 3) * 2.1 - 30 PoisonStormObject.maxDmg = (level * 2 + maglv * 3) * 2.8 return doAreaExMagic(cid, centerpos, needDirection, areaEffect, area, PoisonStormObject:ordered(), 2000, 1, SubPoisonStormObject1:ordered(), 2000, 2, SubPoisonStormObject2:ordered(), 2000, 10, SubPoisonStormObject3:ordered(), 3) end arrow rain (pally) area = { {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, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 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, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 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} } attackType = ATTACK_ENERGY needDirection = false areaEffect = NM_ME_ENERGY_AREA animationEffect = NM_ANI_NONE hitEffect = NM_ME_EXPLOSION_DAMAGE damageEffect = NM_ME_ENERGY_DAMAGE animationColor = RED offensive = true drawblood = true GreatEnergyBeamObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0) function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} GreatEnergyBeamObject.minDmg = (level * 2 + maglv *2) * 2.8 GreatEnergyBeamObject.maxDmg = (level * 2 + maglv *2) return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, GreatEnergyBeamObject:ordered()) end 4° - Agora na pasta spells cole isso no arquivo spells.xml, na parte dos instant: <spell name="Cruzada" words="cross deadly" maglv="40" mana="900" enabled="1"><vocation id="1" /><vocation id="5" /></spell><spell name="Impacto" words="squall explosive" maglv="7" mana="120" enabled="1"><vocation id="4" /><vocation id="8" /></spell> <spell name="Caveira poison" words="skull of death" maglv="35" mana="600" enabled="1"><vocation id="2" /><vocation id="6" /></spell> <spell name="Chuva de Flecha" words="arrow rain" maglv="20" mana="300" enabled="1"><vocation id="3" /><vocation id="7" /></spell> -->Nome da magia para comprar(Obs: Muda só se não começar com todos.) --->Magic Level necessario --->Vocação que pode usar(Obs: Só muda se saber o que tá fazendo.) --->Mana que será utilizada Veja como elas são : cross deadly - squall explosive skull of death - arrow rain Espero ter ajudado, Obrigado Editado 10 Maio, 2008 por lukinha017 Compartilhar este post Link para o post
Dark 3 #2 Postado 14 Maio, 2008 Aprovado Movido (Scripting → Downloads → Magias & Runas) Compartilhar este post Link para o post