[Movements] Tp com Limite de Players

Krono
Por Krono
em CreatureScripts e Movements

Krono

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 08/04/15Posts: 247

Tp com Limite de Players é um script que determina quantos players podem acessar cada area por vez. Com esse script dá para deixar as hunts mais distribuidas.

 

Veja como funciona com Imagen.

 

vMTREXX.gif

 

 

Instalando o script:

 

Em data/movements/scripts crie um arquivo com o nome Limitetp.lua e cole este script dentro:

     local c = {
        limit = 5, -- Limite de jogadores
        msgCancel = 'Tp bloqueado. Maximo de jogadores atingido', -- Mensagem quando o limite de jogadores estiver atingido

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada maxima superior esquerda
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada minima inferior direita
        },

        pos = {x = 1070, y = 1030, z = 7}, -- Coordenada onde será teletransportado
    local function getPlayersInArea(fromPos, toPos)
      local t = {}

        for _, cid in ipairs(getPlayersOnline()) do
            if isInRange(getThingPos(cid), fromPos, toPos) then
                table.insert(t, cid)
            end
        end

      return t
    end

    function onStepIn(cid, item, fromPos, toPos)
        if isPlayer(cid) then

            if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then
                doSendMagicEffect(fromPos, CONST_ME_TELEPORT)
                doTeleportThing(cid, c.pos)
                doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)

             else
               doPlayerSendCancel(cid, c.msgCancel)
               doTeleportThing(cid, toPos, false)
            end
        end

      return true
    end

Em movements.xml adicione a tag:

<movevent type="StepIn" uniqueid="9478" event="script" value="Limitetp.lua"/>

Veja a imagem da configuração:

O3gI4Nj.png

 

 

Espero que gostem e usem!!

 

Credito: Belerofonte

Danihcv

I'm Coordenador, Bitch!
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 08/04/15Posts: 926Gênero: Masculino

Muito bom! Realmente vai ajudar bastante quem quer fazer hunts mais elaboradas.

Te ajudei?? REP+ e ficamos quites... happyy.png

Atenciosamente,
                    Danihcv.
                           Abraços!

Elias Palermo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/05/15Posts: 98

Amigo, estou tendo este erro aqui.

post-382083-0-81539000-1431446670_thumb.png

RodriigoRobson

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 19/12/12Posts: 465

Da para fazer Team Balance (Evento ou Server de War) por Teleport , Gostei desse Script

29475_4.png

Furabio

Why be a king.. when you can be a god
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 08/04/15Posts: 962Gênero: Masculino

Amigo, estou tendo este erro aqui.

 

Tenta assim :

 local c = {
        limit = 5, -- Limite de jogadores
        msgCancel = 'Tp bloqueado. Maximo de jogadores atingido', -- Mensagem quando o limite de jogadores estiver atingido

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada maxima superior esquerda
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada minima inferior direita
        },

        pos = {x = 1070, y = 1030, z = 7}, -- Coordenada onde será teletransportado
    }

 local function getPlayersInArea(fromPos, toPos)
      local t = {}

        for _, cid in ipairs(getPlayersOnline()) do
            if isInRange(getThingPos(cid), fromPos, toPos) then
                table.insert(t, cid)
            end
        end

      return t
    end

    function onStepIn(cid, item, fromPos, toPos)
        if isPlayer(cid) then

            if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then
                doSendMagicEffect(fromPos, CONST_ME_TELEPORT)
                doTeleportThing(cid, c.pos)
                doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)

             else
               doPlayerSendCancel(cid, c.msgCancel)
               doTeleportThing(cid, toPos, false)
            end
        end

      return true
    end

faltava um "}" pra fechar a tabela.

EQD4Qy4.gif

 

Elias Palermo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/05/15Posts: 98

Aee funcionou, Rep+

Eu estava realmente precisando deste sistema para os meus ginásios !

Muito bom, parabéns !

willks123

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/07/07Posts: 31Gênero: Masculino

É possivel adicionar ao player assim que passa pelo teleporte um temporizador? Por exemplo: 

 

Ele passa no teleporte pra matar um BOSS. Ele tem 5 minutos pra conseguir, se ele nao matar em 5 minutos ele é teleportado pra fora, e so pode acessar o portal depois de 3 minutos.