• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Function] getPlayersInArea y kickFromArea(cid) (tfs 1.x)

    Compartir:

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

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuaris de tibiaface


    bueno aqui les dejo dos fuciones muy utiles para quest

    Código:

    local config = {
        maxPlayers = 3, -- máximo de players dentro del area
        room = {fromPos = Position(32312, 32507, 8), toPos = Position(32312, 32507, 8)}, -- posicion esquina superior izquierda y posicion esquina inferior derecha de room
        kickPos = Position(32331, 32526, 7), -- cuando es kickeado del room
    }



    function kickFromArea(cid)
        local player = Player(cid)
        if player and isInRange(player:getPosition(), config.room.fromPos, config.room.toPos)
            player:teleportTo(config.kickPos)
            player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
        end
    end


    function getPlayersInArea(fromPos, toPos)
        local players, playerss = {}, Game.getPlayers()
        for i = 1, #playerss do
            local player = playerss[i]
            if isInRange(player:getPosition(), fromPos, toPos) then
                table.insert(players, player)
            end
        end
        return players
    end


    como usar esto en un scripts

    agregamos a nuestro scripts de actions o moveEventst que quieren entrar a un area de boos, esta linea verifica la cantidad de player dentro

    Código:

    if #getPlayersInArea(config.room.fromPos, config.room.toPos) >= config.maxPlayers then
      .....
    .........
    .......
            return true
        end

    esto config.room.fromPos, config.room.toPos -----> posiciones en local config del room


    esta linea verifica si hay player dentro claro que ustedes puede agregarle donde los puntos un mensaje que no es posible o un efecto poff


    ahora vamos por la otra funcion kickFromArea lo coveniente es usar en un events


    Código:
    addEvent(kickFromArea, 1* 60 * 1000, player.uid)

    kickFromArea ---- es el llamado a la function kickFromArea(cid)

    1* 60 * 1000 ----> esto es 1 minuto

    ejemplo

    Código:

    1000 milliseconds = 1 second
    1000 * 60 = 60 seconds (1 minute)
    1000 * 60 * 60 = 60 minutes (1 hour)
    1000 * 60 * 60 * 24 = 24 hours (1 day)
    1000 * 60 * 60 * 24 * 7 = 7 days (1 week)




    [Function] getPlayersInArea y kickFromArea(cid) (tfs 1.x) YNU5B25
    http://www.tibiaface.com

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