Ir para conteúdo
  • Cadastre-se

[HELP-SPELL] Chuva de Meteoros


Posts Recomendados

Eaí?

 

 

Bem galera, eu queria uma spell que parece-se com a magia Chuva de Meteoros com o Colar do Dragão Negro (do jogo Grand Chase). Para quem não sabe como fica, veja esse vídeo: 

 

Quem poder me ajudar, agradeço ;x

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

Link para o post
Compartilhar em outros sites

dede quando xove meteoros kkkkkkkkk. vo arruma pra ti tenho aqui meu rl ajudo.

#alinne se me conheçe me aceita ai denovo no skype. desculpa eu shaushau

Editado por xixi (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Então, eu só mudei os efeitos da spell criada pelo xWhiteWolf 

 

Crie um arquivo .lua dentro de sua pasta spells/script/attack chamado meteor.lua e cole isso dentro dele:

local waves = 8 --- numero de vezes que vão cair os meteoros

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 meteor = createCombatObject()
setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(meteor, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -30, -50, -40, -55)

local meteor_water = createCombatObject()
setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -30, -50, -40, -55)

combat_arr = {
{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, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 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}
}
local combat_area = createCombatArea(combat_arr)
setCombatArea(combat, 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, 6) == 6) 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_SMALLICE)
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_SMALLICE)
addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})
end
end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
function onCastSpell(cid, var)
for i = 0, waves do
addEvent(function()
if isCreature(cid) then
doCombat(cid, combat, var)
end
end, 200 * i)
end

return true
end



E no arquivo spells.xml, cole isso:

<instant name="Meteor!" words="meteor" lvl="15" maglv="1" mana="80" exhaustion="4000" groups="1,1000" prem="0" range="3" needlearn="0" needtarget="1" blockwalls="0" aggressive="1" event="script" value="attack/meteor.lua">
<vocation id="1"/> 
<vocation id="5"/>  
</instant>

 

Edit: Agora vi que era azul, vou tentar melhorar
Edit2: Pronto

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Então, eu só mudei os efeitos da spell criada pelo xWhiteWolf 

 

Crie um arquivo .lua dentro de sua pasta spells/script/attack chamado meteor.lua e cole isso dentro dele:

local waves = 8 --- numero de vezes que vão cair os meteoros

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 meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -30, -50, -40, -55)

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -30, -50, -40, -55)

combat_arr = {

{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, 1, 1, 0, 0, 0, 0},

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

{0, 0, 0, 0, 1, 1, 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}

}

local combat_area = createCombatArea(combat_arr)

setCombatArea(combat, 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, 6) == 6) 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_SMALLICE)

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_SMALLICE)

addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})

end

end

end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)

for i = 0, waves do

addEvent(function()

if isCreature(cid) then

doCombat(cid, combat, var)

end

end, 200 * i)

end

return true

end

E no arquivo spells.xml, cole isso:

<instant name="Meteor!" words="meteor" lvl="15" maglv="1" mana="80" exhaustion="4000" groups="1,1000" prem="0" range="3" needlearn="0" needtarget="1" blockwalls="0" aggressive="1" event="script" value="attack/meteor.lua">
<vocation id="1"/> 
<vocation id="5"/>  
</instant>

 

Edit: Agora vi que era azul, vou tentar melhorar

Edit2: Pronto

Foda, realmente. Agradeço...

 

Agora, observando, eu vi que essa spell do Arrow Rain do XWhiteWolff é muito modelável :O

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo