Jump to content

Recommended Posts

WOG 160 Еда и патроны

Просмотреть файл

Легенда:

Глобальная война случилась. Двадцать лет назад руководство США приняло решение о нанесении «упреждающего» ракетно-бомбового удара по территории Российской Федерации. Агрессоры не боялись ответа. Они надеялись на систему ПРО, но сильно ее переоценили. Ад сорвался с цепей и поглотил Землю. Города лежат в руинах присыпанных пеплом их жителей. Наступила вечная зима. Остатки человечества пытаются выжить кто как может...

На Черноруссию не падали ядерные боеголовки, но обмен ударами США и РФ и последующая ядерная зима привели к гражданской войне, правительство и войска ЧСО были уничтожены. Черноруссия разделилась на две части: север страны под контролем НАПА, а юг под контролем ЧДКЗ.

Поставленная задача:

Захватить / удержать контейнеры с провизией и вооружением

или

Уничтожить противника

В распоряжении НАПА:

- УАЗ-3151 - 1 шт.

- КамАЗ-5350 - 6 шт.

- БРДМ-2 - 4 шт.

- Урал (ЗУ-23-2) - 1 шт.

В распоряжении ЧДКЗ:

- УАЗ-3151 - 1 шт.

- Урал-4320 - 6 шт.

- Урал-4320 (боеприпасы) - 1 шт. (для минометного отделения)

- БМП-2 - 2 шт. (ПТУР отключены)

- Ми-8МТ - 1 шт.

Условие победы НАПА:

- Контейнеры с провизией и вооружением под контролем НАПА.

или

- ЧДКЗ уничтожены (осталось 3 человека или меньше).

Условие победы ЧДКЗ:

- НАПА уничтожены (осталось 6 человек или меньше).

Дополнительные условия:

Условие захвата зоны - двукратный перевес в живой силе. Зоны не перезахватываются.

Бронетехникой могут управлять только командиры отделений и экипаж, вертолетом может управлять только пилот.

Актуальная версия на 160 слотов - 1.2

Актуальная версия на 176 слотов - 1.0


  • Автор
  • Добавлен
    02/28/15
  • Категория
  • Количество участников
    160
  • Год
    2020
  • Остров
  • Тип
  • Радио оснащение
  • В атаке
  • В обороне
  • Режим

 

Share this post


Link to post
Share on other sites

Что нового в версии 1.0:

  • Исправлена ошибка в скрипте подсчета игроков
  • Исправлена ошибка в названии штаба зеленых
  • Увеличена дальность видимости с 3к до 4к
Edited by RavingRobot

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Что нового в версии 1.1:

  • Исправлен баг с нерабочими заметками и метками на брифинге
  • Оптимизация кода
  • Вся техника ЧДКЗ практически без топлива (хватит на 2-3 км)
  • Около ангаров с вооружением добавлены 2 заправщика
  • В УАЗик ЧДКЗ добавлены противопехотные мины

Share this post


Link to post
Share on other sites

Граница триггеров нарисована верно, но тут есть другой косяк.

        class Item0
        {
            position[]={4756.5444,8.7569866,2595.7781};
            a=14;
            b=22;
            angle=30;
            rectangular=1;
            activationBy="ANY";
            interruptable=1;
            age="UNKNOWN";
            name="food1";
            expCond="(resistance countside thislist) > ((east countside thislist)*2)";
            expActiv="if isserver then {food = food + 1; publicVariable ""food"";}; ""food1"" setmarkercolor ""ColorGreen"";";
            class Effects
            {
                titleEffect="PLAIN DOWN";
            };
        };

 

Красным выделил условие, которое у тебя выполняется на всех клиентах. Но у игроков часты лаги и во время лагов, или во время перезахода, местоположение всех юнитов вокруг синхронизируется с сервером не сразу а с задержкой. И если в этот период хотя бы у одного игрока хоты бы один зелёный пройдёт через стену ангара и зацепит триггер, то клиент игрока посчитает его или сразу двоих. Затем клиент приступит к выполнению кода триггера. Первую часть он выполнить не сможет, ибо она выполняется на сервере, а вот вторую - запросто. Поэтому клиент покрасит зону, а сам триггер переведёт это действие в глобал спейс и покрасит зону в зелёный у всех игроков. При этом переменная food не изменится. Она изменится как-только зону захватят по-настоящему - на сервере. Такие дела.

надо в условие тоже ставить isserver, и зону красить тоже надо на сервере.

Ну и вообще - триггеров чёта немеряно, что только умножает нагрузку на сервак, а может и на клиенты тоже.  Надо оптимизировать.

Также условие в вышеприведённом триггере учитывает ботов, а с учётом того, что у тебя боты стартуют в ангаре, то они потом могут зону держать. Несерьёзно.

надо поменять конструкцию на что-то вида

 if (isServer) then {
(({isPlayer _x && side _x == east && alive _x} count (playableUnits + switchableUnits))*2) < ({isPlayer _x && side _x == resistance && alive _x} count (playableUnits + switchableUnits))};

если оно будет работать.

Share this post


Link to post
Share on other sites

@crabe ну уж не косяк, просто какой-то лагер все испортил. Предыдущие отыгрыши триггеры отработали как надо. Да и в большинстве миссий isServer в триггерах не используется. Хотя для исключения таких ситуаций надо бы использовать. Чтобы не городить такую конструкцию в условии, которая еще не факт что правильно сработает, может просто активацию загнать под isServer? Тогда клиент не сможет ее выполнить и передать остальным.

При использовании {isPlayer _x && side _x == east && alive _x} если красный в зоне вылетит из игры, то его не будет считать триггер, что тоже неправильно.

В 200 было у кого-то предложение не делать 2 отдельных триггера на одну зону, но тогда зеленые смогут толпой забежать в место между ангарами и не зачищать их, зона итак будет захвачена. Так что нет, такого не будет.

Share this post


Link to post
Share on other sites
12 минуты назад, RavingRobot сказал:

просто какой-то лагер все испортил

Просто нет миссий, где такие маленькие триггеры и так важно где именно находится юнит. Хотя я вот припоминаю, как на какой-то миске Рамзес сдох в маленьком кружке для КСа, не выходя из него. :biggrin_mini:

К тому же, у меня подозрения, что заставляя клиентов обсчитывать так много триггеров, ты таких лагеров сам и создаёшь.
 

12 минуты назад, RavingRobot сказал:

может просто активацию загнать под isServer?

Я для себя пришёл к тому, что вообще от триггеров надо отказываться, а все математические операции и реакции делать ТОЛЬКО на сервере.

Триггер сканирует область, если правильно помню, с частотой 50 раз в секунду, а можно делать скриптовые циклы с периодом обсчёта раз в 10 секунд. Это очень большая разница.

Остальное вкусовщина.

 

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.