PV
pedido

Spell,paraliza A Si Mesmo E Heala Continuamente

Por pvjf, 23 de nov. de 2012 em Scripts

spell
9
984
pvjfP
23 de novembro de 2012 às 20:16

Bom gostaria de uma Spell, na qual o usuario se paralizaria e regeneraria seu hp por um certo periodo de tempo de 3 em 3 segundos.

 

Obrigado pela atenção.

LuckOakeL
23 de novembro de 2012 às 20:21

Tó:

 

 

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos

function heal(cid)
if not isCreature(cid) then return true end
if getPlayerStorageValue(cid, 13978) == 1 then
doCreatureAddHealth(cid, hp)
addEvent(heal, 3000, cid) return true
end
return true
end

function onCastSpell(cid, var)
setPlayerStorageValue(cid, 13978, 1)
doPlayerSetNoMove(cid, true)
heal(cid)
addEvent(setPlayerStorageValue, tempo*1000, cid, 13978, -1)
end

 

 

Configure aqui:

 

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos

Editado Novembro 23 por LuckOake

pvjfP
23 de novembro de 2012 às 20:31

A spells ta quase 100% mas ta ficando paralizado para sempre =S

LuckOakeL
23 de novembro de 2012 às 20:33

Nó, é mesmo, esqueci disso.

 

 

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos

function heal(cid)
if not isCreature(cid) then return true end
if getPlayerStorageValue(cid, 13978) == 1 then
doCreatureAddHealth(cid, hp)
addEvent(heal, 3000, cid) return true
end
return true
end

function onCastSpell(cid, var)
setPlayerStorageValue(cid, 13978, 1)
doPlayerSetNoMove(cid, true)
heal(cid)
addEvent(setPlayerStorageValue, tempo*1000, cid, 13978, -1)
addEvent(doPlayerSetNoMove, tempo*1000, cid, false)
return true
end

 

Editado Novembro 23 por LuckOake

pvjfP
23 de novembro de 2012 às 20:38

POw kbei de v otra coisa ela n tem exhalsted mano =S arruma ai soh falt aisso msm ela ja ta 99,9% Boa hehe

LuckOakeL
23 de novembro de 2012 às 20:42

Pronto, agora tá 100%.

 

 

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos
exha = 1 -- Exhaust em segundos

function heal(cid)
if not isCreature(cid) then return true end
if getPlayerStorageValue(cid, 13978) == 1 then
doCreatureAddHealth(cid, hp)
addEvent(heal, 3000, cid) return true
end
return true
end

function onCastSpell(cid, var)
if exhaustion.check(cid, 18561) then
doSendMagicEffect(getCreaturePos(cid), 2)
doPlayerSendCancel(cid, "You are exhausted.") return false
end
exhaustion.set(cid, 18561, exha)
setPlayerStorageValue(cid, 13978, 1)
doPlayerSetNoMove(cid, true)
heal(cid)
addEvent(setPlayerStorageValue, tempo*1000, cid, 13978, -1)
addEvent(doPlayerSetNoMove, tempo*1000, cid, false)
return true
end

 

 

Configurando:

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos
exha = 1 -- Exhaust em segundos

pvjfP
23 de novembro de 2012 às 20:47

nossa vlw rep + a spells ja ta valendo.

e ultima coisa , tem como adiciona um efeito na spell?

LuckOakeL
23 de novembro de 2012 às 20:50

Sim:

 

 

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos
exha = 1 -- Exhaust em segundos
eff = 10 -- Efeito

function heal(cid)
if not isCreature(cid) then return true end
if getPlayerStorageValue(cid, 13978) == 1 then
doCreatureAddHealth(cid, hp)
doSendMagicEffect(getCreaturePos(cid), eff)
addEvent(heal, 3000, cid) return true
end
return true
end

function onCastSpell(cid, var)
if exhaustion.check(cid, 18561) then
doSendMagicEffect(getCreaturePos(cid), 2)
doPlayerSendCancel(cid, "You are exhausted.") return false
end
exhaustion.set(cid, 18561, exha)
setPlayerStorageValue(cid, 13978, 1)
doPlayerSetNoMove(cid, true)
heal(cid)
addEvent(setPlayerStorageValue, tempo*1000, cid, 13978, -1)
addEvent(doPlayerSetNoMove, tempo*1000, cid, false)
return true
end

 

 

Configure aqui:

tempo = 10 -- Tempo de duração da spell em segundos
hp = 10 -- Quanto HP vai healar a cada 3 segundos
exha = 1 -- Exhaust em segundos
eff = 10 -- Efeito

Editado Novembro 23 por LuckOake

FlaahF
25 de novembro de 2012 às 18:37

Tem como colocar pra paralizar o player inimigo e fica hitando ele, durante 5 segundos tbm?!

 

SCRIPT:

 

