Ir para conteúdo
  • 0

[PEDIDO] Script Pokemon Ajudante


Josegvb

Pergunta

ola, queria uma script que faça o siguente, quando você usar um x item, 1 pokemon é summonado pra lhe ajudar em hunts, quests, etc matando bixos, você ganha a exp desses bixos que o pokemon summonado mata, o pokemon summonado fica com vc, por 30 mins despois ele some, e o item tem 1 cooldown de 6h (alias só pode ser usado pra summonar o pokemon cada 6 horas), o item é unique (sei q isso da em mt bugs entao, gostaria que o item precisar x lvl pra poder ser usado) e tambem se tiver como colocar q os pokemons ajudantes for aleatorios de 1 lista, a força do pokemon depende do lvl do player (se tiver como, mas nem é necessario).

 

bom essa é o primer script q eu to pedindo =x gostaria se a geral do xtibia me ajuda em isso.

o server é PDA

44fzeVc.png

jETwxub.png

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

9 respostass a esta questão

Posts Recomendados

  • 0

Eu não lembro mais como funciona os servers Pokémon. Pode postar um script de um Pokémon? Eles são como monstros do ot normal?

 

 

sim 100%

 

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Mewtwo" nameDescription="a mewtwo" race="psychic" experience="1000" speed="337" manacost="0">
<health now="180" max="180"/>
<look type="385" head="100" body="100" legs="95" feet="113" corpse="11920"/>
<targetchange interval="2000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="1"/>
<flag convinceable="1"/>
<flag pushable="1"/>
<flag canpushitems="0"/>
<flag canpushcreatures="0"/>
<flag targetdistance="1"/>
<flag staticattack="97"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/>
<attack name="Confusion" interval="2617" chance="30" range="6"/>
<attack name="Restore" interval="4920" chance="20" range="6"/>
<attack name="Psy Pulse" interval="2852" chance="29" range="6"/>
<attack name="Psywave" interval="3040" chance="28" range="5"/>
<attack name="Psybeam" interval="3275" chance="26" range="6"/>
<attack name="Calm Mind" interval="5625" chance="18" range="6"/>
<attack name="Psychic" interval="3510" chance="25" range="6"/>
<attack name="Hypnosis" interval="5510" chance="25" range="3"/>
<attack name="Psyusion" interval="2610" chance="25" range="4"/>
<attack name="Reflect" interval="2510" chance="20" range="6"/>
<attack name="Divine Punishment" interval="2010" chance="20" range="6"/>
</attacks>
<defenses armor="0" defense="0"/>
<voices interval="5000" chance="10">
<voice sentence="MEWTWO!"/>
</voices>
<loot>
<item id="11452" chance="500" count="1" countmax="1"/>
<item id="12338" chance="10" count="1"/> --bag box --bag box
</loot>
<script>
<event name="Spawn"/>
</script>
</monster>

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

  • 0

Bom, fiz algo aqui. Não sincronizei o poder do monstro com o level do player, isso vai dar um pouco mais de trabalho então como disse que não era necessário fiquei com preguiça.

 

Cria um arquivo em actions/scripts chamado pokehelp.lua e coloque esse código dentro:

 

 

local config = {
    pokemons = {"Nome pokemon 1", "Nome pokemon 2"}, -- nome dos pokemons que podem ser sumonados,
    time = {summon = 30*60, cd = 6*60*60}, -- tempo de duração e tempo de cd
    level = 125, -- define o level mínimo para se usar o item
    storages = {summon = 5549, cd = 5550}
}
msg = {finish = "Your summon time is over.", begin = "You have now a summon for " .. config.time.summon/60 .. " minutes"}

function removePokemon(poke, cid)
    if isCreature(poke) then
        doRemoveCreature(poke)
        doCreatureSay(cid, msg.finish, TALKTYPE_MONSTER_SAY)
    end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    setPlayerStorageValue(cid, config.storages.cd, 0)
    if (getPlayerStorageValue(cid, config.storages.cd) - os.time()) <= 0 then
        if getPlayerLevel(cid) > config.level then
            pokemon = doCreateMonster(config.pokemons[math.random(1, #config.pokemons)], getCreaturePosition(cid))
            setPlayerStorageValue(cid, config.storages.cd, os.time() + config.time.cd)
            doConvinceCreature(cid, pokemon)
            doCreatureSay(cid, msg.begin, TALKTYPE_MONSTER_SAY)
            addEvent(removePokemon, config.time.summon*1000, pokemon, cid)
        else
            doPlayerSendCancel(cid, "You don't have enough level.")
        end
    else
        doPlayerSendCancel(cid, "Sorry, this item is on cooldown.")
    end
return true
end 

 

 

 

E a tag do actions.xml:

<action itemid="ID DO ITEM" script="pokehelp.lua"/>

Bom é isso, testa ai e diz se tem algo a adicionar.

obs: se o player morrer ou logar, o cara perde o summon.

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

  • 0

Bom, fiz algo aqui. Não sincronizei o poder do monstro com o level do player, isso vai dar um pouco mais de trabalho então como disse que não era necessário fiquei com preguiça.

 

Cria um arquivo em actions/scripts chamado pokehelp.lua e coloque esse código dentro:

 

 

local config = {
    pokemons = {"Nome pokemon 1", "Nome pokemon 2"}, -- nome dos pokemons que podem ser sumonados,
    time = {summon = 30*60, cd = 6*60*60}, -- tempo de duração e tempo de cd
    level = 125, -- define o level mínimo para se usar o item
    storages = {summon = 5549, cd = 5550}
}
msg = {finish = "Your summon time is over.", begin = "You have now a summon for " .. config.time.summon/60 .. " minutes"}

function removePokemon(poke, cid)
    if isCreature(poke) then
        doRemoveCreature(poke)
        doCreatureSay(cid, msg.finish, TALKTYPE_MONSTER_SAY)
    end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    setPlayerStorageValue(cid, config.storages.cd, 0)
    if (getPlayerStorageValue(cid, config.storages.cd) - os.time()) <= 0 then
        if getPlayerLevel(cid) > config.level then
            pokemon = doCreateMonster(config.pokemons[math.random(1, #config.pokemons)], getCreaturePosition(cid))
            setPlayerStorageValue(cid, config.storages.cd, os.time() + config.time.cd)
            doConvinceCreature(cid, pokemon)
            doCreatureSay(cid, msg.begin, TALKTYPE_MONSTER_SAY)
            addEvent(removePokemon, config.time.summon*1000, pokemon, cid)
        else
            doPlayerSendCancel(cid, "You don't have enough level.")
        end
    else
        doPlayerSendCancel(cid, "Sorry, this item is on cooldown.")
    end
return true
end 

 

 

 

E a tag do actions.xml:

<action itemid="ID DO ITEM" script="pokehelp.lua"/>

Bom é isso, testa ai e diz se tem algo a adicionar.

 

obs: se o player morrer ou logar, o cara perde o summon.

 

o script esta funfando porem nao como deberia talvez me expliquei 1 pouco errado, a funçao do item é de summonar 1 poke que ira atacar sozinho, com seus respectivos atakes configurados no arquevo do bixo summonado, agora ele esta summonando porem ele chama como se for 1 poke "seu", ai se voce chama seu pokemon ele buga com as skills

aki tem 1 video pra lhe mostrar como q ele funfa

 

ele deberia ser summonado e atacar qualquer outro bixo salvagem q estiver perto de voce

e como voce viu no video ele ainda pode continuar usando seu pokemon sem problemas mas aki se voce chama, o summon buga

 

alem do item nao esta tendo cooldown e pode summonar milhoes

db874bee01e64eb47c1761d88edcbcb4.gif

 

e se tiver como colocar pra força do summon for sincronizado com o lvl player agradesceria tb ^^

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

  • 0

tem o msm script pra summonar no tibia :/ ninguem tem como modificar pra funfar no poketibia?

Eu me baseei nessa sua frase, pensei no "utevo res". Eu não entendo a dinâmica do ot pokemon atual, nem as funções nem nada.. Vai ser difícil fazer então.

 

O cd era pra ta funcionando, aqui ele fica em cd.

Não pus limite de pokes, pois estando em cd ele não pode usar novamente, então só vai usar 1..

 

Infelizmente não tenho sources aqui para te ajudar.

 

Uma coisa, eles ao menos atacam os targets que você ataca? rs

Link para o comentário
Compartilhar em outros sites

  • 0

Eu me baseei nessa sua frase, pensei no "utevo res". Eu não entendo a dinâmica do ot pokemon atual, nem as funções nem nada.. Vai ser difícil fazer então.

 

O cd era pra ta funcionando, aqui ele fica em cd.

Não pus limite de pokes, pois estando em cd ele não pode usar novamente, então só vai usar 1..

 

Infelizmente não tenho sources aqui para te ajudar.

 

Uma coisa, eles ao menos atacam os targets que você ataca? rs

 

 

sim tipo se voce usa o item, voce summona o pokemon ai voce pode usar-lo como se for seu se voce targeta ele vai no target, porem voce tem q castar o m1,m2,m3.... pra ele castar as spells mas se voce usa o icone pra chamar o seu pokemon ai eles buga como mostrei na gif :(

mas porque o item esta sem cooldown pra voltar a usar-lo? ai eu fikei clicando e clicando e summonou tds esses bixos ;x

bom valeu pelo tentar msm ^^ esse post ja tem mt tempo + ninguem ajuda kk

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

sim tipo se voce usa o item, voce summona o pokemon ai voce pode usar-lo como se for seu se voce targeta ele vai no target, porem voce tem q castar o m1,m2,m3.... pra ele castar as spells mas se voce usa o icone pra chamar o seu pokemon ai eles buga como mostrei na gif :(

mas porque o item esta sem cooldown pra voltar a usar-lo? ai eu fikei clicando e clicando e summonou tds esses bixos ;x

bom valeu pelo tentar msm ^^ esse post ja tem mt tempo + ninguem ajuda kk

Aqui só sumona um, rs estranho..

Então, na verdade ele deve sumir pq, possivelmente, na funcao de chamar o poke deve ter algum "check" que verifica se vc tem algum outro sumon e remove ele antes de sumonar.

 

O que você quer eu talvez precise fazer para um sistema que eu quero fazer, se eu fizer mesmo basta você adaptar para pokemons, ai eu posto aqui.

 

Abraços,

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...