Ir para conteúdo

Featured Replies

Postado

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

 

 

  • Respostas 14
  • Visualizações 872
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.

  • @Zazeros, não entendo essa formula o suficiente pra conseguir explicar pra você como funciona certinho, você pode utilizar essa outra formula que é utilizada nas novas versões, ela é bem mais fácil de

Postado

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
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 por FlavioHulk (veja o histórico de edições)

Postado
  • 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
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 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo