|
|
|
Канал Freelancer »
МОДовый отсек: «Скрытые параметры для инишек» |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.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]).
Последний раз редактировалось: Jeider (10:27 29-05-2016), всего редактировалось 25 раз(а) |
|
|
Endeavour
1015 EGP
       Рейтинг канала: 2(23) Репутация: 105 Сообщения: 7041 Откуда: guess Зарегистрирован: 26.05.2005
 |
|
Нужно учитывать, что не для всех недокументированных параметров есть имплементация в коде.
Последний раз редактировалось: Endeavour (09:36 26-09-2011), всего редактировалось 1 раз |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
thiscall : |
Нужно учитывать, что не для всех недокументированных параметров есть имплементация в коде.
|
Большинство указанных параметров проверено на своей шкуре.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Почистил список - оставил только самое интересное.
|
|
|
Whiskas
137 EGP
  Рейтинг канала: 3(42) Репутация: 5 Сообщения: 139
Зарегистрирован: 28.04.2011
 |
|
Наткнулся ещё на drag_modifier, который по заданному делителю уменьшает скорость корабля и cruising_speed в пределах [zone], прописанной в системе.
Сначала хэкс-эдитором меняется в common.dll байт 74 на EB по оффсету 053796.
В системе прописывается зона:
Код: |
[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-х зон все-таки работает. че за дела
зы
Код: |
common.dll 0DAD24 057B->0175 = make drag_modifier independent of interference/damage ~adoxa |
Насчет interference догадываюсь, но при чем тут damage?
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Да, спасибо что напомнил про усилитель linear_drag. В стандартном не хакнутом фриле эта фигня не работает - просто голос Neural Net скажет "increase drag detected" и ничего не происходит. В идеале эффект будет такой же, что и поставить в shiparch параметр linear_drag более высоким, т.е. увеличится передний противовес космоса и сложнее будет набрать максимальную скорость, а КЭ будет слетать значительно быстрее.
Хак я уже сделал, но на практике не проверил - завтра (а по часам уже сегодня ) Постараюсь попробовать и потом скажу результат.
добавлено спустя 1 минуту:
Whiskas T-Mech : |
фрил безбожно жрет памяти и не грузится
|
Естественно, нельзя делать слишком большое число зон в одном месте.
Последний раз редактировалось: Jeider (09:48 18-11-2011), всего редактировалось 3 раз(а) |
|
|
goshadiamo
155 EGP
  Рейтинг канала: 3(38) Репутация: 14 Сообщения: 775 Откуда: Nemiroff Зарегистрирован: 05.04.2010
 |
|
Jeider : |
нельзя делать слишком большое число зон в одном месте
|
угу, я вот был в одном месте накидал кучу номадов, патрулей и неписей всяких, так после я не мог выделить ни одного корабля и обьекта издали. Тока подлетев на расстояние 100м мог выбирать корабли или станции. Сделав поменьше зон такой глюк пропал. И после мог спокойно выбирать обьекты на большом расстоянии.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Так, проверил я этот drag_modifier. На инерцию не действует (в отличии от linear_drag в shiparch), а только на скорость. Вот моя зона:
Код: |
[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 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Мда, идиотская вещь. Хак не пашет:
Код: |
common.dll 0DAD24 057B->0175 = make drag_modifier independent of interference/damage ~adoxa |
Поэтому, drag_modifier при низких значениях работает только при высоком interference или damage.
Пример:
Код: |
interference = 0.000001
drag_modifier = 8 |
При этом drag можно будет поставить где-то от 6 до 8.
Еще пример:
Код: |
interference = 0.5
drag_modifier = 2 |
Если interference меньше, то вероятнее всего drag просто не будет пахать. А в общем это не очень большая потеря - можно в любой туманности с большим interference попробовать уменьшить скорость на неочень большое значение (например, на 20%, т.е. drag_modifier = 1.2). В итоге радар не супер по дефолту, а мы еще ограничим скорость. Интерес++.
ЗЫ: снова обновил список параметров.
Последний раз редактировалось: Jeider (20:19 08-12-2011), всего редактировалось 1 раз |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Обновил первый пост.
Добавлен список пустых, но рабочих ID из resources.dll.
|
|
|
HeIIoween
130 EGP
  Рейтинг канала: 3(25) Репутация: 12 Сообщения: 69
Зарегистрирован: 15.10.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 ; <-- ет
Последний раз редактировалось: HeIIoween (08:03 08-01-2013), всего редактировалось 1 раз |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Инхерит вроде не скрыт. Он активно применяется в инишках поведения НПЦ.
|
|
|
HeIIoween
130 EGP
  Рейтинг канала: 3(25) Репутация: 12 Сообщения: 69
Зарегистрирован: 15.10.2012
 |
|
В указанных мною местах он скрыт. А где он не скрыт - я об этом сразу сказал: "помимо того, где он уже работает".
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
HeIIoween : |
[Ship] ; <-- проверено
nickname = pi_elite2 ; <-- все
inherit = pi_elite ; <-- прекрасно
ship_class = 3 ; <-- работа
ids_name = 012021 ; <-- ет
|
Потестил
Ни
фига
не
работа
ет.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Jeider : |
Потестил
Ни
фига
не
работа
ет.
|
Вру. Работает. Только изначальный объект должен быть объявлен РАНЬШЕ, чем тот, который берет из него данные.
Например:
Код: |
[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 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Не без моей помощи, известный во фриле хакер adoxa наконец-то таки активировал параметр use_animation на пушках, да и вообще всей стреляющей оборудке! Косяки:
А. Не работает если пушка стоит на дочернем объекте корабля (крыло, спойлер, хвост)
Б. Не работает когда на корабле есть дубликат этой же пушки. Анимация будет запускаться только на одой одинаковой пушке корабля.
Видео с примером:
https://www.youtube.com/watch?v=NnQtn1d5dRY
В первой половине все пушки переставлены на Root, а во второй половине сидят на крыле (и тупят).
А вот сам хак, который нужно применить.
Код: |
freelancer.exe 12C8A1 381FC644241C0274218B118B6844FF9284000000->C644E41C028B118B6844FF92840000008B401090 = mostly working weapon animations ~adoxa |
|
|
|
HeIIoween
130 EGP
  Рейтинг канала: 3(25) Репутация: 12 Сообщения: 69
Зарегистрирован: 15.10.2012
 |
|
Вы уже с инишек на хаки перешли?
Вылетает, видимо, потому, что патч 1.1 не установлен.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Консоль скорее всего вылетает из-за версии 1.1, а вот этот хак должен был работать, потому что Freelancer.exe в 1.1 не патчится. Сам хак проверил на чистейшем девственном фриле с отрубленной сюжеткой через newplayer.fl и без патча до 1.1 - все работает. Один из 4 джастисов запускает анимацию при выстреле. Может ты не тот файл правил? Я взял Hexplorer, перешел по адресу и вставил нужный текст через ПКМ->Paste external text->As hex numbers и все получилось.
HeIIoween : |
Вы уже с инишек на хаки перешли?
|
Дык параметр в инишках, а врубается хаком.
Последний раз редактировалось: Jeider (10:36 28-05-2016), всего редактировалось 1 раз |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Мурзилка : |
Нужно ли подключать для работы хака console dll?
|
Нет
Мурзилка : |
Какой содержит патч 1.1?
|
Ни один.
Мурзилка : |
Какой из них нужен?
|
В идеале - любой.
Мурзилка : |
использования анимации use_animation = true/false ?
|
В чистом фриле на пушках все параметры выставлены. Ничего настраивать не нужно. Формат use_animation = <animation_name>. Пример: use_animation = Sc_Fire. Я надеюсь на то что в модовых пушках этот параметр тупо скопирован из обычных пушек, но без него ничего вылетать не должно
Если вылеты продолжатся - залей Freelancer.exe в интернет и скинь мне ссылку. Я его гляну. Ну и стоило бы посмотреть ошибки в администрировании винды. Там будет написана конкретная причина вылета (ссылка на адрес в какой-то DLL - это тоже помогло бы).
Последний раз редактировалось: Jeider (18:15 28-05-2016), всего редактировалось 1 раз |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Мурзилка : |
use_animation = Sc_fire - тупо скопирован
|
Закомент везде и проверь - вылетит ли.
|
|
|
|
|
|
Канал Freelancer ->
МОДовый отсек: «Скрытые параметры для инишек» |
|