Нужен твой гений

Discussion in 'Моддинг' started by Ēadweard De Mylae, Jul 24, 2021.

  1. Всем привет, позволяю себе сообщение с просьбой о помощи. Я потратил много времени на поиск строк кода, но безуспешно, поэтому пришел попросить вас о помощи. В подмоде для S&C Napoléonien я пытаюсь изменить:

    -скорость пушечных ядер
    -Повреждение зоны при артиллерийских взрывах.

    На самом деле я считаю, что артиллерия наносит слишком много урона, я уже снизил точность и урон, но она все еще наносит слишком большой урон по площади. Простите за русский, я француз ^^ И заранее огромное спасибо за вашу помощь.
     
  2. Awar

    Awar Well-Known Member

    [QUOTE="Ēadweard D
    -Повреждение зоны при артиллерийских взрывах.
    [/QUOTE]
    Файл weapon.script в папке \data\scripts\lib
    Раздел
    _weapon_AddWeapon
     
  3. Привет, Авар, спасибо за помощь. Это линии, которые я уже заметил, но не был уверен. Если это те строки, о которых вы мне говорите. Я провел тест, установив все на 0, чтобы увидеть результат; я не заметил никаких особых изменений. Не могли бы вы дать мне еще немного информации? Заранее спасибо.
    [​IMG]
     
  4. Awar

    Awar Well-Known Member

    Я посмотрю код и подумаю над этим.
     
  5. Большое спасибо. Я займусь другой темой, но у меня будет кое-что для вас, когда она закончится, или, по крайней мере, в первом окончательном варианте.
     
  6. Awar

    Awar Well-Known Member

    Результаты исследования выстрела пушки в файле weapon.script
    Тип заряда PPOINTT
    Визуально: Выстрел, летит ядро, стукается о траву, взрыв.

    Строки для PPOINTT в файле weapon.script

    1. Траектория движения ядра. damage = 0;
    _weapon_AddWeapon(ind, 'PPOINTT', cFXPoint, cProjNone, 0, 0, gc_weapon_gravity_0, gc_weapon_propagation_slightup, 0, gc_weapon_time_cPlayOnce)

    2 Структура выстрела
    _weapon_SetWeaponSyncWeapon('PPOINTT', 'SHOTCANNON', 'NUCL2P', '', '');

    SHOTCANNON - вылет ядра из ствола, визуализация. damage = 0;
    _weapon_AddWeapon(ind, 'SHOTCANNON', cFXCannon, cProjNone, 0, _misc_PixelsToTiles(20), gc_weapon_gravity_0, gc_weapon_propagation_slightup, 0, gc_weapon_time_cPlayOnce);

    NUCL2P - само ядро. При попадании damage = 340;
    _weapon_AddWeapon(ind, 'NUCL2P', cFXNone, cProjCannonBall, 340, _misc_PixelsToTiles(35), gc_weapon_gravity_2, gc_weapon_propagation_angle, 10, gc_weapon_time_cInfinite);

    3 Варианты попадания ядра.

    // Custom Explosions
    _weapon_SetWeaponCustomExplosions('NUCL2P', gc_obj_explmedia_building, 1, 1, 'PUEXPBLD', 'PUEXPBLD', 'PUEXPBLD', 'PUNOEXPBLD', '');
    _weapon_SetWeaponCustomExplosions('NUCL2P', gc_obj_explmedia_grass, 1, 1, 'PUEXP', 'PUEXP', 'PUEXP', 'PUNOEXP', '');
    _weapon_SetWeaponCustomExplosions('NUCL2P', gc_obj_explmedia_water, 1, 1, 'VODABUL', '', '', '', '');
    _weapon_SetWeaponCustomExplosions('NUCL2P', gc_obj_explmedia_wood, 1, 1, 'PUEXP', '', '', '', '');
    _weapon_SetWeaponCustomExplosions('NUCL2P', gc_obj_explmedia_ship, 1, 1, 'PUEXPONSHIP', '', '', '', '');

    Выделена строка с материалом трава (gc_obj_explmedia_grass)

    Имеем:
    3 значения 'PUEXP'
    По видиму симулирует взрыв ядра. Порождает частички POINTOTVZRIV, в количестве от 20 до 40
    // Childs
    _weapon_SetWeaponChilds('PUEXP', 20, 40, False, 'POINTOTVZRIV', '', '', '');

    Каждая частица подчиняется описанию damage = 100;
    _weapon_AddWeapon(ind, 'POINTOTVZRIV', cFXPoint, cProjPoint, 100, _misc_PixelsToTiles(15), gc_weapon_gravity_3, gc_weapon_propagation_randomsimulate, 3, gc_weapon_time_cInfinite);

    1 значение 'PUNOEXP', damage = 900;
    _weapon_AddWeapon(ind, 'PUNOEXP', cFXCannonExp, cProjNone, 900, _misc_PixelsToTiles(10), gc_weapon_gravity_0, gc_weapon_propagation_slightup, 0, gc_weapon_time_cPlayOnce);


    Для эксперимента ставил в значение damage = 1 все три значения: NUCL2P, PUEXP, PUNOEXP

    При взрыве, жизнь юнита уменьшалась на 1, визуально ядро не причиняло вреда.
    Возможна, редко, гибель юнита, вероятность?
    [​IMG]

    Если параметр PUNOEXP оставить в значении damage = 100, остальные параметры в 1,
    то юнит получает повреждение по 100 единиц.
    параметр PUNOEXP оставить в значении damage = 900, остальные параметры в 1,
    то чаще юнит погибает сразу, прямое попадание?



    Если количество частиц увеличить в 10 раз (Возможно, достаточно в несколько раз)
    в _weapon_SetWeaponChilds('PUEXP', 200, 400, False, 'POINTOTVZRIV', '', '', '');
    Картинка поражения (параметры damage поумолчанию, 340,100, 900)
    [​IMG]

    Уменьшение количество частиц не повлияла на количестве убитых.
    _weapon_SetWeaponChilds('PUEXP', 2, 4, False, 'POINTOTVZRIV', '', '', '');
    [​IMG]

    Пока все. Дальше нужно ставить цель и подбирать параметры.
     
    ComDiv and Loner like this.
  7. Большое спасибо за подробный ответ. Я не все понял, но сделал бы несколько тестов. Просто быстрый вопрос; Что означают цифры, отмеченные красным, и линии, выделенные жирным черным шрифтом? Еще раз спасибо.
     
  8. Awar

    Awar Well-Known Member

    100 - цифра означает размер повреждения. (damage)
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice