Ir para conteúdo
  • 0

[Resolvido] [PEDIDO] PASSIVE E ATTACK


joshua8822

Pergunta

Oi gente, hoje venho pedir que uma pessoa pode fazer e um ataque. (Se for muito difícil, eu poderia pagar)

1° Ion Deluge: Este ataque produz um tamanho de quadra de ataque; Confusion ou Psychic e deixado em um estado para atacar Pokemon. Que o Estado faz é que converte todos os ataques em tipo elétrico em x tempo.

2° Volt Absorb: Isso funciona passivo quando recebem um ataque elétrico e recupera vida depende da força do ataque.

Obrigado, espero sua resposta.
Eles podem responder por mensagem privada ou aqui.

 

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

13 respostass a esta questão

Posts Recomendados

  • 0

pokemon moves.lua (data/lib):

 

 

elseif spell == "Ion Deluge" then
    local config = {
        spell_area = ionDelugeArea,         --Área da spell (dano AOE + debuff).
        effect = xxx,                       --Efeito.
        debuff_time = xxx                   --Duração do debuff (em segundos).
    }
    
    local positions = getPosfromArea(cid, config.spell_area)
    if #positions < 1 then return true end
    
    local function doSendDebuffEffect(cid, times)
        if not isCreature(cid) or times <= 0 then return true end
        
        doSendMagicEffect(getThingPos(cid), config.effect)
        addEvent(doSendDebuffEffect, 1000, cid, times - 1)
    end
    
    for i = 1, #positions do
        local pid = getTopCreature(positions[i]).uid
        
        if isCreature(pid) and canAttackOther(cid, pid) == "Can" then
            setPlayerStorageValue(pid, 2919, os.time() + config.debuff_time)
            doSendDebuffEffect(pid, config.debuff_time)
        end
    end
    doDanoWithProtect(cid, ELECTRICDAMAGE, getThingPos(cid), config.spell_area, min, max, config.effect)

 

 

 

areas.lua:

ionDelugeArea = {
    {0, 0, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {1, 1, 1, 1, 1, 1, 1},
    {1, 1, 1, 2, 1, 1, 1},
    {1, 1, 1, 1, 1, 1, 1},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 0, 0}
}
exp2.0.lua (data/creaturescripts/scripts):
Abaixo de:
local damageCombat = combat
Coloque:
if getPlayerStorageValue(attacker, 2919) > os.time() then
    damageCombat = ELECTRICDAMAGE
end
No mesmo arquivo, abaixo de:
if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then
    valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk")                           
elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then
    valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2))
end
Coloque:

local Volt_Absorb = {
    passive_owners = {"Jolteon", "Shiny Jolteon", "Lanturn"},    --Pokémons com a passiva Volt Absorb.
    heal = {
        min_percent = xxx,                                        --Porcentagem mínima do dano curada.
        max_percent = xxx,                                        --Porcentagem máxima do dano curada.
    }
}
 
if isInArray(Volt_Absorb.passive_owners, getCreatureName(cid)) and damageCombat == ELECTRICDAMAGE then
    local amount = math.floor(valor * math.random(Volt_Absorb.heal.min_percent, Volt_Absorb.heal.max_percent) / 100)
    valor = 0
    
    doSendAnimatedText(getThingPos(cid), "+"..amount, 65)
    doCreatureAddHealth(cid, amount)
end

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

  • 0

Base usada?

Diga-me se entendi corretamente a primeira spell: o pokémon causará um dano em área que aplicará um debuff onde todos os afetados terão os golpes convertidos para o tipo elétrico. É isso mesmo?

Sobre a passiva, o dano elétrico será anulado? A quantia curada é em porcentagem ou uma fórmula mesmo?

Link para o comentário
Compartilhar em outros sites

  • 0

Base usada?

Diga-me se entendi corretamente a primeira spell: o pokémon causará um dano em área que aplicará um debuff onde todos os afetados terão os golpes convertidos para o tipo elétrico. É isso mesmo?

Sobre a passiva, o dano elétrico será anulado? A quantia curada é em porcentagem ou uma fórmula mesmo?

Base = PDA

 

Sim aplicara debuff, e sera convertidos para tipo elétrico. Sim.

Sim, o dano elétrico será anulado e um 5 - 15% heal.

 

 

@UP

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

  • 0

pokemon moves.lua (data/lib):

 

 

elseif spell == "Ion Deluge" then
    local config = {
        spell_area = selfArea2,             --Área da spell (dano AOE + debuff).
        effect = xxx,                       --Efeito.
        debuff_time = xxx                   --Duração do debuff (em segundos).
    }
    
    local positions = getPosfromArea(config.spell_area)
    if #positions < 1 then return true end
    
    local function doSendDebuffEffect(cid, times)
        if not isCreature(cid) or times <= 0 then return true end
        
        doSendMagicEffect(getThingPos(cid), config.effect)
        addEvent(doSendDebuffEffect, 1000, cid, times - 1)
    end
    
    for i = 1, #positions do
        local pid = getTopCreature(positions[i]).uid
        
        if isCreature(pid) and canAttackOther(cid, pid) == "Can" then
            setPlayerStorageValue(pid, 2919, os.time() + config.debuff_time)
            doSendDebuffEffect(pid, config.debuff_time)
        end
    end
    doDanoWithProtect(cid, ELECTRICDAMAGE, getThingPos(cid), config.spell_area, min, max, config.effect)

 

 

 

exp2.0.lua (data/creaturescripts/scripts):
Abaixo de:
local damageCombat = combat
Coloque:
if getPlayerStorageValue(attacker, 2919) > os.time() then
    damageCombat = ELECTRICDAMAGE
end
No mesmo arquivo, abaixo de:
if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then
    valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk")                           
elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then
    valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2))
end
Coloque:

local Volt_Absorb = {
    passive_owners = {"Jolteon", "Shiny Jolteon", "Lanturn"},    --Pokémons com a passiva Volt Absorb.
    heal = {
        min_percent = xxx,                                        --Porcentagem mínima do dano curada.
        max_percent = xxx,                                        --Porcentagem máxima do dano curada.
    }
}
 
if isInArray(Volt_Absorb.passive_owners, getCreatureName(cid)) and damageCombat == ELECTRICDAMAGE then
    local amount = math.floor(valor * math.random(Volt_Absorb.min_percent, Volt_Absorb.max_percent) / 100)
    valor = 0
    
    doSendAnimatedText(getThingPos(cid), "+"..amount, 65)
    doCreatureAddHealth(cid, amount)
end

 

 

Obrigado :D

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

zipter,

Ion Deluge:

[02/10/2015 17:39:28] [Error - TalkAction Interface] 
[02/10/2015 17:39:28] data/talkactions/scripts/move1.lua:onSay
[02/10/2015 17:39:28] Description: 
[02/10/2015 17:39:28] data/lib/032-position.lua:158: bad argument #1 to 'getn' (table expected, got nil)
[02/10/2015 17:39:28] stack traceback:
[02/10/2015 17:39:28] 	[C]: in function 'getn'
[02/10/2015 17:39:28] 	data/lib/032-position.lua:158: in function 'getPosfromArea'
[02/10/2015 17:39:28] 	data/lib/pokemon moves.lua:3081: in function 'docastspell'
[02/10/2015 17:39:28] 	data/talkactions/scripts/move1.lua:293: in function <data/talkactions/scripts/move1.lua:20> 

Volt Absorb:


[02/10/2015 17:33:45] [Error - CreatureScript Interface] 
[02/10/2015 17:33:45] data/creaturescripts/scripts/exp2.0.lua:onStatsChange
[02/10/2015 17:33:45] Description: 
[02/10/2015 17:33:45] data/creaturescripts/scripts/exp2.0.lua:519: bad argument #1 to 'random' (number expected, got nil)
[02/10/2015 17:33:45] stack traceback:
[02/10/2015 17:33:45] 	[C]: in function 'random'
[02/10/2015 17:33:45] 	data/creaturescripts/scripts/exp2.0.lua:519: in function <data/creaturescripts/scripts/exp2.0.lua:65>

[02/10/2015 17:33:48] [Error - CreatureScript Interface] 
[02/10/2015 17:33:48] data/creaturescripts/scripts/exp2.0.lua:onStatsChange
[02/10/2015 17:33:48] Description: 
[02/10/2015 17:33:48] data/creaturescripts/scripts/exp2.0.lua:519: bad argument #1 to 'random' (number expected, got nil)
[02/10/2015 17:33:48] stack traceback:
[02/10/2015 17:33:48] 	[C]: in function 'random'
[02/10/2015 17:33:48] 	data/creaturescripts/scripts/exp2.0.lua:519: in function <data/creaturescripts/scripts/exp2.0.lua:65>
[02/10/2015 17:33:48] 	[C]: in function 'doTargetCombatHealth'
[02/10/2015 17:33:48] 	data/lib/newStatusSyst.lua:1018: in function 'doMoveDano2'
[02/10/2015 17:33:48] 	data/lib/newStatusSyst.lua:942: in function 'doMoveInArea2'
[02/10/2015 17:33:48] 	data/lib/pokemon moves.lua:6842: in function 'docastspell'
[02/10/2015 17:33:48] 	data/creaturescripts/scripts/exp2.0.lua:966: in function <data/creaturescripts/scripts/exp2.0.lua:65>
Editado por AdminGabriel
Link para o comentário
Compartilhar em outros sites

  • 0

Ion Deluge ainda com erro:

[03/10/2015 11:34:10] [Error - TalkAction Interface] 
[03/10/2015 11:34:11] data/talkactions/scripts/move1.lua:onSay
[03/10/2015 11:34:11] Description: 
[03/10/2015 11:34:11] data/lib/032-position.lua:158: bad argument #1 to 'getn' (table expected, got number)
[03/10/2015 11:34:11] stack traceback:
[03/10/2015 11:34:11] 	[C]: in function 'getn'
[03/10/2015 11:34:11] 	data/lib/032-position.lua:158: in function 'getPosfromArea'
[03/10/2015 11:34:11] 	data/lib/pokemon moves.lua:3081: in function 'docastspell'
[03/10/2015 11:34:11] 	data/talkactions/scripts/move1.lua:293: in function <data/talkactions/scripts/move1.lua:20>
Link para o comentário
Compartilhar em outros sites

  • 0
  • Administrador
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...