Ir para conteúdo

[Pedido]-Magia


Darkwath

Posts Recomendados

queria 1 magia que fosse assim:

quando tivesse alguem monstro ou player na tela ela caisse(igual meteoro) em cima do player/monstro e em algumas areas aleatoriamente

quando nao tivesse ngm na tela ela apenas caisse aleatoriamente.

eu ja consegui fazer a magia cair aleatoriamente so q ai na maioria das vezes ela nao cai nos player

o script q eu tenho é esse\/

 

 

local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625}

 

local combat = createCombatObject()

local combat2 = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -8.20, -200, -8.40, -200)

 

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 7000)

setConditionFormula(stun, -1.0, 0, -0.8, 0)

setCombatCondition(meteor, stun)

 

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 5)

setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -8.20, -200, -8.40, -200)

 

local area = createCombatArea(AREA_CROSS5X5)

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, 1) == 1) then

local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)

addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)

addEvent(meteorCast, 100, {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

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...