Elite Games - Свобода среди звезд!
.
  » x2story.obj: дописываем и переписываем obj-код. |
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 1 of 6
Go to page: 1, 2, 3, 4, 5, 6  Next | All pages
Поиск в этой теме:
Канал X2: The Threat: «x2story.obj: дописываем и переписываем obj-код.»
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Вот, решил создать новую тему по обжам, поскольку изменения уже давно вышли за рамки добавления новых команд в скрипт-редактор, да и выкладывать патчи удобнее в первом посте.

Готов новый патч версии 3.0 бета. Содержит возможности патча Shaddie версии 0.13.

Также прилагаются исходники, если кого-то заинтересует Улыбка

x2story_3_0_03b.rar
 Description:
obj-патч версии 3.0.03 бета
 Filename:  x2story_3_0_03b.rar
 Filesize:  621.16 KB
 Downloaded:  979 Time(s)
x2story_3_0_01-02b_to_3_0_03b_sources.rar
 Description:
апдейт исходников obj-патча версии 3.0.01/02 бета до 3.0.03 бета
 Filename:  x2story_3_0_01-02b_to_3_0_03b_sources.rar
 Filesize:  8.33 KB
 Downloaded:  828 Time(s)
x2story_3_0_02b_sources.rar
 Description:
исходники obj-патча версии 3.0.02 бета
 Filename:  x2story_3_0_02b_sources.rar
 Filesize:  739.54 KB
 Downloaded:  888 Time(s)
x2story_3_0b.rar
 Description:
obj-патч версии 3.0 бета
 Filename:  x2story_3_0b.rar
 Filesize:  648.78 KB
 Downloaded:  823 Time(s)


Last edited by Darth Revan on 02:42 03-04-2007; edited 9 times in total
    Posted: 01:35 24-03-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Из серии 2.1 в патч вошли:

- ActivationController - специальный гибко настраиваимый контроллер, управляющий активацией/деактивацией объектов в активном секторе. В версии 3.0 все корабли, находяшиеся на станциях и кораблях-носителях (это не относится к внешней стыковке) поддерживаются неактивными. В целом, контроллер приводит к существенному повышению fps, убирая отображение и значительно снижая затраты на обсчёт удалённых от корабля игрока объектов.
- Новый боевой скрипт (а точнее, объектный код), повышающий эффективность npc-кораблей в бою. В версии 3.0 появилась скрипт-команда attack object кроме уже имевшегося номера операции в команде perform operation. Соответственно, поставляется скрипт !fight.attack.object.xml, который можно использовать вместо стандартного, или, переименовав, вместе со стандартным.
- Моделирование инерции. Доступно три модели инерции. В рамках первой моделируется движение в среде без сопротивления, но с ограничением на максимальную скорость. Во втором и третьем варианте моделируется движение в среде с сопротивлением (во второй сопротивление пропорционально скорости корабля, в третьей - квадрату скорости). Подробности см. в файле Инерция.txt.
- Оптимизирована скорость загрузки секторов. Некоторые изменения, произведенённые в ActivationController в версии 3.0, ещё ускорили загрузку секторов.

В версии 3.0 появилось следующее:

- Патч теперь поставляется в виде obj-файла и не требует компиляции.
- Все параметры, которые ранее задавались в asm-файлах, а также ряд других, вынесены в ini-файлы.
- Изменены механизмы рассчёта повреждений, появились дополнительные возможности настройки повреждений от попаданий, в том числе повреждений в удалённом бою, а также повреждений при столкновениях.
- Полностью изменёно поведение щитов. Щиты теперь, как пушки, устанавливаются в слоты с ограничением на установку в каждый слот. Соответственно, в меню корабля появилась новое подменю "щиты". Появился ряд дополнительных свойств щитов.
- Снято ограничение на максимальное количество пушек.
- Многие параметры пушек, щитов, кораблей и ракет, особенно новые, вынесены в ini-файлы. Добавлена скрипт-команда, позволяющая в любой момент перечитать ini-файлы.
- Введена поддержка конфигураций оборудования для кораблей. Прилагается утилита txt2ini.exe для построения ряда ini-файлов по файлам TShips.txt, TCockpits.txt.

Другие изменения:

- Изменёна система задания конфигураций оборудования кораблей при продаже на верфях.
- Улучшено поведение объектов при столкновении с включённой инерцией - теперь объекты отскакивают друг от друга, хотя это зависит от их типа. Например, истребитель отскочит от бигшипа, но не наоборот.
- Ряд дополнительных возможностей, которые будут описаны ниже.
- Исправлен баг со сбросом параметров ActivationController при загрузке с сохранения.
- Исправлен серьёзный баг, приводивший к тому, что иногда некоторые из дополнительных потоков (например, поток моделирования инерции) не уничтожались в нужное время и могли повиснуть навечно.
- Исправлен ряд других багов разной степени тяжести.

Теперь остановимся на всём выше перечисленном более подробно. Начнём с перечисления имён ini-файлов. Всего их 15 и, по существу, они представляют собой реляционную базу данных, где каждый из ini-файлов - отдельная таблица. Итак, вот список файлов:

ammunition.ini
globals.ini
loadout_missiles.ini
loadout_shields.ini
loadout_turrets.ini
loadout_wares.ini
loadouts.ini
missiles.ini
shield_slots.ini
shields.ini
ship_types.ini
ships.ini
turrets.ini
weapon_types.ini
weapons.ini

Прежде всего, весь рассчёт повреждений и работа щитов теперь перенесёна в x2story.obj, так что необходимо занулить значения Hull damage и Shield damage в файлах TBullets.txt и TRockets.txt, а значения перенести в файлы weapons.ini и missiles.ini. Все пушки следует прописывать как в TLaser.txt, TBullets.txt, так и в файле weapons.ini. Точно так же, ракеты следует прописывать как в TRockets.txt, так и в missiles.ini. Поскольку количество пушек более не ограничено числом 32, то использование 32-битовых масок под доступные пушки более неприемлимо, поэтому совместимые пушки для каждого типа турели (кокпита) теперь задаются в файле turrets.ini. Каждой пушке или ракете можно задать тип (группу) орудия - weapon_type. Для повреждения от попадания снаряда, выпущенного из каждого типа орудия по каждому щиту можно задать модификатор (множитель). Кроме модификатора повреждения, тип орудия определяет и ряд других парметров, которые будут обсуждены ниже. Как и ранее, факт использования аммуниции пушками и субтип товара аммуниции задаётся в файле TBullets.txt, но некоторые дополнительные свойства для аммуниции могут быть заданы в файле ammunition.ini. Так же как пушки и ракеты, щиты следует прописывать как в файле TShields.txt, так и в файле shields.ini. Поскольку теперь для щитов, как и для пушек, действует слотовая система, то введено понятие типа слота щита, аналогичное понятию типа турели. Соответственно, в файле shield_slots.ini для каждого типа слота перечисляются совместимые щиты. Файл ships.ini для каждого корабля содержит информацию о типах турелей и слотов щитов, различные конфигурации оборудования, имя объектного класса для корабля и тип (группа) корабля. Типы (группы) кораблей, как и типы орудий, использюуются для задания модификаторов к повреждениям и описываются в файле ship_types.ini.
На данный момент доступно задание модификатора повреждения для удалённого боя при попадании из каждой из пушек по каждому типу корабля. Конфигурации оборудования (лодауты) задаются пятью файлами: loadout_turrets.ini, loadout_shields.ini,
loadout_missiles.ini, loadout_wares.ini, loadouts.ini. Первые четыре содержат лодауты для турелей (кокпитов), слотов щитов, ракет и апгрейдов соответственно. Последний формирует лодауты для кораблей, т.е. собирает воедино данные из предыдущих четырёх файлов, а именно: лодауты для кажлой из турелей, лодауты для каждого из слотов щитов, а также лодаут ракет и лодаут товаров(апгрейдов). Файл globals.ini содержит параметры патча, часть из которых задавалась ранее в ini-файлах.

Теперь подробно рассмотрим все параметры (поля) в каждом из ini-файлов и их использование. Начнём с примера. Вот как выглядит описание параметров пушки PAC alpha:

Code:
[weapon_apac]
subtype              = 3
weapon_type          = weapon_type_pac
hull_damage          = 50
shield_damage        = 200
rate_of_fire         = 200
unknown              = 0
menu_box_line        = 0
menu_box_pos         = 4
menu_box_color       = 0101A0


Здесь weapon_apac - произвольное символьное имя пушки, по которому происходит связь с другими ini-файлах (или, иными словами, имя, по которому в других ini-файлах можно указать на пушку). Далее следует список параметров и их значений. В разных ini-файлах формат значений может несколько различаться.

Перейдём к рассмотрению параметров файла weapons.ini.

weapons.ini

В этом файле хранятся параметры пушек. Поддерживаются следующие параметры:

subtype
weapon_type
hull_damage
shield_damage
rate_of_fire
ammo_usage_remote
unknown
menu_name_subst
menu_box_line
menu_box_pos
menu_box_color

Итак, subtype - субтип (товара) пушки. Именно по этому полю происходит связь описаний пушек в weapons.ini со значениями в TLaser.txt и TBullets.txt.
weapon_type - тип орудия.
hull_damage и shield_damage - значения повреждения корпуса и щитов одним снарядом, выпущенным из пушки, перенесённые из TBullets.txt. Значения этих параметров могут быть отрицательными.
rate_of_fire - скорострельность пушки в минуту. Используется для рассчёта повреждений в удалённом бою. Значение как правило переносится из TLaser.txt.
ammo_usage_remote - средний расход в минуту боеприпасов для удалённого боя. Параметр можно опускать, если пушка не использует аммуницию. Напомним, что факт использования аммуниции задаётся в файле TBullets.txt флагом 64 для bullet type, а субтип товара боеприпаса полем volume (в названиях пролей X2 TXT Editor).
unknown - индикатор неизвестности пушки игроку. Доступно три значения. 0 - пушка известна, отображается как обычно. 1 - цветная полоска пушки отображается, но в меню информации о корабле, там, где перечисляется список совместимых пушек, вместо названия пушки, заданного в TLaser.txt, отображается другое название, которое также прописывается в текстовых ресурсах в page 17, но id задаётся полем menu_name_subst. 2 цветная полоска пушки не отображается, и в меню информации о корабле, в списоке совместимых пушек, название не отображается.
menu_box_line, menu_box_pos и menu_box_color задают строку, положение и rgb-цвет полоски пушки в меню (поскольку пушек может быть много, то полоски пушек в меню могут занимать несколько строк для каждой турели).

weapon_types.ini

Здесь перечисляются типы орудий и параметры повреждения щитов для каждого типа. Доступно три параметра:

damage_modifier
damage_block
penetrate

damage_modifier задаёт модификатор (множитель) в процентах повреждения одним снарядом из пушки текущего типа орудия заданного щита.
damage_block задаёт ту энергию в kJ от попадания снаряда, выпущенного из пушки текущего типа орудия, которую заданный щит блокирует(проглотит) без уменьшения текущей ёмкости щита.
penetrate - параметр, указывающий, будет ли энергия от попадания снаряда, выпущенного из пушки текущего типа орудия проходить через заданный щит (как у массдрайвера). Если на корабле или станции установлено несколько щитов, то повреждение от снаряда не будет проникать через щиты, если оно не проникает хотя бы через один из установленных щитов. Пример использования этого параметра - щит shield_md_blocker_1.

Например, пусть имеется некоторый тип орудия
Code:
[weapon_type_1]
damage_modifier = shield_1, 40
damage_block    = shield_1, 1000
...
и некоторая пушка
[weapon_1]
weapon_type     = weapon_type_1
shield_damage   = 4000
...

Тогда повреждение от попадания снаряда, выпущенного из пушки weapon_1 по щиту shield_1 будет вычисляться следующим образом:
shield_damage=4000*40/100-1000.

missiles.ini

В этом файле хранятся параметры ракет. Используются следующие параметры, по названию и использованию совпадающие с аналогичными в weapons.ini:

subtype
weapon_type
hull_damage
shield_damage

ammunition.ini

Параметры:

subtype
ammo_box_capacity

subtype - субтип товара аммуниции
ammo_box_capacity - количество снарядов в одной коробке

shields.ini

Теперь перейдём к параметрам щитов. Обработка щитов также перенесена в x2story.obj. В связи с этим в TShields.txt добавлен один специальный щит с субтипом 4 (именно этот щит и подсовывается движку). Доступены следующие параметры:

subtype
capacity
regeneration
damage_block
restore_time
toughness
uncover_slots
unknown
menu_name_subst
menu_box_line
menu_box_pos
menu_box_color

subtype - субтип щита.
capacity - ёмкость (энергия) щита в kJ.
regeneration - скорость регенерации щита, kW.
damage_block - процент энергии,которую блокирует щит. Блокируется процент как щитовой, так и корпусной компоненты урона. Если щитов на корабль или станцию установлено несколько, то результирующие значения для каждого из последних трёх параметров равны сумме соответстующих значений у каждого из щитов.
toughness - крутизна щита. Используется при вычисления крутизны корабля вместо ёмкости (поскольку меньшая ёмкость щита не обязательно означает, что щит хуже), а также использеуется в качестве весовых коэффициентов при суммировании некоторых характеристик по нескольким установленным щитам. Параметр должен принимать положительное значение.
restore_time - время восстановления в секундах работоспособности отключенных щитов. Если значение restore_time положительно, то когда щит будет пробит (т.е. текущая ёмкость снизится до нуля), щит отключится на время restore_time секунд. В течении этого времени ёмкость щита будет нулевой, однако щит будет накапливать энергию (восстанавливаться) с обычной скоростью. По истечении времени restore_time секунд ёмкость щита (скачком) примет накопленное значение. Если же restore_time неположительно, то пробитый щит отключаться не будет, т.е. будет работать как обычно. Когда щитов на корабле или станции установлено несколько, то суммарное значение restore_time является взвешенной суммой значений этого параметра для каждого из установленных щитов с весовыми коэффициентами, равными toughness соответствующих щитов. Например, если установлено два щита с временами восстановления restore_time1 и restore_time2 и крутизной toughness1 и toughness2, то время восстановления щитов у корабля будет равно (restore_time1*toughness1+restore_time2*toughness2)/(toughness1+toughness2).
uncover_slots - количество дополнительных слотов щитов, которые откроются у корабля при установке щита. Для работы дополнительных слотов необходимо, чтобы они были прописаны в файле ships.ini.
Параметры unknown, menu_name_subst, menu_box_line, menu_box_pos и menu_box_color имеют тот же смысл, что и в файле weapons.ini.

ship_types.ini

damage_modifier_remote

damage_modifier_remote задаёт модификатор (множитель) в процентах повреждения в удалённом бою заданной пушкой корабля текущего типа для .
Станции также имеют свои модификаторы: считаются, что станции имеют тот тип корабля, который указан первым в файле ship_types.ini, т.е. ship_type_default.

В данном контексте целесообразно рассмотреть некоторые дополнительные вопросы, связанные с реальным и удалённым боем. Строго говоря, существуют пять (и даже шесть) типов боя.
1. Реальный бой - бой активного объекта с активным.
2. Удалённый бой в активном секторе - бой неактивного объекта с неактивным в активном секторе.
3. Смешанный бой - бой активного объекта с неактивным. В этом случае для неактивный объект ведёт бой так же, как и в случае 2, а активный несколько по иному, но таймауты и нанесение повреждений совпадают. Такой бой возможен только при включённом Activation Controller, и происходить он может на границе активации, а также между активными крупными кораблями, находящимися на достаточно большом расстоянии от игрока так, что более мелкие вражеские корабли вокруг него неактивны.
4. Удалённый бой в секторе, имеющем фокус обозрения, т.е., по существу, когда открыта карта этого сектора.
5. Удалённый бой в секторе, не имеющем фокус обозрения, т.е. все остальные сектора.

В настоящей реализации случаи 4 и 5 практически совпадают, но отличаются от случаев 2 и 3 таймаутами. Тем не менее, случаи 2-5 не сильно отличаются друг от друга как в плане количества наносимых повреждений, так и в способе их нанесения, так что вполне обоснованно их объединять в одно название - удалённый бой. Тем не менее, от активного боя он будет отличаться всегда. Отличие между ними очевидно - в активном бою нанесение повреждений происходит от попадания каждого снаряда, в то время как в удалённом бою повреждение за определённый промежуток времени (таймаут) рассчитывается статистически. В частности, поскольку в активном бою повреждение наносит каждый конкретный снаряд, то параметр rate_of_fire в weapons.ini на величину повреждений не влияет. Разумеется, косвенно на неё будет влиять скорострельность пушки, которая задаётся в файле TLaser.txt, но не значение параметра rate_of_fire. Значение же rate_of_fire для рассчёта повреждений в удалённом бою, чтобы узнать величину повреждения щита и корпуса, которую нанесла бы пушка в секунду, если бы все снаряды попали в цель. Отметим несколько моментов.
1. В файле globals.ini имеется параметр FightDamagePercentRemote, который означает вероятность (в процентах) попадания в удалённом бою. Этот модификатор действует удалённых боёв вне зависимости от установленных пушек, щитов, типов кораблей и т.п., и, по сути, является масштабирующим коэффициентом средниз повреждений в удалённых боях.
2. Значение rate_of_fire в weapons.ini совершенно не обязательно должно совпадать со скорострельностью пушки (максимальным числов выстрелов в минуту). Изменение rate_of_fire будет прямо пропорционально влиять на все повреждения, наносимые пушкой в удалённом бою, не влияя на повреждения в активном. Здесь следует отметить, что модификаторы повреждений, заданные в weapon_types.ini (особенно это касается модификатора damage_block), применяются, как и в активном бою, для повреждения отдельным снарядом, а уже затем результат умножается на величину rate_of_fire (для повреждения за минуту). Поэтому имеет смысл небольшое уменьшение значения rate_of_fire по сравнению с величиной скорострельности, заданной в TLaser.txt, в зависимости от энергетической эффективности пушки.
3. Как в активном, так и в удалённом случае, действует система модификаторов повреждений "тип орудия-щит".
4. В удалённом бою действуют модификаторы повреждений "пушка-тип корабля", дающие возможность отобразить на неактивный бой последствия таких элементов активного боя, как скорость полёта снаряда и скорость поворота турели. В данной реализации имеется и недостаток - никак не отражается скорость корабля среди кораблей его типа (в частности, даже один и тот же корабль со, скажем, максимальным количеством апгрейдов двигателя, будет более живучим, чем корабль без оных).

Теперь перейдём к одному достаточно неприятному моменту. Дело в том, что лучевые пушки (флаг bullet type 2), в том числе Ion Disruptor (флаг bullet type 4) и PSG (флаг bullet type 8) ввиду своей природы в активном бою посылают сигналы о попадании достаточно часто. В связи с этим есть две неприятности. Во-первых, сигналы посылаются достаточно часто, чтобы при интенсивном использовании снижалась производительность. С другой стороны, что хуже всего, количество этих сигналов (особенно в случае лучевых пушек), насколько удалось проверить, зависит от загруженности игры в конкретный момент, причём разница может оказаться весьма существенной. По крайней мере, наблюдалось примерно от 60 до 100 сигналов для лучевых пушек. Если первую проблему можно уменьшить, отбрасывая часть сигналов, то со второй всё обстоит гораздо хуже, причём нет уверенности, что количество сигналов не зависит от параметров пушки/снаряда, таких, как скорострельность и время жизни снаряда. В данной реализации обработка лучевых пушек и PSG происходит следующим образом. Сигнал о повреждении обрабатывается с вероятностью (в процентах), задавыемой параметрами BeamWeaponHitProbabActive и PSGWeaponHitProbabActive соответственно в файле globals.txt. При обработке предполагается, что количество сигналов, которое поступает в секунду, равно значениям параметров BeamWeaponHitSignalsActive и PSGWeaponHitSignalsActive. Соответственно, увеличение последних двух параметров приводит к уменьшению повреждения в активном бою от соответствующих пушек, а уменьшение - к увеличению. Значение rate_of_fire следует выставит равным 60, соответственно смасштабировав hull_damage и shield_damage соответственно. Например, если для лучевой пушки скорострельность (т.е. параметр из TLaser.txt) равена 120 выстрелов в секунду, а повреждением щита 2000kJ, то мы выставляем rate_of_fire=60, shield_damage=4000. Вместе с тем, в случае необходимости, величиной rate_of_fire всегда можно настроить баланс активного и удалённого боёв для каждой отдельной пушки.

Вернёмся к параметрам оставшихся ini-файлов. В файлах turrets.ini и shield_slots.ini для каждого типа турели или слота щитов соответственно перечисляются имена совместимых пушек или щитов, по одной (одному) в строке. Перейдём к файлам лодаутов.

loadout_turrets.ini

В этом файле задаются лодауты турелей. Возможно два типа лодаутов турелей - случайные и (неслучайные). В первом случае лодаут турели задаётся несколькими строками, содержащих имя пушки и вероятность установки. Например,
Code:
[turret_p_m3_main_weapon_rand]
weapon_ahept, 87
weapon_gpac, 10
weapon_bpsg, 3


В неслучайные лодауты турелей просто указывается устанавливаемая пушка. Например,
Code:
[turret_p_m3_main_weapon_max]
weapon_ahept


В обоих вариантах лодаутов одна и та же пушка будет устанавливается во все слоты турели.

loadout_shields.ini

Лодауты щитов задаются аналогично лодаутам турелей.

loadout_missiles.ini

В этом файле задаются лодауты ракет. На данный момент доступно два варианта лодаута:
missiles = default
и
missiles = max

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

loadout_wares.ini

Здесь можно прописать лодауты для различных товаров.

engine_tuning
rudder_opt
cargobay_ext
wares

Параметры engine_tuning, rudder_opt, cargobay_ext указывают, как будет задаваться количество апгрейдов двигателя, руля и грузотсека соответственно. Доступно два значения: default и max, означающие соответственно стандартную процедуру установки указанного апгрейда и установку максимально возможного их числа. Любую из трёх строк можно опустить - тогда соответствующий апгрейд не будет установлен.
Параметр wares, если он указан, может принимать единственное значение default, что означает, что будет осуществлена стандартная процедура установки остальных апгрейдов.
Кроме того, возможно указание дополнительного списка устанавливаемых товаров. В качестве товара может выступать всё что угодно - апгрейд, оборудование или просто товар. Например, если это пушка, то она будет установлена в свободный слот турели, с которой она совместима; если же такой турели не найдётся, то пушка добавится на корабль как товар. Иными словами, для товара будет произведена установка, а не просто добавление в грузотсек.
Для каждого устанавливаемого апгрейда, оборудования или товара задаётся строка
ware maintype, subtype, amount.
Здесь maintype и subtype - главный тип и субтип товара, amount - количество.

loadouts.ini

В этом файле задаются лодауты кораблей, которые составляются из лодаутов пушек, щитов, ракет и товаров. Соответственно, имеется четыре параметра:

turret
shield
missiles
wares

Для каждой турели и слота щитов добавляется своя строка с указанием номера турели(кокпита) или слота щита и имени лодаута турели или щита. Например,
Code:
[ship_a_m3a_loadout_rand]
turret   = 0, turret_a_m3a_main_weapon_rand
turret   = 1, turret_a_rear_m3_weapon_rand
shield   = 1, shield_slot_3_rand
shield   = 2, shield_slot_3_upgr_rand
shield   = 3, shield_slot_3_upgr_rand
missiles = missiles_default
wares    = upgrades_default


Обратите внимание, что слоты щитов нумеруются начиная с единицы.

ships.ini

В файле задаются параметры кораблей. Используются следующие параметры:

subtype
obj_class
ship_type
turret
shield
loadout

subtype - субтип корабля.
obj_class - имя объектного класса-обработчика для корабля. Список имён классов приведён в файле class_names.txt.
ship_type - тип корабля.
turret - отдельной строкой для каждой турели задаётся её тип из turrets.ini.
shield - отдельной строкой для каждого слота щита задаётся его тип из shield_slots.ini.
loadout - каждая строка содержит лодаут корабля с указанием его порядкового номера. Лодаут с номером 0 (вместо 0 можно указывать "default") используется при экипировке кораблей автоматически, в том числе скрипт-командой add default items. Скрипт-командой add items by loadout [номер] можно произвести установку оборудования согласно лодауту с указанным номером. Также командами add lasers by loadout, add shields by loadout, add missiles by loadout, add wares by loadout можно установить только соответствующую часть оборудования из лодаута с заданным номером (т.е. по части лодаута, заданной в одном из файлов loadout_turrets.ini, loadout_shields.ini,
loadout_missiles.ini, loadout_wares.ini).

Отметим, что максимальное число слотов щитов, как и прежде, задаётся в TShips.ini. Однако специальными щитами можно открывать дополнительные слоты. Чтобы эти дополнительные слоты работали, их типы слотов для них должны быть прописаны в файле ships.ini.

Теперь перейдём к файлу globals.ini.

globals.ini

