• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Moveevents] Tp con limite de players

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1[Moveevents] Tp con limite de players Empty [Moveevents] Tp con limite de players Miér Mar 18, 2015 6:33 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    hola usuarios de tibiaface

    bueno aqui les traigo un script muy util para cualquier evento se trata de un teleport que deja entrar a cierta cantidad de player


    /Data/Movements/Movements.xml






    <movevent type="StepIn" uniqueid="9478" event="script" value="limiTp.lua"/>
    Ahí pones el uniqueID que gustes(que no estés usando ya en otro script), el cual lo has de poner también en el Teleport con el RME.


    Servidor/Data/Movements/Scripts/limiTp.lua


    Código:
     local c = {
        limit = 5, -- Límite de jugadores que podrán entrar.
        msgCancel = 'No pueden entrar mas aventureros.', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área al que son teletransportados.
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área al que son teletransportados.
        },

        pos = {x = 1070, y = 1030, z = 7}, -- Coordenada del lugar donde será teletransportado el jugador (Dentro del área anterior)
      }

    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

    Zona (básica) a editar:
     local c = {
       limit = 5, -- Límite de jugadores que podrán entrar.
       msgCancel = 'No pueden entrar mas aventureros.', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

       area = {
         From = {x = 1069, y = 1027, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área al que son teletransportados.
         To = {x = 1071, y = 1030, z = 7}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área al que son teletransportados.
       },

       pos = {x = 1070, y = 1030, z = 7}, -- Coordenada del lugar donde será teletransportado el jugador (Dentro del área anterior)
     }

    Respecto a las variables que forman el área, es lo mismo que te expliqué en el otro script. Solo que, si a dicha área le vas a poner más de un piso, pues:
    - La coordenada que pongas en From ha de ser la de la ESQUINA SUPERIOR IZQUIERDA del PISO MÁS ALTO donde lo tengas puesto.
    - La coordenada que pongas en To ha de ser la de la ESQUINA INFERIOR DERECHA del PISO MÁS BAJO donde lo tengas puesto.

    Por ejemplo:
    [Moveevents] Tp con limite de players O3gI4Nj

    Previsualización:
    [Moveevents] Tp con limite de players VMTREXX
    (Ahí le puse como límite 2 jugadores para no tener que estar manejando a tantos xD)


    credito: Belerofonte




    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    2[Moveevents] Tp con limite de players Empty gracias por el script Miér Mayo 20, 2020 10:42 am

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    esta fino se ve bueno ese script pero el lugar donde pondre el bot es un lugar plano entonces tengo que quitar esas pociciones que vienen por defecto ? y donde pondria la posisicion donde va caer los player que entren y aparte de eso no se tiene que borrar algo o editar mas nada?

    4 participantes

    3[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Dom Mayo 31, 2020 4:17 pm

    gzdiaz20

    gzdiaz20
    Miembro
    Miembro
    y para ponerle un limite de tiempo

    4 participantes

    4[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Dom Mayo 31, 2020 7:50 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gzdiaz20 escribió:y para ponerle un limite de tiempo

    no tiene tal cosa ese scripts



    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    5[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Dom Mayo 31, 2020 8:49 pm

    gzdiaz20

    gzdiaz20
    Miembro
    Miembro
    [Admin] God Maya escribió:
    gzdiaz20 escribió:y para ponerle un limite de tiempo

    no tiene tal cosa ese scripts

    yo se que no lo tiene la pregunta es si se le puede poner un limite de tiempo

    4 participantes

    6[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Dom Mayo 31, 2020 11:12 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    gzdiaz20 escribió:
    [Admin] God Maya escribió:
    gzdiaz20 escribió:y para ponerle un limite de tiempo

    no tiene tal cosa ese scripts

    yo se que no lo tiene la pregunta es si se le puede poner un limite de tiempo


    puedes usar esta funcion y este evento

    Código:
    local coords = {
        [1] = 33560, -- upper left corner of room
        [2] = 33575, -- upper right corner "
        [3] = 32414, -- upper left corner "
        [4] = 32429, -- bottom left corner "
        [5] = 12    -- z position
    }
     addEvent(bossTimer, 60*1000, cid)

    function bossTimer(cid)
        for xPos = coords[1], coords[2] do
            for yPos = coords[3], coords[4] do
                pos = {x = xPos, y = yPos, z = coords[5]}
                local pid = getTopCreature(pos).uid
                if(isPlayer(pid)) then
                    if(cid == pid) then
                        doTeleport(pid, positions[1])
                    end
                end
            end
        end
    end



    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    7[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Lun Jun 01, 2020 12:20 pm

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    me funciona el script pero incorrectamente lo minimo son 5 player le pongo 1 el minimo y no puede pasar nadie jajajaja alguna solucion?

    4 participantes

    8[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Lun Jun 01, 2020 12:56 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Nemesis811 escribió:me funciona el script pero incorrectamente lo minimo son 5 player le pongo 1 el minimo y no puede pasar nadie jajajaja alguna solucion?

    aqui es el error

    Código:
     if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then

    modifica por esto

    Código:
     if table.getn(getPlayersInArea(c.area.From, c.area.To)) <= c.limit then



    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    probando



    aja lo cambie funciona pero cuando salgo despues el otro no puede entrar alguna solucion para eso?

    4 participantes

    10[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Lun Jun 01, 2020 6:13 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Nemesis811 escribió:probando



    aja lo cambie funciona pero cuando salgo despues el otro no puede entrar alguna solucion para eso?

    entonces cabia a esto
    Código:
     if table.getn(getPlayersInArea(c.area.From, c.area.To)) == c.limit then



    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    11[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Miér Ago 11, 2021 3:27 pm

    JeisonG-vnzla

    JeisonG-vnzla
    Miembro
    Miembro
    buenas tardes, disculpa por revivir el tema, Pero quisiera saber si existe alguna manera de qe antes de entrar al tlpor el pida 1 items para poder ingresar?

    4 participantes

    12[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Miér Ago 11, 2021 3:39 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    JeisonG-vnzla escribió:buenas tardes, disculpa por revivir el tema, Pero quisiera saber si existe alguna manera de qe antes de entrar al tlpor el pida 1 items para poder ingresar?

    aqui tienes

    Código:

     local c = {
        limit = 5, -- Límite de jugadores que podrán entrar.
        msgCancel = 'No pueden entrar mas aventureros.', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área al que son teletransportados.
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área al que son teletransportados.
        },

        pos = {x = 1070, y = 1030, z = 7}, -- Coordenada del lugar donde será teletransportado el jugador (Dentro del área anterior)
      }

    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


    local count = 100

    local itemx= 2160

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

    if getPlayerItemCount(cid, itemx) >= count 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

    else
    doPlayerSendCancel(cid, "You dont have 100 crystal coins!")
    end

        end

      return true
    end



    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    13[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Miér Ago 11, 2021 4:08 pm

    JeisonG-vnzla

    JeisonG-vnzla
    Miembro
    Miembro
    Muy buena maya, solo me faltaria que le qite tal item cuando pase el tlpor, solo si pasa el tlpor le qite el items pedido por el event.

    4 participantes

    14[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Miér Ago 11, 2021 4:19 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    JeisonG-vnzla escribió:Muy buena maya, solo me faltaria que le qite tal item cuando pase el tlpor, solo si pasa el tlpor le qite el items pedido por el event.

    Código:



     local c = {
        limit = 5, -- Límite de jugadores que podrán entrar.
        msgCancel = 'No pueden entrar mas aventureros.', -- 'Mensaje' cuando ya se haya llenado el límite de jugadores anterior.

        area = {
          From = {x = 1069, y = 1027, z = 6}, -- Coordenada de la ESQUINA SUPERIOR IZQUIERDA del área al que son teletransportados.
          To = {x = 1071, y = 1030, z = 7}, -- Coordenada de la ESQUINA INFERIOR DERECHA del área al que son teletransportados.
        },

        pos = {x = 1070, y = 1030, z = 7}, -- Coordenada del lugar donde será teletransportado el jugador (Dentro del área anterior)
      }

    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


    local count = 100

    local itemx= 2160

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



            if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then

    if getPlayerItemCount(cid, itemx) >= count then
                doSendMagicEffect(fromPos, CONST_ME_TELEPORT)
                doTeleportThing(cid, c.pos)
                doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)

    else
    doPlayerSendCancel(cid, "You dont have 100 crystal coins!")
    doTeleportThing(cid, toPos, false)
    end


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


        end

      return true
    end



    [Moveevents] Tp con limite de players YNU5B25
    4 participantes
    http://www.tibiaface.com

    15[Moveevents] Tp con limite de players Empty Re: [Moveevents] Tp con limite de players Miér Ago 11, 2021 4:28 pm

    JeisonG-vnzla

    JeisonG-vnzla
    Miembro
    Miembro
    Gracias maya [Moveevents] Tp con limite de players 1f60a

    4 participantes

    Contenido patrocinado


    4 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).