Ir para conteúdo
  • 0

Um Sistema De Quest


fokus090

Pergunta

Mais uma vez fique barrado devido á um obstáculo que não consigo ultrapassar.

Conto com a ajuda de vocês. Segue Abaixo:.

 

Tenho um Sistema onde é preciso Clicar em uma Estátua. Esse Script foi feito pelo @Leoxtibia e ele faz o seguinte:

 

Caso o Player clique na Estátua, e esse jogador não está em Nenhum Grupo, ele é 'Teleportado para dentro da Quest' e nenhum outro jogador poderá entrar no mesmo local até ele sair de lá.

 

Mas, caso o Player clique na Estátua, e esse jogador 'Está em um Grupo', ele é teleportado para dentro da Quest. E qualquer outro jogador 'que esteja no mesmo grupo daquele que está dentro da Quest' poderá, ao clicar na estátua, ser teleportado para dentro da Quest. Mas qualquer outro jogador que não esteja dentro do Grupo, seja Barrado de entrar.

 

 

O Meu pedido é bem simples. Queria apenas colocar para que o Jogador precisa-se de "1 Item" para ser Teleportado. Já tentei mais não obtive sucesso. Apenas consegui para que todos no Grupo precisasem ter o "Item (ItemID: 2349)" para poderem ser Teleportados, nessa part do Script:

 

 if (getPlayerItemCount(k, 2349) < 1) then
           doPlayerSendCancel(cid, "Todos os Jogadores devem ter o item para entrar nesta Dangerous.")
	    return true
   end

 

O Script faz a verificação do Jogador dentro da Quest. Se tiver jogador lá dentro, o Player de fora não entra. O Script é esse :.

 

local t = {
level = 10, --- Nível necessário para ser Teleportado.
party = 2,  --- Mínimo de Jogadores no Grupo.
quest = {x=427,y=374,z=14} --- local da Dangerous.
}
          	 --==============================================================================================================================--
                           local fromPos,toPos = {x = 358, y = 364, z = 14},{x = 488, y = 480, z = 14} --- Começo e Final da Área.
          	 --==============================================================================================================================--

function onUse(cid, item, position, fromPosition, itemEx, toPosition)
           local test = {}
           local players = getPartyMembers(getPartyLeader(cid))

   if (getPlayerParty(cid)) then
   if(getPlayerParty(cid) == cid) then
   if #players >= t.party then
	    for x = fromPos.x, toPos.x do
	    for y = fromPos.y, toPos.y  do
	    local pos = {x=x, y=y, z=fromPos.z}
	    local m = getTopCreature(pos).uid
   if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém já está fazendo esta Dangerous") end
   end
   end


		    --===============================================================================================================================--  

           for i, k in ipairs(players) do
   if (getPlayerLevel(k) < t.level) then
	    doPlayerSendCancel(cid, "Todos os Jogadores devem ter Nível "..t.level.." ou maior para entrar nesta Dangerous.")
	    return true
   end
   if (getPlayerItemCount(k, 2349) < 1) then
           doPlayerSendCancel(cid, "Todos os Jogadores devem ter o item para entrar nesta Dangerous.")
	    return true
   end
   table.insert(test, k)
   end


		    --===============================================================================================================================--

	    for i, tid in ipairs(test) do
	    doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF)
	    doTeleportThing(tid, t.quest, true)
           doPlayerRemoveItem(tid, 2349, 1)
	    doSendMagicEffect(t.quest, CONST_ME_ENERGYAREA)


   end
       else		     
       return doPlayerSendCancel(cid, "É necessário pelo menos "..t.party.." Jogadores no Grupo.")
   end
    else
       return doPlayerSendCancel(cid, "O Líder do Grupo deve usar a Estátua Primeiro.")
   end
    else
	    for x = fromPos.x, toPos.x do
	    for y = fromPos.y, toPos.y  do
           local pos = {x=x, y=y, z=fromPos.z}
           local m = getTopCreature(pos).uid
   if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém já está fazendo esta Dangerous") end
   end
   end
   end
   return true
end

 

Aguardo Respostas.

Abraços !!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
                                                                                         local t = {
level = 10, --- Nível necessário para ser Teleportado.
party = 2,  --- Mínimo de Jogadores no Grupo.
quest = {x=427,y=374,z=14} --- local da Dangerous.
}
                --==============================================================================================================================--
                           local fromPos,toPos = {x = 358, y = 364, z = 14},{x = 488, y = 480, z = 14} --- Começo e Final da Área.
                --==============================================================================================================================--

function onUse(cid, item, position, fromPosition, itemEx, toPosition)
           local test = {}
           local players = getPartyMembers(getPartyLeader(cid))

   if (getPlayerParty(cid)) then
   if(getPlayerParty(cid) == cid) then
   if #players >= t.party then
                   for x = fromPos.x, toPos.x do
                   for y = fromPos.y, toPos.y  do
                   local pos = {x=x, y=y, z=fromPos.z}
                   local m = getTopCreature(pos).uid
   if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém já está fazendo esta Dangerous") end
   end
   end


                           --===============================================================================================================================--  

           for i, k in ipairs(players) do
   if (getPlayerLevel(k) < t.level) then
                   doPlayerSendCancel(cid, "Todos os Jogadores devem ter Nível "..t.level.." ou maior para entrar nesta Dangerous.")
                   return true
   end
   if (getPlayerItemCount(cid, 2349) < 1) then
           doPlayerSendCancel(cid, "Você deve ter o item para entrar nesta Dangerous.")
                   return true
   end
   if (getPlayerItemCount(k, 2349) < 1) then
           doPlayerSendCancel(cid, "Todos os Jogadores devem ter o item para entrar nesta Dangerous.")
                   return true
   end
   table.insert(test, k)
   end


                           --===============================================================================================================================--

                   for i, tid in ipairs(test) do
                   doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF)
                   doTeleportThing(tid, t.quest, true)
           doPlayerRemoveItem(tid, 2349, 1)
                   doSendMagicEffect(t.quest, CONST_ME_ENERGYAREA)


   end
       else                 
       return doPlayerSendCancel(cid, "É necessário pelo menos "..t.party.." Jogadores no Grupo.")
   end
           else
       return doPlayerSendCancel(cid, "O Líder do Grupo deve usar a Estátua Primeiro.")
   end
           else
                   for x = fromPos.x, toPos.x do
                   for y = fromPos.y, toPos.y  do
           local pos = {x=x, y=y, z=fromPos.z}
           local m = getTopCreature(pos).uid
   if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém já está fazendo esta Dangerous") end
   end
   end
   end
   return true
end

Editado por SmiX
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...