Ir para conteúdo

[Pedido] 2 Moves


FlamesAdmin

Posts Recomendados

Bah noite moçada.

Venho pedir + 2 moves para meu servidor, Revenge e Protection.

 

Segue a imagem do Revenge: (PS: nao repare kkk. Tavo no TG msm hahahaha, aproveitar que ta liberado.)

6MPkahy.gif?1?1430

 

Efeitos:

Efeito Inicial = 92
Segundo Efeito = 93
Terceiro Efeito = 99
Quarto Efeito = 94
Ultimo Efeito = 93

Área da spell = splash

Move Protection.

Efeito = 117

Esse move, ele da uns % a mais de defesa para quem estiver perto (player e no poke) com tempo para acabar.

O efeito ficará no poke que soltou a spell e em quem ta por perto. (Se for possivel fazer isso)

Claro que nao irá dar essa proteçao em quem estiver no time adversario no pvp e duelo.

 

Rep+, qualquer duvida sobre eles, só perguntar.

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

Fiz as duas spells bem rápido aqui, então qualquer erro, só postar.

Revenge:

PS: Como não foi informado o intervalo de tempo entre os ataques, coloquei 500 milésimos.

elseif spell == "Revenge" then
    local effs = {92, 93, 99, 94, 93}
    for i = 1, #effs do
        addEvent(function()
            if not isCreature(cid) then return true end
            doAreaCombatHealth(cid, FIGHTINGDAMAGE, getThingPosWithDebug(cid), splash, -min, -max, 0)
            doSendMagicEffect(getThingPos(cid), effs[i])
        end, i * 500)
    end
Protection:
elseif spell == "Protection" then
    local duel_sto_1 = xxx   --Storage de duel.
    local duel_sto_2 = xxx   --Storage de duel.
    local pvp_sto_1 = xxx    --Storage de PvP.
    local pvp_sto_2 = xxx    --Storage de PvP.
    local duration = 8       --Duração do buff.
    local eff = 117
    local ret = {}
    local function isMonster(cid)
        if isCreature(cid) then
            if not isPlayer(cid) and not isSummon(cid) and not ehNPC(cid) then
                return true
            else
                return false
            end
        end
        return nil
    end
    local spec = getSpectators(getThingPos(cid), 5, 5, false)
    for i = 1, #spec do
        if isSummon(cid) then
            local owner = getCreatureMaster(cid)
            if isSummon(spec[i]) or isPlayer(spec[i]) then
                if getPlayerStorageValue(owner, duel_sto_1) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_2) >= 1 then
                        table.remove(spec, i)
                    end
                elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_1) >= 1 then
                        table.remove(spec, i)
                    end
                elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_1) >= 1 then
                        table.remove(spec, i)
                    end
                elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_2) >= 1 then
                        table.remove(spec, i)
                    end
                end
            elseif isMonster(spec[i]) then  
                table.remove(spec, i)
            end
        end
    end
    for i = 1, #spec do
        ret.id = spec[i]
        ret.cd = duration
        ret.eff = eff
        ret.check = 0
        ret.buff = spell
        ret.first = true
        doCondition2(ret)
    end
Depois, em newStatusSyst.lua, procure por semelhantes à esta seguinte condição, e adicione:
elseif buff == "Protection" then
       doRaiseStatus(cid, 0, 2, 0, a)   --Estará buffando a mesma quantia de def que o Harden. Altere no valor "2".
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Esqeci de avisar, no Protection, precisa de uma área para ter essa proteçao. Se nao fica zuado o player la na casa do inácio pegando Protection.

 

#Erro: Protection

 

[16/02/2014 22:20:33] [Error - CreatureScript Interface]
[16/02/2014 22:20:33] data/creaturescripts/scripts/exp2.0.lua
[16/02/2014 22:20:33] Description:
[16/02/2014 22:20:33] data/creaturescripts/scripts/exp2.0.lua:735: attempt to call global 'isSummon' (a nil value)
[16/02/2014 22:20:33] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/exp2.0.lua)
[16/02/2014 22:20:33] data/lib/pokemon moves.lua:329: 'end' expected (to close 'function' at line 71) near 'elseif'
[16/02/2014 22:20:33] [Error - LuaScriptInterface::loadFile] data/lib/pokemon moves.lua:329: 'end' expected (to close 'function' at line 71) near 'elseif'
[16/02/2014 22:20:33] [Warning - LuaScriptInterface::initState] Cannot load data/lib/

 

--- EDIT--

Eu te expliquei errado esse Revenge, nao tem nada dessa área do splash nao, o dano dele, pega em quem tiver em volta, dei uma olhada no Powder Snow, que o ZerefShirou fez pra mim:

 

Powder Snow

elseif spell == "Powder Snow" then

snowP = getThingPosWithDebug(cid)

local ret = {}
ret.id = 0
ret.cd = 10
ret.check = 0
ret.eff = 43
ret.spell = spell
ret.cond = "Slow"

doMoveInArea2(cid, 0, check, ICEDAMAGE, min, max, spell, ret)
doSendMagicEffect({x = snowP.x + 1, y = snowP.y, z = snowP.z}, 206)

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

Ok. Vou tirar uma print do Revenge aki pra mostrar pra ti.

 

-Edit:

 

Revenge.

Print de como está:

15xv90w.png

Eu queria que soltasse somente 1 efeito no Poke, e quem estivesse por perto tomaria dano. Exemplo do Powder Snow, print:

11kk2ft.png

 

Protection.

Agora o erro dele, acontece qnd solta a spell:

[17/02/2014 15:30:32] [Error - TalkAction Interface]
[17/02/2014 15:30:32] data/talkactions/scripts/move1.lua:onSay
[17/02/2014 15:30:32] Description:
[17/02/2014 15:30:32] data/lib/some functions.lua:414: attempt to perform arithmetic on local 'B' (a nil value)
[17/02/2014 15:30:32] stack traceback:
[17/02/2014 15:30:32] data/lib/some functions.lua:414: in function 'doRaiseStatus'
[17/02/2014 15:30:32] data/lib/newStatusSyst.lua:658: in function 'doBuff2'
[17/02/2014 15:30:32] data/lib/newStatusSyst.lua:699: in function 'doCondition2'
[17/02/2014 15:30:32] data/lib/pokemon moves.lua:325: in function 'docastspell'
[17/02/2014 15:30:32] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>

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

Corrigido o "erro" do Revenge. Sobre o Protection, quando possível, darei uma olhada.

#EDIT: Em some functions.lua, procure por:

function doRaiseStatus(cid, off, def, agi, time)  
if not isCreature(cid) then return true end
Troque por:
function doRaiseStatus(cid, off, def, agi, time)  
    if not isCreature(cid) then 
        return true 
    elseif not pokes[getCreatureName(cid)] then 
        return true
    end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Sem problemas, vou testar o Protection aki.

Funcionaram perfeitamente, unica coisa que ficou meio tosco, é q qnd solta o Protection, dai qnd puxa o poke pra ball (quem soltou a spell) o Protection continua no Player.

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

@Zipter98

Aqui ainda continua dando o erro...

 

 

[17/02/2014 22:08:35] [Error - TalkAction Interface] 
[17/02/2014 22:08:35] data/talkactions/scripts/move1.lua:onSay
[17/02/2014 22:08:35] Description: 
[17/02/2014 22:08:35] data/lib/some functions.lua:444: attempt to perform arithmetic on local 'B' (a nil value)
[17/02/2014 22:08:35] stack traceback:
[17/02/2014 22:08:35]  data/lib/some functions.lua:444: in function 'doRaiseStatus'
[17/02/2014 22:08:35]  data/lib/newStatusSyst.lua:682: in function 'doBuff2'
[17/02/2014 22:08:35]  data/lib/newStatusSyst.lua:695: in function 'doCondition2'
[17/02/2014 22:08:35]  data/lib/pokemon moves.lua:619: in function 'docastspell'
[17/02/2014 22:08:35]  data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
 
Link para o comentário
Compartilhar em outros sites

Também esqueci de mencionar isso:

Em some functions.lua, procurem por:

function doReduceStatus(cid, off, def, agi)   
if not isCreature(cid) then return true end
E troquem por:
function doReduceStatus(cid, off, def, agi)   
    if not isCreature(cid) then 
        return true 
    elseif not pokes[getCreatureName(cid)] then
        return true
    end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

@Zipter

 

Aqui continua dando erro :s...

 

 

 
[17/02/2014 23:19:59] [Error - TalkAction Interface] 
[17/02/2014 23:19:59] data/talkactions/scripts/move1.lua:onSay
[17/02/2014 23:19:59] Description: 
[17/02/2014 23:19:59] data/lib/some functions.lua:448: attempt to perform arithmetic on local 'B' (a nil value)
[17/02/2014 23:19:59] stack traceback:
[17/02/2014 23:19:59]  data/lib/some functions.lua:448: in function 'doRaiseStatus'
[17/02/2014 23:19:59]  data/lib/newStatusSyst.lua:682: in function 'doBuff2'
[17/02/2014 23:19:59]  data/lib/newStatusSyst.lua:695: in function 'doCondition2'
[17/02/2014 23:20:00]  data/lib/pokemon moves.lua:619: in function 'docastspell'
[17/02/2014 23:20:00]  data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
 
[17/02/2014 23:20:01] [Error - TalkAction Interface] 
[17/02/2014 23:20:01] data/talkactions/scripts/move1.lua:onSay
[17/02/2014 23:20:01] Description: 
[17/02/2014 23:20:01] data/lib/some functions.lua:448: attempt to perform arithmetic on local 'B' (a nil value)
[17/02/2014 23:20:01] stack traceback:
[17/02/2014 23:20:01]  data/lib/some functions.lua:448: in function 'doRaiseStatus'
[17/02/2014 23:20:01]  data/lib/newStatusSyst.lua:682: in function 'doBuff2'
[17/02/2014 23:20:01]  data/lib/newStatusSyst.lua:695: in function 'doCondition2'
[17/02/2014 23:20:01]  data/lib/pokemon moves.lua:619: in function 'docastspell'
[17/02/2014 23:20:01]  data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
 
[17/02/2014 23:20:03] [Error - TalkAction Interface] 
[17/02/2014 23:20:03] data/talkactions/scripts/move1.lua:onSay
[17/02/2014 23:20:03] Description: 
[17/02/2014 23:20:03] data/lib/pokemon moves.lua:608: attempt to call field 'remove' (a nil value)
[17/02/2014 23:20:03] stack traceback:
[17/02/2014 23:20:03]  data/lib/pokemon moves.lua:608: in function 'docastspell'
[17/02/2014 23:20:03]  data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
 
Link para o comentário
Compartilhar em outros sites

Essa: ?

 

 

 

 

elseif spell == "Protection" then
    local duel_sto_1 = xxx   --Storage de duel.
    local duel_sto_2 = xxx   --Storage de duel.
    local pvp_sto_1 = xxx    --Storage de PvP.
    local pvp_sto_2 = xxx    --Storage de PvP.
    local duration = 8       --Duração do buff.
    local eff = 117
    local ret = {}
    local function isMonster(cid)
        if isCreature(cid) then
            if not isPlayer(cid) and not isSummon(cid) and not ehNPC(cid) then
                return true
            else
                return false
            end
        end
        return nil
    end
    local spec = getSpectators(getThingPos(cid), 5, 5, false)
    for i = 1, #spec do
        if isSummon(cid) then
            local owner = getCreatureMaster(cid)
            if isSummon(spec[i]) or isPlayer(spec[i]) then
                if getPlayerStorageValue(owner, duel_sto_1) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_2) >= 1 then
                        table.remove(spec, i)
                    end
                elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_1) >= 1 then
                        table.remove(spec, i)
                    end
                elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_1) >= 1 then
                        table.remove(spec, i)
                    end
                elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then
                    if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_2) >= 1 then
                        table.remove(spec, i)
                    end
                end
            elseif isMonster(spec[i]) then  
                table.remove(spec, i)
            end
        end
    end
    for i = 1, #spec do
        ret.id = spec[i]
        ret.cd = duration
        ret.eff = eff
        ret.check = 0
        ret.buff = spell
        ret.first = true
        doCondition2(ret)
    end

 

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...