Ir para conteúdo

[Encerrado] [Pedido Spells] [PDA}


Fuuin Fake

Posts Recomendados

Ola xtibia queria pedir hoje 2 spells da pokexgames ,

 

1° -- Destiny Bound -

 

2° - Hex -

 

 

https://www.youtube.com/watch?v=W5hKsx_CDQ4

 

 

O video mostra as duas spells , 1° ele usa como exemplo o Dusknoir , Depois o Mega Gengar (Mega gengar não usa o destiny bound)

 

 

Explicação da 1° spells - a spell ativada quando qualquer attack atingir o Dusknoir Ele ira soltar um attack em area que e tipo 1 selfdestruction so que muito forte , elimina qualquer pokemon , se nem um Pokemon o aattackar em 8 segundos o dusknoir morre sozinho.

 

2° Spell - O Pokemon Fica Imune por 5 segundos e quando sua imunidade sai ele desfere um attack de dano em area.

 

 

#Edit o Hex o Pokemon Muda de outfit

#Edit2 Se preferirem 1 Gif , eu posso fazer.

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

  • 4 months later...


elseif spell == "Hex" then

local tempo = 3

local a = {}

local outfit = {

["Mega Gengar"] = 1942,

["Dusclops"] = 1949,

["Dusknoir"] = 1944,

}

 

local ret1 = {}

ret1.id = 0

ret1.cd = 5

ret1.eff = 0

ret1.check = 0

ret1.first = true

ret1.cond = "Slow"

 

local ret2 = {}

ret2.id = 0

ret2.cd = 5

ret2.eff = 0

ret2.check = 0

ret2.first = true

ret2.cond = "Miss"

 

doSetCreatureOutfit(cid, {lookType = outfit[getCreatureName(cid)]}, -1)

setPlayerStorageValue(cid, 9658783, 1)

a.speed = getCreatureSpeed(cid)

doChangeSpeed(cid, -getCreatureSpeed(cid))

doChangeSpeed(cid, a.speed*1.8)

addEvent(function()

if not isCreature(cid) then return true end

doRemoveCondition(cid, CONDITION_OUTFIT)

doRegainSpeed(cid)

doMoveInArea2(cid, 33, selfArea1, ghostDmg, min, max, spell, ret1)

doMoveInArea2(cid, 33, selfArea1, ghostDmg, 0, 0, spell, ret2)

 

end, tempo*1000)

 

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

elseif spell == "Hex" then
local tempo = 3
local a = {}
local outfit = {   
["Mega Gengar"] = 1942,
["Dusclops"] = 1949,
["Dusknoir"] = 1944,
}

local ret1 = {}
    ret1.id = 0
    ret1.cd = 5
    ret1.eff = 0
    ret1.check = 0
    ret1.first = true
    ret1.cond = "Slow"

local ret2 = {}
    ret2.id = 0
    ret2.cd = 5                   
    ret2.eff = 0
    ret2.check = 0
    ret2.first = true
    ret2.cond = "Miss"

doSetCreatureOutfit(cid, {lookType = outfit[getCreatureName(cid)]}, -1)
setPlayerStorageValue(cid, 9658783, 1)
    a.speed = getCreatureSpeed(cid)
    doChangeSpeed(cid, -getCreatureSpeed(cid))
    doChangeSpeed(cid, a.speed*1.8)
    addEvent(function()
        if not isCreature(cid) then return true end
doRemoveCondition(cid, CONDITION_OUTFIT)
        doRegainSpeed(cid)
        doMoveInArea2(cid, 33, selfArea1, ghostDmg, min, max, spell, ret1)
        doMoveInArea2(cid, 33, selfArea1, ghostDmg, 0, 0, spell, ret2)

    end, tempo*1000)

 

muito obrigado por a spell msm, eu tb tava querendo, se tiver a destiny bond agradesceria mt tb =x

rep+

Link para o comentário
Compartilhar em outros sites

 

elseif spell == "Hex" then
local tempo = 3
local a = {}
local outfit = {   
["Mega Gengar"] = 1942,
["Dusclops"] = 1949,
["Dusknoir"] = 1944,
}

local ret1 = {}
    ret1.id = 0
    ret1.cd = 5
    ret1.eff = 0
    ret1.check = 0
    ret1.first = true
    ret1.cond = "Slow"

local ret2 = {}
    ret2.id = 0
    ret2.cd = 5                   
    ret2.eff = 0
    ret2.check = 0
    ret2.first = true
    ret2.cond = "Miss"

doSetCreatureOutfit(cid, {lookType = outfit[getCreatureName(cid)]}, -1)
setPlayerStorageValue(cid, 9658783, 1)
    a.speed = getCreatureSpeed(cid)
    doChangeSpeed(cid, -getCreatureSpeed(cid))
    doChangeSpeed(cid, a.speed*1.8)
    addEvent(function()
        if not isCreature(cid) then return true end
doRemoveCondition(cid, CONDITION_OUTFIT)
        doRegainSpeed(cid)
        doMoveInArea2(cid, 33, selfArea1, ghostDmg, min, max, spell, ret1)
        doMoveInArea2(cid, 33, selfArea1, ghostDmg, 0, 0, spell, ret2)

    end, tempo*1000)
Obrigado por compartilhar :)
Link para o comentário
Compartilhar em outros sites

elseif spell == "Hex" then
local tempo = 3
local a = {}
local outfit = {   
["Mega Gengar"] = 1942,
["Dusclops"] = 1949,
["Dusknoir"] = 1944,
}

local ret1 = {}
    ret1.id = 0
    ret1.cd = 5
    ret1.eff = 0
    ret1.check = 0
    ret1.first = true
    ret1.cond = "Slow"

local ret2 = {}
    ret2.id = 0
    ret2.cd = 5                   
    ret2.eff = 0
    ret2.check = 0
    ret2.first = true
    ret2.cond = "Miss"

doSetCreatureOutfit(cid, {lookType = outfit[getCreatureName(cid)]}, -1)
setPlayerStorageValue(cid, 9658783, 1)
    a.speed = getCreatureSpeed(cid)
    doChangeSpeed(cid, -getCreatureSpeed(cid))
    doChangeSpeed(cid, a.speed*1.8)
    addEvent(function()
        if not isCreature(cid) then return true end
doRemoveCondition(cid, CONDITION_OUTFIT)
        doRegainSpeed(cid)
        doMoveInArea2(cid, 33, selfArea1, ghostDmg, min, max, spell, ret1)
        doMoveInArea2(cid, 33, selfArea1, ghostDmg, 0, 0, spell, ret2)

    end, tempo*1000)

 

ow no meu PDA ta dando esse erro: apos ele usar hex, ele se torna inmune a tudo blz, mas a inmunidade NUNCA SAI memso se ele remove o outfit e talz a inmunidade fica com a newtype normal

 

[26/02/2016 04:26:11] [Error - Spell Interface]
[26/02/2016 04:26:11] In a timer event called from:
[26/02/2016 04:26:11] data/spells/scripts/ps/Hex.lua:onCastSpell
[26/02/2016 04:26:11] Description:
[26/02/2016 04:26:11] (luaDoItemSetAttribute) Invalid data type
Link para o comentário
Compartilhar em outros sites

  • 2 months later...
Em 20/02/2016 at 19:02, FlamesAdmin disse:
elseif spell == "Hex" thenlocal tempo = 3local a = {}local outfit = {   ["Mega Gengar"] = 1942,["Dusclops"] = 1949,["Dusknoir"] = 1944,}local ret1 = {}    ret1.id = 0    ret1.cd = 5    ret1.eff = 0    ret1.check = 0    ret1.first = true    ret1.cond = "Slow"local ret2 = {}    ret2.id = 0    ret2.cd = 5                       ret2.eff = 0    ret2.check = 0    ret2.first = true    ret2.cond = "Miss"doSetCreatureOutfit(cid, {lookType = outfit[getCreatureName(cid)]}, -1)setPlayerStorageValue(cid, 9658783, 1)    a.speed = getCreatureSpeed(cid)    doChangeSpeed(cid, -getCreatureSpeed(cid))    doChangeSpeed(cid, a.speed*1.8)    addEvent(function()        if not isCreature(cid) then return true enddoRemoveCondition(cid, CONDITION_OUTFIT)        doRegainSpeed(cid)        doMoveInArea2(cid, 33, selfArea1, ghostDmg, min, max, spell, ret1)        doMoveInArea2(cid, 33, selfArea1, ghostDmg, 0, 0, spell, ret2)    end, tempo*1000)

 

Thanks :D 

 

Já tem o Destiny Bound completo? pode passar?

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Em data/lib, pokemons moves.lua:
abaixo de:

Spoiler

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


adicione:

 

Spoiler

    if spell == "DB" then
        table = getTableMove(cid, "Destiny Bound")
    end


Código do Destiny Bound:

 

Spoiler

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

 

Spoiler

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:

 

Spoiler

doReturnPokemon(cid, z, item, effect)


adicione:
 

Spoiler

 

    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:
 

Spoiler

 

local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end

 


 


adicione:

 

Spoiler

    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:

 

Spoiler

    if valor >= getCreatureHealth(cid) then
        if isInArray(cannotKill, combat) and isPlayer(cid) then
            valor = getCreatureHealth(cid) - 1
        else
            valor = getCreatureHealth(cid) 
        end
    end


por:


 

Spoiler

    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:

 

Spoiler

doCreatureAddHealth(cid, -damage, 15, COLOR_BURN)


por:
 

Spoiler

    if getPlayerStorageValue(cid, 8402) == -1 then
        doCreatureAddHealth(cid, -damage, 15, COLOR_BURN)  
    end


Troque:

 

Spoiler

doCreatureAddHealth(cid, -dano, 8, COLOR_GRASS)  


por:

 

Spoiler

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


Troque:

 

Spoiler

 


        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:
 

Spoiler

    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

 

Créditos: zipter98.

Link para o comentário
Compartilhar em outros sites

  • 1 year later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

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