|
|
|
Канал X2: The Threat: «Увеличиваем число доступных кораблей» |
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
Не 8 точно. Я пробовал назначать пушкам разнообразные звуки из стандартного набора, причем "левые" звуки, совсем не отведенные для пушек, - все работало. Похоже есть лишь дурацкий лимит в движке игры на диапазон номеров треков и расширить этот набор треков нельзя, но вполне можно заменять имеющиеся треки (и наверняка какие-то треки игрой на самом деле и не используются либо используются лишь в видеороликах).
|
|
|
SIRIUS 311 EGP
Рейтинг канала: 2(10) Репутация: 43 Сообщения: 945 Откуда: Hatikvah's Faith Зарегистрирован: 25.10.2004 |
|
Если и делать новые классы кораблей, как RAider хотел, M7 например, мне интересно, то как он будет на радаре виден? Стандартные использовать - , а новое нельзя как-то сделать для него?
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
SiriuS : |
Если и делать новые классы кораблей, как RAider хотел, M7 например, мне интересно, то как он будет на радаре виден? Стандартные использовать - , а новое нельзя как-то сделать для него?
|
М0 - новый класс. Полностью. Т.е. в Х2 такого не было в принципе. Удачное стечение обстаятельств позволило добавить этот класс. А именно то, что в ХТ и XBTF он был. Из-за этого в текстурных jpg-файлах (1219.jpg и 219.jpg) остались обозначения корабля на радаре [X], а похоже, что эту отметку формирует движок игры. Кроме того, можно было подсмотреть кое-какие особенности его реализации.
С новыми классами кораблей пока не получилось добиться нормальной работы. Где-то что-то я не так делаю...
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31628
Зарегистрирован: 26.10.2003 |
|
akm : |
Я пробовал назначать пушкам разнообразные звуки из стандартного набора, причем "левые" звуки, совсем не отведенные для пушек, - все работало
|
Работа работе рознь. Все левые (незарегистрированные) номера пушек гасятся обработчиком звуков (фильтром), т.е. не слышно их почти нифига, громкость еле-еле. И только зарегистрированнные номера звуков воспроизводятся нормально и с нормальной громкостью. Так же использование левых звуков (номеров) для пушек и снарядов сильно дестабилизирует систему и является причиной частых вылетаний игры на рабочий стол. Вот такая вот фигня
Кстати, одним из багов является то, что звук 960 тоже НЕ прописан и гасится обработчиком (фильтром), вызывая тормоза и нестабильность игры. Озвучивает ХЕПТы, ППЦ и Пушки ЛБ. Я от него уже давно отказался.
|
|
|
Tornado 70 EGP
Репутация: 10 Сообщения: 96 Откуда: Львов Зарегистрирован: 01.03.2005 |
|
CheckerTwo : |
Вроде фабрики и так можно сделать какие хочешь.
|
Скрипт я давно уже написал, но дело в том, что мне интересно добавить станцию на верфь и чесно её потом купить. Более того, чтобы после покупки она была полностью работоспособной-т.е.,чтобы у неё был выходной продукт, потребляемые ресурсы не равнялись 0 и цикл производства небыл 1 сек. Пока что приходится делать всё это через... ...тернии. т.е.ставить где-то такую фабрику НПС, а потом давать кманду своему ТЛу купить и построить аналогичный завод. По другому получается следующее: нанимаешь ТЛ, покупаешь станцию, строишь, заходишь в меню свежепостроеной и видишь... ...ничего не видишь-ни продукта, ни ресурсов.
P.S. Если просто добавить в TFactories.txt новую фабрику и не забыть увеличить количество в первой строке, то после постройки, на карте она выглядит как разрушенные ворота. Из этого можно сделать вывод,что возможно в x2story.obj есть такая же проверка как и с количеством кораблей.
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
Вот, Shaddie раскопал небольшую инфу, может кому полезно будет.
Когда лень на свеже-установленной машине набирать кодовое слово,
редактор галактики Х2 можно включить так:
Shaddie : |
Можно открыть доступ к редактору галактики:
В ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\EgoSoftware\X2 для переменной "GameState" (dword) меняем :
"GameState"=00000000
на
"GameState"=00010000
Можно открыть доступ к редактору галактики и всем обучающим миссиям:
"GameState"=000101c0
|
Tornado : |
Если просто добавить в TFactories.txt новую фабрику и не забыть увеличить количество в первой строке, то после постройки, на карте она выглядит как разрушенные ворота. Из этого можно сделать вывод,что возможно в x2story.obj есть такая же проверка как и с количеством кораблей.
|
Понятно. Ладно поглюдю. Может и удастся что сделать...
|
|
|
SIRIUS 311 EGP
Рейтинг канала: 2(10) Репутация: 43 Сообщения: 945 Откуда: Hatikvah's Faith Зарегистрирован: 25.10.2004 |
|
CheckerTwo : |
...можно было подсмотреть кое-какие особенности его реализации...
|
А вот об этом можно поподробней ?
Что-то после добавления 15 штук кораблей (или около того ) у меня снаряды от выстрелов пушек стали какие-то неестественно большими ... покапаюсь дальше, какие-то нестыковки получаются, ну не должно этого быть...
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
SiriuS : |
А вот об этом можно поподробней
|
Замое главное подсмотрел - идентификатор объекта М0.
Из остального в патч пока больше ничего не включил - тестирую. И еще не очень уверен, что это необходимо.
SiriuS : |
Что-то после добавления 15 штук кораблей (или около того ) у меня снаряды от выстрелов пушек стали какие-то неестественно большими ... покапаюсь дальше, какие-то нестыковки получаются, ну не должно этого быть...
|
Хм. Более чем странно! А пушки не трогал? Хотя про размеры снарядов в obj нет ничего.
Проверь, плз, может быть что-то в TBullets не так. Изменения начались только после 15го корабля? На все типы снарядов? Все пиши, подробно. Надо перепроверить.
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
AlexYar : |
А по ТС-кам или Докам нужно следующее:
1. Увеличить трюм. Пока точно неизвестно на сколько, лучше этот параметр сделать запрашиваемым. Будет зависить от параметров экономической модели и трюмов поездов.
2. Убрать усреднение цены, т.е. вернуть зависимость цены от кол-ва товара.
3. Прицепить док для М6 (для ТС), и если возможно - для бигшипов (сомнительно).
|
По второму пункту - по поводу торговых станций и усреднения цен на них.
К большому сожалению у Shaddie ограниченый доступ к инету, поэтому по его просьбе выкладываю его наработки в области obj-скриптов.
Shaddie : |
Разобрался с тем как рассчитываются цены. Выяснил следующее:
Средняя цена товара (PriceAverage), определяется так:
1. Из массива ga_FixedValueFactors берется значение FixedValueFactor по номеру группы товара (MainType).
2. Определяется RelValue (свой, для каждого товара, он задается 9 параметром в файлах types/TWare*.txt).
3. Полученные значения RelValue и FixedValueFactor перемножаются.
(FixedValueFactor - это число с фиксированной запятой). Результат перемножения округляется до ближайшего целого значения. Перемножение выполняется асм. процедурой SE_MulFix().
4. Далее значение полученное в предыдущем пункте умножается на 4.
Пример для товара Бифштексы кахуна:
MainType = 14;
RelValue = 6;
FixedValueFactor = ga_FixedValueFactors[14] = 0x00030900 = 3.03515625;
PriceAverage = 4 * SE_MulFix(RelValue * FixedValueFactor) = 4 * ОкрДоЦелого(6 * 3.03515625) = 72.
Среднее количество товара (BestStore), определяется так:
1. Определяется RelValue.
2. 10000 делится на RelValue.
3. Результат округляется до целого путем отбрасывания дробной части.
4. Если полученное значение равно 0 то оно приравнивается к 1.
Пример для товара Бифштексы кахуна:
BestStore = Окр(10000 / RelValue) = Окр(10000 / 6) = Окр(1666.667) = 1666.
Максимальное количество товара, определяется как BestStore * 2.
Пример для товара Бифштексы кахуна:
MaxStore = 2 * BestStore = 2 * 1666 = 3332.
Дельта изменения цены (PriceDelta), определяется так:
1. Определяется средняя цена товара (PriceAverage).
2. Определяется (асм. процедурой SA_GetTypePriMaxP) процент изменения цены (PriMaxP) (свой для каждого товара, задается 10 параметром в файлах types/TWare*.txt).
3. Полученные значения PriceAverage и PriMaxP перемножаются.
4. Результат делится на 100 и округляется до целого путем отбрасывания дробной части.
Пример для товара Бифштексы кахуна:
PriMaxP = 34;
PriceDelta = Окр(PriMaxP * PriceAverage / 100) = Окр(34 * 72 / 100) = Окр(24.48) = 24.
Зная PriceAverage и PriceDelta можно определить Max и Min цены:
PriceMax = PriceAverage + PriceDelta;
PriceMin = PriceAverage – PriceDelta.
Пример для товара Бифштексы кахуна:
PriceMax = PriceAverage + PriceDelta = 72 + 24 = 96;
PriceMin = PriceAverage – PriceDelta = 72 – 24 = 48.
Замечание. Выше приведен расчет параметров BestStore и PriceDelta для продукции или первичных ресурсов (со вторичными ресурсами пока не разбирался, но скорее всего там похожие методы).
Расчет цены товара в зависимости от количества выполняется асм. процедурой: SE_CubicPoly(BestStore, PriceAverage, BestStore, -PriMaxP, BestStore, -PriMaxP/4, Количество товара). Там скорее всего используется линейный метод расчета.
Сделал чтобы цены изменялись на всех станциях типа DOCK. Кстати получается голимое читерство: покупаем на станции товар допустим за $1000, так как количество товара на станции уменьшилось цена тут же поднялась и стала к примеру $1010, далее продаем товар и получаем прибыль $10 с каждой единицы товара. И этот цикл можно повторять до посинения.
{Справочные данные}
Значения массива ga_FixedValueFactors:
0 = 0.000
1 = 0.000
2 = 0.000
3 = 0.000
4 = 0.000
5 = 16.23 - TFactories
6 = 16.23 - TDocks
7 = 16.23 - TShips
8 = 7.018 - TLaser
9 = 7.018 - TShields
10 = 7.018 - TRockets
11 = 1.000 - TWareE
12 = 1.000
13 = 1.312 - TWareB
14 = 3.035 - TWareF
15 = 1.312 - TWareM
16 = 7.018 - TWareT
|
Так вот, вопрос значится, такой.
Все это можно включить в патч, НО! Я абсолютно согласен с Shaddie по поводу того, что получится сплошное беззастенчивое читерство. С экономикой нужно еще раз все перепродумать.
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
AlexYar : |
По поводу много пушек... Это конечно хорошо Но есть одна загвоздка - нету звуков для пушек зарезервированных нифига! Т.е. я даже на стандартное количество не смог звуков сделать - не хватило зарезервированных номеров. А один звук на кучу пушек имхо полная фигня
|
Посмотрел, а Shaddie перепроверил. Ничего изменить не получится. Запуск саунд-трека выстрелов выполняется движком где-то в асм. процедуре SA_FireOnObject.
|
|
|
-=XENO=- 140 EGP
Репутация: 6 Сообщения: 327 Откуда: israel Зарегистрирован: 27.04.2004 |
|
а предложение по - какие караблики создавать - можно тут писать ?
хотелось-бы чтобы был караблик м5,м4 или м3 с 2,3,4_стволами Автоматическая пушка (Mass Driver) быстрый 300+ скорость и трюм под бое-запасы.
А так же хоть один м3 с XL трюмом , чтобы можно было поставить чтонубудь XL
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31628
Зарегистрирован: 26.10.2003 |
|
CheckerTwo : |
Так вот, вопрос значится, такой.
Все это можно включить в патч, НО! Я абсолютно согласен с Shaddie по поводу того, что получится сплошное беззастенчивое читерство. С экономикой нужно еще раз все перепродумать.
|
А я сразу предупредил, что без увеличения трюма станции - будет читерство
Поэтому, чтобы включать эту фичу нужны следующие данные и нововведения:
1. Знать максимальный трюм корабля, который может пристыковаться к данной станции и забирать продукт (если это ДО, то любой может). Т.е. допустим максимальный трюм корабля - 200000 (200 тыс).
2. Изменить трюм станции таким образом, т.е. до такой величины, чтобы забор полного трюма корабля со станции не вызывал существенного, либо вообще, взлета цены на данный товар на этой станции. Т.е. где-то под 50млн, либо сразу до 2 млрд
3. И только потом активировать фичу изменения цен.
Т.е. нужно выполнять сразу три пункта вместе, а не по отдельности каждый, тогда читерство будет заблокировано
Либо увеличить трюм хотя бы на любой другой станции (хоть на новой), но главное - увеличить. Т.е. подправить нужный параметр.
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31628
Зарегистрирован: 26.10.2003 |
|
-=XENO=- : |
а предложение по - какие караблики создавать - можно тут писать ?
|
Тут корабли не создают, тут игру ломают
зыж А как объединить уже написанные посты?
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31628
Зарегистрирован: 26.10.2003 |
|
CheckerTwo : |
Среднее количество товара (BestStore), определяется так:
1. Определяется RelValue.
2. 10000 делится на RelValue.
3. Результат округляется до целого путем отбрасывания дробной части.
4. Если полученное значение равно 0 то оно приравнивается к 1.
Пример для товара Бифштексы кахуна:
BestStore = Окр(10000 / RelValue) = Окр(10000 / 6) = Окр(1666.667) = 1666.
Максимальное количество товара, определяется как BestStore * 2.
Пример для товара Бифштексы кахуна:
MaxStore = 2 * BestStore = 2 * 1666 = 3332.
|
Исправить надо следующее. Чтобы во втором пункте не 10000 делилось на RelValue, а цифра гораздо большая, например 2 млрд.
Таким образом трюм станции резко возрастет и тех же бифштексов туда поместится не ~1600 (на ДО или ТС), а 333 млн. штуков
Соот-но сколько не забирай - взвинтить цены и начитить не удастся. Если конечно транспорты со стомиллионными трюмами не городить.
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
AlexYar : |
Тут корабли не создают, тут игру ломают
|
Не ломают, а доделывают... По возможности.
AlexYar : |
Исправить надо следующее. Чтобы во втором пункте не 10000 делилось на RelValue, а цифра гораздо большая, например 2 млрд.
|
Угу, попробую. У меня тут запарка на работе, еще не осознал до конца работу Shaddie.
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
1. Shaddie нашел возможность отключения Страховок. Если надо - можно сделать. У меня так рука не поднимается на это.
2. Информация по соляркам. Это просто к размышлениям...
Эффективность солярок зависит от числа солнц в секторе и вычисляется по формуле:
Efficiency = SUM {(R + G + B) * 25 / 5 / 256};
Суммирование идет по всем светилам, RGB - цветовые составляющие источника света.
Время производства партии батареек
ProdTime = (RelValue * 10) / 4
Число в партии
ProdCount = Efficiency * 10 / 35
Странно, что зависимость на глаз почти незаметна...
--------
Обнаружился баг в 00.10b. При числе вставляемых новых корабликов более 198 возникал Range error... Исправлено.
Ссылка в первом посте.
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31628
Зарегистрирован: 26.10.2003 |
|
CheckerTwo : |
1. Shaddie нашел возможность отключения Страховок. Если надо - можно сделать. У меня так рука не поднимается на это.
|
Да ты чо? Эта же крута!
Офигенные возможности открываются огромадить космос! А как блокируется? Может комбинацию клавиш Shift+S отрубить проще?
Или навесить на неё че-нить другое... Как в хоумворде например
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
AlexYar : |
Офигенные возможности открываются огромадить космос!
|
На счет новых возможностей - не уверен. Многие играют только для того, чтоб расслабиться после учебы/работы. Им экстрим и нерватрепка не особо по-душе.
AlexYar : |
А как блокируется?
|
Shaddie : |
...отключить возможность использования страховок. Если это еще актуально то нужно в файле x2story.obj по offset 000B2F6B изменить значение F2 на B2.
|
Эх, затопчут тебя!
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31628
Зарегистрирован: 26.10.2003 |
|
CheckerTwo : |
Многие играют только для того, чтоб расслабиться после учебы/работы. Им экстрим и нерватрепка не особо по-душе.
|
А ещё большему количеству людей нужен адреналин
А интересную миссию по освоению космоса без отключения страховок сделать нельзя, так как игроки будут на каждом шаге сейвиться страховками вместо того, чтобы свои станции строить и в них сейвиться. Вобщем долго рассказывать Если игрок не читер, то ему не в падлу будет лишний раз на станцию сесть для сейва. Эти страховки весь интерес игры обламывают.
Джампы тоже обламывают и делают космос ничтожно мелким, но методы борьбы с джампами уже найдены
Так что ты в прогу такую фичу включи
|
|
|
RAider 405 EGP
Рейтинг канала: 2(21) Репутация: 133 Сообщения: 1294 Откуда: Таганрог Зарегистрирован: 08.07.2003 |
|
Отключение страховок однозачно пригодится. Во всяком случае, в Extreme вариант rebalance - я бы очень даже за включить (точнее выключить ).
С трюмом станций - имхо, вариант, предложенный Алексом вполне действенный. Для большей гибкости программы, хорошо бы сделать возможность пользователю-моддеру задавать какая константа будет использоваться при рассчете вместо 10К - и соответственно какие трюмы будут у станций.
_________________ Smart is the new Sexy. |
|
|
|
|
|
Канал X2: The Threat: «Увеличиваем число доступных кораблей» |
|