Ir para conteúdo
Propaganda

Posts Recomendados

Estou trabalhando em um projeto, Base PokeStorm/PokeDraw, servidor FTS 0.3.6, e diferente dos demais servidores gostaria de "inovar" no sistema de boost, na qual funcionaria da seguinte maneira:

O Pokemon nao possui nivel e tambem nao possuiria boost +1, +2, +30, ..., +50. 

A ideia principal seria pegar 5 evolution stones e + 50k (fire, thunder, todos os elementos), e trocar por 1 item no npc que se chamaria Boost "Elemento" Potion (Boost Fire Potion, Boost Thunder Potion,...), tal item seria usable como qualquer potion e ao ser usada no pokemon do elemento da boost potion, ele teria seu atack e def aumentado por 10 minutos. 

A ideia, é ter um uso continuo das Stones do game e do cash, para que a economia nao se perca e itens se tornem inuteis, visto que quando usamos o sistema de boost +1,+2,+3...+50, se usa muitas stones, mas ao chegar ao limite maximo do boost, nao se gasta mais com tal pokemon.

Caso possam me ajudar, eu agradeceria muito, tentar montar tal codigo, mas travei!

Link para o comentário
https://tibiadevs.com/forums/topic/1109-script-de-boost-potion-elemental/
Compartilhar em outros sites

  • Moderador

Tópico Aprovado!
Somos gratos por sua contribuição ❤️  REP+

Entre em contato comigo posso auxiliar por call

Link para o comentário
https://tibiadevs.com/forums/topic/1109-script-de-boost-potion-elemental/#findComment-5687
Compartilhar em outros sites

12 horas atrás, tristao disse:

Estou trabalhando em um projeto, Base PokeStorm/PokeDraw, servidor FTS 0.3.6, e diferente dos demais servidores gostaria de "inovar" no sistema de boost, na qual funcionaria da seguinte maneira:

O Pokemon nao possui nivel e tambem nao possuiria boost +1, +2, +30, ..., +50. 

A ideia principal seria pegar 5 evolution stones e + 50k (fire, thunder, todos os elementos), e trocar por 1 item no npc que se chamaria Boost "Elemento" Potion (Boost Fire Potion, Boost Thunder Potion,...), tal item seria usable como qualquer potion e ao ser usada no pokemon do elemento da boost potion, ele teria seu atack e def aumentado por 10 minutos. 

A ideia, é ter um uso continuo das Stones do game e do cash, para que a economia nao se perca e itens se tornem inuteis, visto que quando usamos o sistema de boost +1,+2,+3...+50, se usa muitas stones, mas ao chegar ao limite maximo do boost, nao se gasta mais com tal pokemon.

Caso possam me ajudar, eu agradeceria muito, tentar montar tal codigo, mas travei!

Provavelmente você esta usando a base Sky postada pelo @ Seeker , para alterar a defesa e ataque você pode mexer no game.cpp  e verificar quando o mesmo esta sobre o efeito da Boost Potion ou utilizar as funções:  doMonsterSetAttackPower(cid, value) e doMonsterSetDefensePower(cid, value)

O que tu precisa pensar é: Quanto a mesma vai aumentar de ataque e defesa? Os 10 minutos serão contados apenas quando o Pokémon estiver fora da pokeball ou será contado direto?

Mas a ideia básica de um script de Boost Potion seria assim:

local BUFF_STORAGE = 987654
local BUFF_DURATION = 600 -- 10 minutos
local POWER_MULTIPLIER = 3

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local summon = itemEx.uid

    if not isCreature(summon) or getCreatureMaster(summon) ~= cid then
        doPlayerSendCancel(cid, "Você só pode usar essa potion no seu summon.")
        return false
    end

    if getCreatureStorage(summon, BUFF_STORAGE) > os.time() then
        doPlayerSendCancel(cid, "Seu summon já está com o efeito ativo.")
        return false
    end

    doMonsterSetAttackPower(summon, POWER_MULTIPLIER)
    doMonsterSetDefensePower(summon, POWER_MULTIPLIER)

    doCreatureSetStorage(summon, BUFF_STORAGE, os.time() + BUFF_DURATION)

    doSendMagicEffect(getThingPos(summon), CONST_ME_MAGIC_BLUE)
    doCreatureSay(summon, "BOOST POTION!", TALKTYPE_ORANGE_1)

    addEvent(function()
        if isCreature(summon) then
            doMonsterSetAttackPower(summon, 1)
            doMonsterSetDefensePower(summon, 1)
            setCreatureStorage(summon, BUFF_STORAGE, 0)
            doSendMagicEffect(getThingPos(summon), CONST_ME_POFF)
            doCreatureSay(summon, "ACABOU!", TALKTYPE_ORANGE_1)
        end
    end, BUFF_DURATION * 1000)

    doRemoveItem(item.uid, 1)
    return true
end


Lembrando que este é apenas o esboço da Potion, vai precisar salvar STORAGE na pokeball quando puxar o pokémon de volta, e setar o STORAGE no pokémon quando soltar o mesmo.

Sempre checando o tempo e etc..

  • Like 1
Link para o comentário
https://tibiadevs.com/forums/topic/1109-script-de-boost-potion-elemental/#findComment-5699
Compartilhar em outros sites

13 horas atrás, Anorak disse:

Provavelmente você esta usando a base Sky postada pelo @ Seeker , para alterar a defesa e ataque você pode mexer no game.cpp  e verificar quando o mesmo esta sobre o efeito da Boost Potion ou utilizar as funções:  doMonsterSetAttackPower(cid, value) e doMonsterSetDefensePower(cid, value)

O que tu precisa pensar é: Quanto a mesma vai aumentar de ataque e defesa? Os 10 minutos serão contados apenas quando o Pokémon estiver fora da pokeball ou será contado direto?

Mas a ideia básica de um script de Boost Potion seria assim:

local BUFF_STORAGE = 987654
local BUFF_DURATION = 600 -- 10 minutos
local POWER_MULTIPLIER = 3

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local summon = itemEx.uid

    if not isCreature(summon) or getCreatureMaster(summon) ~= cid then
        doPlayerSendCancel(cid, "Você só pode usar essa potion no seu summon.")
        return false
    end

    if getCreatureStorage(summon, BUFF_STORAGE) > os.time() then
        doPlayerSendCancel(cid, "Seu summon já está com o efeito ativo.")
        return false
    end

    doMonsterSetAttackPower(summon, POWER_MULTIPLIER)
    doMonsterSetDefensePower(summon, POWER_MULTIPLIER)

    doCreatureSetStorage(summon, BUFF_STORAGE, os.time() + BUFF_DURATION)

    doSendMagicEffect(getThingPos(summon), CONST_ME_MAGIC_BLUE)
    doCreatureSay(summon, "BOOST POTION!", TALKTYPE_ORANGE_1)

    addEvent(function()
        if isCreature(summon) then
            doMonsterSetAttackPower(summon, 1)
            doMonsterSetDefensePower(summon, 1)
            setCreatureStorage(summon, BUFF_STORAGE, 0)
            doSendMagicEffect(getThingPos(summon), CONST_ME_POFF)
            doCreatureSay(summon, "ACABOU!", TALKTYPE_ORANGE_1)
        end
    end, BUFF_DURATION * 1000)

    doRemoveItem(item.uid, 1)
    return true
end


Lembrando que este é apenas o esboço da Potion, vai precisar salvar STORAGE na pokeball quando puxar o pokémon de volta, e setar o STORAGE no pokémon quando soltar o mesmo.

Sempre checando o tempo e etc..

Que belezinha heim!!

Link para o comentário
https://tibiadevs.com/forums/topic/1109-script-de-boost-potion-elemental/#findComment-5701
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...