• 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.)

    1default [Moveevents] Tp con limite de players el Miér Mar 18, 2015 3: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
    https://www.tibiaface.com

    2default gracias por el script el Miér Mayo 20, 2020 8: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?

    3default Re: [Moveevents] Tp con limite de players el Dom Mayo 31, 2020 2:17 pm

    gzdiaz20

    gzdiaz20
    Miembro
    Miembro
    y para ponerle un limite de tiempo

    4default Re: [Moveevents] Tp con limite de players el Dom Mayo 31, 2020 5:50 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:y para ponerle un limite de tiempo

    no tiene tal cosa ese scripts



    [Moveevents] Tp con limite de players YNU5B25
    https://www.tibiaface.com

    5default Re: [Moveevents] Tp con limite de players el Dom Mayo 31, 2020 6:49 pm

    gzdiaz20

    gzdiaz20
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] 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

    6default Re: [Moveevents] Tp con limite de players el Dom Mayo 31, 2020 9:12 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] 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
    https://www.tibiaface.com

    7default Re: [Moveevents] Tp con limite de players el Lun Jun 01, 2020 10:20 am

    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?

    8default Re: [Moveevents] Tp con limite de players el Lun Jun 01, 2020 10:56 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] 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
    https://www.tibiaface.com

    9default Re: [Moveevents] Tp con limite de players el Lun Jun 01, 2020 12:22 pm

    Nemesis811

    Nemesis811
    Miembro
    Miembro
    probando



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

    10default Re: [Moveevents] Tp con limite de players el Lun Jun 01, 2020 4:13 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] 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
    https://www.tibiaface.com

    Contenido patrocinado


    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).