Ir para conteúdo
  • Cadastre-se

Pedido [AJUDA] Boss Room sumonar boss de acordo com o level.


Posts Recomendados

.Qual servidor ou website você utiliza como base? 

TFS 0.4

Qual o motivo deste tópico? 

Achei esse script aqui no tibiaking e adaptei pra um so player, para uma bossroom, porem, eu gostaria que ele sumonasse o boss de acordo com o level.

Tentei reaproveitar a tabela que ja tinha no script pra fazer o que eu queria, porem ele sumona os dois monstros registrados, e não de acordo com intervalo de level

fiz essa adaptação

 

 

local monster_pos = {
    [1] = { pos = { 462, 83, 7 }, minlevel=1, maxlevel=1999, monster = "Daily boss" },
    [2] = { pos = { 462, 83, 7 }, minlevel=2000, maxlevel=2999, monster = "Ultima Dracony" },
}

 

Essa foi a linha que modifiquei para fazer o sumon, porem ele sumona todos os monstros da lista. Se alguem puder dar aquela forcinha pra o script reconhecer o intervalo de level pra sumonar apenas o sumon equivalente.

____

                 for b = 1, #monster_pos do
					 if (getPlayerLevel(cid) <= monster_pos[b].minlevel) or (getPlayerLevel(cid) >= monster_pos[b].maxlevel) then
                        doSummonCreature(monster_pos[b].monster, { x = monster_pos[b].pos[1], y = monster_pos[b].pos[2], z = monster_pos[b].pos[3] })
                   
					end
					end


____
Script

 

Spoiler

 




-- CONFIG --
local playersOnly = "no"
local questLevel = 1
local STORAGE_BOSS_CD = 50000
local cdtime = 1 * 1 * 1 -- exhaust in seconds

local room = { -- boss room
    fromX = 448,
    fromY = 77,
    fromZ = 7,
    --------------
    toX = 477,
    toY = 92,
    toZ = 7
}

local monster_pos = {
    [1] = { pos = { 462, 83, 7 }, minlevel=1, maxlevel=1999, monster = "Daily boss" },
    [2] = { pos = { 462, 83, 7 }, minlevel=2000, maxlevel=2999, monster = "Ultima Dracony" },
}

local players_pos = {
    { x = 395, y = 18, z = 7, stackpos = 253 }
}

local new_player_pos = {
    { x = 462, y = 86, z = 7 }
}
-- CONFIG END --

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local all_ready, monsters, player, level = 0, 0, {}, 0

    if item.itemid == 9826 then
        for i = 1, #players_pos do
            table.insert(player, 0)
        end
        for i = 1, #players_pos do
            player[i] = getThingfromPos(players_pos[i])
            if player[i].itemid > 0 then
                if string.lower(playersOnly) == "yes" then
                    if isPlayer(player[i].uid) == true then
                        all_ready = all_ready + 1
                    else
                        monsters = monsters + 1
                    end
                else
                    all_ready = all_ready + 1
                end
            end
        end
        if all_ready > 0 then
            for i = 1, #players_pos do
                player[i] = getThingfromPos(players_pos[i])
                if isPlayer(player[i].uid) == true then
                    if getPlayerStorageValue(player[i].uid, STORAGE_BOSS_CD) > os.time() then
                        doPlayerSendCancel(cid, "Acesso so liberado a cada 20h.")
                        return false
                    end
                    if getPlayerLevel(player[i].uid) >= questLevel then
                        level = level + 1
                    end
                else
                    level = level + 1
                end
            end
            if level == #players_pos then
                if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then
                   for b = 1, #monster_pos do
					 if (getPlayerLevel(cid) <= monster_pos[b].minlevel) or (getPlayerLevel(cid) >= monster_pos[b].maxlevel) then
                        doSummonCreature(monster_pos[b].monster, { x = monster_pos[b].pos[1], y = monster_pos[b].pos[2], z = monster_pos[b].pos[3] })
                   
					end
					end
                    for i = 1, #players_pos do
                        if isPlayer(player[i].uid) then
                            doSendMagicEffect(players_pos[i], CONST_ME_POFF)
                            doTeleportThing(player[i].uid, new_player_pos[i])
                            doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA)
                            setPlayerStorageValue(player[i].uid, STORAGE_BOSS_CD, os.time() + cdtime)
                        end
                    end
                    doTransformItem(item.uid, 9825)
                else
                    doPlayerSendTextMessage(cid, 19, "Only players can do this quest.")
                    return false
                end
            else
                doPlayerSendTextMessage(cid, 19, "All Players have to be level " .. questLevel .. " to do this quest.")
                return false
            end
        else
            doPlayerSendCancel(cid, "You need " .. table.getn(players_pos) .. " players to do this quest.")
            return false
        end
    elseif item.itemid == 9825 then
        local player_room = 0
        for x = room.fromX, room.toX do
            for y = room.fromY, room.toY do
                for z = room.fromZ, room.toZ do
                    local pos = { x = x, y = y, z = z, stackpos = 253 }
                    local thing = getThingfromPos(pos)
                    if thing.itemid > 0 then
                        if isPlayer(thing.uid) == true then
                            player_room = player_room + 1
                        end
                    end
                end
            end
        end
        if player_room >= 1 then
            doPlayerSendTextMessage(cid, 19, "There is already a team in the quest room.")
            return false
        elseif player_room == 0 then
            for x = room.fromX, room.toX do
                for y = room.fromY, room.toY do
                    for z = room.fromZ, room.toZ do
                        local pos = { x = x, y = y, z = z, stackpos = 253 }
                        local thing = getThingfromPos(pos)
                        if thing.itemid > 0 then
                            doRemoveCreature(thing.uid)
                        end
                    end
                end
            end
            doTransformItem(item.uid, 9826)
        end
    end

    return true
end

 

 

 

Editado por koyotestark (veja o histórico de edições)
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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LasseXeterno
      Então, estou tentando adicionar uma nova "race" no meu Ot de base Cyan, tentei seguir 3 tutoriais aqui do tibiaking, um sobre race, porém nos códigos do meu servidor não tem o constant.h e nem o monster.cpp. E o outro tutorial, eu fiz tudo que ele pediu e quando entrei no game para testar, funcionava os golpes e as imunidades, porém não aparecia o número do dano e nem a cor.  Usei esse tutorial como base: 
      Pois ele é derivado. E o outro tutorial que usei foi: 
      Porém nesse, não consegui achar a const.h, e quando fui nos arquivos do creaturescript e adicionei uma cor nova a "COLOR_FAIRY", quando abro o jogo, os pokemons que seriam teoricamente "fada", o que eu usei de teste foi a Clefable. A Clefable tomava IK e dava IK no seu atk do tipo fada. 
      Além de que, o meu erro principal é esse: Warning - Monsters::loadMonster] Unknown race type fairy. (data/monster/pokes/geracao 1/Clefable.xml)
       Pois como eu já disse, não consigo achar onde adicionar uma nova race.

    • Por yuriowns
      Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.
       
    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Bom pessoal, a algumas semanas atras eu joguei um servidor que havia sistema de imbuimento sendo 8.60, no servidor se utilizava a spellwand para encantar as armas, os comandos eram dado no canal Imbuiment... Gostaria de saber se alguém teria como disponibilizar algum sistema de imbuimento, já procurei pra caramba aqui no fórum mas tudo que encontro é pra versões acima da que eu uso.
       
    • Por Mateus Robeerto
      Não sei se aqui é a área ou algum local para solicitar a alteração do email antigo... Não lembro mais a senha dele, nem a resposta secreta para acessar. Peço a algum administrador ou moderador para, por favor, alterar o email para o novo.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo