Ir para conteúdo
  • 0
Phineasz

Normal Magias Que Podem Paralisar o Jogador

Pergunta

Phineasz    0
Phineasz

Alguém por favor, poderia adicionar uma função nessas magias que quando a pessoa tivesse x addon a magia pudesse paralisar o jogador? E outra que quando não tivesse o x addon full saia um efeito e quando tivesse trocasse o efeito da magia? Lembrando que não precisa estar usando o addon, só de ter ele full, a pessoa já obteria essa função na magia. Também que não iria paralisar toda hora que usar a magia, seria randômico. Obrigado desde já, rep+ para quem ajudar. Eu uso OTX versão do servidor 8.60

Link da Distro: 

Conteúdo Oculto

    Entre aqui ou cadastre-se aqui para ver este conteúdo oculto.

Link do Servidor: 

Conteúdo Oculto

    Entre aqui ou cadastre-se aqui para ver este conteúdo oculto.

Exori Mas Frigo -> Paralisa o jogador. Addon Druid.

Spoiler

local combat = createCombatObject()

local meteor = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 43)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12)

local arr = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 3, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0}
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

local function meteorCast(p)
    doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
    doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end


function onTargetTile(cid, pos)
            local newpos = {x = pos.x + 7, y = pos.y - 6, z = pos.z}
            doSendDistanceShoot(newpos, pos, CONST_ANI_ICE)
            addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
local storage = 15234
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendTextMessage(cid,22, "Voce precisa concluir a quest para usar a magia")
doSendMagicEffect(getCreaturePosition(cid), 4)         
return true
end
return doCombat(cid, combat, var)
end

Exori Mas Tera -> Paralisa o jogador. Addon Druid.

Spoiler

local combat = createCombatObject()

local meteor = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 45)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12)

local arr = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 3, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0}
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

local function meteorCast(p)
    doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
    doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end


function onTargetTile(cid, pos)
            local newpos = {x = pos.x + 7, y = pos.y - 6, z = pos.z}
            doSendDistanceShoot(newpos, pos, CONST_ANI_EARTH)
            addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
local storage = 15234
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendTextMessage(cid,22, "Voce precisa concluir a quest para usar a magia")
doSendMagicEffect(getCreaturePosition(cid), 4)         
return true
end
return doCombat(cid, combat, var)
end

Exori Mas Flam -> Paralisa o jogador. Addon Sorc.

Spoiler

local combat = createCombatObject()

local meteor = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 6)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12)

local arr = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 3, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0}
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

local function meteorCast(p)
    doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
    doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end


function onTargetTile(cid, pos)
            local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}
            doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)
            addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
local storage = 15234
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendTextMessage(cid,22, "Voce precisa concluir a quest para usar a magia")
doSendMagicEffect(getCreaturePosition(cid), 4)         
return true
end
return doCombat(cid, combat, var)
end

Exori Mais Vis -> Paralisa o jogador. Addon Sorc.

Spoiler

local combat = createCombatObject()

local meteor = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 40)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12)

local arr = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 3, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0}
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

local function meteorCast(p)
    doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
    doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end


function onTargetTile(cid, pos)
            local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}
            doSendDistanceShoot(newpos, pos, CONST_ANI_ENERGY)
            addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
local storage = 15234
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendTextMessage(cid,22,"Voce precisa concluir a quest para usar a magia")
doSendMagicEffect(getCreaturePosition(cid), 4)         
return true
end
return doCombat(cid, combat, var)
end

Exori Mas San -> Muda o efeito. Addon Assassin.

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 15, 18, 21, 25)

local arr = {
    {0, 1, 0},
    {1, 3, 1},
    {0, 1, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
local storage = 15234
if getPlayerStorageValue(cid, storage) == -1 then
doPlayerSendTextMessage(cid,22, "Voce precisa concluir a quest para usar a magia")
doSendMagicEffect(getCreaturePosition(cid), 4)         
return true
end
return doCombat(cid, combat, var)
end

Editado por Phineasz

Compartilhar este post


Link para o post

9 respostass a esta questão

Recommended Posts

  • 0
TheRatazana    8
TheRatazana

Não sei se vai funcionar certinho, porque eu usei a source do chaitosoft global 8.60 pra me basear. Mas acho que seria isso:

Conteúdo Oculto

    Entre aqui ou cadastre-se aqui para ver este conteúdo oculto.

Seria só mudar o outfitId e os efeitos do setCombatParam pra cada spell que você quer.

 

Ps: Quando for perguntar seja objetivo e poste sempre detalhes da distro que você usa, e se possível um link pra source dela.

Editado por TheRatazana
Colocando checagem por outfit do sexo oposto

Compartilhar este post


Link para o post
  • 0
Phineasz    0
Phineasz

@TheRatazana Editei o Tópico

Conteúdo Oculto

    Entre aqui ou cadastre-se aqui para ver este conteúdo oculto.

Compartilhar este post


Link para o post
  • 0
TheRatazana    8
TheRatazana

Realmente esqueci que não podia isso. No caso então você vai ter que fazer dois combates iguais, mas com efeitos diferentes (COMBAT_PARAM_EFFECT)

 

Em todo caso, remova ambos setCombatParam(combat, COMBAT_PARAM_EFFECT da função meteorCast e veja como funciona e o que falta. Pra saber se estamos com o mesmo pensamento em como deveria funcionar

Compartilhar este post


Link para o post
  • 0
Phineasz    0
Phineasz

@TheRatazana Funcionou não, mesmo erro

Compartilhar este post


Link para o post
  • 0
TheRatazana    8
TheRatazana

Seja mais específico. Diga qual é o erro. Se for sobre o setCombatParam então não tirou os que eu disse, pois são os únicos que estão dentro de uma função, o que realmente não é permitido.

Compartilhar este post


Link para o post
  • 0
Phineasz    0
Phineasz

@TheRatazana Eu esqueci de tirar um, desculpa, o erro sumiu, porém quando usa a magia ela não hita

Compartilhar este post


Link para o post
  • 0
TheRatazana    8
TheRatazana

Não faz muito sentido isso, porque sempre que a meteorCast for chamada irá fazer o doCombat. Poderia postar só a sua meteorCast?

Compartilhar este post


Link para o post
  • 0
Phineasz    0
Phineasz

@TheRatazana Creio que seja isso né?

Conteúdo Oculto

    Entre aqui ou cadastre-se aqui para ver este conteúdo oculto.

 

Compartilhar este post


Link para o post
  • 0
TheRatazana    8
TheRatazana

Bom, ela não está da maneira como mandei. Porém não faz sentido não estar dando damage se o doCombat está ok. Tente comparar com alguns spells da sua distro, se estiver realmente tudo bem parecido, então é algum outro fator atrapalhando. Tente também fazer o doCombat direto, sem agendar um evento, pra ver se seria esse o problema

Compartilhar este post


Link para o post

Crie uma conta ou entre para comentar

Você precisa ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×