Ir para conteúdo
  • 0

{PEDIDO} QUEST ANIHI COM TEMPO


Magraozinho

Pergunta

Eae galera blz?, estou fazendo um projeto de uma quest anihi só que com tempo para ficar la e tempo para entrar. após o tempo esgotar, outras pessoas podem entrar e as que estão dentro são teleportadas para fora..  só q n sei se minha script esta com erro, ou eu não soube arrumar a action para entrar la.. de todo modo essa é minha script \/ , por favor, me orientem!!   versão 8.6  TFS 0.4

 

 

anihi.lua

anihi.lua

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

Posts Recomendados

  • 0
3 horas atrás, Poccnn disse:

A sala onde são summonados os monstros e onde osplayers são teleportados é igual a da annihi convencional? 

Não ... é assim olha ... ao usar a alavanca os players caem nesse corredor com 5 sqms logo a cima de mim e esses monstros são sumonados instantaneamente... o teleport pra cair na salinha do tesouro fica nesses quatro cantos, ambos levam a sala do tesouro.. e em qualquer lugar q eles tiverem... se eles não derrotarem os bixos qe trapam esses cantos (qualquer canto) e não entrarem em um dos teleports qe fica ali no tempo proposto na contagem... eles são teleportados para fora e os bixos somem... assim outros players poderão entrar, e o processo se reinicia... entendeu?

 

Esqueci de um detalhe... alem do tempo falante ser contado em cima da alavanca.. eu queria que fosse contado em cima dos 4 teleports tbm... assim os players de dentro ficariam informados de quanto tempo os resta...

 

até hj só vi uma pessoa com um script igual esse..  se vc conseguir fazer isso pra mim.. vc sera a pessoa mais foda do mundo kkk

aaa, e desde ja, muito obrigado por estar me ajudando..

 

 

anihi.png

anihi.thumb.png.3293ccc74665dc3b62efa180f0aac27a.png

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

  • 0

Eu tinha feito um edit do script mas, já que você postou uma imagem da sala, voi ter que refazer ele.

Infelizmente estou saindo agora para o Colégio,  amanhã eu posto ele refeito pra você. 

Link para o comentário
Compartilhar em outros sites

  • 0
21 horas atrás, Poccnn disse:

Eu tinha feito um edit do script mas, já que você postou uma imagem da sala, voi ter que refazer ele.

Infelizmente estou saindo agora para o Colégio,  amanhã eu posto ele refeito pra você. 

Ok sem problemas.. eu espero, muito obrigado novamente.

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

  • 0

aa, só um detalhe que esqueci de te falar.. os monstros não ficam parados fixos... eles se movimentam normalmente, vão até os players atacam e tals...

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

  • 0
2 horas atrás, Magraozinho disse:

aa, só um detalhe que esqueci de te falar.. os monstros não ficam parados fixos... eles se movimentam normalmente, vão até os players atacam e tals...

 

Essa ss que você postou, ajudou muito a desenvolver o código o mais eficiente possível. 

 

Com base na imagem eu refiz o script levando em consideração as adversidades que poderiam ocorrer.

 

annihi.jpg

 

Ai está o script refeito:

Citar

--[[> Annihilator script by Marcryzius D'evil <]]-- 

local pos_demons,pos_players,tele_players = { 

-- posições onde serão sumonados os monstros na annihilator 

   {x=1119, y=1241, z=11,stackpos=253}, 

   {x=1119, y=1242, z=11,stackpos=253}, 

   {x=1119, y=1243, z=11,stackpos=253}, 

   {x=1127, y=1241, z=11,stackpos=253}, 

   {x=1127, y=1242, z=11,stackpos=253}, 

   {x=1127, y=1243, z=11,stackpos=253} 

},{ 

   --posições onde estão os players antes de irem a sala da annihi 

   {x=1109,y=1242,z=11,stackpos=253}, 

   {x=1110,y=1242,z=11,stackpos=253}, 

   {x=1111,y=1242,z=11,stackpos=253}, 

   {x=1112,y=1242,z=11,stackpos=253}, 

   {x=1113,y=1242,z=11,stackpos=253}, 

},{ 

   --posições onde serão teleportados os players para a sala da annihi 

   {x=1125,y=1242,z=11,stackpos=253}, 

   {x=1124,y=1242,z=11,stackpos=253}, 

   {x=1123,y=1242,z=11,stackpos=253}, 

   {x=1122,y=1242,z=11,stackpos=253}, 

   {x=1121,y=1242,z=11,stackpos=253}, 

QUANT = 0 -- não mecha 

RELOAD_ANNIHI = 0 -- não mecha 

local refeita,level,time_annihi = true,100,60 

-- se alguem que ja fez a quest pode faze-la denovo, level necessario,tempo em segundos 

 

--== FUNÇÕES NECESSÁRIAS ==-- 

function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers) --Marcryzius 

    local creaturesList = {} 

    for x = -radiusx, radiusx do 

        for y = -radiusy, radiusy do 

            if not (x == 0 and y == 0) then 

            local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE}) 

                if (creature.type == 1 and showPlayers == true) or (creature.type == 2 and showMonsters == true) then 

                    table.insert(creaturesList, creature.uid) 

                end 

            end 

        end 

    end 

    return creaturesList 

end 

 

function repeatTxtInPos(alavanca_pos,cor) 

local pos = tele_players[3] 

local players = getCreaturesInRange(tele_players[3], 6, 6, false, true) 

   if(time_annihi > QUANT and #players > 0)then 

      QUANT = QUANT+1 

      addEvent(repeatTxtInPos,1000,alavanca_pos,cor) 

      doSendAnimatedText(alavanca_pos,QUANT,cor) 

      doSendAnimatedText({x=pos.x-4,y=pos.y-3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x-4,y=pos.y+3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x+4,y=pos.y+3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x+4,y=pos.y-3,z=pos.z},QUANT,cor) 

   else 

      QUANT = 0 

      stopEvent(RELOAD_ANNIHI) 

   end 

end 

 

function reloadAnnihi() 

local players = getCreaturesInRange(tele_players[3], 6, 6, true, true) 

   for _,cid in pairs(players) do 

      if(isPlayer(cid) == true)then 

         doTeleportThing(cid,pos_players[1], false) 

      elseif(isMonster(cid))then 

         doRemoveCreature(cid) 

      end 

   end 

end 

--== FUNÇÕES NECESSÁRIAS ==-- 

 

function onUse(cid, item, fPos, itemEx, toPosition) 

   if(item.itemid == 1946)then 

      for _,pos in pairs(pos_players) do 

         local player = getThingFromPos(pos) 

         if not(isPlayer(player.uid))then 

            return true,doPlayerSendCancel(cid,"voce precisa de "..#pos_players.." pessoas para poder entrar na sala.") 

         elseif(getPlayerLevel(player.uid) < level)then 

            return true,doPlayerSendCancel(cid,"Todos necessitam ter level "..level.." ou mais.") 

         elseif not(refeita) and (getPlayerStorageValue(player.uid,18000) > 0)then 

            return true,doPlayerSendCancel(cid,"Alguem ja fez a Annihilator quest.") 

         end 

      end 

      for k,pos  in pairs(pos_demons) do 

         if(k <= #pos_players)then 

         local player = getThingFromPos(pos_players[k]) 

            if(player.uid ~= nil)then 

               doTeleportThing(player.uid,tele_players[k], false) 

            end 

         end 

         doSummonCreature("Demon", pos) 

      end 

      repeatTxtInPos(fPos,time_annihi,10) 

      RELOAD_ANNIHI = addEvent(reloadAnnihi,time_annihi*1000) 

   elseif(item.itemid == 1945)then 

      if(QUANT ~= 0)then 

         return true,doPlayerSendCancel(cid,"Espere o time acabar de fazer a annihilator quest.") 

      end 

   end 

end 

 

 

annihi.jpg.314cebc544bee2a9a7aa7e04e89cdcef.jpg

Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, Poccnn disse:

 

Essa ss que você postou, ajudou muito a desenvolver o código o mais eficiente possível. 

 

Com base na imagem eu refiz o script levando em consideração as adversidades que poderiam ocorrer.

 

annihi.jpg

 

Ai está o script refeito:

 

O processo de reload continua não funcionando :/ ... não esta contando o tempo na alavanca e a contagem nos teleports só vai de 1 até 20, ele deveria ir de 120 a 0 nos teleports e na alavanca. a alvanca não fica bloqueada quando tem player dentro.. e os bixos não são retirados quando o tempo acaba.. e os players tbm não são retirados :/ .

 

só um detalhe.. os players precisam ter lvl 120 ou +, e eles podem fazer quantas vezes quiserem...

 

se você pudesse corrigir novamente por favor.. eu ficaria mais grato doq ja estou.

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

  • 0
Em 18/05/2016 at 23:21, Magraozinho disse:

O processo de reload continua não funcionando :/ ... não esta contando o tempo na alavanca e a contagem nos teleports só vai de 1 até 20, ele deveria ir de 120 a 0 nos teleports e na alavanca. a alvanca não fica bloqueada quando tem player dentro.. e os bixos não são retirados quando o tempo acaba.. e os players tbm não são retirados :/ .

 

só um detalhe.. os players precisam ter lvl 120 ou +, e eles podem fazer quantas vezes quiserem...

 

se você pudesse corrigir novamente por favor.. eu ficaria mais grato doq ja estou.

 

Declarou uma uid própria na alavanca para esse script? 

No caso você quer uma contagem regressiva? 

 

Mudança de level, tempo e se o player pode refazer a quest, fica nessas variáveis:

Citar

local refeita,level,time_annihi = true,100,60 

 

refeita = true -- caso alguém já tenha feita, pode refaze-la

level = 100 --level necessário para a quest

time_annihi = 60 -- tempo que os players ficam na sala da quest.

 

Posta o script como está sendo usado.

Link para o comentário
Compartilhar em outros sites

  • 0
6 horas atrás, Poccnn disse:

 

Declarou uma uid própria na alavanca para esse script? 

No caso você quer uma contagem regressiva? 

 

Mudança de level, tempo e se o player pode refazer a quest, fica nessas variáveis:

 

refeita = true -- caso alguém já tenha feita, pode refaze-la

level = 100 --level necessário para a quest

time_annihi = 60 -- tempo que os players ficam na sala da quest.

 

Posta o script como está sendo usado.

Sim, eu quero uma contagem regressiva.. de 120 a 0 .. , a script em si está funcionando, eu tinha testado errado, você pode corrigir só mais esstes detalhes por favor?>

 

eu queria que a cor do falante nos sqms e na alavanca fosse vermelho.

 

A alavanca não esta ficando bloqueada enquanto o tempo corre, assim outros player conseguem entrar na quest mesmo tendo players la dentro.. isso precisava ser corrigido.

 

Os players são teleportados para o sqm perto da alavanca quando o tempo acaba, eu queria que eles fossem teleportados para esta Position:[X: 1072] [Y: 1164] [Z: 6].

 

O player ou bicho que fica no sqm no meio do corredor não é teleportado para fora quando o tempo acaba, isto também precisava ser corrigido...

 

A contagem é interrompida se todos os players saem da sala, eu quero q a contagem continue.. mesmo se os players já tiverem saído.. pq os bichos só são retirados quando o tempo acaba... e se a contagem é interompida os bichos não são retirados.  

 

quando o tempo acaba e os players são teleportados, eu gostaria que aparecesse uma msg para eles no default, parecida com esta: O tempo acabou e você não conseguiu completar... e tals.

 

A e por ultimo uma duvida.. a script da reload nos globalevents? pq em hipótese alguma pode dar reload nos globalevents, tem muitos events no server, e se der reload events toda vez que fizerem a quest, os events não vão acontecer.

 

script atual \/

anihi.lua

anihi.lua

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

  • 0
3 horas atrás, Magraozinho disse:

A alavanca não esta ficando bloqueada enquanto o tempo corre, assim outros player conseguem entrar na quest mesmo tendo players la dentro.. isso precisava ser corrigido.

 

Faz o seguinte teste: coloca um player de level menor do que o necessário para a quest e ao clicar na alavanca,  verifique se ela mudou e me informe.

 

3 horas atrás, Magraozinho disse:

A contagem é interrompida se todos os players saem da sala, eu quero q a contagem continue.. mesmo se os players já tiverem saído.. pq os bichos só são retirados quando o tempo acaba... e se a contagem é interompida os bichos não são retirados.  

 

No caso o que tu queres é que os bichos permaneçam lá? 

Mas, e quando outro grupo vinher, não terá que ser sumonado outros bichos?

3 horas atrás, Magraozinho disse:

A e por ultimo uma duvida.. a script da reload nos globalevents? pq em hipótese alguma pode dar reload nos globalevents, tem muitos events no server, e se der reload events toda vez que fizerem a quest, os events não vão acontecer.

 

Não. Action não interfere diretamente com globalevents.

Link para o comentário
Compartilhar em outros sites

  • 0
33 minutos atrás, Poccnn disse:

 

Faz o seguinte teste: coloca um player de level menor do que o necessário para a quest e ao clicar na alavanca,  verifique se ela mudou e me informe.

 

 

No caso o que tu queres é que os bichos permaneçam lá? 

Mas, e quando outro grupo vinher, não terá que ser sumonado outros bichos?

 

Não. Action não interfere diretamente com globalevents.

Ja testei iso, e mesmo com um time la dentro, outro consegue entrar :/...  outro time só pode entrar quando a contagem chegar no 0.. quando não tem mais bichos nem players la.

 

nessa script, quando os player saem da sala, a contagem para automaticamente... e os bichos continuam la quando para a contagem..  os bichos só somem quando o tempo chega no 0, mais para iso, a contagem tem que continuar mesmo se os players não tiverem mais la,  porque se parar a contagem eles não somem.. entendeu?...

dai quando outros players entrarem os antigos bichos estarão la e isso não pode acontecer entendeu?... 

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

  • 0
19 minutos atrás, Magraozinho disse:

Ja testei iso, e mesmo com um time la dentro, outro consegue entrar :/...  outro time só pode entrar quando a contagem chegar no 0.. quando não tem mais bichos nem players la.

 

nessa script, quando os player saem da sala, a contagem para automaticamente... e os bichos continuam la quando para a contagem..  os bichos só somem quando o tempo chega no 0, mais para iso, a contagem tem que continuar mesmo se os players não tiverem mais la,  porque se parar a contagem eles não somem.. entendeu?...

dai quando outros players entrarem os antigos bichos estarão la e isso não pode acontecer entendeu?... 

 

O que eu quero saber é que se um player que tem level menor do que o necessário para essa quest, ao clicar na alavanca ela muda de sentido e dá a msg a ele dizendo qie só plauers acima de level tal podem entrar. Isso que eu quero saber.

 

Fiz uma mudança no script, testa pra ver se é isso que tu queres:

Citar

--[[> Annihilator script by Marcryzius D'evil <]]-- 

local pos_demons,pos_players,tele_players,exit_players = { 

-- posições onde serão sumonados os monstros na annihilator 

   {x=1119, y=1241, z=11,stackpos=253}, 

   {x=1119, y=1242, z=11,stackpos=253}, 

   {x=1119, y=1243, z=11,stackpos=253}, 

   {x=1127, y=1241, z=11,stackpos=253}, 

   {x=1127, y=1242, z=11,stackpos=253}, 

   {x=1127, y=1243, z=11,stackpos=253} 

},{ 

   --posições onde estão os players antes de irem a sala da annihi 

   {x=1113,y=1242,z=11,stackpos=253}, 

   {x=1112,y=1242,z=11,stackpos=253}, 

   {x=1111,y=1242,z=11,stackpos=253}, 

   {x=1110,y=1242,z=11,stackpos=253}, 

   {x=1109,y=1242,z=11,stackpos=253}, 

},{ 

   --posições onde serão teleportados os players para a sala da annihi 

   {x=1125,y=1242,z=11,stackpos=253}, 

   {x=1124,y=1242,z=11,stackpos=253}, 

   {x=1123,y=1242,z=11,stackpos=253}, 

   {x=1122,y=1242,z=11,stackpos=253}, 

   {x=1121,y=1242,z=11,stackpos=253}, 

},{x=1072,y=1164,z=6} -- posição de saida

 

local level,time_annihi = 10,30 

QUANT = time_annihi -- não mecha 

RELOAD_ANNIHI = 0 -- não mecha 

 

--== FUNÇÕES NECESSARIAS ==-- 

 

local function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers) --Marcryzius 

    local creaturesList = {} 

    for x = -radiusx, radiusx do 

        for y = -radiusy, radiusy do 

        local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE}) 

            if (creature.type == 1 and showPlayers == true) or (creature.type == 2 and showMonsters == true) then 

                table.insert(creaturesList, creature.uid) 

            end 

        end 

    end 

    return creaturesList 

end 

 

local function repeatTxtInPos(alavanca_pos,cor) 

local pos = tele_players[3] 

   if(QUANT > 0)then 

      QUANT = QUANT-1 

      doSendAnimatedText(alavanca_pos,QUANT,cor) 

      doSendAnimatedText({x=pos.x-4,y=pos.y-3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x-4,y=pos.y+3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x+4,y=pos.y+3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x+4,y=pos.y-3,z=pos.z},QUANT,cor) 

      addEvent(repeatTxtInPos,1000,alavanca_pos,cor) 

   else 

      QUANT = time_annihi 

      stopEvent(RELOAD_ANNIHI) 

      RELOAD_ANNIHI = 0 

   end 

end 

 

local function reloadAnnihi() 

local players = getCreaturesInRange(tele_players[3], 6, 6, true, true) 

   for _,cid in pairs(players) do 

      if(isPlayer(cid) == true)then 

         doTeleportThing(cid,exit_players, false) 

         doPlayerSendCancel(cid,"Voce não conseguiu completar a annihi e por isso foi retirado dela... NOOB!") 

      elseif(isMonster(cid))then 

         doRemoveCreature(cid) 

      end 

   end 

end 

 

--== FUNÇÕES NECESSARIAS ==-- 

 

function onUse(cid, item, fPos, itemEx, toPosition) 

   if(item.itemid == 1946)then 

      for _,pos in pairs(pos_players) do 

         local player = getThingFromPos(pos) 

         if not(isPlayer(player.uid))then 

            return true,doPlayerSendCancel(cid,"voce precisa de "..#pos_players.." pessoas para poder entrar na sala.") 

         elseif(getPlayerLevel(player.uid) < level)then 

            return true,doPlayerSendCancel(cid,"Todos necessitam ter level "..level.." ou mais.") 

         end 

      end 

      local getMonsterInAnnihi = getCreaturesInRange(tele_players[3], 5, 5, true) 

      for k,pos  in pairs(pos_demons) do 

         if(k <= #pos_players)then 

         local player = getThingFromPos(pos_players[k]) 

            if(player.uid ~= nil)then 

               doTeleportThing(player.uid,tele_players[k], false) 

            end 

         end 

         if(#getMonsterInAnnihi > 0)then 

               reloadAnnihi()

         end

            doSummonCreature("Demon", pos) -- Nome do monstro 

      end 

      if(QUANT == time_annihi)then 

         repeatTxtInPos(fPos,time_annihi,0) 

         RELOAD_ANNIHI = addEvent(reloadAnnihi,time_annihi*1000) 

      end 

   elseif(item.itemid == 1945)then 

      if(#getCreaturesInRange(tele_players[3], 6, 6, false, true) > 0)then 

         return true,doPlayerSendCancel(cid,"Espere o time acabar de fazer a annihilator quest.") 

      end 

   end 

end 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
3 minutos atrás, Poccnn disse:

 

O que eu quero saber é que se um player que tem level menor do que o necessário para essa quest, ao clicar na alavanca ela muda de sentido e dá a msg a ele dizendo qie só plauers acima de level tal podem entrar. Isso que eu quero saber.

 

Fiz uma mudança no script, testa pra ver se é isso que tu queres:

 

ok, vou testar

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Poccnn disse:

--[[> Annihilator script by Marcryzius D'evil <]]-- 

local pos_demons,pos_players,tele_players,exit_players = { 

-- posições onde serão sumonados os monstros na annihilator 

   {x=1119, y=1241, z=11,stackpos=253}, 

   {x=1119, y=1242, z=11,stackpos=253}, 

   {x=1119, y=1243, z=11,stackpos=253}, 

   {x=1127, y=1241, z=11,stackpos=253}, 

   {x=1127, y=1242, z=11,stackpos=253}, 

   {x=1127, y=1243, z=11,stackpos=253} 

},{ 

   --posições onde estão os players antes de irem a sala da annihi 

   {x=1113,y=1242,z=11,stackpos=253}, 

   {x=1112,y=1242,z=11,stackpos=253}, 

   {x=1111,y=1242,z=11,stackpos=253}, 

   {x=1110,y=1242,z=11,stackpos=253}, 

   {x=1109,y=1242,z=11,stackpos=253}, 

},{ 

   --posições onde serão teleportados os players para a sala da annihi 

   {x=1125,y=1242,z=11,stackpos=253}, 

   {x=1124,y=1242,z=11,stackpos=253}, 

   {x=1123,y=1242,z=11,stackpos=253}, 

   {x=1122,y=1242,z=11,stackpos=253}, 

   {x=1121,y=1242,z=11,stackpos=253}, 

},{x=1072,y=1164,z=6} -- posição de saida

 

local level,time_annihi = 10,30 

QUANT = time_annihi -- não mecha 

RELOAD_ANNIHI = 0 -- não mecha 

 

--== FUNÇÕES NECESSARIAS ==-- 

 

local function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers) --Marcryzius 

    local creaturesList = {} 

    for x = -radiusx, radiusx do 

        for y = -radiusy, radiusy do 

        local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE}) 

            if (creature.type == 1 and showPlayers == true) or (creature.type == 2 and showMonsters == true) then 

                table.insert(creaturesList, creature.uid) 

            end 

        end 

    end 

    return creaturesList 

end 

 

local function repeatTxtInPos(alavanca_pos,cor) 

local pos = tele_players[3] 

   if(QUANT > 0)then 

      QUANT = QUANT-1 

      doSendAnimatedText(alavanca_pos,QUANT,cor) 

      doSendAnimatedText({x=pos.x-4,y=pos.y-3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x-4,y=pos.y+3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x+4,y=pos.y+3,z=pos.z},QUANT,cor) 

      doSendAnimatedText({x=pos.x+4,y=pos.y-3,z=pos.z},QUANT,cor) 

      addEvent(repeatTxtInPos,1000,alavanca_pos,cor) 

   else 

      QUANT = time_annihi 

      stopEvent(RELOAD_ANNIHI) 

      RELOAD_ANNIHI = 0 

   end 

end 

 

local function reloadAnnihi() 

local players = getCreaturesInRange(tele_players[3], 6, 6, true, true) 

   for _,cid in pairs(players) do 

      if(isPlayer(cid) == true)then 

         doTeleportThing(cid,exit_players, false) 

         doPlayerSendCancel(cid,"Voce não conseguiu completar a annihi e por isso foi retirado dela... NOOB!") 

      elseif(isMonster(cid))then 

         doRemoveCreature(cid) 

      end 

   end 

end 

 

--== FUNÇÕES NECESSARIAS ==-- 

 

function onUse(cid, item, fPos, itemEx, toPosition) 

   if(item.itemid == 1946)then 

      for _,pos in pairs(pos_players) do 

         local player = getThingFromPos(pos) 

         if not(isPlayer(player.uid))then 

            return true,doPlayerSendCancel(cid,"voce precisa de "..#pos_players.." pessoas para poder entrar na sala.") 

         elseif(getPlayerLevel(player.uid) < level)then 

            return true,doPlayerSendCancel(cid,"Todos necessitam ter level "..level.." ou mais.") 

         end 

      end 

      local getMonsterInAnnihi = getCreaturesInRange(tele_players[3], 5, 5, true) 

      for k,pos  in pairs(pos_demons) do 

         if(k <= #pos_players)then 

         local player = getThingFromPos(pos_players[k]) 

            if(player.uid ~= nil)then 

               doTeleportThing(player.uid,tele_players[k], false) 

            end 

         end 

         if(#getMonsterInAnnihi > 0)then 

               reloadAnnihi()

         end

            doSummonCreature("Demon", pos) -- Nome do monstro 

      end 

      if(QUANT == time_annihi)then 

         repeatTxtInPos(fPos,time_annihi,0) 

         RELOAD_ANNIHI = addEvent(reloadAnnihi,time_annihi*1000) 

      end 

   elseif(item.itemid == 1945)then 

      if(#getCreaturesInRange(tele_players[3], 6, 6, false, true) > 0)then 

         return true,doPlayerSendCancel(cid,"Espere o time acabar de fazer a annihilator quest.") 

      end 

   end 

end 

 

o script funcionou corretamente cara, porém só aconteceu um detalhe... quando um grupo(1) de players tenta entrar na quest com um grupo(2) ja la dentro; o grupo(1) que tentou entrar é teleportado para a posição de EXIT, e com esse EXIT o grupo(2) e os bichos que ja estavam la dentro tbm são teleportados, mesmo se o tempo não acabou, e não é pra acontecer isto..     

 

quando um grupo tenta entrar e o tempo esta rolando, independente se tem player la dentro ou não, é pra eles ficarem na posição que estão e aparecer a seguinte mensagem pro primeiro player que puxou a alvanca (espere o time acabar de fazer a quest para entrar), e não é de hipótese alguma para teleportar o grupo(2) ou os bichos que ja estao la dentro, após o grupo(1) usar a alavanca ... 

 

só ocorre o EXIT nos players e bichos que estao la dentro., e isso somente quando acaba o tempo..  não pode acontecer ao usar a alavanca..

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

×
×
  • Criar Novo...