Ir para conteúdo

Posts Recomendados

Postado

Boa noite, galera do TK.

 

Eu to montando um servidor RPG, e to usando uma script de annihilator de 4 pessoas, para ser 5 pessoas, porém está dando um erro que é parte da minha script

"18:27 You need 5 players to do this quest."

Porém os 5 players estão em seus lugares, e todos são lvl 10, sendo que a quest requer level 8.

Segue a script:

        -- Annihilator by Shawak v2.1

        -- CONFIG --

        local room = {     -- room with demons
        fromX = 1128,
        fromY = 246,
        fromZ = 9,
        --------------
        toX = 1245,
        toY = 322,
        toZ = 13
        }

        local monster_pos = {
        [1] = {pos = {1170, 270, 9}, monster = "Blood Bug"},
        [2] = {pos = {1164, 271, 9}, monster = "Blood Bug"},
        [3] = {pos = {1162, 290, 9}, monster = "Blood Bug"},
        [4] = {pos = {1161, 269, 8}, monster = "Blood Bug"},
        [5] = {pos = {1162, 280, 8}, monster = "Blood Bug"},
		[6] = {pos = {1161, 290, 8}, monster = "Blood Bug"},
        [7] = {pos = {1163, 292, 8}, monster = "Blood Bug"},
        [8] = {pos = {1161, 288, 10}, monster = "Blood Bug"},
        [9] = {pos = {1162, 286, 10}, monster = "Blood Bug"},
        [10] = {pos = {1157, 275, 10}, monster = "Blood Bug"},
		[11] = {pos = {1147, 280, 10}, monster = "Blood Bug"}
        }

        local players_pos = {
        {x = 1160, y =273, z = 3, stackpos = 253},
        {x = 1159, y =274, z = 3, stackpos = 253},
        {x = 1159, y =275, z = 3, stackpos = 253},
		{x = 1161, y =274, z = 3, stackpos = 253},
        {x = 1161, y =275, z = 3, stackpos = 253}
        }

        local new_player_pos = {
        {x = 1141, y = 264, z = 8},
        {x = 1140, y = 265, z = 8},
        {x = 1140, y = 266, z = 8},
        {x = 1142, y = 265, z = 8},		
        {x = 1142, y = 266, z = 8}
        }

        local playersOnly = "yes"
        local questLevel = 8

        ------------------------------------------------------
        --- CONFIG END ---------------------------------------
        ------------------------------------------------------

function onUse(cid, item, fromPosition, itemEx, toPosition)
        local all_ready, monsters, player, level = 0, 0, {}, 0
        if item.itemid == 1945 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 == #players_pos then
                        for i = 1, #players_pos do
                                player[i] = getThingfromPos(players_pos[i])
                                if isPlayer(player[i].uid) == TRUE then
                                        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
                                        local door = getTileItemById({x=33225, y=31659, z=13}, 5109).uid

										for _, area in pairs(monster_pos) do
                                                        doSummonCreature(area.monster,{x=area.pos[1],y=area.pos[2],z=area.pos[3]})
                                        end
                                        for i = 1, #players_pos do
                                                doSendMagicEffect(players_pos[i], CONST_ME_POFF)
                                                doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
                                                doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA)
                                                doTransformItem(item.uid,1946)
                                        end
                                else
                                        doPlayerSendTextMessage(cid,19,"Only players can do this quest.")
                                end
                        else
                                doPlayerSendTextMessage(cid,19,"All Players have to be level "..questLevel.." to do this quest.")
                        end
                else
                        doPlayerSendTextMessage(cid,19,"You need "..table.getn(players_pos).." players to do this quest.")
                end
        elseif item.itemid == 1946 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.")          
                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,1945)
                end
        end
        return TRUE
end

 

<action uniqueid="5000" script="quests/annihilator.lua" />

Alguém poderia me ajudar, por favor mesmo, de coração. s2

  • Respostas 5
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Postado
  Em 30/03/2016 em 20:21, Trayron1 disse:

Ajuda eu, por favor 

Expand  

Não ta fazendo muito sentido a primeira parte do script:

		local room = {     -- room with demons
        fromX = 1128,
        fromY = 246,
        fromZ = 9,
        toX = 1245,
        toY = 322,
        toZ = 13
        }

From seria o canto superior esquerdo < /\

E to seria o canto inferior direito > \/

Da sala que os players vão parar após puxarem a alavanca. (o from e o to seriam no mesmo andar.)

Corrige isso e vê se o problema continua.

Postado
  Em 30/03/2016 em 20:56, Trayron1 disse:

Certo, vou olhar e já retorno.

Expand  

vi agora que os monstros também nascem em diferentes andares, não sei se esse script vai servir pra você, tendo em vista que ele checa se há players na sala pra não deixar o proximo time ir, e você esta usando vários andares. Mas estranho o erro ser relacionado ao numero de jogadores.

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.




×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo