Postado Maio 10, 2014 11 anos Testado no TSF 1.0 Primeiramente vá em data/spell/scripts/attack e crie um arquivo em .lua e cole isso dentro dele: --Created with RadBR-- local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE,COMBAT_DEATHDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC , -6, -1.5, -8, -2.5) local combat2 = createCombatObject() function spellCallback2(param) if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_MORTAREA) doAreaCombatHealth(param.cid, COMBAT_DEATHDAMAGE, param.pos, 0, -3000, -5000, CONST_ME_EXPLOSIONHIT) end if(param.count < 5) then param.count = param.count + 1 addEvent(spellCallback2, math.random(2000, 3500), param) end end function onTargetTile(cid, pos) local param = {} param.cid = cid param.pos = pos param.count = 0 spellCallback2(param) end setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatParam(combat2, COMBAT_PARAM_TYPE,COMBAT_DEATHDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC , -6, -1.5, -8, -2.5) local combat3 = createCombatObject() function spellCallback3(param) if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_MORTAREA) doAreaCombatHealth(param.cid, COMBAT_DEATHDAMAGE, param.pos, 0, -3000, -5000, CONST_ME_EXPLOSIONHIT) end if(param.count < 5) then param.count = param.count + 1 addEvent(spellCallback3, math.random(2000, 3500), param) end end function onTargetTile(cid, pos) local param = {} param.cid = cid param.pos = pos param.count = 0 spellCallback2(param) end setCombatCallback(combat3, CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatParam(combat3, COMBAT_PARAM_TYPE,COMBAT_DEATHDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC , -6, -1.5, -8, -2.5) arr1 = { {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0}, {1, 1, 0, 1, 1, 3, 1, 0, 1, 0, 1}, {0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0}, {1, 0, 1, 0, 1, 3, 1, 1, 0, 1, 1}, {0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1}, } arr3 = { {0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0}, {1, 1, 0, 1, 0, 3, 1, 0, 1, 0, 1}, {0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0}, {0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat2, area3) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3} addEvent(onCastSpell1, 101, parameters) addEvent(onCastSpell2, 501, parameters) addEvent(onCastSpell3, 100, parameters) local mninja = {lookType = 290, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local fninja = {lookType = 290, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local sex = getPlayerSex(cid) if sex == 0 then --sexo == 0 significa que o personagem é mulher doSetCreatureOutfit(cid, mninja, 20000) local mana = getCreatureMana(cid) doCreatureAddMana(cid, -0) else doSetCreatureOutfit(cid, fninja, 20000) local mana = getCreatureMana(cid) doCreatureAddMana(cid, -0) end return true end Em seguida vai em spells.xml e coloque isso: <instant name="Espiritos do inferno" words="espiritos do inferno!" lvl="200" mana="3000" prem="1" aggressive="1" exhaustion="7000" groups="1,1500" icon="24" needlearn="0" script="attack/NOMEDOSEUARQUIVO.lua"> <vocation id="12"/> </instant> OBS: <vocation id="12"/> É a vocação Master infernalist; Pronto, agora é só testar. Imagens: Créditos: Todos os créditos são exclusivamente da equipe do RadBR, eu só fiz uma releitura da magia. Te ajudei? Então Rep +
Postado Maio 11, 2014 11 anos Você sabe que essa magia buga o distro certo? Se caso ao usar a magia, o player morrer e obviamente vai relogar, ela buga o distro todo causando lag's, kicks e afins. Se caso ao ele morrer, não logar mais, ai já era.
Postado Maio 11, 2014 11 anos gostei da magia, obrigado por estar contribuindo Ot Design: https://discord.gg/VgtVRNmCD7
Postado Julho 8, 2014 10 anos Nao funcionou! Deu na mesma do que tenho aqui! Eu preciso que essa magia bate nos monster, plays, etc.. Conforme o Magic level, eo Level. Tem como ? function spellCallback(param) if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_MORTAREA) doAreaCombatHealth(param.cid, COMBAT_DEATHDAMAGE, param.pos, 0, -1700, -2000, CONST_ME_EXPLOSIONHIT) end if(param.count < 5) then param.count = param.count + 1 addEvent(spellCallback, math.random(1000, 3000), param) end end Onde esta : doAreaCombatHealth(param.cid, COMBAT_DEATHDAMAGE, param.pos, 0, -1700, -2000, CONST_ME_EXPLOSIONHIT) O -1700 e -2000 esse sao os attacks nos bichos! Tem como colocar por magic level e level ? Atenciosamente, Marjer!
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.