;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Topo

OPINIÃO

"Free Fire": Ranking dos melhores fuzis de assalto

Reprodução
Imagem: Reprodução

Daniel Esdras

Do GameHall

15/01/2020 04h00

Existe um ditado popular que diz que não se pode ter tudo. Quando o assunto são armas em jogos competitivos, como o próprio "Free Fire", isso é uma verdade absoluta. Dano, precisão, cadência de tiro, número de balas: é impossível um arma que seja ótima em todos esses quesitos.

No entanto, existe uma categoria de armas equilibradas que são pelo menos boas em quase tudo: os rifles de assalto. Ao contrário dos snipers, eles não possuem um dano tão alto e um alcance tão grande, mas compensam com uma taxa de disparo muito maior e bem mais balas para gastar.

Aqui você vai encontrar um ranking com os melhores rifles de assalto do "Free Fire" para te ajudar a escolher o melhor equipamento para as suas quedas.

8 - AN94: Ame ou odeie

Free Fire AN94 - Reprodução - Reprodução
Imagem: Reprodução

Free Fire AN94 Anexos - Reprodução - Reprodução
Imagem: Reprodução

A AN94 é aquele típico caso de ame ou odeie. Ela tem bons atributos, muito parecidos com os da AK, com destaque para o alcance, mas conta com uma das piores taxas de disparo da categoria. Isso faz dela uma arma letal a médias e até longas distâncias, mas bem limitada de perto.

Em relação aos anexos, ela pelo menos possui uma boa quantidade deles, que podem melhorar bastante a arma no decorrer do jogo.

7 - M4A1: Boa para iniciantes

Free Fire M4A1 - Reprodução - Reprodução
Imagem: Reprodução

Free Fire M4A1 Anexos - Reprodução - Reprodução
Imagem: Reprodução

A M4A1 é uma velha conhecida dos jogadores de FPS e está em quase todos os shooters do mercado. Com um alcance soberbo para rifles de assalto, ela ainda equilibra todos os outros atributos para se tornar uma ótima opção para o seu início de jogo.

Como não vem com uma boa mira já acoplada e tem um recuo muito agressivo, acaba não figurando entre as melhores da categoria, mas é muito indicada para iniciantes, já que serve em diversos cenários e distâncias.

Seus anexos são diversos e deixam a arma ainda mais versátil, especialmente quando o recuo é reduzido.

6 - SCAR: Fácil de controlar, mas precisa de anexos

Free Fire SCAR - Reprodução - Reprodução
Imagem: Reprodução

Free Fire SCAR Anexos - Reprodução - Reprodução
Imagem: Reprodução

A SCAR pode se transformar em uma das melhores da lista com os anexos corretos, mas depende deles para realmente brilhar. Com pouca precisão e sem uma mira, ela acaba ficando bem fraca em relação às concorrentes em um primeiro momento.

Ainda assim, é uma arma bem popular por conta do fácil manejo, graças ao recuo tranquilo de controlar. Se você se garante no loot, é uma boa opção.

5 - AK: Segura o coice!

Free Fire AK - Reprodução - Reprodução
Imagem: Reprodução

Free Fire AK Anexos - Reprodução - Reprodução
Imagem: Reprodução

Se por um lado a AK perde em alcance para várias das rivais, por outro sobra em dano e taxa de disparo. Mas nem tudo são flores, já que ela possui um dos recuos mais agressivos do jogo e não é nem um pouco indicada para quem está começando.

Com algumas melhorias via anexos, ela pode ser a arma definitiva na mão de jogadores talentosos.

4 - M14: Um pequeno canhão

Free Fire M14 - Reprodução - Reprodução
Imagem: Reprodução

Free Fire M14 Anexos - Reprodução - Reprodução
Imagem: Reprodução

A M14 é um monstro em dano, o maior da sua categoria. Com alguns anexos, ela rivaliza até mesmo com snipers longas distâncias. Infelizmente, ela não vem com uma mira de fábrica e tem uma taxa de disparo bem abaixo da média, o que a tira das primeiras colocações. Outro problema é o recuo agressivo no modo automático e a baixa capacidade de munição.

A indicação é usar o modo de tiro único e apostar na mira para derrubar os inimigos sem dar tempo de reação.

3 - FAMAS: Spray sem medo

Free Fire FAMAS - Reprodução - Reprodução
Imagem: Reprodução

Free Fire FAMAS Anexos - Reprodução - Reprodução
Imagem: Reprodução

Chegamos no "top 3", com as armas mais utilizadas no competitivo e as mais poderosas dentro da categoria dos Rifles de Assalto. A FAMAS inaugura nosso pódio por conta da sua versatilidade, modo "burst fire" e recuo fácil de controlar.

O destaque fica para a sua ótima taxa de disparo que faz dela uma boa opção também para curtas distâncias e mortal em médias distâncias.

2 - XM8: Boa de perto, com alto dano

Free Fire XM8 - Reprodução - Reprodução
Imagem: Reprodução

Free Fire XM8 Anexos - Reprodução - Reprodução
Imagem: Reprodução

A XM8 tem um único defeito: como vem com uma mira 2x de fábrica e não permite mudanças, acaba sendo menos efetiva para combates a longas distâncias. No entanto, para médias e curtas distâncias, ela é um monstro de arma.

A mira X2 vai garantir um ótimo começo. Com dano maior que as concorrentes mais populares, M4A1 e SCAR, você leva uma vantagem significativa sobre os inimigos. Outro ponto positivo dessa arma é o fácil controle do recuo.

1 - Groza: Você pode ter (quase) tudo

Free Fire - Reprodução - Reprodução
Imagem: Reprodução

Free Fire Anexo - Reprodução - Reprodução
Imagem: Reprodução

Para finalizar a lista com chave de ouro, a nossa campeã, a Groza. Essa arma só pode ser encontrada em drops aéreos, então não espere vê-la jogada pelo chão por aí. Ela tem as qualidades de quase todas as outras da categoria juntas. Dano da AK, alcance das M4, boa taxa de disparo, munição na medida e só peca um pouquinho em precisão, mas ainda é melhor que boa parte das suas concorrentes.

Para completar o estrago, ela ainda é compatível com diversos anexos. Só faltou mesmo vir com uma mira de fábrica, mas nesse caso é pedir demais.

SIGA O START NAS REDES SOCIAIS

Twitter: https://twitter.com/start_uol
Instagram: https://www.instagram.com/start_uol/
Facebook: https://www.facebook.com/startuol/
TikTok: http://vm.tiktok.com/Rqwe2g/
Twitch: https://www.twitch.tv/start_uol

** Este texto não reflete, necessariamente, a opinião do UOL