Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Dae pessoal, gostaria de pedir ajuda para os scripters, quem puder ajudar, estou querendo adicionar ao server 2 spells

 

 

Destiny Bond: Quando esse ataque é usado, Dusknoir marca sua morte para 3 segundos. Após 3 segundos ele irá morrer, porém se o Pokémon adversário mata-lo antes dos 3 segundos, um dano imenso será causado em área. Esse ataque é muito difícil de ser usado e requer habilidade, você tem que usar quando esta quase morrendo para conseguir o efeito desejado.

 

e

 

 

Sturdy: É uma passive muito interessante, Aggron resiste até o ultimo momento por seu treinador, quando ele ficar com 1 de vida, sua coloração muda, e ele resiste por 8 segundos antes de ser derrotado. Essa habilidade pode ser muito util, onde Aggron resiste a combos muito poderosos, ou até mesmo para carregar algum cd e finalizar o inimigo

 

 

se alguem puder ajudar, ao menos sobre como fazer para que quando o Poke chegar a 1 de hp, ele recupere toda a hp.

 

lembrando que ele só vai fazer isso 1x, na 2°x ele vai morrer.

 

se alguem puder ajudar, desde ja agradeço.

Link para o post
Compartilhar em outros sites

Em data/lib, pokemons moves.lua:

abaixo de:

local table = getTableMove(cid, spell) --alterado v1.6

adicione:

    if spell == "DB" then
        table = getTableMove(cid, "Destiny Bound")
    end
Código do Destiny Bound:
elseif spell == "Destiny Bound" then
    local death = 3          --Tempo para morrer, em segundos.
    setPlayerStorageValue(cid, 8401, 1)
    addEvent(function()
        if isCreature(cid) and getPlayerStorageValue(cid, 8401) > -1 then
            setPlayerStorageValue(cid, 8401, -1)
            doCreatureAddHealth(cid, -getCreatureHealth(cid))
        end
    end, death * 1000)      
Código da spell que o Destiny Bound irá executar (caso o pokémon seja morto):
elseif spell == "DB" then
    spell = "Destiny Bound"
    local config = {
        effect = 136,            --Effect.
        area = selfArea1,        --Área do golpe (criada em data/lib/areas.lua).
        element = ghostDmg,      --Elemento do ataque.
    }
    setPlayerStorageValue(cid, 8401, -1)
    doMoveInArea2(cid, config.effect, config.area, config.element, min, max, spell)
data/actions/scripts, goback.lua:
acima de:
doReturnPokemon(cid, z, item, effect)
adicione:
    if getPlayerStorageValue(z, 8401) > -1 then
        return setPlayerStorageValue(z, 8401, -1) and doCreatureAddHealth(z, -getCreatureHealth(z))
    elseif getPlayerStorageValue(z, 8402) > -1 then
        return setPlayerStorageValue(z, 8402, -1) and doCreatureAddHealth(z, -getCreatureHealth(z))
    end

abaixo de:

local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
adicione:
    if getPlayerStorageValue(pk, 8401) > -1 then
        return setPlayerStorageValue(pk, 8401, -1) and doCreatureAddHealth(pk, -getCreatureHealth(pk))
    elseif getPlayerStorageValue(pk, 8402) > -1 then
        return setPlayerStorageValue(pk, 8402, -1) and doCreatureAddHealth(pk, -getCreatureHealth(pk))
    end
data/creaturescripts/scripts, exp2.0.lua:
troque:
    if valor >= getCreatureHealth(cid) then
        if isInArray(cannotKill, combat) and isPlayer(cid) then
            valor = getCreatureHealth(cid) - 1
        else
            valor = getCreatureHealth(cid) 
        end
    end
por:
    local config = {
        sturdy = {                    --Pokémons que possuem a habilidade Sturdy. Configuração: ["nome_do_pokemon"] = lookType,
            ["Aggron"] = lookType,
        },
        cd = 30,                      --Cooldown da habilidade.
        duration = 8,                 --Duração, em segundos, do Sturdy.
        storages = {
            db = 8401,
            s = 8402,
            s_cd = 8403,
        },
    }
    if getPlayerStorageValue(cid, config.storages.s) > -1 then
        return false
    end
    local hp = getCreatureHealth(cid) - valor
    if not isPlayer(cid) then
        if hp <= 1 then
            if config.sturdy[getCreatureName(cid)] then
                local b = true
                if isSummon(cid) then
                    local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
                    if ball and getCD(ball.uid, "sturdy") > 0 then
                        b = false
                    end
                end
                if b then
                    if hp < 1 then
                        doCreatureAddHealth(cid, hp < 0 and (hp * -1) + 1 or 1)
                    end
                    setPlayerStorageValue(cid, config.storages.s, 1)
                    if isSummon(cid) then
                        local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
                        if ball then
                            setCD(ball.uid, "sturdy", config.duration + config.cd) 
                        end
                    end
                    doSetCreatureOutfit(cid, {lookType = config.sturdy[getCreatureName(cid)]}, config.duration * 1000)
                    addEvent(function()
                        if isCreature(cid) and getPlayerStorageValue(cid, config.storages.s) > -1 then
                            setPlayerStorageValue(cid, config.storages.s, -1)
                            doCreatureAddHealth(cid, -getCreatureHealth(cid))
                        end
                    end, config.duration * 1000)
                end
            end
        end
    end
    if valor >= getCreatureHealth(cid) then
        if isInArray(cannotKill, combat) and isPlayer(cid) then
            valor = getCreatureHealth(cid) - 1
        else
            valor = getCreatureHealth(cid) 
            if not isPlayer(cid) and getPlayerStorageValue(cid, config.storages.db) > -1 then
                docastspell(cid, "DB") 
            end
        end
    end
data/lib, newStatusSyst.lua:
Troque:
doCreatureAddHealth(cid, -damage, 15, COLOR_BURN)
por:
    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -damage, 15, COLOR_BURN)  
    end

Troque:

doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS)  

por:

    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS)  
    end

Troque:

        doCreatureAddHealth(cid, -damage)
        doSendAnimatedText(getThingPos(cid), "-"..damage.."", 144)
        doSendMagicEffect(getThingPos(cid), 45)
    ------
        local newlife = life - getCreatureHealth(cid)
        if newlife >= 1 and attacker ~= 0 then
            doSendMagicEffect(getThingPos(attacker), 14)
            doCreatureAddHealth(attacker, newlife)
            doSendAnimatedText(getThingPos(attacker), "+"..newlife.."", 32)
        end

por:

    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -damage)
        doSendAnimatedText(getThingPos(cid), "-"..damage.."", 144)
        doSendMagicEffect(getThingPos(cid), 45)
    ------
        local newlife = life - getCreatureHealth(cid)
        if newlife >= 1 and attacker ~= 0 then
            doSendMagicEffect(getThingPos(attacker), 14)
            doCreatureAddHealth(attacker, newlife)
            doSendAnimatedText(getThingPos(attacker), "+"..newlife.."", 32)
        end 
    end
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Bom sobre o Destiny Bound: ele está funcionando como um self, só que com um delay de 3seg.

 

e a ideia é diferente. Se o pokemon usar essa spell, e for morto (desntro desse tempo determinado 3seg.) ele causa um grande dano em area. Se ele não for morto ele simplesmente morre sem causar dano algum.

 

 

Sobre o Sturdy, o problema é maior.

 

a passiva esta ativando no primeiro atk, e não quando ele fica com 1 de hp. e outro problema é que ele não esta morrendo, ele esta desaparecendo pois a barra de moves continua ali, e o look da ball fica assim:

 

11:44 You see a saffari ball being used.
It contains an Aggron.

 

Desde já agradeço a ajuda.

Link para o post
Compartilhar em outros sites

EDIT: Códigos alterados e testados. Editei meu comentário anterior com eles.

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Funcionando,

 

só um detalhe, após alguns testes descobri, que: Se ele estiver com burn, ou poison, ou com leech seed, ele morre. tem como mudar isso?

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

data/lib, newStatusSyst.lua:

Troque:

doCreatureAddHealth(cid, -damage, 15, COLOR_BURN)

por:

    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -damage, 15, COLOR_BURN)  
    end
Troque:
doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS)  
por:
    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS)  
    end
Troque:
        doCreatureAddHealth(cid, -damage)
        doSendAnimatedText(getThingPos(cid), "-"..damage.."", 144)
        doSendMagicEffect(getThingPos(cid), 45)
    ------
        local newlife = life - getCreatureHealth(cid)
        if newlife >= 1 and attacker ~= 0 then
            doSendMagicEffect(getThingPos(attacker), 14)
            doCreatureAddHealth(attacker, newlife)
            doSendAnimatedText(getThingPos(attacker), "+"..newlife.."", 32)
        end
por:
    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -damage)
        doSendAnimatedText(getThingPos(cid), "-"..damage.."", 144)
        doSendMagicEffect(getThingPos(cid), 45)
    ------
        local newlife = life - getCreatureHealth(cid)
        if newlife >= 1 and attacker ~= 0 then
            doSendMagicEffect(getThingPos(attacker), 14)
            doCreatureAddHealth(attacker, newlife)
            doSendAnimatedText(getThingPos(attacker), "+"..newlife.."", 32)
        end 
    end

EDIT: Para evitar futuros bugs, alterei os códigos do meu segundo comentário. Se possível, substitua seus scripts pelos novos.

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

