Ir para conteúdo
Propaganda

Posts Recomendados

  • Suporte

Bom dia, como vocês estão?

Faz um tempo que não posto nada então resolvi postar um script que eu fiz recentemente mais pra estudo, talvez não tenha ficado tão bom quanto em outros games, se alguém tiver alguma opinião sobre, pode falar ai que vai ser legal.

Enfim, eu vi em alguns games uma parada bem interessante, quando o player passa sobre aquela grama alta ela vira grama baixa e tem uma chance de spawnar um pokémon, resolvi tentar fazer algo semelhante e deu certo, segue o vídeo ai pra vocês verem o que estou falando:

Achei bem interessante, dá pra fazer bastante coisa com isso, eventos e talls então resolvi postar.

Segue a baixo a instalação do código:

Passo 1 - crie um script com o nome de mato.lua em data/movements/mato.lua e cole o código a baixo:
 

local grassId = 3985 -- id do mato antes de ser pisado
local steppedGrassId = 3984 -- id do mato depois de ser pisado
local respawnTime = 3 * 60 * 1000 -- 3 minutos
local spawnChance = 5 -- % de chance de spawn
local pokemonList = {"Bulbasaur", "Charmander", "Squirtle", "Pidgey", "Rattata", "Ekans", "Pikachu", "Sandshrew", "Zubat", "Oddish"}
 