RacesNumber - число доступных рас в игре. Должно быть кратно 32.
MaxSectorsX, MaxSectorsY - максимальное число секторов по x и y соответственно (сектора с x>20 и y>15 не будут отображаться в меню галактики и к ним не будут рассчитываться пути через врата).
UseOriginalAddDefaultItems - использовать ли объектный обработчик TSHIP.AddDefaultItems(), или же вызывать скрипт event.ship.adddefaultitems. Скрипт принимает один параметр - корабль.
SendMissileAlertSignal - посылать ли сигнал о запуске ракет по станциям и кораблям (активный бой). Вызываются скрипты event.ship.missilealert и event.station.missilealert соответственно, запускаются глобально через START, корабль передаётся в качестве параметра
EquipmentDamageEnabled - включить - выключить повреждения оборорудования от столкновений и пр.
MaxVoiceStreams - максимальное число файлов с озвучкой из папки mov, которые можно одновременно подключить.
MineShieldDamage, MineHullDamage, MineHullDamage2 - величины повреждений щита, корпуса и проникающего через щиты повреждения корпуса от взрыва мины. Никакие модификаторы, в том числе щитовые, в данном случае не действуют.
MaxSETAFactor10 - максимально допустимый множитель S.E.T.A.
StoreFactor - размер склада для станций.
CheatActive - включить/отключить чит режим.
ShowAllScriptsInEditor - включить/отключить возможность отображения и редактирования скриптов, начинающихся с ! в скрипт-редакторе.
StationShield, StationShieldsNum - какой щит (имя из shields.ini) и сколько устанавливается на станции.
LasertowerShield, LasertowerShieldsNum - какой щит и сколько устанавливается лазерную башню.
CollisionDamageDivisor - величина, используемая для рассчёте повреждений при столкновении объектов. Чем значение выше, тем повреждения (пропорционально) меньше.
FightDamagePercentRemote - множитель (в процентах) повреждений в удалённом бою.
BeamWeaponHitProbabActive, BeamWeaponHitSignalsActive, PSGWeaponHitProbabActive, PSGWeaponHitSignalsActive - специальные параметры, используемые при рассчёте повреждений от лучевых и PSG пушек. Использование этих параметров уже обсуждалось ранее.
InertiaModel - номер модели инерции. 0 - моделирование инерции отключено.
InertiaTimestepPl - шаг времени моделирования (в мс) инерции для корабля игрока.
InertiaTimestepNpc - шаг времени моделирования (в мс) инерции для других кораблей.
InertiaSETATimestepMul - увеличивать ли шаг моделирования пропорционально множителю S.E.T.A.
SpeedUpgradeDependent - зависит ли максимальная скорость корабля от количества апгрейдов двигателя.
InertiaAccelUpgradeDependent - зависит ли максимальное ускорение корабля от количества апгрейдов двигателя (действует при включённом моделировании инерции).
InertiaModel1CompensFactor, InertiaModel2EnvResistance, InertiaModel3EnvResistance - параметры моделей инерции
LasersInstallCondition - параметр задаёт, можно ли устанавливать пушки в меню установки пушек, выборе по горячим клавишам, подборе в контейнерах всегда или только когда корабль к чему-нибудь пристыкован. Значение 0 - разрешить всегда. В противном случае можно задать список имён классов кораблей и имён классов объектов для каждого, на которых изменение конфигурации пушек разрешено. Возможные имена классов приведены в файле class_names.txt. Список классов кораблей проверяется слева-направо до первого совпадения. Например, следующая строка
LasersInstallCondition = TSHIP_BIG: TFACTORY_SHIP, TDOCK_EQUIP; TSHIP: TFACTORY_SHIP, TDOCK_EQUIP, TSHIP_M1
означает, что крупные корабли могут устанавливать пушки на верфях и в доках оборудования, а остальные - на верфях, в доках оборудования и на кораблях-носителях M1.
ShieldsInstallCondition - аналогичный параметр для щитов.
AllowEqDockExtraWares - разрешить/запретить возможность торговли с доками оборудования теми пушками, щитами и ракетами, которых нет в списке товаров дока оборудования, но есть в трюме торгующего корабля.
ShipyardDefaultLoadoutNum - задаёт для верфей номер лодаута корабля, который будет использоваться при его комплектации для продажи. Более подробно о новой системе комплектации кораблей ниже.

Рассмотрим изменения в механизме комплектации кораблей на верфях для продажи. Теперь на верфях предлагается не три варианта комплектации (S, M и L), а один настраиваемый. А именно: у каждой верфи есть переменная, которая содержит номер лодаутов кораблей, который будет использоваться для комплектации кораблей при продаже. В этих лодаутах кораблей лодауты турелей и щитов для каждой турели и слота соответственно должны быть неслучайными. Номер лодаута на кораблей для любой верфи можно изменить в любой момент при помощи команды perform operation с именем операции SetShipyardLoadoutNum. По умолчанию для верфей номер лодаута кораблей равен значению параметра ShipyardDefaultLoadoutNum из файла globals.ini. Прилагаемая утилита txt2ini.exe создаёт для каждого корабля лодауты с номерами 2 и 3, и эти номера можно использовать для верфей. Номер 2 соответствует экипировке пушками и щитами по максимуму, в то время как лодауты с номером 3 устанавливают на корабль всего один щит.

Добавлено скрипт-событие event.ship.beforetakeover.xml. Скрипт вызывается непосредственно перед захватом корабля, корабль передаётся в качестве параметра. Скрипт может возвращать следующие значения: 0 - после возвращения из скрипта производится стандартная обработка захвата корабля; 1 - после возвращения из скрипта происходит захват корабля, но не производится его разоружение; 2 - захват корабля произведён не будет.

Теперь перечислим вкратце возможности, которые уже были в предыдущих версиях.

Увеличена скорость загрузки секторов засчёт сохранения в памяти уже загруженных боди. Это может потребовать несколько десятков дополнительных мегабайт оперативной памяти, но приводит к существеному уменьшению времени загрузки при смене сектора. Действует оптимизация только в пределах одного сеанса игры, т.е. до следующей загрузки сохранения. В версии 3.0 на порядок уменьшено число активируемых/деактивируемых кораблей при смене секторов засчёт отказа от активации пристыкованных внутренней стыковкой кораблей, что также уменьшает время загрузки. Теперь повторный вход в сектор (считая с времени старта игры или последней загрузки с сохранения) происходит вообще мгновенно.

Добавлена возможность отловить следующие моменты (события) в игре (скрипты вызывается без START):
event.sector.beforeactivate - после активации самого сектора но до активации объектов в нём.
event.sector.activate - сразу после активации объектов в секторе.
event.sector.deactivate - сразу перед деактивацией объектов в секторе и самого сектора.
event.bbs.getoffers - после формирования списка bbs-сообщений для станции перед его добавлением в меню (соответственно, список можно изменять).
event.ship.missilealert и event.station.missilealert - посылается, если по кораблю или станции соответственно запустили ракету (активный бой). Скрипт вызывается глобально через START, корабль передаётся в качестве параметра.

Улучшена обработка, определяющая, когда кораблю следует посылать сигнал об атаке. Добавлена возможность задания вероятности поступления сигнала об атаке кораблю в случае, если он уже атакует другой корабль.

Исправлен баг с сигналами, состоящий в том, что сигнал не вызывается, если в соответветствующем стеке нет скрипта. Теперь для всех сигналов (и, следовательно, команд interrupt task, interrupt with script и т.п.), если стек пуст, то сигнал вызывается через START.

Все станции могут получать сигнал SIGNAL_KILLED.

Разрешена стыковка с npc кораблями-носителями и вообще возможность пребывания игрока на чужом корабле. Игрок будет находиться в основном кокпите, но не будет иметь доступа к оружию и навигации.

Для npc доков можно задавать цену товаров, а для заводов - среднюю цену.

Возможность блокировки найма TL-кораблей. Отключено проигрывание "стыковочной" музыки. При активации меню больше не пропадают "облачка" туманов.


Описание дополнительных скрипт-команд и дополнительные подробности см. в файлах readme3_0b.txt и readme13.txt.

Last edited by Darth Revan on 02:06 24-03-2007; edited 2 times in total
    Posted: 01:43 24-03-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
2 Igor
SIGNAL_KILLED для станций проверял - работает. Обработчик прикрепляется стандартным образом. Например, так:
Code:
global script map: set: key=SIGNAL_KILLED, class=Station, race=null, script='имя скрипта', prio=0
    Posted: 02:21 24-03-2007   
CheckerTwo
 550 EGP


Рейтинг канала: 4(96)
: 103
Posts: 412
Location: Tomsk
Joined: 18 Aug 2004
Круто! Фрилансер на движке Х2!! Улыбка
Надо еще добавить ini файл для матрицы, описывающей отношения между расами... Ну может не сейчас, но было бы совсем неплохо... Улыбка

Last edited by CheckerTwo on 16:20 25-03-2007; edited 1 time in total
    Posted: 16:19 25-03-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Можно то можно. Просто не знаю, нужно ли это вообще. Тот старый вариант с возможностью выставления отношений (relations) раса-раса я снёс ещё в версии 2.1, а взамен сделал дополнительные расы такими же, как и те, которые уже есть. Я больше склоняюсь к скриптово/объектному управлению отношениями, а не к фриловскому типу. Так что я пока повременю с этим. Если фриловский способ всерьёз понадобится, я его встрою.
    Posted: 13:27 27-03-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Здесь маленький апдейт файлов из патча, не касающийся самого obj.
1. Немножко тронул инициализацию расстояний видимости при включенном ActivationController в скрипте event.sector.beforeactivate, а именно проставил расстояния для разных астероидов. А вообще, каждый легко может настроить параметры контроллера "под себя". Я рекомендую выставлять для малых кораблей растояние видимости в пределах 10км, но не ниже 6-7 километров. Остальное - дело хозяйское. Прирост fps, даваемый контроллером, обычно составляет где-то 30-50% и зависит от общего числа объектов в секторе и плотности их расположения. В случае массовых боёв, когда кораблей много, но они не скапливаются в радиусе нескольких километров вокруг игрока, прирост fps будет значительно большим.
2. Заменил файл ship_types.ini - там стояли довольно крутые модификаторы, так что я выставил значения 100 (т.е. по сути нет модификатора).
3. Заменил readme3_0b.txt - забыл вписать туда инфу про сробытие event.ship.beforetakeover (хотя в посте с описасанием инфа есть) и операцию SetShipyardLoadoutNum.
4. Соответсвтенно, добавил в папку scripts скрипты event.ship.beforetakeover и event.sector.beforeactivate.

Архив заменил. Те, кто его уже скачал, могут просто скачать апдейт.

x2story_3_0b_update.rar
 Description:
апдейт к версии 3.0 бета
 Filename:  x2story_3_0b_update.rar
 Filesize:  14.21 KB
 Downloaded:  815 Time(s)
    Posted: 18:12 27-03-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Два багфикса.
1. Исправлен баг с захватом кораблей (спасибо aNnOwN) - по недосмотру в коде остались заглушки от дебаггинга, в результате корабли игроку захватывали все подряд и часто Улыбка
2. Убрано сообщение борткомпьютера о том, что щиты на пределе. Это сообщение иногда появлялось даже при проценте щитов около ста и на самом деле означало, что около нуля движковое значение щитов, а не реальное игровое (в патче это разные значения).

Новая версия патча в первом посте. Апдейтом не выкладываю - всё равно обж тяжёлый.
    Posted: 19:57 30-03-2007   
Non
 790 EGP


Модератор
Рейтинг канала: 6(353)
: 237
Posts: 793

Joined: 27 Jun 2006
Всё это конечно отлично, я даже составил с нуля свой ребаланс Улыбка
1. Можно ли будет сделать круизы как во фриле в следующем патче? SHIFT+W и погнали. Т.е. скриптом будет идти набор скорости до 1000м\с например, возможно ли активировать скорость которая выше максимальной скорости корабля через скрипт? Подозрение.
2. Было бы клёво добавить в расовые отношения, отношения с пиратоми например, если мочишь наших, то репутация у них повышается, я просто хочу пиратов тоже как клан сделать, а не просто мусорные пиратские базы без оборудования. Т.е. можно по нескольким путям пойти Подмигиваю
3. Я помоему уже говорил, как насчёт Ксенонов? Что бы они пускали зачищающие отряды состоящие из М2 и истребителей в эскорте. Это проще скриптом сделать? Подозрение.
4. И ещё такая фишка, раз уже говорили, что бы летать на корабле борона например, нужно затюнить под себя кокпит, так вот, пусть в доке оборудования будет он как товар (дорогой) например, и шла проверка, мол если нету этого апгрейда на корабле - то доззвидания. И не нужно кокпитов лепить, и всем хорошо Подмигиваю
    Posted: 10:24 31-03-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
1. Сам круиз делается легко. А вот нормальная встройка его в игру - это дольше. К тому же круиз - штука вообще не очень хорошая для баланся, и 1000м/c - тем более. Я вообще рассматриваю вариант вообще не делать круиз, а использовать трейдлейны и специальные корабли-носители на одно-два места внешней стыковки для перемещения на высоких скоростях/ускорениях и большие расстояния. На второй вопрос - да, возможно. Есть команды set max speed и set extra speed upgrades. Первая - для неактивных кораблей задаёт макс. скорость, вторая для активных кораблей устанавливает количество апгрейдов двигателя (реальное значение, а не количество товара engine tuning в трюме).
2. Несколько группировок пиратов - само собой. Но что мешает сейчас управлять отношениями? Даже без патчей можно было использовать несколько дополнительных рас, команды для работы с отношениями и рейтингами есть, убийства и прочие сигналы отлавливаются. Карты в руки.
3. Всё быстрее и проще писать в обжах, и свой мод я буду прописывать в обжах. Но пока я занят тем, что реализовываю в обжах механизмы, которые скриптами либо просто не сделать, либо работать будет очень медленно. Так что работы у меня очень много. Поэтому задачи, которые можно сделать в скриптах (и для которых, по сути, функциол патчей вообще не требуется), лучше писать автору мода в скриптах.
4. Тебе кокпитов мало? Если мало, ещё сделай. Гы-гы Менять или устанавливать другой корабль на корабль можно. Но заниматься в ближайшее время этим я не буду. И имхо, и не надо: кокпит - визитная карточка корабля.
    Posted: 12:57 01-04-2007   
Non
 790 EGP


Модератор
Рейтинг канала: 6(353)
: 237
Posts: 793

Joined: 27 Jun 2006
Darth Revan wrote:
4. Тебе кокпитов мало? Если мало, ещё сделай. Менять или устанавливать другой корабль на корабль можно. Но заниматься в ближайшее время этим я не буду. И имхо, и не надо: кокпит - визитная карточка корабля.

Ты наверное меня не совсем понял Улыбка
Я хочу задать условие - наличие апгрейда в трюме корабля расы НЕ аргон, если все условия выполняются, то игрок может сесть в корабль, если апгрейда на корабле расы НЕ аргон нету, то доззвидания. Улыбка
    Posted: 14:47 01-04-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
А если игрок - не аргонец, а козявка Улыбка ? Теперь понял что, только не совсем понял, зачем. У игрока будет один модуль (условно, скажем респиратор) и он его будет перебрасывать на корабль, на который захочет сесть, и всё (или модуль несъёмный?). Если требовать наличие пилота на каждом корабле (особенно расы игрока), то можно нанять пилота нужной расы. Понятно, что здесь уже масса оговорок. Конечно, смысл есть, но я не уверен, что это нужно в игре. Хотя реализовать несложно.
    Posted: 17:13 01-04-2007   
Non
 790 EGP


Модератор
Рейтинг канала: 6(353)
: 237
Posts: 793

Joined: 27 Jun 2006
Darth Revan wrote:
А если игрок - не аргонец, а козявка?

Хмм, мы же вроде играем Жульеном, а не Козявками?
Или ты планируешь делать игру и за других рас? Подозрение.
Мысль интересная, но вот вопрос, как ты это реализуешь? Подмигиваю
А было бы интересно, альтернативное начало игры как бы, с другими квестами и т.п.
Ладно, пойду ковырять BBS и делать свои квестики Хаос
    Posted: 18:11 01-04-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
aNn0wN wrote:
Или ты планируешь делать игру и за других рас?
Бессюжетка. Там игрок к расе не привязан. Но других квестов конечно не будет. Просто другое место старта, корабль и т.п., отношения с расами, возможно, принадлежность к группировке. Соответственно, и квесты, конечно, изначально немного другие доступны. Дальше этого я не пойду - хоть бы что-то одно реализовать.
    Posted: 22:28 01-04-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
- Исправлен глюк с инерцией для корабля игрока, проявляющегося при смене корабля игроком или повреждении корпуса корабля игрока, когда включен режим управления двигателем Shift-A или Shift-X.
- Снято ограничение на номера боди, которые можно использовать в cut-cценах туманностей (ранее автоориентируемыми на камеру игрока были лишь боди с заданными в экзэшнике номерами).

x2story_3_0_01b_to_3_0_02b.rar
 Description:
апдейт патча 3.0.01b->3.0.02b
 Filename:  x2story_3_0_01b_to_3_0_02b.rar
 Filesize:  457.68 KB
 Downloaded:  784 Time(s)


Last edited by Darth Revan on 03:51 02-04-2007; edited 1 time in total
    Posted: 03:50 02-04-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Вот, aNnOwN ещё глюк нашёл Улыбка Оказалось, маленький, да удаленький баг с позицией, которая бралась в качестве позиции корабля игрока в ActivationControllerе, когда игрок находится на станции. Причём я эту проблему предусмотрел, да самый главный случай и забыл прописать Расстроен В частности, с игроком на станциях, находящихся на больших расстояниях от центра сектора, происходили очень неприятные вещи.
Срочно исправил.

x2story_3_0_01-02b_to_3_0_03b.rar
 Description:
апдейт патча 3.0.01/02 бета -> 3.0.03 бета
 Filename:  x2story_3_0_01-02b_to_3_0_03b.rar
 Filesize:  456.9 KB
 Downloaded:  808 Time(s)


Last edited by Darth Revan on 02:34 03-04-2007; edited 1 time in total
    Posted: 02:27 03-04-2007   
Non
 790 EGP


Модератор
Рейтинг канала: 6(353)
: 237
Posts: 793

Joined: 27 Jun 2006
Тестирую скрипт команды, очень интересно стало, взглянул на патч с другой стороны. Улыбка
Хочу предложить в качестве круиза - турбодвигатель.
Дается он игроку и всем NPC кораблям как стандартное устройство.
Потребляет новый ware "Топливо турбодвигателя". Стоит оно 5120кр.
Принцип работы:
Перед включением двигателя идёт задержка в 20 секунд, вполне реально за это время уничтожить корабль игрока, если он думает, что круизы его спасут. Гы-гы
Можно ещё прикрутить падение энергии щитов при задержке в 20 секунд, например, отбирается 50% от энергии щита. Для зарядки двигателя.
Включение двигателя, удаление одной единицы топлива. Если игрок запустил двигатель, и минута не прошла, а он его заглушил, то топливо уже не вернуть - воизбежание читов. Улыбка
Предлагаю поставить через команду установки лимита скорости set max speed, например 800 m\s, я просто не помню, сколько это в игровых еденицах.
Сам двигатель ставится вместо джампдрайва, на его место, и включается по SHIFT+J, если джамп драйв в обже заменить на другое устройство и назначить там же новые параметры, а кнопку сохранить, так можно?
Реализация для неписей, они включают двигатель, если расстояние до объекта >20КМ, и выключают при расстоянии <8КМ.
Всё это, мне кажется можно реализовать через навигационный скрипт. В некоторые циклы добавить запуск двигателя, и его торможение, а так же проверку на расстояние.
Ускоритель времени в топку.
Если не трудно, сделай на торговых станциях и доках скачки цен товаров по такому же принципу как и на обычных заводах\фабриках.
Кстати я вот забыл спросить, ты миссию на Ксенонское вторжение отключил?
Миссии на убийство можно оставить, не думаю что с моими параметрами + инерцией игрок всех порвёт, порвут его Улыбка
Пойду шаманить с BBS, наштампую квестиков для мода.
    Posted: 18:48 06-04-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
aNn0wN wrote:
Хочу предложить в качестве круиза - турбодвигатель
Дерзай! Улыбка
aNn0wN wrote:
Если не трудно, сделай на торговых станциях и доках скачки цен товаров по такому же принципу как и на обычных заводах\фабриках.

Скриптом. Командой set ware price.
aNn0wN wrote:
Кстати я вот забыл спросить, ты миссию на Ксенонское вторжение отключил?
Пока нет. Отрубать никогда не поздно.
    Posted: 02:19 07-04-2007   
Igor
 





Имею предложить следующее.

1. Добавить на станции слоты для щитов, как на кораблях. Станции продаются голыми, игрок ставит щиты сам. А то до сих пор щиты прилагаются к станциям бесплатно. Несолидно.

2. Вернуть камеру, вызываемую по F3. Реально неудобно, особенно при разработке, когда надо следить за поведением объектов в секторе. Если для того придется пожертвовать контроллером активации, добавить в globals.ini включение/выключение контроллера. Не спорю, контроллер -- вещь нужная, но не для всех модов. У меня, например, станций/кораблей немного, массовых боев нет, экономика на первом месте. Шибко камера нужна. Заранее прошу прощения, если эта возможность уже есть. В тонкости настройки контроллера еще не вник.

3. Добавить возможность назначения масштаба карты сектора по умолчанию. Люблю большие сектора 200х200 км (думаю, не я один). При вызове карты сектора масштаб по умолчанию 100х100 км. Приходится все время жать клавишу End для охвата всего сектора. В принципе, не страшно, но слегка раздражает. В globals.ini добавить выбор масштаба: либо 100х100, либо 200х200. Если не трудно сделать, было бы приятное удобство для многих.

aNn0wN wrote:
Кстати я вот забыл спросить, ты миссию на Ксенонское вторжение отключил?
Darth Revan wrote:
Пока нет. Отрубать никогда не поздно.

А что, есть мнение убрать? По-моему, не стоит. Достаточно вправить ксенонам мозги, и миссия будет труднопроходима. Если уж кто прошел, свои деньги он заработал честно, вместе с седыми волосами. Может, и не захочет повторять.

Вообще, дело не в количестве враждебных рас, а в их качестве. Лучше меньше, да лучше. Пиратам тоже надо вправить мозги, а то ведь полные дебилы. Глядишь, и хааки не потребуются, став лишней сущностью. Пиратов я у себя немного поправил, но до совершенства далеко. Ксенонов править собираюсь. Кстати, мне нравится идея aNn0wN о рейдах ксенонских М2. Возможно, сделаю такой скрипт.
    Posted: 19:34 10-04-2007   
Lord of Silence
 





To Darth Revan:
Я тоже присоединяюсь к вышесказанному посту по поводу Activation Controller, т.к. отключить его так и не смог. Объясни подробнее плиз, как это сделать. Я пыталься по разному через вызов в скриптах AC.EnableController с obj=0, но что то не получается. Может я, что то не так делаю?

И еще вопрос - правильно ли я понял, что при включении любой модели эмуляции инерции, можно попрощаться с боковыми двигателями, как с апгрейдом?
    Posted: 07:20 13-04-2007   
Darth Revan
 345 EGP


Рейтинг канала: 5(150)
: 42
Posts: 349
Location: Belarus Prime
Joined: 01 Feb 2006
Igor wrote:
1. Добавить на станции слоты для щитов, как на кораблях. Станции продаются голыми, игрок ставит щиты сам. А то до сих пор щиты прилагаются к станциям бесплатно. Несолидно.
В принципе я думал об этом. Но слотов, наверное не будит. Пока установку можно скриптом делать. Дальше посмотрю.

Igor wrote:
2. Вернуть камеру, вызываемую по F3. Реально неудобно, особенно при разработке, когда надо следить за поведением объектов в секторе. Если для того придется пожертвовать контроллером активации, добавить в globals.ini включение/выключение контроллера.
Подумаю. Дело тут не только в контроллере, планируются другие вещи по динамическому изменению обстановки вокруг корабля игрока, требующие оключения камеры. Кроме того, для последующих целей контроллер просто обязателен. Но пока этого нет, согласен, можно ввести константу. Посмотрю, придётся немного обратно подправить.

Igor wrote:
3. Добавить возможность назначения масштаба карты сектора по умолчанию. Люблю большие сектора 200х200 км (думаю, не я один). При вызове карты сектора масштаб по умолчанию 100х100 км. Приходится все время жать клавишу End для охвата всего сектора. В принципе, не страшно, но слегка раздражает. В globals.ini добавить выбор масштаба: либо 100х100, либо 200х200. Если не трудно сделать, было бы приятное удобство для многих.
Планируется (и более менее) продумана возможность поддержки больших секторов (лимончик км), и не только. Соответственно, и карта будет настраиваемой. Пока не сделаю поддержку, карту трогать не буду. А задача эта у меня первым приоритетом. Как только чуть-чуть освобожусь, буду реализовывать.

Igor wrote:
Вообще, дело не в количестве враждебных рас, а в их качестве. Лучше меньше, да лучше. Пиратам тоже надо вправить мозги, а то ведь полные дебилы.
Склонен согласиться с именно враждебными расами типа кхааков или ксенонов. Для группировок и количество важно. Качество - само собой. Но это уже вопрос мода. Впрочем, когда я реализую поддержку звёздных систем, дальнейшие изменения обжей уже будут мод-ориентированы.

Lord of Silence wrote:
AC.EnableController с obj=0
Правильно. Это надо делать, если скопирован скрипт event.sector.beforeactivate в папку скриптов. Этот скрипт можно удалить или отрубить. Вообще, первого (команды) достаточно. Само включение контроллера происходит при начале новой игры в упомянутом скрипте. И управление поведением доступно из скриптов (в указанном скрипте и производится настройка). А вот отрубон камеры в обжах. Придётся исправлять.
    Posted: 02:32 18-04-2007   
Канал X2: The Threat: «x2story.obj: дописываем и переписываем obj-код.»
Go to page: 1, 2, 3, 4, 5, 6  Next | All pages
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Есть мнение, што лучшей защитой от подделки является КАЧЕСТВО ПРОДУКТА.(L'oshek)

  » x2story.obj: дописываем и переписываем obj-код. |
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18