Ir para conteúdo
Close
edusorcer

Action [TFS 1.3] Verificar quais monstros morreram, antes de criar

Posts Recomendados

Bom pessoal, esse é um script bem simples, mas eu gosto da ideia dele, e não consegui encontrar por aí.

 

Citar

Ao usar um item, a função irá criar monstros em determinadas posições e salvar seus cid's no global storage.

 

Após isso, ao dar use, a função verifica e cria apenas os monstros que já morreram.

 

É uma boa solução pra quando você quer summonar monstros numa quest, e se tiver vários players não ficará summonando monstros várias vezes.

 

Esse script está sendo usado ao dar use num chest, mas está a seu critério onde utilizar.

monstersToCreate = {
    [1] = {
        name = 'Lost Berserker',
        position = {x = 1034, y = 1425, z = 15}
    },
    [2] = {
        name = 'Lost Thrower',
        position = {x = 1028, y = 1424, z = 15}
    },
    [3] = {
        name = 'Lost Basher',
        position = {x = 1034, y = 1427, z = 15}
    },
    [4] = {
        name = 'Lost Thrower',
        position = {x = 1040, y = 1423, z = 15}
    },
    [5] = {
        name = 'Lost Husher',
        position = {x = 1030, y = 1430, z = 15}
    },
    [6] = {
        name = 'Lost Husher',
        position = {x = 1038, y = 1429, z = 15}
    }
}

function onUse (player, item, param)
    if item:getActionId() == 45016 then
        if player:getStorageValue(45016) == -1 then
            player:addItem(2517, 1) -- shield of honour
            player:addItem(2502, 1) -- dwarven helmet

            local currentMonsters = Game.getStorageValue(45016)
            
            if currentMonsters then
                for v = 1, #currentMonsters do
                    local monsterId = currentMonsters[v]
                    
                    local isMonsterAlive = Monster(monsterId)
                    
                    if not isMonsterAlive then
                        local createdMonster = Game.createMonster(monstersToCreate[v].name, monstersToCreate[v].position)
                        currentMonsters[v] = createdMonster:getId()
                    end
                end

                Game.setStorageValue(45016, currentMonsters)
            else
                local createdMonsters = {}

                for i = 1, #monstersToCreate do
                    local createdMonster = Game.createMonster(monstersToCreate[i].name, monstersToCreate[i].position)
                    table.insert(createdMonsters, createdMonster:getId())
                end

                Game.setStorageValue(45016, createdMonsters)
            end

            player:setStorageValue(45016, 1)
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You've got a reward.")
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You've already got your reward.")
        end
    end

    return true
end

 

actions.xml:

<action actionid="45016" script="seu_script.lua" />

 

Se alguém quiser aprimorar o script, sinta-se à vontade 😃


Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 


Compartilhar este post


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.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Criar Novo...