Você está desconectado.

Conecte-se e veja nossos conteúdos exclusivos!
 

  


[Spell] Unown Help + Bonus Unown Rush

Compartilhe
avatar
Nayol
Estagiário
Estagiário

King Coin(s) King Coin(s) : 24
Reputação : 4
Facebook : Hmmmmm se interessou em mim?
OTServ Favorito : Tibia Global
Tópicos : 13
Data de Cadastro : 09/05/2016
Idade : 17
Localização : Pra que tu quer saber?

[Spell] Unown Help + Bonus Unown Rush

Mensagem por Nayol em Seg Mar 13, 2017 12:46 am

Explicação Básica:
Unown Help: Ao usar essa spell vai summonar o monstro Unown, podendo usá-la 7 vezes [ configurável ]
Unown Rush: Juntando os 7 Unowns [Configurável] Unown Legion usa uma spell em área re-batendo entre os unowns 4x [configurável] com effect e missile em uma determinada área.

Fala kingers, disponibilizando mais um script ao nosso fórum.
Vamos Ao Script.
Primeiramente vá até pokemon moves.lua e adcione:
Spoiler:
elseif spell == "Unown Help" then
   local config = {
       summonPoke = "Unown",
       health = 5,                       --% de HP (baseada na HP máxima do pokémon) tirada do Unown Legion.
   }
   if isSummon(cid) then
       local pid = getCreatureMaster(cid)
       doSummonMonster(pid, config.summonPoke)
       local newPoke = getCreatureSummons(pid)[#getCreatureSummons(pid)]
       setPlayerStorageValue(newPoke, 1001, pokes[getCreatureName(newPoke)].offense * getPlayerLevel(pid))
       setPlayerStorageValue(newPoke, 1002, pokes[getCreatureName(newPoke)].defense)            
       setPlayerStorageValue(newPoke, 1003, pokes[getCreatureName(newPoke)].agility)
       setPlayerStorageValue(newPoke, 1004, pokes[getCreatureName(newPoke)].vitality * getPlayerLevel(pid))
       setPlayerStorageValue(newPoke, 1005, pokes[getCreatureName(newPoke)].specialattack * getPlayerLevel(pid))
       setCreatureMaxHealth(newPoke, getVitality(newPoke) * HPperVITsummon)
       doCreatureAddHealth(newPoke, getCreatureMaxHealth(newPoke))
       doCreatureAddHealth(cid, -getCreatureMaxHealth(cid) * (config.health / 100))
   end
elseif spell == "Unown Rush" then
   local config = {
       distEffect = xxx,            --Distance effect.
       effect = xxx,                --Efeito de invisibilidade.
       barrierEffect = xxx,         --Effect do Barrier.
       barrierTime = 8,             --Duração do Barrier, em segundos.
       barrierInterval = 500,       --Intervalo de tempo, em milésimos de segundo, entre cada efeito do Barrier.
       times = 4,                   --Quantas vezes a spell em área será "lançada" (também quantas vezes o efeito será "rebatido" entre Unown Legion e os Unowns).
       interval = 400,              --Intervalo de tempo entre as "rebatidas", em milésimos de segundo.
       intervalAOE = 200,           --Intervalo de tempo entre os "lances" da spell em área.
       combat = ghostDmg,           --Elemento da spell.
   }
   function barrierEffect(cid, time)
       if isCreature(cid) then
           if time < 0 then
               return true
           end
           doSendMagicEffect({x = getThingPos(cid).x + 1, y = getThingPos(cid).y + 1, z = getThingPos(cid).z}, config.barrierEffect)
           addEvent(barrierEffect, config.barrierInterval, cid, time - 1)
       end
   end
   local summons, t = getCreatureSummons(getCreatureMaster(cid)), {}
   doDisapear(cid)
   doSendMagicEffect(getThingPos(cid), config.effect)
   for i = 1, config.times do
       for j = 2, #summons do
           if isCreature(summons[j]) and isCreature(cid) then
               t[#t + 1] = summons[j]
               addEvent(function()
                   doSendDistanceShoot(getThingPos(cid), getThingPos(summons[j]), config.distEffect)
                   addEvent(function()
                       doSendDistanceShoot(getThingPos(summons[j]), getThingPos(cid), config.distEffect)
                   end, 100)
               end, i * config.interval + 100)
           end
       end
   end
   addEvent(function()
       barrierEffect(cid, math.floor(config.barrierTime * 1000 / config.barrierInterval))
       if isCreature(cid) then
           for i = 1, #t do
               if isCreature(t) then
                   doRemoveCreature(t)
               end
           end
           for i = 1, config.times do
               addEvent(function()
                   if isCreature(cid) then
                       local area = getPosfromArea(cid, rushAreaEffect)
                       for j = 1, #area do
                           doSendDistanceShoot(getThingPos(cid), area[j], config.distEffect)
                       end
                       doDanoWithProtect(cid, config.combat, getThingPos(cid), rushAreaDamage, -min, -max, 0)
                       if i == config.times then
                           doAppear(cid)
                           setPlayerStorageValue(cid, 9658783, 1)
                           addEvent(function()
                               if isCreature(cid) then
                                   setPlayerStorageValue(cid, 9658783, -1)
                               end
                           end, config.barrierTime * 1000 - (config.times * (config.interval + config.intervalAOE)))
                       end
                   end
               end, i * config.intervalAOE)
           end
       end
   end, config.times * config.interval + 100 * config.times)
Agora vamos em areas.lua e adcione:
rushAreaEffect = {                           --Área do Unown Rush de efeito (até onde o efeito vai, a partir do usuário da spell).
   {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
   {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
   {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
   {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
   {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
   {1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1},
   {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
   {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
   {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
   {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
   {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
}
rushAreaDamage = createCombatArea{           --Área do Unown Rush de dano.
   {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, 1, 1, 1, 1, 1, 1, 0, 0},
   {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
   {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
   {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0},
   {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
   {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
   {0, 0, 1, 1, 1, 1, 1, 1, 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},
}
Depois, em data/actions/scripts, goback.lua
Acima de:
local cd = getCD(item.uid, "blink", 30)

coloque:
   if #getCreatureSummons(cid) > 1 then
       for _, s in pairs(getCreatureSummons(cid)) do
           if getCreatureName(s) == "Unown" then
               doRemoveCreature(s)
           end
       end
   end

Depois, em data/talkactions/scripts, move1.lua:
Abaixo de:

if getPlayerStorageValue(mypoke, 93828) > os.time() then
   return doPlayerSendCancel(cid, "Your pokemon can't use moves right now.")
end

coloque:
   local unownCount = 7           --Quantidade de Unowns máxima/quantidade de Unowns para usar o Unown Rush.
   if move.name == "Unown Help" then
       if #getCreatureSummons(cid) >= unownCount + 1 then
           return doPlayerSendCancel(cid, "You already have "..unownCount.." Unowns helping you.")
       end
   elseif move.name == "Unown Rush" then
       if #getCreatureSummons(cid) < unownCount + 1 then
           return doPlayerSendCancel(cid, "You need "..unownCount.." Unowns helping you to use this spell.")
       end
   end


Última edição por Nayol em Seg Mar 20, 2017 7:39 pm, editado 1 vez(es)

avatar
Death Gun
Administrador
Administrador

King Coin(s) King Coin(s) : 32
Reputação : 13014
Facebook : Facebook.com/Vitor.Eduardo.5567
OTServ Favorito : Pokémon Paraíso V3 - O Retorno
Meu Char : Zed Stars
Seção Favorita : Spriting
Eu sou : Scripter
Tópicos : 258
Data de Cadastro : 27/09/2015
Idade : 18
Localização : Florianópolis - SC

Re: [Spell] Unown Help + Bonus Unown Rush

Mensagem por Death Gun em Seg Mar 13, 2017 1:11 am

É um bom conteúdo.
Você recebeu 1 REP+ como forma de agradecimento.


________________________________________
Não sou dono do mundo, mas sou filho do dono.
avatar
Nayol
Estagiário
Estagiário

King Coin(s) King Coin(s) : 24
Reputação : 4
Facebook : Hmmmmm se interessou em mim?
OTServ Favorito : Tibia Global
Tópicos : 13
Data de Cadastro : 09/05/2016
Idade : 17
Localização : Pra que tu quer saber?

Re: [Spell] Unown Help + Bonus Unown Rush

Mensagem por Nayol em Qua Mar 15, 2017 3:00 am

Em breve adcionarei os créditos! ;-;


Conteúdo patrocinado

Re: [Spell] Unown Help + Bonus Unown Rush

Mensagem por Conteúdo patrocinado


    Data/hora atual: Sab Jul 22, 2017 10:52 pm