|
|
|
Канал Freelancer »
МОДовый отсек: «Скрытые параметры для инишек» |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
В ini-файлах фрилансера представлены далеко не все параметры. Есть такие, которые вполне нормально работают, но их названия не представлены в игре. Тем не менее, не без помощи IDA Pro, эти параметры можно разглядеть собственными глазками во freelancer.exe и common.dll. Параметры, которые обрабатывает движок фрила, пишутся в первом. А характеристики оборудования и т.п. пишутся в common.dll.
Параметры в описании баз. Например, li01_01_base. В секции [BaseInfo] доступны дополнительные параметры:
ship_repair_cost (число) - дополнительная цена за ремонт корабля (только корпус).
price_variance (число-процент: 1.0 = 100%) - число, которое по случайному принципу добавляется к оборудованию на базе. Принцип такой, если параметр равен 0.2, то он ставит цену +/- 20% от оригинала. Если 0.05, то +/- 5% от оригинала
Еще в Room базы можно добавить параметр:
animation_oneshot - выполняет анимацию на базе один раз. Например, откроет шлюзы станции.
tractored_explosion (ссылка: explosion) - ссылаемый взрыв после окончания притягивания лута. Используется для нацепления эффектов. Работает в любом оборудовании, где можно поставить lootable = true.
power_usage (число) - этот параметр также используется на сканнере. Вычитает энергию за каждое нажатие кнопки "просмотр груза". Если энергии недостаточно, груз не просматривает. Только для [Scanner].
dispersion_angle (число) - угол распространения. По случайному принципу отклоняет выстреливаемые патроны пушек на определенное расстояние от центра. Работает в архетипе Launcher ([Gun], [Mine] и все что установка для выстрела).
shield_collapse_particle (ссылка: эффект) - этот параметр тоже есть. Помните эффект выключения трейдлейна? Можно также его использовать на щите кораблей. Работает в [ShieldGenerator].
const_effect_delay (число) - время ожидания перед запускам эффекта орудия/ракеты. Работает в [Munition].
lgt_time_scale (число) - время действия освещения для эффекта. Работает в [Effect].
jump_done_effect_player (ссылка: эффект) - эффект, запускаемый при окончании полета через гиперврата. Работает в блоке [JumpShipEffect].
jump_done_effect_nonplayer - тоже самое для НПЦ.
destoy_parent (true/false) - уничтожает корабль при уничтожении детали. Например, крыло. Работает в блоке [CollisionGroup].
space_farclip (число) - максимальная дальность показа эффектов в системе. Стандартно это число равно 20 000. Нужно для нормальной работы очень больших прилипаемых эффектов. Работает в [SystemInfo].
Параметры, требующие хаки или патчи:
drag_modifier (процент) - ограничение скорости передвижения кораблей в зоне. Работает в [Zone].
lightsource_cone (угол до 360 градусов)
intensity (число) параметры работают в паре - источник освещения на станции/корабле. Работает в [Light].
damage_per_fire (процент) - снижает указанный процент от общей брони орудия за выстрел. Работает в [Launcher].
light_anim (ссылка на lightanim.ini) - игра света на корабле при каждом выстреле. При активации хака lightsource_cone наносит свет также и по станциям (вокруг себя). Работает в [Launcher].
use_animation - запускает указанную анимацию на пушке во время выстрела (увы, работает с косяками, но работает!).
В dll-файлах ресурсов игры тоже не обошлось без скрытых вещей. Оказалось, разработчики как вандалы потёрли строки подписей к параметрам неотображаемого оборудования. К таким объектам относят Генераторы, Двигатели, Броню, Сканеры и Магнитные лучи. Я сделал таблицу (см.ниже), которая основана на модификациях Адоксы из патча JFLP. Можете его скачать с сайта Адоксы.
ID строки | Класс | Назначение | 1696 | [Tractor] | Скорость магнитного луча | 1697 | [Scanner] | Дальность просмотра трюма | 1695 | [Armor] | Множитель брони | 1758 | [Power] | Объем энергии | 1698 | [Power] | Объем энергии форсажа | 1703 | [Engine] | Скорость круиза* | 1762 | [Engine] | Время запуска круиза | 1764 | [Engine] | Секунды (см. пункт выше) | 1763 | [Engine] | Потребление энергии на круизе | 906 | — — — | Подпись к незанятому слоту | *Если установлен плагин MultiCruise
В файлах pilots_popultaion.ini и pilots_story.ini (папка MISSIONS) активно применяется параметр inherit (ссылка: другой объект). Этот параметр можно применять не только для пилотов, но и для:
- астероидов ([Asteroid], [AsteroidMine], [DynamicAsteroid]);
- оборудования ([Gun], [Munition], [ShieldGenerator], [AttachedFX] и т.п.);
- кораблей ([Ship]);
- станций ([Solar]).
Last edited by Jeider on 10:27 29-05-2016; edited 25 times in total |
|
|
Endeavour
1015 EGP
       Рейтинг канала: 2(23) : 105 Posts: 7041 Location: guess Joined: 26 May 2005
 |
|
Нужно учитывать, что не для всех недокументированных параметров есть имплементация в коде.
Last edited by Endeavour on 09:36 26-09-2011; edited 1 time in total |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
thiscall wrote: |
Нужно учитывать, что не для всех недокументированных параметров есть имплементация в коде.
|
Большинство указанных параметров проверено на своей шкуре.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Почистил список - оставил только самое интересное.
|
|
|
Whiskas
137 EGP
  Рейтинг канала: 3(42) : 5 Posts: 139
Joined: 28 Apr 2011
 |
|
Наткнулся ещё на drag_modifier, который по заданному делителю уменьшает скорость корабля и cruising_speed в пределах [zone], прописанной в системе.
Сначала хэкс-эдитором меняется в common.dll байт 74 на EB по оффсету 053796.
В системе прописывается зона:
Code: |
[zone]
nickname = new_zone
pos = -33270, 0, -33039
shape = SPHERE
size = 6000
interference = 0.010000
drag_modifier = 2 |
interference - похоже на помехи навигации, чем выше значение тем менее возможным становится выделить станцию, планеты, да вообще радар дохнет.
drag_modifier - делит скорость шипа. С crusing speed немного по-другому работает, но тож замедляется.
Заметил, что при создании такой конструкции:
Cкрытый текст (кликните здесь для просмотра)
[zone]
nickname = new_zone
pos = -33270, 0, -33039
shape = SPHERE
size = 6000
interference = 0.010000
drag_modifier = 4
[zone]
nickname = new_zone2
pos = -33270, 0, -33039
shape = SPHERE
size = 7000
interference = 0.010000
drag_modifier = 3.5
[zone]
nickname = new_zone3
pos = -33270, 0, -33039
shape = SPHERE
size = 8000
interference = 0.010000
drag_modifier = 3
[zone]
nickname = new_zone4
pos = -33270, 0, -33039
shape = SPHERE
size = 9000
interference = 0.010000
drag_modifier = 2.5
[zone]
nickname = new_zone5
pos = -33270, 0, -33039
shape = SPHERE
size = 9000
interference = 0.010000
drag_modifier = 2
[zone]
nickname = new_zone6
pos = -33270, 0, -33039
shape = SPHERE
size = 9000
interference = 0.010000
drag_modifier = 1.5
|
фрил безбожно жрет памяти и не грузится. Но при наличии не 6, а 4-х зон все-таки работает. че за дела
зы
Code: |
common.dll 0DAD24 057B->0175 = make drag_modifier independent of interference/damage ~adoxa |
Насчет interference догадываюсь, но при чем тут damage?
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Да, спасибо что напомнил про усилитель linear_drag. В стандартном не хакнутом фриле эта фигня не работает - просто голос Neural Net скажет "increase drag detected" и ничего не происходит. В идеале эффект будет такой же, что и поставить в shiparch параметр linear_drag более высоким, т.е. увеличится передний противовес космоса и сложнее будет набрать максимальную скорость, а КЭ будет слетать значительно быстрее.
Хак я уже сделал, но на практике не проверил - завтра (а по часам уже сегодня ) Постараюсь попробовать и потом скажу результат.
добавлено спустя 1 минуту:
Whiskas T-Mech wrote: |
фрил безбожно жрет памяти и не грузится
|
Естественно, нельзя делать слишком большое число зон в одном месте.
Last edited by Jeider on 09:48 18-11-2011; edited 3 times in total |
|
|
goshadiamo
155 EGP
  Рейтинг канала: 3(38) : 14 Posts: 775 Location: Nemiroff Joined: 05 Apr 2010
 |
|
Jeider wrote: |
нельзя делать слишком большое число зон в одном месте
|
угу, я вот был в одном месте накидал кучу номадов, патрулей и неписей всяких, так после я не мог выделить ни одного корабля и обьекта издали. Тока подлетев на расстояние 100м мог выбирать корабли или станции. Сделав поменьше зон такой глюк пропал. И после мог спокойно выбирать обьекты на большом расстоянии.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Так, проверил я этот drag_modifier. На инерцию не действует (в отличии от linear_drag в shiparch), а только на скорость. Вот моя зона:
Code: |
[zone]
nickname = Zone_rh_biz_planet_drag
pos = 43632, 0, 12557
shape = SPHERE
size = 3250
interference = 0.000001
drag_modifier = 8 |
При влете в зону скорость корабля делится ровно на 8. Вместо 200 летел где-то с 25. Хорошая вещь - позволяет тормозить корабль при входе в атмосферу.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Мда, идиотская вещь. Хак не пашет:
Code: |
common.dll 0DAD24 057B->0175 = make drag_modifier independent of interference/damage ~adoxa |
Поэтому, drag_modifier при низких значениях работает только при высоком interference или damage.
Пример:
Code: |
interference = 0.000001
drag_modifier = 8 |
При этом drag можно будет поставить где-то от 6 до 8.
Еще пример:
Code: |
interference = 0.5
drag_modifier = 2 |
Если interference меньше, то вероятнее всего drag просто не будет пахать. А в общем это не очень большая потеря - можно в любой туманности с большим interference попробовать уменьшить скорость на неочень большое значение (например, на 20%, т.е. drag_modifier = 1.2). В итоге радар не супер по дефолту, а мы еще ограничим скорость. Интерес++.
ЗЫ: снова обновил список параметров.
Last edited by Jeider on 20:19 08-12-2011; edited 1 time in total |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Обновил первый пост.
Добавлен список пустых, но рабочих ID из resources.dll.
|
|
|
HeIIoween
130 EGP
  Рейтинг канала: 3(25) : 12 Posts: 69
Joined: 15 Oct 2012
 |
|
Inherit товарищи.
Помимо того, где он уже работает, так же должен работать:
[Asteroid]
inherit = <nickname>
[DynamicAsteroid]
inherit = <nickname>
[AsteroidMine]
inherit = <nickname>
[<equipment>]
inherit = <nickname>
[solar] ; <-- проверено
inherit = <nickname> ; <-- все прекрасно работает
[Ship] ; <-- проверено
nickname = pi_elite2 ; <-- все
inherit = pi_elite ; <-- прекрасно
ship_class = 3 ; <-- работа
ids_name = 012021 ; <-- ет
Last edited by HeIIoween on 08:03 08-01-2013; edited 1 time in total |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Инхерит вроде не скрыт. Он активно применяется в инишках поведения НПЦ.
|
|
|
HeIIoween
130 EGP
  Рейтинг канала: 3(25) : 12 Posts: 69
Joined: 15 Oct 2012
 |
|
В указанных мною местах он скрыт. А где он не скрыт - я об этом сразу сказал: "помимо того, где он уже работает".
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
HeIIoween wrote: |
[Ship] ; <-- проверено
nickname = pi_elite2 ; <-- все
inherit = pi_elite ; <-- прекрасно
ship_class = 3 ; <-- работа
ids_name = 012021 ; <-- ет
|
Потестил
Ни
фига
не
работа
ет.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Jeider wrote: |
Потестил
Ни
фига
не
работа
ет.
|
Вру. Работает. Только изначальный объект должен быть объявлен РАНЬШЕ, чем тот, который берет из него данные.
Например:
Code: |
[Engine]
nickname = ge_oe_engine_01 <<оригинал
ids_name = 263702
ids_info = 264702
...
ОПИСАНИЕ ДВИГАТЕЛЯ
...
[Engine]
nickname = ge_oe_engine_02 <<копия
inherit = ge_oe_engine_01 |
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Не без моей помощи, известный во фриле хакер adoxa наконец-то таки активировал параметр use_animation на пушках, да и вообще всей стреляющей оборудке! Косяки:
А. Не работает если пушка стоит на дочернем объекте корабля (крыло, спойлер, хвост)
Б. Не работает когда на корабле есть дубликат этой же пушки. Анимация будет запускаться только на одой одинаковой пушке корабля.
Видео с примером:
https://www.youtube.com/watch?v=NnQtn1d5dRY
В первой половине все пушки переставлены на Root, а во второй половине сидят на крыле (и тупят).
А вот сам хак, который нужно применить.
Code: |
freelancer.exe 12C8A1 381FC644241C0274218B118B6844FF9284000000->C644E41C028B118B6844FF92840000008B401090 = mostly working weapon animations ~adoxa |
|
|
|
HeIIoween
130 EGP
  Рейтинг канала: 3(25) : 12 Posts: 69
Joined: 15 Oct 2012
 |
|
Вы уже с инишек на хаки перешли?
Вылетает, видимо, потому, что патч 1.1 не установлен.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Консоль скорее всего вылетает из-за версии 1.1, а вот этот хак должен был работать, потому что Freelancer.exe в 1.1 не патчится. Сам хак проверил на чистейшем девственном фриле с отрубленной сюжеткой через newplayer.fl и без патча до 1.1 - все работает. Один из 4 джастисов запускает анимацию при выстреле. Может ты не тот файл правил? Я взял Hexplorer, перешел по адресу и вставил нужный текст через ПКМ->Paste external text->As hex numbers и все получилось.
HeIIoween wrote: |
Вы уже с инишек на хаки перешли?
|
Дык параметр в инишках, а врубается хаком.
Last edited by Jeider on 10:36 28-05-2016; edited 1 time in total |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Мурзилка wrote: |
Нужно ли подключать для работы хака console dll?
|
Нет
Мурзилка wrote: |
Какой содержит патч 1.1?
|
Ни один.
Мурзилка wrote: |
Какой из них нужен?
|
В идеале - любой.
Мурзилка wrote: |
использования анимации use_animation = true/false ?
|
В чистом фриле на пушках все параметры выставлены. Ничего настраивать не нужно. Формат use_animation = <animation_name>. Пример: use_animation = Sc_Fire. Я надеюсь на то что в модовых пушках этот параметр тупо скопирован из обычных пушек, но без него ничего вылетать не должно
Если вылеты продолжатся - залей Freelancer.exe в интернет и скинь мне ссылку. Я его гляну. Ну и стоило бы посмотреть ошибки в администрировании винды. Там будет написана конкретная причина вылета (ссылка на адрес в какой-то DLL - это тоже помогло бы).
Last edited by Jeider on 18:15 28-05-2016; edited 1 time in total |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) : 49 Posts: 2805 Location: Пенза Joined: 17 Aug 2009
 |
|
Мурзилка wrote: |
use_animation = Sc_fire - тупо скопирован
|
Закомент везде и проверь - вылетит ли.
|
|
|
|
|
|
Канал Freelancer ->
МОДовый отсек: «Скрытые параметры для инишек» |
|