Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

58 минут назад, Freeman665 сказал:

@Alex Po Quest ясно. Т.е. можно и 500 языков заявить, ничего не поменяло бы, зато показало ИХ борьбу. Это так по-украински)

Ну, да. Видел игры, где, точно, заявлено 130 языков, интерфейс, субтитры и даже озвучение. Но в самой игре, даже, текста нет.

Изменено пользователем Alex Po Quest
  • Хаха (+1) 1

Поделиться сообщением


Ссылка на сообщение
7 часов назад, lordik555 сказал:

Купленных и ни разу не устанавливавшихся? 

И этих то-же,ноя про те что продаются в РФ:D

Поделиться сообщением


Ссылка на сообщение
10 часов назад, Сильвер_79 сказал:

Последние пару лет Стим не так жестко падает. Иливентили нарастили мощности, или игроки постыли к большим распродажам, или и то и то одновременно.

Просто распродажи стали делать “на отвали”. Интерактив пропал совсем. Даже для рисования артов распродажи и то привлекают каких-то самых дешёвых художников. А скидки на разные игры и без того случаются периодически, главное в желаемое добавить. Соответственно и интерес упал.

7 часов назад, lordik555 сказал:

Тут статистику недавно выкатывали на эту тему. Если коротко, то портал анализировал 10% открытых профилей Steam и пришёл к выводу, что у этих 10% есть игр ни разу не запускавшихся на сумму в 1.9 миллиарда долларов. Затем они просто умножили это число на 10.

Там вычисления очень сказочные. А по уму надо было делать так:

  1. Скачиваем информацию по достижениям всех игр и узнаём, какой процент выполнения у самого популярного (из него вычисляем, сколько людей не получило даже самое элементарное достижение, т.е. скорее всего не запустило игру)
  2. Берём данные по имеющимся копиям всех игр у Галёнкина.
  3. Затем берём обзоры и узнаем примерное процентное распределение по регионам.
  4. САМОЕ ГЛАВНОЕ — в соответствии с распределением по регионам получаем среднюю цену с учётом распродаж в этих регионах.

То есть надо считать по стоимости во всех регионах. Ибо в половине регионов цена может может быть в 2 и 3 раза ниже.
Ну и главный нюанс — многие закупают игры, когда те имеют 50%+ скидку.

В данном же же случае "баснословные цифры" получены за счёт умножения на оригинальную цены, кек.

А что до того, какое бабло делает Valve, с этим можно заглянуть на торговую площадку.
В 2016-м году я проанализировал только 1 предмет:

Скрытый текст

Скин с торговой площадки steam: "Штык-нож M9 | Волны".

За период с 9 января 2015 по 30 августа 2016 (год и семь месяцев) было продано 20702 штуки.

Люди потратили на один скин в общей сложности 451 535 647 рублей. На один миллион больше годового бюджета на строительство и ремонт дорог в Пскове.

Более того, около 4660 людей в данный момент желают его купить по минимальной цене в 12561 рубль, что выльется в траты 58 534 819 рублей. Это равняется сумме, перечисленной Амурским филиалом Всемирного фонда дикой природы на сохранение природы в Приморье.

Steam забирает 13% с каждой сделки. Год и семь месяцев продаж одного лишь скина (Из тысяч) принесли сервису 58 699 634 рублей.

oC3NOr8.png

А теперь можете представить, какие цифры выйдут, если собрать информацию со всей торговой площадки.

Поделиться сообщением


Ссылка на сообщение
В 25.06.2024 в 22:06, DeeMan сказал:

Хорошие цены, мб кому то будет интересно.

https://gamesforfarm.com/goods/info/2424560-bravery-and-greed

Написал скрипт для этого сайта под Tamper Monkey.

Скрытый текст

// ==UserScript==
// @name         GamesForFarm - Парсер
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Получает все игры в GamesForFarm и ищет имеющиеся и желаемые
// @author       0wn3df1x
// @match        https://gamesforfarm.com*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Добавляем стили
    const style = document.createElement('style');
    style.textContent = `
        .load-button {
            background-color: #171a21;
            color: #acb2b8;
            border: 1px solid #171a21;
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
            transition: background-color 0.3s, color 0.3s;
            margin-left: 10px;
            margin-top: 10px;
        }
        .load-button:hover {
            background-color: #66c0f4;
            color: #171a21;
        }
        .json-input {
            background-color: #171a21;
            color: #acb2b8;
            border: 1px solid #171a21;
            padding: 10px;
            font-size: 14px;
            width: 300px;
            height: 100px;
            margin-left: 10px;
            margin-top: 10px;
            resize: none;
        }
        .data-link {
            margin-left: 10px;
            margin-top: 10px;
            color: #66c0f4;
            text-decoration: none;
        }
        .data-link:hover {
            text-decoration: underline;
        }
    `;
    document.head.appendChild(style);

    // Добавляем кнопку "Загрузить таблицу" и текстовое поле под <div class="main__title">Каталог</div>
    const mainTitle = document.querySelector('.main__title');
    if (mainTitle) {
        const loadButton = document.createElement('button');
        loadButton.textContent = 'Загрузить таблицу';
        loadButton.className = 'load-button';

        const jsonInput = document.createElement('textarea');
        jsonInput.className = 'json-input';
        jsonInput.placeholder = 'Вставьте JSON сюда';

        const dataLink = document.createElement('a');
        dataLink.href = 'https://store.steampowered.com/dynamicstore/userdata/';
        dataLink.target = '_blank'; // Открывает ссылку в новой вкладке
        dataLink.textContent = 'Получить данные своей UserData в Steam';
        dataLink.className = 'data-link';

        mainTitle.parentNode.insertBefore(loadButton, mainTitle.nextSibling);
        mainTitle.parentNode.insertBefore(jsonInput, loadButton.nextSibling);
        mainTitle.parentNode.insertBefore(dataLink, jsonInput.nextSibling);

        // Обработчик нажатия на кнопку "Загрузить таблицу"
        loadButton.addEventListener('click', function() {
            let jsonData = {};
            try {
                if (jsonInput.value.trim() !== '') {
                    jsonData = JSON.parse(jsonInput.value);
                }
            } catch (e) {
                alert('Неверный формат JSON');
                return;
            }

            const rgWishlist = new Set(jsonData.rgWishlist || []);
            const rgOwnedApps = new Set(jsonData.rgOwnedApps || []);

            // Находим кнопку и нажимаем на неё
            const button = document.querySelector('.btn-reset.product__more-button.fn_product_more.ddd3');
            if (button) {
                button.click();
            }

            // Ждём 5 секунд (увеличим время ожидания)
            setTimeout(() => {
                // Создаем массив для хранения данных всех игр
                const gamesData = [];

                // Находим все элементы с классом product__item внутри элемента с id gamesCatalog
                const productItems = document.querySelectorAll('#gamesCatalog .product__item');

                productItems.forEach(item => {
                    // Извлекаем Steam ID
                    const steamLink = item.querySelector('a[href*="store.steampowered.com/app/"]');
                    let steamId = '-';
                    if (steamLink) {
                        const href = steamLink.getAttribute('href');
                        const match = href.match(/\/app\/(\d+)\//);
                        if (match && match[1]) {
                            steamId = match[1];
                        }
                    }

                    // Пропускаем элемент, если нет Steam ID
                    if (steamId === '-') {
                        return;
                    }

                    // Извлекаем цену
                    const priceElement = item.querySelector('.product__box-price');
                    let price = '-';
                    if (priceElement) {
                        price = priceElement.textContent.trim();
                        price = formatPrice(price);
                    }

                    // Извлекаем адрес картинки
                    const imageElement = item.querySelector('.product__box-image img');
                    let imageUrl = '-';
                    if (imageElement) {
                        imageUrl = imageElement.getAttribute('data-src');
                    }

                    // Извлекаем название игры
                    const titleElement = item.querySelector('.product__box-title a');
                    let gameTitle = '-';
                    if (titleElement) {
                        gameTitle = titleElement.textContent.trim();
                    }

                    // Извлекаем размер скидки
                    const discountElement = item.querySelector('.product__box-prop.prop—discount');
                    let discount = '-';
                    if (discountElement) {
                        discount = discountElement.textContent.trim();
                    }

                    // Проверяем наличие Steam ID в списках
                    const inWishlist = rgWishlist.has(parseInt(steamId)) ? '[VVV]' : '';
                    const inOwnedApps = rgOwnedApps.has(parseInt(steamId)) ? '[VVV]' : '';

                    // Добавляем данные в массив
                    gamesData.push({
                        steamId,
                        price,
                        imageUrl,
                        gameTitle,
                        discount,
                        inWishlist,
                        inOwnedApps
                    });
                });

                // Сортируем массив сначала по наличию в rgWishlist, затем по цене
                gamesData.sort((a, b) => {
                    if (a.inWishlist && !b.inWishlist) return -1;
                    if (!a.inWishlist && b.inWishlist) return 1;
                    return parseFloat(b.price.replace(',', '.')) - parseFloat(a.price.replace(',', '.'));
                });

                // Создаем новое окно для вывода результатов
                const newWindow = window.open("", "_blank", "width=600,height=400");
                newWindow.document.write('<html><head><title>Результаты</title></head><body><table border="1" id="gamesTable"><tr><th>Steam ID</th><th>Название игры</th><th>Цена</th><th>Размер скидки</th>' + (jsonData.rgWishlist ? '<th>rgWishlist</th>' : '') + (jsonData.rgOwnedApps ? '<th>rgOwnedApps</th>' : '') + '<th>Адрес картинки</th></tr>');

                gamesData.forEach(game => {
                    newWindow.document.write(`<tr><td>${game.steamId}</td><td>${game.gameTitle}</td><td>${game.price}</td><td>${game.discount}</td>${jsonData.rgWishlist ? `<td>${game.inWishlist}</td>` : ''}${jsonData.rgOwnedApps ? `<td>${game.inOwnedApps}</td>` : ''}<td>${game.imageUrl}</td></tr>`);
                });

                newWindow.document.write('</table></body></html>');
                newWindow.document.close();

                // Добавляем функциональность сортировки таблицы по клику на заголовки
                const table = newWindow.document.getElementById('gamesTable');
                if (table) {
                    const headers = table.getElementsByTagName('th');
                    for (let i = 0; i < headers.length; i++) {
                        headers[i].addEventListener('click', () => {
                            sortTable(table, i);
                        });
                    }
                }
            }, 5000); // Ожидание 5 секунд
        });
    }

    // Функция для форматирования цены
    function formatPrice(price) {
        return price.replace('.', ',').replace('₽', '').trim();
    }

    // Функция для сортировки таблицы
    function sortTable(table, columnIndex) {
        const rows = Array.from(table.rows).slice(1);
        const isNumeric = columnIndex === 0 || columnIndex === 2; // Steam ID и Цена

        rows.sort((a, b) => {
            const aValue = a.cells[columnIndex].textContent;
            const bValue = b.cells[columnIndex].textContent;

            if (isNumeric) {
                return parseFloat(aValue.replace(',', '.')) - parseFloat(bValue.replace(',', '.'));
            } else {
                return aValue.localeCompare(bValue);
            }
        });

        // Определяем направление сортировки
        const header = table.rows[0].cells[columnIndex];
        const sortDirection = header.getAttribute('data-sort') || 'asc';
        if (sortDirection === 'asc') {
            rows.reverse();
            header.setAttribute('data-sort', 'desc');
        } else {
            header.setAttribute('data-sort', 'asc');
        }

        // Очищаем таблицу и добавляем отсортированные строки
        while (table.rows.length > 1) {
            table.deleteRow(1);
        }

        rows.forEach(row => table.appendChild(row));
    }
})();

 

  1. Если вы хотите узнать, какие игры, продающиеся на сайте, есть у вас в списке желаемого и на аккаунте, то читайте пункты 0-4, если вы хотите просто получить таблицу имеющихся на сайте игры, то можете перейти к пункту 5.
    Итак. Что касается списка имеющихся игр и списка желаемого — они содержатся в юзердате. Если вы не пользуетесь Steam в браузере и не вошли в аккаунт со своего браузера — надо войти, т.к. Userdata пользователя доступна только ему самому. После установки скрипта вы увидите на странице магазина три новых элемента:
    sS8iaNW.png
  2. Щёлкнув по первому элементу — вы окажетесь на странице со своей Userdata
    Там хранится информация о вашем списке желаемого, имеющихся играх и тех играх, которые вы решили скрыть в магазине. Также там есть информация о рекомендуемых жанрах и кураторах. Но ничего конфиденциального — если есть желание, можете проверить.
    wP5cmnD.png
  3. Нужно скопировать данные своей Userdata и вставить в текстовое окно.
    fuv8fee.png
  4. После чего щёлкнуть “Загрузить таблицу”. Через 5 секунд откроется новое окно, в котором вы увидите:
    50NfDjF.png
    В самом верху списка идут игры, которые есть у вас в списке желаемого. Упорядочены по убыванию цены. Затем идут все остальные игры аналогично по убыванию цены. Можно щёлкать по заголовкам, чтобы сортировать данные.
  5. Вы можете скопировать данные и вставить их на Google-таблицу. После чего можете использовать формулу Image, чтобы отобразить картинки, будет выглядеть так:GNJ4KRK.png
  6. Если вы не вставите Json и просто нажмёте кнопку “Загрузить таблицу”, то таблица всё равно откроется в новом окне, просто в ней не будет информации об играх, которые есть у вас на аккаунте и в списке желаемого. Таблицу также можно будет упорядочить, щёлкая по заголовкам и аналогично можно будет скопировать в Google-таблицы для дальнейшей работы.
Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение
8 минут назад, Сильвер_79 сказал:

Смута вышла в Стим.:wink:

О, да, РЕАЛЬНО … :dash3:

Поделиться сообщением


Ссылка на сообщение
19 часов назад, Freeman665 сказал:

@Alex Po Quest ясно. Т.е. можно и 500 языков заявить, ничего не поменяло бы, зато показало ИХ борьбу. Это так по-украински)

там даже в обсуждениях кто-то уже пытался разжечь “огонь” по этому поводу)

но мне пофиг, игры вне политики я считаю.

  • +1 1
  • -1 1

Поделиться сообщением


Ссылка на сообщение
4 часа назад, lordik555 сказал:

игры вне политики я считаю.

нет, и уже давно.

Поделиться сообщением


Ссылка на сообщение
4 часа назад, lordik555 сказал:

игры вне политики я считаю.

Стоят рядом вместе с Олимпийскими((

Поделиться сообщением


Ссылка на сообщение

Написал скрипт под Tamper Monkey для страницы со списком наборов на SteamDB (валюту можно изменить):
https://steamdb.info/bundles/?cc=ru 

Основная проблема этого списка наборов в том, что в нём, несмотря на наличие ряда полезных фильтров, отсутствуют самые базовые и необходимые фильтры, а именно по цене, количеству игр, скидкам и рейтингу.

Скрытый текст

vPLTYuj.png


Мой скрипт это исправляет.

Скрытый текст

0qLfH83.png

К самому скрипту. Для того, чтобы он заработал, нужно предварительно поменять entries per page на All (Slow):
d2xPGEh.png
(Чтобы скрипт имел доступ ко всему объёму данных для последующей фильтрации).

После этого достаточно вбивать нужные данные в фильтры и нажимать “фильтр”.

Вот, к примеру, я упорядочил по количеству игр в бандле.
А затем накинул фильтр на то, чтоб цена была ниже 2000 и рейтинг был выше 90.

Скрытый текст

nZrjJuL.png


Код скрипта:

Скрытый текст

 


// ==UserScript==
// @name         SteamDB Bundle Filter
// @namespace    https://steamdb.info/
// @version      0.1
// @description  Добавляет фильтры для бандлов
// @author       0wn3df1x
// @match        https://steamdb.info/bundles/?cc*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Парсинг цен
    function parsePrice(priceStr) {
        return parseFloat(priceStr.replace(/\s|₽/g, '').replace(',', '.'));
    }

    // Парсинг скидок
    function parseDiscount(discountStr) {
        return Math.abs(parseInt(discountStr.replace(/[%\-]/g, ''), 10));
    }

    // Парсинг рейтинга
    function parseRating(ratingStr) {
        return parseFloat(ratingStr.replace('%', ''));
    }

    // Управление
    const headerTitle = document.querySelector('h1.header-title');
    const filterContainer = document.createElement('div');
    filterContainer.style.marginBottom = '20px';
    filterContainer.style.fontSize = '12px';
    filterContainer.innerHTML = `
        <div>
            <label style="min-width: 100px;">Цена от:</label><input type="text" id="price-from" size="5">
            <label style="min-width: 100px;">Цена до:</label><input type="text" id="price-to" size="5">
        </div>
        <div>
            <label style="min-width: 100px;">Скидка от:</label><input type="text" id="discount-from" size="5">
            <label style="min-width: 100px;">Скидка до:</label><input type="text" id="discount-to" size="5">
        </div>
        <div>
            <label style="min-width: 100px;">Игр от:</label><input type="text" id="count-from" size="5">
            <label style="min-width: 100px;">Игр до:</label><input type="text" id="count-to" size="5">
        </div>
        <div>
            <label style="min-width: 100px;">Рейтинг от:</label><input type="text" id="rating-from" size="5">
            <label style="min-width: 100px;">Рейтинг до:</label><input type="text" id="rating-to" size="5">
        </div>
        <button id="filter-button">Фильтр</button>
    `;
    headerTitle.parentNode.insertBefore(filterContainer, headerTitle.nextSibling);

    // CSS
    const style = document.createElement('style');
    style.textContent = `
        label {
            display: inline-block;
            margin-right: 10px;
            text-align: left;
        }
        input[type="text"] {
            padding: 5px;
            border: 1px solid #ccc;
            border-radius: 3px;
            font-size: 12px;
        }
        button {
            padding: 5px 10px;
            border: none;
            border-radius: 3px;
            background-color: #007bff;
            color: white;
            cursor: pointer;
            font-size: 22px;
        }
        button:hover {
            background-color: #0056b3;
        }
        div {
            margin-bottom: 1px;
        }
    `;
    document.head.appendChild(style);

    // Логика
    document.getElementById('filter-button').addEventListener('click', function() {
        const priceFrom = parsePrice(document.getElementById('price-from').value) || 0;
        const priceTo = parsePrice(document.getElementById('price-to').value) || Infinity;
        const discountFrom = parseDiscount(document.getElementById('discount-from').value) || 0;
        const discountTo = parseDiscount(document.getElementById('discount-to').value) || Infinity;
        const countFrom = parseInt(document.getElementById('count-from').value, 10) || 0;
        const countTo = parseInt(document.getElementById('count-to').value, 10) || Infinity;
        const ratingFrom = parseRating(document.getElementById('rating-from').value) || 0;
        const ratingTo = parseRating(document.getElementById('rating-to').value) || 100;

        document.querySelectorAll('tr.bundle').forEach(bundle => {
            const price = parsePrice(bundle.querySelector('td.price').textContent);
            const discount = parseDiscount(bundle.querySelector('td.discount').textContent);
            const count = parseInt(bundle.querySelector('td.count').textContent, 10);
            const rating = parseRating(bundle.querySelector('td.rating').textContent);

            const show = (
                price >= priceFrom && price <= priceTo &&
                discount >= discountFrom && discount <= discountTo &&
                count >= countFrom && count <= countTo &&
                rating >= ratingFrom && rating <= ratingTo
            );

            bundle.style.display = show ? '' : 'none';
        });
    });
})();

 

 

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: SerGEAnt

      Акция действует два дня.
      В Steam можно бесплатно добавить в библиотеку головоломку Cakey’s Twisted Bakery, вышедшую буквально сегодня.
      Акция действует два дня.





    • Автор: SerGEAnt

      Основной проблемой для массового распространения Windows 11 считаются системные требования: для этой ОС требуются технологии, которых в старых сборках ПК просто нет.
      Компания Statcounter подсчитала, что доля Windows 11 среди пользователей сети достигла 29,71%.
      Несмотря на усилия Microsoft, популярность свежей ОС не идет ни в какое сравнение с Windows 10, доля которой по состоянию на конец июня составила 66,1%. За год устаревшая система потеряла примерно 5% пользователей.
      Основной проблемой для массового распространения Windows 11 считаются системные требования: для этой ОС требуются технологии, которых в старых сборках ПК просто нет.
      Поэтому, если смотреть на статистику геймерских ПК в Steam, то ситуация с популярностью Windows 11 гораздо лучше. Windows 11 установлена на компьютерах 46,63% пользователей, а Windows 10 — у 49,42%.


  • Продвигаемые темы

  • Последние сообщения

    • Воу-воу, один единственный кадр из фильма Левиафан из статьи уже слегка уменьшил желание сесть за просмотр сегодня вечером (в хорошем конечно же смысле). И тебе спасибо, осилю статью думаю и ещё несколько фильмов оттуда заберу себе.
    • Я не в теме, но разве там не прибавилось каких-то новых уровней сложности?
    • Эхех. А если б прочитал год назад материал, уже б знал.   
    • в ремейке после прохождения открываются новые уровни сложности. судя по описанию(и по первой миссии) на максимальной(генерал) больше хп врагов на 40%. это прикрутили до появления ньюгейма.   ньюегейм+ прикрутили позднее. в апреле вроде. не совсем понятен посыл… в начале игры вам доступен весь заработанный вами в прошлом прохождении магазин и уровни пилотов, а враги те же самые. т.е. выносятся с первой очереди автоматом… не совсем понятен посыл нг+ =)   на псх ньюгейм+ появился в фм3, и там передавались “по наследству” только выученные пилотами скилы. вполне балансно получалось.  
    • Собрал мой полный бэклог в Steam. (Часть игр была пройдена, но добавил в бэклог, т.к. хочу освежить впечатления).  
    • Да, это устоявшаяся неверная интерпретация)
    • дратуте! а русификатор по ссылке, это финальная версия? обновлений не стоит ждать?
    • оставлю пару заметок по игре.   фм2 часть механик не описаны, и приходится догадываться, как это работает. очевидно, что в фм2 закостылили проблемы баланса фм1 (ослабили ракеты и убрали возможность раскачивать пилотов. на столько сильно убрали, что даже в секретных миссиях опыт пилотов не качается. поэтому каждый убежавший враг — потерянный драгоценный опыт)   шанс попадения нигде не отображается. базовая аккуратность указана у оружия. у рук аккуратности нету. видимо влияют: местность (гео) мобильность (процент свободного веса ванцера), для атаки и для уворота имеющиеся лишние АП на начало вашей атаки и АП у врага тип оружия и тип врага. в арене можно посмотреть обозначения (0) и др. например, пулемёты и так имеют шанс попадения выше дробовиков, но дополнительно к этому получают прибавку к попадению по ванцерам может быть влияет компьютер со шкалами для каждой специализации в версии на псх было ощущение, что если не прокачано оружие, то попасть почти невозможно. в ремейке такого не заметил, но у непрокачанного кажется сильно меньше урон. когда проходил фм2 на псх, то собирал очень мобильных ванцеров, в них враги плохо попадали, пока у персонажа были АП. может быть есть ещё факторы, или какие-то из перечисленных лишние..   урон видимо влияют: базовый урон оружия показатель защиты (щиты вроде бы увеличивают защиту рук). для каждой части свой урон точно зависит от уровня прокачки специализации.   есть ещё типы брони (проникающая, термическая, дробящая). но на сколько она уменьшает урон не ясно. складывается ли она с обычным показателем защиты — не ясно. влияет ли полоски специализации в компьютере на урон — не знаю влияют ли остаточные АП на урон — врятли   в начале игры дефенс не сказывается, тк значения небольшие. но с прогрессом можно собирать ванцеров с хорошей защитой, которые будут ощутима меньше получать урон. если применить компьютер с ДПУ, то совсем обнулять малые атаки. ремейк проходил через “защиту”   ракеты прямо мало отнимают, с базовым показателем 100, у врага отнималось 15-20. за счёт чего, не совсем понятно(отставание по уровню? при этом отставание почти невозможно сократить тк раскачиваться кроме миссий негде). но всё равно использовал ракеты, тк ракетная атака заставляет тратить врага АП. обстрелял ракетами, обнулил вражеский АП, нападаешь ближниками, они и ответки не получат, и процент попадания будет выше, тк у врага нет АП.   с какого-то момента фармить деньги в арене очень легко. враги как будто не выросли их разрывает первая очередь пулемётов. почему так случилось, не знаю.     в фм2 часть механик уникальная для серии. мобильность: процент свободного веса ванцера. допустим есть два ванцера сам весит 300, свободного веса 200, накинули оружия на 100. 1/5 свободного веса сам весит 800, свободного веса 200, накинули оружия на 100. 1/10 свободного веса первый более мобильный, хотя у обоих оружия на 100кг и запас 100кг. т.е. нужно не просто смотреть за свободным весом, а за повышенной мобильностью при прочих равных. мобильность влияет на аккуратность и уворачиваемость, а так же на количество клеток передвижения. но в игре можно динамически изменять вес. прямо в миссии можно отстрелять ракетницы, выбросить их, вес станет меньше, ванцер мобильнее и идти в ближний бой. можно передавать оружие бойцу (пока рюкзаки ограничены можно ракетчикам выдать пулемёты и по окончанию зарядов у ближников, передать целиком заряженый пулемёт от ракетчика ближнику)     видимо это (непонятность механик) было частью нареканий игроков в своё время и фм3 очень понятная по механикам. очень просто перечислить что на что влияет. очень чёткая система в фм3. так же в фм3 уменьшили количество роботов в миссии. в фм2 под конец игры в свой ход нужно 12 ванцеров подвигать. как раз они самые. wanzer от немецкого Wanderung Panzer. про это и в самой игре есть. ну и в вике выше ссылка была.
    • по моему мнению уже все привыкли к ванзерам чем ванцерам, это вам не панцеркляйны из silent storm)))
    • Фух… убил.   Кровавой большой катаной и щит пришлось использовать. 
  • Изменения статусов

  • Лучшие авторы


Zone of Games © 2003–2024 | Реклама на сайте.

×