Ir para conteúdo

Paralyze com certo addon


lucasaoqui

Posts Recomendados

Eu tenho um script aki so que tipo o script ele da paralyze sem parar eu queria q ele desce paralyze so com mage full

local combat = createCombatObject()
local meteor = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -11.2, -52, -11.2, 6)
local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)
setConditionFormula(stun, -0.8, 0, -0.9, 0)
setCombatCondition(meteor, stun)
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)
if (math.random(0, 0) == 0) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})
if (isInArray(water, ground.itemid) == TRUE) then
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_water})
else
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
end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

up


up up up


up up up


up


up


ninguem? up


up

Link para o comentário
Compartilhar em outros sites

a pessoa que for usar a magia

Boa noite,

Utilize esse script:

 

local combat = createCombatObject()
 
local meteor = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -11.2, -52, -11.2, 6)
 
local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)
setConditionFormula(stun, -0.8, 0, -0.9, 0)
setCombatCondition(meteor, stun)
 
 
 
 
 
 
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)
    if (math.random(0, 0) == 0) then
        local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})
        if (isInArray(water, ground.itemid) == TRUE) then
            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_water})
        else
            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
    end
end
 
 
 
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
 
function onCastSpell(cid, var)
	if(getCreatureOutfit(cid).lookType == 130 and getCreatureOutfit(cid).lookAddons == 3) then
		return doCombat(cid, combat, var)
	else
		doPlayerSendCancel(cid, "Você não está utilizando o Outfit necessario para usar essa magia. Você precisa usar o Mage Outfit FULL.")
	end
end

Testei aqui e funcionou perfeitamente.

Qualquer problema poste aqui.

Grande abraço.

Link para o comentário
Compartilhar em outros sites

eu queria que player normal pudesse usar a magia tabem so que quem tiver mage full vai dar paralyze e quem nao tiver mage full nao vai dar paralyze

Entendi agora, aguarde um pouco.

Abraço.

 

 

~Edit

Seguinte mano, eu até tentei aqui, mas não sei mexer com Spells.

Pede pra alguém fazer a spell pra você, você pode usar esse código aqui pra verificar se o player está usando o addon do mage full:

 

if (getCreatureOutfit(cid).lookType == 130 and getCreatureOutfit(cid).lookAddons == 3) then
--Aqui você cria o combat que contem o parametro de deixar o inimigo com paralyze
else
--Aqui você coloca o combat sem o parametro de deixar paralizado.
end

Com spells eu não sei nada cara, se você resolver, posta aqui ou me envia depois como o código ficou pra mim aprender como faz.

Abraços e aguardando resposta.

Se te ajudei, da um REP+ ai.

Editado por Mateusoo
Link para o comentário
Compartilhar em outros sites

Nao consegui mais se vc conseguir fazer pra min dou rep+++

Boa tarde,

Eu não manjo muito de spells não, o máximo que fiz por você foi a condição de so acontecer se tiver o addon mage full.

Pede pra alguém que sabe fazer spells, q ele faz pra você usando a condição que te mandei.

Se a condição te ajudou em algo, manda um REP ai.

Abraços.

Link para o comentário
Compartilhar em outros sites

Acho que isso deve resolver...

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -11.2, -52, -11.2, 6)

local combat2 = createConditionObject(CONDITION_PARALYZE)
setConditionParam(combat2, CONDITION_PARAM_TICKS, 5000)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 44)
setConditionFormula(combat2, -0.8, 0, -0.9, 0)
--Se quiser que de dano também, basta aretirar os traços da linha de baixo:
--doCombat(parameters.cid, combat1, parameters.var)
 
arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}
 
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
setCombatArea(combat2, area1)
 
local function onCastSpell1(parameters)
      if (getCreatureOutfit(cid).lookType == 130 and getCreatureOutfit(cid).lookAddons == 3) then
         return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
            else
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
    end
end
 
function onCastSpell(cid, var)
local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
return TRUE
end

Ai é só adicionar a linha no spells.xml normalmente como você preferir.

 

-GstavoLiber

Editado por GstavoLiber
Link para o comentário
Compartilhar em outros sites

Acho que isso deve resolver...

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -11.2, -52, -11.2, 6)

local combat2 = createConditionObject(CONDITION_PARALYZE)
setConditionParam(combat2, CONDITION_PARAM_TICKS, 5000)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 44)
setConditionFormula(combat2, -0.8, 0, -0.9, 0)
 
arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}
 
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
setCombatArea(combat2, area1)
 
local function onCastSpell1(parameters)
      if (getCreatureOutfit(cid).lookType == 130 and getCreatureOutfit(cid).lookAddons == 3) then
         return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
            else
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
    end
end
 
function onCastSpell(cid, var)
local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
return TRUE
end

Ai é só adicionar a linha no spells.xml normalmente como você preferir.

 

-GstavoLiber

Bom dia,

Acredito que ele queria que dê o DANO e a PARALYZE se o player possuir o addon, se não possuir, apenas dar o DANO.

Abraços ;]

Link para o comentário
Compartilhar em outros sites

Nao esta funcionando eu quero que a magia de dano e tipo quem tiver o addon mage full a magia irar paralizar o player que ele ta esta atacando e se ele nao tiver o addon so vai atacar normal vai dar dano so que nao vai dar paralyze e se vc conseguir diminuir o dano de quem nao tiver mage full tabem ira ajudar

Editado por lucasaoqui
Link para o comentário
Compartilhar em outros sites

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -11.2, -52, -11.2, 6)

 

local combat2 = createConditionObject(CONDITION_PARALYZE)

setConditionParam(combat2, CONDITION_PARAM_TICKS, 5000)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 44)

setConditionFormula(combat2, -0.8, 0, -0.9, 0)

 

arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

}

 

local area1 = createCombatArea(arr1)

setCombatArea(combat1, area1)

setCombatArea(combat2, area1)

 

local function onCastSpell1(parameters)

if (getCreatureOutfit(cid).lookType == 130 and getCreatureOutfit(cid).lookAddons == 3) then

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var) and

doCombat(parameters.cid, combat1, parameters.var)

else

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

end

 

function onCastSpell(cid, var)

local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}

local parameters = { cid = cid, var = var}

addEvent(onCastSpell1, 100, parameters)

return TRUE

end

acredito que ele queria dizer isso, tenta ai :)

Link para o comentário
Compartilhar em outros sites

voces nao tao entendendo eu quero a spell normal que ela solte os meteoros de fogo e talz so q eu quero que com o addon mage full se o cara dar exori mas flam no target o target fica com paralyze de 2 ou 3 segundos

Agr tipo eu venho fazer uma pergunta tem como criar 2 bloco de spell com mesmo nome e da load nos 2 script
Porque tipo eu poderia fazer 1 que n da paralyze
e
pegar o do matheus q da paralyze mais so q quem tem mage full pode usar
aguardando resposta


up


up

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...