Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

8.60

 

Qual o motivo deste tópico? 

Boa Tarde família. Eu estou tentando colocar Delay em uma magia de área, pra que eu possa criar do modo que eu quiser o "desenho" do mesmo. Eu estou usando um Script que eu coloco tudo certo, efeito, delay e a position, porém a magia não funciona. 
Fiz a mesma magia com os mesmos efeitos, porém usando "target" e funcionou, acho que o Script não é apropriado para "Magia em Área", alguém poderia me passar o certo, que atenda com os requisitos acima?

 

Segue o SCRIPT que estou usando:

 

Você tem o código disponível? Se tiver publique-o aqui: 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -78.2, 1, -88.2, 1)

arr1 = {
 {3}
}

local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)


local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end

function onCastSpell(cid, var)
local waittime = 2 -- Tempo de exhaustion
local storage = 1000150

if exhaustion.check(cid, storage) then
doSendMagicEffect(getCreaturePosition(cid), 2)
return false
end
local parameters = { cid = cid, var = var}
local target = getCreatureTarget(cid)  -- efeito no alvo
local pos = getCreaturePosition(target)
local poz = getCreaturePosition(cid) -- effeito no caster
addEvent(onCastSpell1, 100, parameters)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-2, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+2, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+2, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-2, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y-1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y-2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y+1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y+2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y-1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y-2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y+2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y+1, z = pos.z}, 332)
exhaustion.set(cid, storage, waittime)
return TRUE
end 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

Vou colocar 2 exemplos, queria transformar esses mesmos efeitos para uma magia de área. Só preciso do Script certo, se alguém puder ajudar.. agradeço desde já!

Resolvido por Fabi Marzan

Ir para solução
  • Respostas 5
  • Visualizações 621
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @raphadoidera       

  • Fabi Marzan
    Fabi Marzan

    @raphadoidera   VC TEM COLOCAR ISSO: local pos = getCreaturePosition(cid)     TESTA AGR: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE,

Postado
  • Autor
2 horas atrás, Fabi Marzan disse:

Esse scripts ta ussando uma funcao so pra Target.

 

Remova isso local target = getCreatureTarget(cid)  -- efeito no alvo

Removi tudo que era relacionado a Target e adicionei um campo de área no script. Agora a magia está dando dano, mas não está saindo os efeitos.

 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -78.2, 1, -88.2, 1)

 

arr1 = {
    {0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 1, 1, 3, 1, 1, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0}
}

 

local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)


local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end

 

function onCastSpell(cid, var)
local waittime = 2 -- Tempo de exhaustion
local storage = 1000150

if exhaustion.check(cid, storage) then
doSendMagicEffect(getCreaturePosition(cid), 2)
return false
end


local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-2, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+2, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+2, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-2, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y-1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y-2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y+1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y+2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y-1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y-2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y+2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y+1, z = pos.z}, 332)
exhaustion.set(cid, storage, waittime)
return TRUE
end 

Editado por raphadoidera (veja o histórico de edições)

Postado

@raphadoidera 
 

Spoiler

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 7)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -78.2, 1, -88.2, 1)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 332)

arr1 = {
    {0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 1, 1, 3, 1, 1, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0}
}

arr2 = {
    {0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 3, 0, 1, 1},
    {0, 1, 0, 0, 0, 1, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 0, 0, 1, 0, 0, 0}
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)

local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end

local function onCastSpell2(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
end

function onCastSpell(cid, var)
local waittime = 2 -- Tempo de exhaustion
local storage = 1000150

if exhaustion.check(cid, storage) then
doSendMagicEffect(getCreaturePosition(cid), 2)
return false
end

local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 200, parameters)
exhaustion.set(cid, storage, waittime)
return TRUE
end 

 

 

 

Postado
  • Solução

@raphadoidera

 

VC TEM COLOCAR ISSO:

local pos = getCreaturePosition(cid)

 

 

TESTA AGR:

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -78.2, 1, -88.2, 1)

 

arr1 = {
    {0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 1, 1, 3, 1, 1, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0}
}

 

local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)


local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end

 

function onCastSpell(cid, var)
local waittime = 2 -- Tempo de exhaustion
local storage = 1000150

if exhaustion.check(cid, storage) then
doSendMagicEffect(getCreaturePosition(cid), 2)
return false
end


local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
local pos = getCreaturePosition(cid)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-2, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+2, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+2, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-2, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y-1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y+1, z = pos.z}, 7)
addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y-1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y-2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y+1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y+2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y-1, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y-2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y+2, z = pos.z}, 332)
addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y+1, z = pos.z}, 332)
exhaustion.set(cid, storage, waittime)
return TRUE
end 

 

 

 

Editado por Fabi Marzan (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.6k

Informação Importante

Confirmação de Termo