tempo = 5 -- Tempo de duração da spell em segundos

hp = 10 -- Quanto HP vai healar a cada 3 segundos

exha = 1 -- Exhaust em segundos

eff = 10 -- Efeito

 

local condition = createConditionObject(CONDITION_PARALYZE)

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 9612)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_CREATEITEM, 9611)

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_CREATEITEM, 9619)

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_CREATEITEM, 9618)

local combat5 = createCombatObject()

setCombatParam(combat5, COMBAT_PARAM_CREATEITEM, 9617)

local combat6 = createCombatObject()

setCombatParam(combat6, COMBAT_PARAM_CREATEITEM, 9616)

local combat7 = createCombatObject()

setCombatParam(combat7, COMBAT_PARAM_CREATEITEM, 9615)

local combat8 = createCombatObject()

setCombatParam(combat8, COMBAT_PARAM_CREATEITEM, 9614)

local combat9 = createCombatObject()

setCombatParam(combat9, COMBAT_PARAM_CREATEITEM, 9613)

local combat9 = createCombatObject()

setCombatParam(combat9, COMBAT_PARAM_CREATEITEM, 9613)

local combat10 = createCombatObject()

setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

setAttackFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, 1, 1, 3, 4)

setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)

setConditionFormula(condition, -0.9, 0, -0.9, 0)

setCombatCondition(combat10, condition)

local arr1 = {

{1, 0, 0},

{0, 2, 0},

{0, 0, 0}

}

local arr2 = {

{0, 1, 0},

{0, 2, 0},

{0, 0, 0}

}

local arr3 = {

{0, 0, 1},

{0, 2, 0},

{0, 0, 0}

}

local arr4 = {

{0, 0, 0},

{1, 2, 0},

{0, 0, 0}

}

local arr5 = {

{0, 0, 0},

{0, 3, 0},

{0, 0, 0}

}

local arr6 = {

{0, 0, 0},

{0, 2, 1},

{0, 0, 0}

}

local arr7 = {

{0, 0, 0},

{0, 2, 0},

{1, 0, 0}

}

local arr8 = {

{0, 0, 0},

{0, 2, 0},

{0, 1, 0}

}

local arr9 = {

{0, 0, 0},

{0, 2, 0},

{0, 0, 1}

}

local arr10 = {

{1, 1, 1},

{1, 3, 1},

{1, 1, 1}

}

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

local area4 = createCombatArea(arr4)

local area5 = createCombatArea(arr5)

local area6 = createCombatArea(arr6)

local area7 = createCombatArea(arr7)

local area8 = createCombatArea(arr8)

local area9 = createCombatArea(arr9)

local area10 = createCombatArea(arr10)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

setCombatArea(combat5, area5)

setCombatArea(combat6, area6)

setCombatArea(combat7, area7)

setCombatArea(combat8, area8)

setCombatArea(combat9, area9)

setCombatArea(combat10, area10)

 

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

local function onCastSpell6(parameters)

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

end

local function onCastSpell7(parameters)

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

end

local function onCastSpell8(parameters)

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

end

local function onCastSpell9(parameters)

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

end

local function onCastSpell10(parameters)

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

end

 

function heal(cid)

if not isCreature(cid) then return true end

if getPlayerStorageValue(cid, 13978) == 1 then

doCreatureAddHealth(cid, hp)

doSendMagicEffect(getCreaturePos(cid), eff)

addEvent(heal, 1000, cid) return true

end

return true

end

 

function onCastSpell(cid, var)

if exhaustion.check(cid, 18561) then

doSendMagicEffect(getCreaturePos(cid), 2)

doPlayerSendCancel(cid, "You are exhausted.") return false

end

local parameters = { cid = cid, var = var,combat1 = combat1,combat2 = combat2,combat3 = combat3,combat4 = combat4,combat5 = combat5,combat6 = combat6,combat7 = combat7,combat8 = combat8,combat9 = combat9,combat10 = combat10 }

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 100, parameters)

addEvent(onCastSpell3, 100, parameters)

addEvent(onCastSpell4, 100, parameters)

addEvent(onCastSpell5, 100, parameters)

addEvent(onCastSpell6, 100, parameters)

addEvent(onCastSpell7, 100, parameters)

addEvent(onCastSpell8, 100, parameters)

addEvent(onCastSpell9, 100, parameters)

addEvent(onCastSpell10, 100, parameters)

 

exhaustion.set(cid, 18561, exha)

setPlayerStorageValue(cid, 13978, 1)

doPlayerSetNoMove(cid, true)

heal(cid)

addEvent(setPlayerStorageValue, tempo*1000, cid, 13978, -1)

addEvent(doPlayerSetNoMove, tempo*1000, cid, false)

return true

end

 

VALENDO +REP

Editado Novembro 25 por Flaah