Guia de Farming: Difference between revisions
Tag: Undo |
No edit summary |
||
| Line 752: | Line 752: | ||
</div> | </div> | ||
<!-- /CALCULATOR --> | <!-- /CALCULATOR --> | ||
<!-- ═══════════════════════════════════════════════════════════ | |||
CONSUMABLE LOADOUT BUILDER | |||
═══════════════════════════════════════════════════════════ --> | |||
<div id="loadout-section" style="background:#04060d;padding:52px 64px;border-bottom:1px solid rgba(255,255,255,0.05);"> | |||
<div style="max-width:860px;margin:0 auto;"> | |||
<div style="text-align:center;margin-bottom:32px;"> | |||
<div style="display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:999px;background:rgba(176,108,255,0.08);border:1px solid rgba(176,108,255,0.20);margin-bottom:12px;"> | |||
<span style="font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#b06cff;font-weight:700;">// Loadout Builder</span> | |||
</div> | |||
<h2 style="font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:#fff;margin:0 0 8px;border:none;">Monte seu loadout de farming</h2> | |||
<p style="color:rgba(122,144,176,0.70);font-size:0.92rem;margin:0;">Selecione os consumíveis que você usa por sessão e veja o custo total. Ajuda a calcular o lucro real.</p> | |||
</div> | |||
<div style="background:rgba(0,0,0,0.28);border:1px solid rgba(176,108,255,0.14);border-radius:22px;overflow:hidden;"> | |||
<!-- Consumable toggles --> | |||
<div style="padding:24px 24px 0;"> | |||
<div style="font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(176,108,255,0.55);font-weight:700;margin-bottom:14px;">🎒 Clique para adicionar ao loadout</div> | |||
<div id="loadout-items" style="display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;"> | |||
<!-- Loadout item template — cost in thousands of Zeny per session --> | |||
<div class="loadout-item" data-cost="15" data-name="HP Potion (Grande)" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | |||
<div style="flex:1;"> | |||
<div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">HP Potion (Grande)</div> | |||
<div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">15k z / sessão (estimado)</div> | |||
</div> | |||
</div> | |||
<div class="loadout-item" data-cost="10" data-name="SP Potion" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | |||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">SP Potion</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">10k z / sessão (estimado)</div></div> | |||
</div> | |||
<div class="loadout-item" data-cost="25" data-name="Boost de EXP/Drop" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | |||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Boost de EXP/Drop</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">25k z / sessão (estimado)</div></div> | |||
</div> | |||
<div class="loadout-item" data-cost="8" data-name="Buff de STR/AGI" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | |||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Buff de STR/AGI</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">8k z / sessão (estimado)</div></div> | |||
</div> | |||
<div class="loadout-item" data-cost="20" data-name="Consumível Raro" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | |||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Consumível Raro</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">20k z / sessão (estimado)</div></div> | |||
</div> | |||
<div class="loadout-item" data-cost="5" data-name="Arrow / Ammo" onclick="toggleLoadout(this)" style="display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;"> | |||
<div class="li-check" style="width:20px;height:20px;border-radius:6px;border:1px solid rgba(176,108,255,0.30);background:rgba(176,108,255,0.04);display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;"></div> | |||
<div style="flex:1;"><div style="font-size:0.84rem;font-weight:700;color:#e8eef8;">Arrow / Ammo</div><div style="font-size:0.68rem;color:rgba(122,144,176,0.55);">5k z / sessão (estimado)</div></div> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- Running total --> | |||
<div style="border-top:1px solid rgba(176,108,255,0.12);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(176,108,255,0.04);"> | |||
<div> | |||
<div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(176,108,255,0.60);font-weight:700;margin-bottom:4px;">Custo total por sessão</div> | |||
<div id="loadout-total" style="font-size:1.6rem;font-weight:900;color:#b06cff;letter-spacing:-0.02em;">0k z</div> | |||
</div> | |||
<div style="text-align:right;"> | |||
<div style="font-size:0.70rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(122,144,176,0.50);font-weight:700;margin-bottom:4px;">Itens selecionados</div> | |||
<div id="loadout-count" style="font-size:1.4rem;font-weight:900;color:#e8eef8;">0</div> | |||
</div> | |||
<button onclick="clearLoadout()" style="padding:9px 18px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);color:rgba(122,144,176,0.55);font-size:0.78rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:0.05em;">Limpar</button> | |||
</div> | |||
</div> | |||
<div style="margin-top:10px;font-size:0.74rem;color:rgba(122,144,176,0.40);text-align:center;">Substitua os custos em <code style="background:rgba(255,255,255,0.05);padding:1px 5px;border-radius:3px;color:rgba(176,108,255,0.65);">data-cost</code> com os preços reais do servidor (em milhares de Zeny).</div> | |||
</div> | |||
</div> | |||
<!-- /LOADOUT BUILDER --> | |||
Revision as of 15:45, 13 April 2026
// Métodos de Farming
Escolha sua abordagem
Cada estilo tem vantagens diferentes. Clique para explorar.
O método mais direto: você mata monstros, coleta os drops e vende no mercado. O lucro depende da eficiência de kills e do valor dos drops do mapa escolhido.
Substitua com as melhores rotas de grind ativo do servidor. Mencione quais classes têm vantagem, quais monstros dropar os itens mais valiosos e qual é o range ideal de nível.
- Lucro imediato em Zeny
- EXP simultânea
- Drops raros possíveis
- Requer atenção ativa
- Custo de consumíveis
- Variação no lucro
Zeny/hora (estimado) ???M–???M
Dificuldade Moderada
Consistência Alta
Iniciantes Classes DPS Lv. 40+
// Rotas de Farm
Melhores locais de farming
Clique em uma localização para ver a rota completa e estratégia.
// Ranking de Eficiência
Comparativo de métodos
Zeny por hora estimado em condições ideais. Valores variam conforme class e build.
// Calculadora
Calculadora de Lucro
Estime quanto Zeny você pode acumular com base na sua rotina de jogo.
// Loadout Builder
Monte seu loadout de farming
Selecione os consumíveis que você usa por sessão e veja o custo total. Ajuda a calcular o lucro real.
data-cost com os preços reais do servidor (em milhares de Zeny).
// Dicas Avançadas
Maximize cada hora de farm
Detalhes que a maioria dos jogadores ignora e fazem diferença real no lucro.
Guias relacionados
🌿BASEGuia de LevelingEvolua seu personagem enquanto faz Zeny no caminho.Ler →
💀AVANÇADOCaça a MVPsMVPs dropam os itens mais valiosos do servidor. Alta recompensa.Ler →
💹SISTEMAEconomia do ServidorEntenda o fluxo de Zeny, inflação e como o mercado funciona no macro.Ler →
💬 Discussão do Guia Discord TimeRO
<script>
/* ════════════════════════════════════════════════════════
FARMING GUIDE JAVASCRIPT All new functions — none shared with leveling/mvp guides.
════════════════════════════════════════════════════════ */
/* ── Method tab switcher ─────────────────────────── */ var activeMethod = 'grind'; var methodColors = {
grind: { bg: 'rgba(249,197,0,0.18)', color: '#f9c500' },
market: { bg: 'rgba(0,212,255,0.14)', color: '#00d4ff' },
passive: { bg: 'rgba(176,108,255,0.14)', color: '#b06cff' }
};
function switchMethod(m) {
activeMethod = m;
/* Hide all panels */
document.querySelectorAll('.method-panel').forEach(function(p) {
p.style.display = 'none';
});
/* Show selected panel */
var panel = document.getElementById('method-' + m);
if (panel) { panel.style.display = 'grid'; panel.style.animation = 'method-in 0.3s ease both'; }
/* Update tab buttons */
var tabs = { grind: 'grind', market: 'market', passive: 'passive' };
Object.keys(tabs).forEach(function(key) {
var btn = document.getElementById('mtab-' + key);
if (!btn) return;
if (key === m) {
var mc = methodColors[m];
btn.style.background = mc.bg;
btn.style.color = mc.color;
btn.style.fontWeight = '900';
} else {
btn.style.background = 'transparent';
btn.style.color = 'rgba(122,144,176,0.55)';
btn.style.fontWeight = '700';
}
});
}
/* ── Route pill viewer ───────────────────────────── */ var openRoute = null;
function expandRoute(id) {
var detail = document.getElementById(id); if (!detail) return;
if (openRoute === id) {
/* Toggle close */
detail.style.display = 'none';
openRoute = null;
var pill = document.getElementById('pill-' + id);
if (pill) { pill.style.transform = ; pill.style.fontWeight = '800'; }
return;
}
/* Close previously open */
if (openRoute) {
var prev = document.getElementById(openRoute);
if (prev) prev.style.display = 'none';
var prevPill = document.getElementById('pill-' + openRoute);
if (prevPill) { prevPill.style.transform = ; prevPill.style.fontWeight = '800'; }
}
detail.style.display = 'block'; openRoute = id;
/* Highlight active pill */
var pill = document.getElementById('pill-' + id);
if (pill) { pill.style.transform = 'scale(1.04)'; pill.style.fontWeight = '900'; }
/* Scroll to route */
setTimeout(function() { detail.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }, 80);
}
/* ── Profitability Calculator ────────────────────── */ var calcState = {
hours: 2, methodRate: 70, /* estimated M z per hour — change per method option */ booster: false
};
function adjustCalc(field, delta) {
if (field === 'hours') {
calcState.hours = Math.max(0.5, Math.min(12, calcState.hours + delta));
var el = document.getElementById('calc-hours');
if (el) el.textContent = calcState.hours;
}
updateCalc();
}
function setBooster(on) {
calcState.booster = on;
var yes = document.getElementById('boost-yes');
var no = document.getElementById('boost-no');
if (yes && no) {
if (on) {
yes.style.background = 'rgba(0,255,136,0.16)';
yes.style.borderColor = 'rgba(0,255,136,0.35)';
yes.style.color = '#00ff88';
no.style.background = 'rgba(255,255,255,0.04)';
no.style.borderColor = 'rgba(255,255,255,0.09)';
no.style.color = 'rgba(122,144,176,0.60)';
} else {
no.style.background = 'rgba(255,61,90,0.15)';
no.style.borderColor = 'rgba(255,61,90,0.30)';
no.style.color = '#ff3d5a';
yes.style.background = 'rgba(255,255,255,0.04)';
yes.style.borderColor = 'rgba(255,255,255,0.09)';
yes.style.color = 'rgba(122,144,176,0.60)';
}
}
updateCalc();
}
function updateCalc() {
var sel = document.getElementById('calc-method');
if (sel) calcState.methodRate = parseInt(sel.value) || 70;
var rate = calcState.methodRate * (calcState.booster ? 1.5 : 1.0); var session = rate * calcState.hours; var day = session; var week = day * 7;
/* Format: if >= 1000, show as B (billions), >= 1 show as M, else k */
function fmt(v) {
if (v >= 1000) return (v / 1000).toFixed(1) + 'B z';
if (v >= 1) return v.toFixed(0) + 'M z';
return (v * 1000).toFixed(0) + 'k z';
}
var el_s = document.getElementById('result-session');
var el_d = document.getElementById('result-day');
var el_w = document.getElementById('result-week');
var el_b = document.getElementById('result-bar');
var el_p = document.getElementById('result-pct');
if (el_s) el_s.textContent = fmt(session); if (el_d) el_d.textContent = fmt(day); if (el_w) el_w.textContent = fmt(week);
/* Bar: max = endgame method * 12h * 7d * 1.5x booster */ var max = 95 * 1.5 * 12 * 7; var pct = Math.min(100, Math.round((week / max) * 100)); if (el_b) el_b.style.width = pct + '%'; if (el_p) el_p.textContent = pct + '%';
}
/* ── Loadout Builder ─────────────────────────────── */ var loadoutTotal = 0; var loadoutCount = 0;
function toggleLoadout(el) {
var cost = parseInt(el.dataset.cost) || 0;
var box = el.querySelector('.li-check');
var on = el.dataset.selected === '1';
if (on) {
el.dataset.selected = '0';
loadoutTotal -= cost;
loadoutCount--;
if (box) { box.textContent = ; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; }
el.style.background = 'rgba(255,255,255,0.03)';
el.style.borderColor = 'rgba(255,255,255,0.07)';
} else {
el.dataset.selected = '1';
loadoutTotal += cost;
loadoutCount++;
if (box) { box.textContent = '✓'; box.style.background = 'rgba(176,108,255,0.20)'; box.style.borderColor = 'rgba(176,108,255,0.50)'; box.style.color = '#b06cff'; }
el.style.background = 'rgba(176,108,255,0.07)';
el.style.borderColor = 'rgba(176,108,255,0.22)';
}
var tot = document.getElementById('loadout-total');
var cnt = document.getElementById('loadout-count');
if (tot) tot.textContent = loadoutTotal >= 1000
? (loadoutTotal / 1000).toFixed(1) + 'M z'
: loadoutTotal + 'k z';
if (cnt) cnt.textContent = loadoutCount;
}
function clearLoadout() {
loadoutTotal = 0; loadoutCount = 0;
document.querySelectorAll('.loadout-item').forEach(function(el) {
el.dataset.selected = '0';
var box = el.querySelector('.li-check');
if (box) { box.textContent = ; box.style.background = 'rgba(176,108,255,0.04)'; box.style.borderColor = 'rgba(176,108,255,0.30)'; box.style.color = ; }
el.style.background = 'rgba(255,255,255,0.03)';
el.style.borderColor = 'rgba(255,255,255,0.07)';
});
var tot = document.getElementById('loadout-total'); if (tot) tot.textContent = '0k z';
var cnt = document.getElementById('loadout-count'); if (cnt) cnt.textContent = '0';
}
/* ── Efficiency bars animate on scroll ──────────── */ (function() {
var animated = false;
var observer = new IntersectionObserver(function(entries) {
entries.forEach(function(e) {
if (e.isIntersecting && !animated) {
animated = true;
document.querySelectorAll('.eff-bar').forEach(function(bar, i) {
var w = bar.style.width;
bar.style.width = '0';
bar.style.transition = 'width 0.8s ' + (i * 0.08) + 's cubic-bezier(0.22,1,0.36,1)';
setTimeout(function() { bar.style.width = w; }, 50);
});
}
});
}, { threshold: 0.2 });
var section = document.querySelector('.eff-bar');
if (section) observer.observe(section.closest('div') || section);
})();
/* ── Init ────────────────────────────────────────── */ document.addEventListener('DOMContentLoaded', function() {
var sb = document.getElementById('settingsButton'), sm = document.getElementById('settingsMenu');
if (sb && sm) sb.addEventListener('click', function() { sm.style.right = sm.style.right === '20px' ? '-300px' : '20px'; });
/* Init first method tab */
switchMethod('grind');
/* Init calculator */ updateCalc();
/* Smooth anchors */
document.querySelectorAll('a[href^="#"]').forEach(function(a) {
a.addEventListener('click', function(e) {
var id = this.getAttribute('href').slice(1), el = document.getElementById(id);
if (el) { e.preventDefault(); el.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
});
});
/* Mobile padding */
if (window.innerWidth < 900) {
document.querySelectorAll(
'[style*="padding:52px 64px"],[style*="padding:48px 64px"],[style*="padding:28px 64px"]'
).forEach(function(el) { el.style.paddingLeft = '18px'; el.style.paddingRight = '18px'; });
}
}); </script>