Jump to content
Close
edusorcer

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

Recommended Posts

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 😃





Share this post


Link to post
Share on other 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.

 





Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from 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 começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário 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!

×
×
  • Create New...