Ir para conteúdo

[Pedido - Script] TFS 1.x Movements checar quantos PLAYERS há em uma determinada área

Featured Replies

Postado
Em 02/01/2023 em 23:48, DiigooMix disse:

 

Eu tentei isso e não consegui kk essa função está me bugando a cabeça, quando acho que está certo não funciona


Use o script base do @Anderson Sacani que você conseguirá fazer oque deseja, porque cada vez q passa o “isInRange” vai checar os players na área e irá printar no console. Basta fazer os checks (ifs) para oque você deseja.

 

O Game.getSpectators é uma função muito mal otimizada e ruim de delimitar a área, eu não aconselho usar ela em 1.X+, já que a outra faz tudo de forma melhor.

  • Respostas 8
  • Visualizações 671
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Anderson Sacani
    Anderson Sacani

    local config = { fromPosition = { x = 100, y = 100, z = 6 }, toPosition = { x = 1000, y = 1000, z = 8 }, } local players = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getT

Postado
  • Autor
Em 04/01/2023 em 12:21, Toruk disse:


Use o script base do @Anderson Sacani que você conseguirá fazer oque deseja, porque cada vez q passa o “isInRange” vai checar os players na área e irá printar no console. Basta fazer os checks (ifs) para oque você deseja.

 

O Game.getSpectators é uma função muito mal otimizada e ruim de delimitar a área, eu não aconselho usar ela em 1.X+, já que a outra faz tudo de forma melhor.

mas como seria esse if? a função isInRange trás nomes dos players, não números x.x

Postado
Em 05/01/2023 em 18:36, DiigooMix disse:

mas como seria esse if? a função isInRange trás nomes dos players, não números x.x

    local RoomPosition = {x = 250, y = 114, z = 7} -- pos (centro)
    local rangex, rangey = 20, 10 -- quantos sqms x e y
    local specter = getSpectators(RoomPosition, rangex, rangey, false)

    for count, spec in pairs(specter) do
        if isPlayer(spec) then
            print(count) -- quantidade de jogadores na area
        end
    end

Eu não conheço as funções da tfs 1.+ mas acredito que você so precisará modificar o getSpectators para game.getSpectators, acredito que seja isso que você deseja

Postado
  • Autor
10 horas atrás, hiquezerah disse:

    local RoomPosition = {x = 250, y = 114, z = 7} -- pos (centro)
    local rangex, rangey = 20, 10 -- quantos sqms x e y
    local specter = getSpectators(RoomPosition, rangex, rangey, false)

    for count, spec in pairs(specter) do
        if isPlayer(spec) then
            print(count) -- quantidade de jogadores na area
        end
    end

Eu não conheço as funções da tfs 1.+ mas acredito que você so precisará modificar o getSpectators para game.getSpectators, acredito que seja isso que você deseja

 

Então o que eu estou tentando fazer é o seguinte:

É tipo um evento porém funcionando 24h, sem parar. Fiz 2 mapas pvp pequenos, e 2 salas de espera. Cada mapa, e cada sala de espera poderá ter no máximo 20 players.

 

 

1. Teleport principal no templo.

- Este TP ficará sempre aberto

- Este tp fará a contagem de players na sala de espera 1 e 2. Caso tenha menos de 20 players na sala de espera 1, o player será teleportado para dentro desta, caso ela estiver cheia (com 20 players), ele fará a contagem na segunda sala de espera. Caso tenha vaga na segunda sala, o player será teleportado para ela. E se caso não houver vaga em nenhuma sala de espera, não será teleportado.

 

2. Sala de espera.

- Como disse acima, cada uma destas salas terá apenas 20 vagas.

- O player que estiver dentro dela poderá sair a hora que quiser, e quando o player sair, a contagem de vagas vai atualizar +1 vaga.

- Enquanto houver players na área pvp, quem estiver na sala de espera não poderá entrar.

 

3. Área pvp.

- Quando esta área estiver vazia, ou seja, a contagem de player nesta área for 0, só será teleportado para esta área quando houver os 20 players na sala de espera.

- Quando um player morrer na área pvp, vai atualizar a contagem de players na área.

- Quando houver o último sobrevivente, ele será teleportado para o templo e ganhará uma recompensa. E então, liberará a área pvp para quem espera poder entrar e recomeçar o ciclo.

 

 

Não sei se vou precisar criar algo em creaturescripts, globalevents e tals. Seja como for, preciso fazer isso funcionar ;s

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo