Postado Outubro 6, 2018 6 anos Base: 0.4 Tarde povo, eu to com um erro chato nessa spell, que eu acho que ta fazendo ela não da dano: [6/10/2018 16:34:1] [Error - Spell Interface] [6/10/2018 16:34:1] data/spells/scripts/attack/test5.lua [6/10/2018 16:34:1] Description: [6/10/2018 16:34:1] (luaSetCombatArea) Combat not found Esse erro da umas 9x quando eu do reload spells Citar local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local area1 = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) local area2 = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) local area3 = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) local area4 = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) local area5 = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) 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 local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end function onCastSpell(cid, var) if exhaustion.get(cid,61260) == false then local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, } addEvent(onCastSpell1, 0, parameters) addEvent(onCastSpell2, 500, parameters) addEvent(onCastSpell2, 1000, parameters) addEvent(onCastSpell2, 1500, parameters) addEvent(onCastSpell2, 2000, parameters) exhaustion.set(cid,61260,10) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 61260).."]") end return false end
Postado Outubro 6, 2018 6 anos tenta ai: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local area1 = createCombatArea(AREA_CIRCLE2X2) local area2 = createCombatArea(AREA_CIRCLE2X2) local area3 = createCombatArea(AREA_CIRCLE2X2) local area4 = createCombatArea(AREA_CIRCLE2X2) local area5 = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) 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 local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end function onCastSpell(cid, var) if exhaustion.get(cid,61260) == false then local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5} addEvent(onCastSpell1, 0, parameters) addEvent(onCastSpell2, 500, parameters) addEvent(onCastSpell2, 1000, parameters) addEvent(onCastSpell2, 1500, parameters) addEvent(onCastSpell2, 2000, parameters) exhaustion.set(cid,61260,10) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 61260).."]") end return false end
Postado Outubro 7, 2018 6 anos local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local area = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) local function onDelayedSpell(parameters) doCombat(parameters.cid, parameters.combat, parameters.var) end function onCastSpell(cid, var) if exhaustion.get(cid,61260) then doPlayerSendCancel(cid, "Cooldown[" .. exhaustion.get(cid, 61260) .."]") return false end local parameters = { cid = cid, var = var, combat = combat} for i = 0, 2000, 500 do addEvent(onDelayedSpell, i, parameters) end exhaustion.set(cid,61260,10) return false end Editado Outubro 7, 2018 6 anos por FlavioHulk (veja o histórico de edições)
Postado Outubro 7, 2018 6 anos Autor @Lyu e @FlavioHulk. Caras, o erro sumiu, mas ainda não ta dando dano. Eu dei ctrl v na formula do exori frigo e mesmo assim não deu, o que pode ser?? Ahh, e @FlavioHulk, eu pensava que sempre que fosse criar uma spell que batesse varia vezes, precisava colocar vários combats, como que você fez esse script? Se não se importar de explicar. Alias, eu queria colocar uma formula que batesse somente em relação ao level, uma pessoa tinha me falado que se eu colocar 0, 0, -6, 0) como formula, aquele -6 significa o lvl
Postado Outubro 8, 2018 6 anos local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.2, -150, -2.5, 1) local area = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) function onCastSpell(cid, var) if exhaustion.get(cid, 61260) then doPlayerSendCancel(cid, "Cooldown[" .. exhaustion.get(cid, 61260) .."]") return false end for i = 0, 2000, 500 do addEvent(function(cid) if not isPlayer(cid) then return end return doCombat(cid, combat, var) end, i, cid) end exhaustion.set(cid, 61260, 10) return false end Então cara, é o seguinte, já que você irá utilizar a mesma função várias vezes, o mais correto é utilizar um laço for pra criar essa situação. No seu script, é um evento onde se repete a cada 500 milissegundos:for i = 0, 2000, 500 do Onde o valor de i é 0, o limite é 2000 e a cada rodada será incrementado 500 ao valor de i... Criando um loop até o valor limite! Editado Outubro 8, 2018 6 anos por FlavioHulk (veja o histórico de edições)
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.