bom pelo visto tu eh o zipter do tibiaking msmo, entao rep ++ como smp (eu tinha akele seu systema de task diaria por comando (!easy,!medium, etc))

parabens mano o/

@edit

teria como vc fazer a heavy slam tbm ?? p.p

Editado por tioj (veja o histórico de edições)

Minhas Gambiarras :rock:

 

 

[PDA] Pokedex Mostrando o Catch

 

http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041

 

Link para o post
Compartilhar em outros sites

Posso tentar. Mas como funciona o Heavy Slam? Não entro na PxG faz tempo.

E obrigado. (:

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

eh uma magia que empurra os pokes para tras (mais nao tpw fear nao, tpw teleporta tlg) e da dano em area (area do confusion) e o elemento dela eh steel vlw mano

Minhas Gambiarras :rock:

 

 

[PDA] Pokedex Mostrando o Catch

 

http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041

 

Link para o post
Compartilhar em outros sites

OK. Quando possível, dou uma olhada nisso. Tenho outras coisas pra fazer no momento.

Se eu fizer (não vou confirmar nada), te mando uma PM, visto que o tópico já foi resolvido.

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

mano deixa , achei um tópico explicando magia de empurrar/puxar de tibia, ai meti umas gambiarra e consegui criar a heavy slam kkkkk

 

vlw xD

Minhas Gambiarras :rock:

 

 

[PDA] Pokedex Mostrando o Catch

 

http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041

 

Link para o post
Compartilhar em outros sites

Olá Zipter98, tentei adicionar essa spell do Destiny Bound, mais quando eu vou tentar usar ela da o seguinte erro!
 
[08/03/2015 21:07:50] [Error - TalkAction Interface] 
[08/03/2015 21:07:50] data/talkactions/scripts/move1.lua:onSay
[08/03/2015 21:07:50] Description: 
[08/03/2015 21:07:50] data/talkactions/scripts/move1.lua:118: attempt to compare number with nil
[08/03/2015 21:07:50] stack traceback:
[08/03/2015 21:07:50] data/talkactions/scripts/move1.lua:118: in function <data/talkactions/scripts/move1.lua:20>

 

http://pastebin.com/YiJ35K69

 

ai está o meu move1.lua!

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

Você configurou corretamente a spell em configuration.lua? Aparentemente, o erro está no elemento level da tabela.

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Coloquei desse jeito no meu Configuration.lua!

 
["Wobbuffet"] = {move1 = {name = "Safeguard", level = 100, cd = 40, dist = 1, target = 0, f = 0, t = "normal"},
                 move2 = {name = "Destiny Bound", Level = 100, cd = 30, dist = 1, target = 0, f = 80, t = "ghost"},
          passive1 = {name = "Stunning Confusion", level = 1, cd = 0, dist = 10, target = 0, f = 50, t = "psychic"},
},
Link para o post
Compartilhar em outros sites
  • 1 month later...

como que poen pra isso ficar dando poison?

 

elseif spell == "Gastro Acid" then

                 --cid, effDist, effDano, areaEff, areaDano, element, min, max
       doMoveInAreaMulti(cid, 19, 105, bullet, bulletDano, POISONDAMAGE, min, max)

Continue meu filho desobediente

Haverá paz quando você estiver terminado

Coloque sua cabeça cansada para descansar

Não chore mais

Link para o post
Compartilhar em outros sites

 

Coloquei desse jeito no meu Configuration.lua!

 
["Wobbuffet"] = {move1 = {name = "Safeguard", level = 100, cd = 40, dist = 1, target = 0, f = 0, t = "normal"},
                 move2 = {name = "Destiny Bound", Level = 100, cd = 30, dist = 1, target = 0, f = 80, t = "ghost"},
          passive1 = {name = "Stunning Confusion", level = 1, cd = 0, dist = 10, target = 0, f = 50, t = "psychic"},
},

 

Praticamente 2 meses depois, mas:

["Wobbuffet"] = {
    move1 = {name = "Safeguard", level = 100, cd = 40, dist = 1, target = 0, f = 0, t = "normal"},
    move2 = {name = "Destiny Bound", level = 100, cd = 30, dist = 1, target = 0, f = 80, t = "ghost"},
    passive1 = {name = "Stunning Confusion", level = 1, cd = 0, dist = 10, target = 0, f = 50, t = "psychic"},
},

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

como que poen pra isso ficar dando poison?

 

elseif spell == "Gastro Acid" then

                 --cid, effDist, effDano, areaEff, areaDano, element, min, max

       doMoveInAreaMulti(cid, 19, 105, bullet, bulletDano, POISONDAMAGE, min, max)

ajuda ae =)

Continue meu filho desobediente

Haverá paz quando você estiver terminado

Coloque sua cabeça cansada para descansar

Não chore mais

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