Top.Mail.Ru
World of Outlaws: Dirt Racing Game - описание игры, системные требования, оценки игроков, дата выхода

World of Outlaws: Dirt Racing — это гоночный симулятор, созданный для фанатов грунтовых гонок. Игра позволяет погрузиться в атмосферу профессиональных соревнований на грунтовых трассах, включая культовые серии World of Outlaws. Основное внимание уделено реализму, так что игроки смогут почувствовать … Подробнее

Где купить World of Outlaws: Dirt Racing 24

На этой странице собраны предложения по покупке World of Outlaws: Dirt Racing 24 для . Вы можете сравнить цены, выбрать платформу и найти лучший вариант.

Валюта
Платформы
Магазины

Где купить World of Outlaws: Dirt Racing 24 выгоднее

Цена на World of Outlaws: Dirt Racing 24 может отличаться в зависимости от платформы, региона и типа издания. В одних магазинах дешевле доступны ключи или аккаунты, в других — официальные версии без ограничений. Поэтому лучший вариант — сравнить все предложения и выбрать подходящий по цене и условиям.

Все предложения игры World of Outlaws: Dirt Racing 24 — (показано 0 из 0)

Нет активных предложений для этой игры.

Загрузка данных...
`; document.body.appendChild(modal); setTimeout(() => modal.classList.add('active'), 10); const closeModal = () => { modal.classList.remove('active'); setTimeout(() => modal.remove(), 300); }; modal.querySelector('.price-history-modal-close').onclick = closeModal; modal.onclick = (e) => { if (e.target === modal) closeModal(); }; fetch(window.location.pathname, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: 'action=get_price_history&offer_id=' + offerId }) .then(response => response.json()) .then(data => { let body = modal.querySelector('.price-history-modal-body'); if (data.error) { body.innerHTML = `
${data.error}
`; return; } if (!data.labels || data.labels.length === 0) { body.innerHTML = `
Нет данных об изменении цены
`; return; } let html = ''; let prev = null; for (let i = 0; i 0) { change = '+' + diff.toFixed(0); changeClass = 'price-up'; } else { change = '0'; changeClass = 'price-neutral'; } } else { change = '—'; changeClass = 'price-neutral'; } let isCurrent = (i === data.labels.length - 1); let priceHtml = isCurrent ? `${price.toFixed(0)}` : `${price.toFixed(0)}`; html += ``; prev = price; } html += '
ДатаЦенаИзменение
${data.labels[i]} ${priceHtml} ${change}
'; let min = Math.min(...data.series); let max = Math.max(...data.series); let avg = Math.round(data.series.reduce((a,b) => a+b, 0) / data.series.length); let first = data.series[0]; let last = data.series[data.series.length-1]; let total = last - first; let totalHtml = total −${Math.abs(total).toFixed(0)}` : (total > 0 ? `+${total.toFixed(0)}` : '0'); html += `
Минимум ${min.toFixed(0)}
Максимум ${max.toFixed(0)}
Средняя ${avg.toFixed(0)}
Изменение ${totalHtml}
Записей ${data.labels.length}
`; body.innerHTML = html; }) .catch(() => { modal.querySelector('.price-history-modal-body').innerHTML = '
Ошибка загрузки данных
'; }); }; })();
Загрузка данных...
`; document.body.appendChild(modal); // Открываем setTimeout(() => modal.classList.add('active'), 10); // Закрытие по крестику modal.querySelector('.price-history-modal-close').addEventListener('click', () => { modal.classList.remove('active'); setTimeout(() => modal.remove(), 300); }); // Закрытие по клику на фон modal.addEventListener('click', (e) => { if (e.target === modal) { modal.classList.remove('active'); setTimeout(() => modal.remove(), 300); } }); // Загружаем данные fetch(window.location.pathname, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: 'action=get_price_history&offer_id=' + offerId }) .then(response => response.json()) .then(data => { const body = modal.querySelector('.price-history-modal-body'); if (data.error) { body.innerHTML = `
${data.error}
`; return; } if (!data.labels || data.labels.length === 0) { body.innerHTML = `
Нет данных об изменении цены для этого предложения
`; return; } let html = ''; html += ''; html += ''; html += ''; html += ''; html += ''; let prevPrice = null; for (let i = 0; i 0) { change = '+' + diff.toFixed(0); changeClass = 'price-up'; priceClass = 'price-up'; } else { change = '0'; changeClass = 'price-neutral'; } } else { change = '—'; changeClass = 'price-neutral'; } const isCurrent = (i === data.labels.length - 1); priceHtml = isCurrent ? `${price.toFixed(0)}` : `${price.toFixed(0)}`; html += ''; html += ``; html += ``; html += ``; html += ''; prevPrice = price; } html += '
ДатаЦенаИзменение
${data.labels[i]}${priceHtml}${change}
'; // Статистика const minPrice = Math.min(...data.series); const maxPrice = Math.max(...data.series); const avgPrice = Math.round(data.series.reduce((a, b) => a + b, 0) / data.series.length); const firstPrice = data.series[0]; const lastPrice = data.series[data.series.length - 1]; const totalChange = lastPrice - firstPrice; let totalChangeHtml = ''; if (totalChange −${Math.abs(totalChange).toFixed(0)}`; } else if (totalChange > 0) { totalChangeHtml = `+${totalChange.toFixed(0)}`; } else { totalChangeHtml = `0`; } html += `
Минимум ${minPrice.toFixed(0)}
Максимум ${maxPrice.toFixed(0)}
Средняя ${avgPrice.toFixed(0)}
Изменение ${totalChangeHtml}
Записей ${data.labels.length}
`; body.innerHTML = html; }) .catch(error => { const body = modal.querySelector('.price-history-modal-body'); body.innerHTML = `
Ошибка загрузки данных
`; console.error('Price history error:', error); }); } });
{slinks}
Back to top button
Подписаться

Подпишитесь на нашу
группу ВКонтакте и не пропустите ничего важного!