function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
        return true
    end
 
    if item.itemid ~= grassId then
        return true
    end
 
    local tileItem = getTileItemById(position, grassId)
    if tileItem and tileItem.uid > 0 then
        doTransformItem(tileItem.uid, steppedGrassId)
 
        if math.random(100) <= spawnChance then
            local randomPokemon = pokemonList[math.random(#pokemonList)]
            local spawnPosition = {x = position.x, y = position.y, z = position.z}
            local spawnedCreature = doSummonCreature(randomPokemon, spawnPosition)
 
        addEvent(function()
            local currentTile = getTileItemById(position, steppedGrassId)
            if currentTile and currentTile.uid > 0 and currentTile.itemid == steppedGrassId then
                doTransformItem(currentTile.uid, grassId)
            end
        end, respawnTime)
    end
    end
    return true
end

Passo 2 - em movements.xml adicione a seguinte linha:

    <movevent type="StepIn" itemid="3985" event="script" value="mato.lua"/>

Pronto, código instalado, agora precisa verificar como está o mato no object builder pois geralmente este mato não é possível andar sobre:
image.thumb.png.61d8e0b45289df01c0c4d51c18d57458.png

image.thumb.png.10c7671f472d75ea20f6820b7a062d8d.pngFaça essa validação para ambos, tanto no mato crescido quanto no mato pisado e deixe com essas configurações ai.
Por fim, faça as mesmas configurações no item editor:
image.png.38f3560ee828d9d16a27eed2334e790e.png 

E deixe desta forma também.

Por fim é isso, espero que tenham gostado do código, não é muita coisa massss é legalzinho 😄 

  • Like 3
  • Thanks 1
Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/
Compartilhar em outros sites

  • Administrador
7 horas atrás, george192 disse:

Bom dia, como vocês estão?

Faz um tempo que não posto nada então resolvi postar um script que eu fiz recentemente mais pra estudo, talvez não tenha ficado tão bom quanto em outros games, se alguém tiver alguma opinião sobre, pode falar ai que vai ser legal.

Enfim, eu vi em alguns games uma parada bem interessante, quando o player passa sobre aquela grama alta ela vira grama baixa e tem uma chance de spawnar um pokémon, resolvi tentar fazer algo semelhante e deu certo, segue o vídeo ai pra vocês verem o que estou falando:

 

Achei bem interessante, dá pra fazer bastante coisa com isso, eventos e talls então resolvi postar.

Segue a baixo a instalação do código:

Passo 1 - crie um script com o nome de mato.lua em data/movements/mato.lua e cole o código a baixo:
 

local grassId = 3985 -- id do mato antes de ser pisado
local steppedGrassId = 3984 -- id do mato depois de ser pisado
local respawnTime = 3 * 60 * 1000 -- 3 minutos
local spawnChance = 5 -- % de chance de spawn
local pokemonList = {"Bulbasaur", "Charmander", "Squirtle", "Pidgey", "Rattata", "Ekans", "Pikachu", "Sandshrew", "Zubat", "Oddish"}
 
function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
        return true
    end
 
    if item.itemid ~= grassId then
        return true
    end
 
    local tileItem = getTileItemById(position, grassId)
    if tileItem and tileItem.uid > 0 then
        doTransformItem(tileItem.uid, steppedGrassId)
 
        if math.random(100) <= spawnChance then
            local randomPokemon = pokemonList[math.random(#pokemonList)]
            local spawnPosition = {x = position.x, y = position.y, z = position.z}
            local spawnedCreature = doSummonCreature(randomPokemon, spawnPosition)
 
        addEvent(function()
            local currentTile = getTileItemById(position, steppedGrassId)
            if currentTile and currentTile.uid > 0 and currentTile.itemid == steppedGrassId then
                doTransformItem(currentTile.uid, grassId)
            end
        end, respawnTime)
    end
    end
    return true
end

Passo 2 - em movements.xml adicione a seguinte linha:

    <movevent type="StepIn" itemid="3985" event="script" value="mato.lua"/>

Pronto, código instalado, agora precisa verificar como está o mato no object builder pois geralmente este mato não é possível andar sobre:
image.thumb.png.61d8e0b45289df01c0c4d51c18d57458.png

image.thumb.png.10c7671f472d75ea20f6820b7a062d8d.pngFaça essa validação para ambos, tanto no mato crescido quanto no mato pisado e deixe com essas configurações ai.
Por fim, faça as mesmas configurações no item editor:
image.png.38f3560ee828d9d16a27eed2334e790e.png 

E deixe desta forma também.

Por fim é isso, espero que tenham gostado do código, não é muita coisa massss é legalzinho 😄 

Você é o melhor 🤘

  • Thanks 1
Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/#findComment-3997
Compartilhar em outros sites

  • Suporte
16 minutos atrás, The Baker disse:

Você é o melhor 🤘

Tamo juuuunto 

Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/#findComment-3998
Compartilhar em outros sites

amigo, fiz td como mencionado, porém, ao andar em cima da planta, meu char nao consegue passar em cima, fiz igualzinho ao teu... ajuda?

  • Like 1
Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/#findComment-4003
Compartilhar em outros sites

  • Suporte
29 minutos atrás, teste010 disse:

amigo, fiz td como mencionado, porém, ao andar em cima da planta, meu char nao consegue passar em cima, fiz igualzinho ao teu... ajuda?

Opa, é por conta do item, precisa ver se a configuração no object builder e no item editor estão iguais ali, consegue me mandar um print?

Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/#findComment-4004
Compartilhar em outros sites

  • Suporte
1 minuto atrás, teste010 disse:

claro! obrigado por se disponibilizar

.image.png.3cbb37a81c7ff8131cedeb869337f083.pngimage.png.ab27cc42ee982bbc37a133bc29e10e4f.png

image.thumb.png.cf91885b56e3e2d64bc8c33308797703.png

Repare que na grama pequena você não colocou speed, faça o teste por favor, faça as mesmas configurações da grama alta na grama baixa, tanto no object builder quanto no item editor por favor.

  • Like 1
Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/#findComment-4006
Compartilhar em outros sites

nao tinha revisado da grama baixa, pode ser por isso, nao realizei a troca na baixa. Mas mesmo assim não rolou 😕

image.pngimage.png.5336352c2d8d1a8ca7aa1d65f09df56f.pngimage.png.10a284a231bf775b26d927d48c2c41e5.png

 

 

imagino que possa ser algo nos items.xml... não sei se está correto, nao mexi nisso.

image.png.9860d170df459191df43cc8d54daa8ef.png

Link para o comentário
https://tibiadevs.com/forums/topic/774-036-mato-spawna-mob-pok%C3%A9mon/#findComment-4007
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...