Перейти к содержанию

StDIABLO

Пользователи
  • Публикаций

    580
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Сообщения, опубликованные StDIABLO


  1. [b][member=RavingRobot][/b],пфф для ценителей :)

     

    Воот тут все о бредлях

     

    http://trainingnco.pbworks.com/f/FM+3-21.71++Mechinized+Infantry+Platoon+and+Squad+(Bradley).pdf 

     

    И столько же о танках 

     

    http://www.fprado.com/armorsite/US-Field-Manuals/FM-17-15-Tank-Platoon.pdf

     

    Всего то по 400 страниц, но если ассемблер это просто (3 тома по 400 страниц каждый) это получается еще проще.


  2. [b][member=Sandy][/b],Яж ленивый XD. Я настолько ленив ставить объекты не через редактор (считай по имени класса в блокноте)  что запилил мод который просто добавляет эти классы в редактор. 


  3. Эм это просто мод который добавляет объекты в СТАНДАРТНЫЙ редактор (объекты у которых scope <2). Не больше не меньше. Для меня это то что надо. Еще б только 3д редактор  и все. Но и он не нужен так как бисы его уже сделали и сделали его удобным.


  4. Честно, никогда не замечал проблем при посадке (на крайняк есть всегда зависание). А летать по рельсам мну уже в печенках. Девайс нужен 1 - прямые руки. Ну AFM конечно сложнее для новичков, но если у пилота есть немного опыта - проблем не будет.


  5. Эмм когда ты у земли , можно делать шаг винта ниже чтобы сбалансировать, то что тебя подушка отталкивает :)  Этим я пользуюсь постоянно.  Получается что ты чуть ли не скользишь по поверхности. 

     


    При описании ты забываешь самый важный недостаток AFM - повышенная опрокидываемость вертолетов.

    Никто не запрещает поставить автотриммирование. С этой фишкой вертолет себя ведет как на SFM, не опрокидвывается и летит куда надо. Попробуй.

     


    Контроль на SFM лучше, как раз за счет упрощений.
    Ага, и этиже упрощения есть в AFM (автотриммирование и прочее). Выже поймите я не для всех прошу включить. А только для тех кто хочет. Рано или поздно включат афм всем. А пока не включили можно поиграться на нем к примеру хотябы на mWog`ах

     


    AFM требует девайсов с большим ходом рычагов, так как вертолет стал более чувствительным. Но имея такие девайсы, на SFM все равно будет проще летать.
    Тег темы как бы намекает что девайсы то есть :). Но я летал и с клавы и с гейпада. Прекрастно летается и там и там. Нужен опыт просто.

     


    Доказывать, что на AFM летать проще, чем на SFM - заранее проигрышная позиция. Летать сложнее, поэтому и интереснее.
    После DCS Mi17, AFM A3 кажется очень простым :) Поэтому я авторитетно заявляю что AFM -  это просто (я вообще хочу др**ки как в DCS World, с прогревами двигла, всу и прочего, но я ж молчу, хочу ХОТЯБЫ АФМ)

  6. [member=wowrostov],

    [size=3]Были такие падали по КД,[/size]


    Раньше да, сейчас все вертушки в т.ч и рхс летают очень хорошо на всех режимах.

    [size=3]Но когда тебя нужно сделать быструю высадку под шквальным огнем в тяжело доступной местности-то все твои навыки изчезают.[/size]

    Попахивает извращением :) но,
    1) Лететь на низких высотах лучше с афм (спасибо воздушной подушке, спасибо динамическому управлению вертушка тебя слушается луче чем с SFM)
    2) Оставновиться с пролета - еще легче, зесчет улучшенного управления двигателем у тебя нос вертолета не поднимается и ты аккуратно на малых высотах садишся.
    3) Посадка местами проще (спасибо воздушной подушке)

    [size=3]И если вдруг ты угробишь отделение то я бы зная что ты будучи не умея летать (как я))))угробил отделение,был против твоих полетов.[/size]


    Я могу угробить отделение и на SFM если полезу на "быструю высадку под шквальным огнем в тяжело доступной местности".

    [size=3]У нас уже были такие разговоры , ты просто новенький видемо не застал.[/size]


    Возможно, но времена меняются.

  7. Привет всем,

     

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

     

    Неделя гулей и копания в конфиге и готово. Вот ссылки.

     

    Базовые объекты (ванильная арма)

    http://steamcommunity.com/sharedfiles/filedetails/?id=541024001

     

    Объекты добавляемые WOG модами.

    http://steamcommunity.com/sharedfiles/filedetails/?id=541291797

     

    (раньше это был 1 мод, я решил разделить эти моды. т.к.

    1) мне легче их сопровождать тогда (завтра изменятся классы на wog  - буду менять только WOG mod, ванилу не будем трогать.)

    2) можно сделать похожий мод для любого проекта, не трогая ванилу.

    3) если ванила изменится - вог - не тронется)

     

    Сейчас в редакторе доступны только статические объекты, в планах

    Добавить трейлер, подлодку, зеленый вооруженный пикак. Может еще что найду

     

    Пишите в комментах, что я забыл и/или вы хотелибы увидеть наконец в редакторе. 

    Заранее спасибо.

     

    PS Мод ззатачивался под 1.53 и EDEN Editor, но будет работать и в 1.52

     

    PS игра крашится если запустить без mWOG islands и попытаться поставить объекты ISlands)



  8. [b][member=Sandy][/b],

     


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

     

    Как можно уничтожить то, во что невозможно попасть (колизии нет), хотя мб фаб кинуть прям под объект .

     

    В любом раскладе код  должен быть таким тогда.

    if (isServer) then {
    sleep 0.1;
    {
    _tmpobj = [0,0,0] nearestObject _x;
    //_tmpobj enableSimulationGlobal false;//ненужно, это делает hideObj
    _tmpobj allowDamage false;
    _tmpobj hideObjectGlobal true;
    _tmpobj=nil;
    } foreach [673154,673184];
    };

    По поводу второго, пока идей у меня нет :(


  9. [member=Sandy], Пардоньте  незнал (да и никогда не пытался удалить объекты с карты.

     

    Код ниже будет работать тогда

    //init.sqf
    if (isServer) then {
    sleep 0.1;
    {
    _tmpobj = [0,0,0] nearestObject _x; //начал использовать переменную т.к возможно вычисления будут медленнее чем использовать эту переменную
    //_tmpobj enableSimulationGlobal false;
    //_tmpobj allowDamage false;
    //_tmpobj hideObjectGlobal true;
    //_tmpobj=nil; //освобождаем память мы же няшки и не гугл хром 
    //т.к hideObjectGlobal уже отключает коллизию можно не парится с кодом выше
    ([0,0,0] nearestObject _x) hideObjectGlobal true; // вот и все
    } foreach [192112,192155];
    };

  10. [member=Sandy],
    1 часть, все верно это разрушение объектов.
    Этот код должен удалить объекты.

    //init.sqf
    if (isServer) then{
    sleep 0.1;
    {deleteVehicle ([0,0,0] nearestObject _x)} foreach [192112,192155]; //код не пашет :( ниже обновленная версия
    };

    Просто занимался разрушением на 1 из мисок прост копирнул код. Тебе самое главное получить объект. А что ты с ним делать будешь всеравно.

    По поводу 2 части.

    Да понимание кода правильное
    надо просто попробовать такой код ( - 2 переменных бесполезных)

    _obj = (getArray (configfile >> "CfgWorlds" >> getWorld >> "centerPosition")) nearestObject 673047;//возвращает объект с указанным ID начиная поиск от центра карты (потенциально увеличение скорости)

    и да чтобы получить объект нужен приемник :) (в моем случае _obj).

     

    Смотри, про скорость этого скрипта.

     

    предположем у тебя объект гдето не посередине карты.  nearestObject работает по кругу, [0,0,0] конечноже очень далеко от середины или до другого конца карты. а центр карты равноудален от всех объектов.


  11. Ну это то да, если уж хооочется поставить:

    Это будет лучше :)

    _world = getWorld;_centerPosition = getArray (configfile >> "CfgWorlds" >> _world>> "centerPosition");
    _centerPosition nearestObject 673047;

    Кароч снос говна с карты по ID
    только что проверил - все пашет как часы


    init.sqf

    if (isServer) then{
    sleep 0.1; //обязательно нужная команда работает как waitUntil {time>0}; 
    {([0,0,0] nearestObject _x) setDammage 1} foreach [192112,192155]; //в массив пили свои объекты, вместо [0,0,0] можешь впилить то что я написал выше с _centerPosition
    };


  12. Вот здесь не понял. А это не удалит глобально объект, который мы специально создаем ?

    Код глянь внимательно, и думай как компилятор.

     

    Ты создал глобальный объект (в нашем случае это объект геймлогик) сам он невидим ни для сервера, ни для клиента. И есть в памяти и у сервера и у клиента.

    В его ините прописал создание другого объекта. Он также создался.  Объект гейм логик закончил свою работу и не нужен НИ СЕРВЕРУ НИ КЛИЕНТУ и может быть удален. В ООП есть всякие деструкторы для этих целей. Тут такого я не находил и приходится все чистить руками.

     

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

    Например вешать пару функций которые делаются по умолчанию только на сервере на JIP клиента. Т.о . синхронизировав все данные. (Об этом потом)

     

     

    А как правильнее это сделать для встроенного объекта? В init.sqf сначала создаем локальную переменную, а потом с ней выполняем действия?

    Что ты подразумаваешь под встроенным? Созданный сервером или редактором?

     

     

    встречал мнение, что (getPos this) лучше чем [0,0,0]

     

    Я честно не знаю что лучше, пока не посмотрю стек армы, как хранятся переменные и прочее.

     

    смотри код getPos this создает тебе массив чисел с плавающими точками. например [-25.1412341234,2013.452234,10]

    Технически, я уверен (без учета действий компилятора) что этот массив занимает СТОЛЬКО же  памяти что и [0,0,0] (Есть бит для знака, биты для обозначения положения плавающей точки, сами числа см. примеры хранения чисел в памяти)

     

    т.е в памяти [-25.1412341234,2013.452234,10]

    хранится 3 числа где каждое число составляет из себя пакет данных.

    [0,0,0] это те же 3 пакета данных, только у каждого из пакетов  нули.

     

    Тут начинается работа компиляторов, и анализатора кода, такие моменты (в нормальных компиляторах) отслеживаются и одинаковые константы "схлопываются" до уровня - одна константа и куча ссылок на нее. И в итоге получается массив [0, указатель на 0, указатель на 0] и в памяти получается так что [0,0,0] почти столько же занимает памяти что и [0] (еще немного данных на указатели, но указатель это не число оно меньше занимает памяти). А если можно сожрать памяти меньше зачем ее брать больше? Мы ж не гугл хром :)

     

    Я конечно не уверен как сделан компилятор в A3, но это правило хорошего тона такую фичу встраивать в компиляторы. И даже если этой фичи нет, стоит так писать (мб завтра эта фича появится и код не надо будет переписывать под это).



  13. 3) Удаление встроенных в карту объектов по их ID (например, зданий) при помощи замены на невидимый HeliPad. 

     

    Это все в зону isServer. Но ты не удаляешь объект, а делаешь формально его невидимым. Ты можешь обратно его в любой момент времени "ВКЛЮЧИТЬ", такч это не замена на невидимый хелипад.

     

    Но запомни еще одно если есть возможность не создавать переменную - пользуйся ей. Исключений тут оч мало.

    т.е код:

    obj = [0,0,0] nearestObject 673047; obj hideObjectGlobal true;

    лучше (будет меньше занимать в памяти) будет таким

    ([0,0,0] nearestObject 673047) hideObjectGlobal true;

    1) Создание новой локации и метки-подписи на карте.

     

    Все в блок (!isDedicated), возможно тебе понадобятся условия проверки на сторону (side player)  возможно не всем надо знать о зоне.

     

     


    2) Замена встроенных в карту объектов по их ID (например, зданий) на другие объекты (например, бункер). 

     

    Смотри, лучше поставить вопрос не так, не замена, а удаление ненужных мне объектов и расстановка нужных по этим же координатам.

    Удаление/сокрытие ненужных по ID есть выше, ну а расстановкой новых объектов на их места - справится и обычный редактор.

     

    Просто запомни init объекта читают все (и сервер и клиенты - лучшая синхронизация), а надо чтобы читал сервер (лучшее время работы,меньше лагов). Вот и смотри что тебе надо синхронизацию улучшить или лагодром устранить.



  14. 6) Удаление встроенных в карту объектов по их ID (например, зданий) посредством их разрушения, а затем удаления их руин.

    Во первых почему не работает.

     

    setDamagearguments_global.gifeffects_global.gif

     

    Аргумент должен быть глобальным, а он у тебя вроде как локальный (приватный)  _tower1

    код ниже должен сработать:

    ([0,0,0] nearestObject 523286) setDamage 1;

    тоже самое и с deleteVehicle.

     

    А почему  сразу объект не удалить, напомни?

    Код ниже не работает?

    deleteVehicle ([0,0,0] nearestObject 523286); //код не пашет :( ниже обновленная версия
    

      или 

    ([0,0,0] nearestObject 523286) enableSimulation false; 
    ([0,0,0] nearestObject 523286) allowDamage false;
    ([0,0,0] nearestObject 523286) hideObjectGlobal true;//должно выполниться в блоке isServer

    (прост нет армы на работе прочекать не могу)

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.