|
|
|
Канал X2: The Threat: «Увеличиваем число доступных кораблей» |
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
Dimaxx:
Цитата: |
Найти, где хранится значение хулла для станций, и сделать его выше. Раз эдак в 3-4.
|
Хм. Для станций значение хула читается из exe. Может такое быть, что какой-либо из параметров в tdock/tfactory.txt отвечает за хулл? У всех - одинаковое значение...
Executor:
Цитата: |
Цитата: |
CheckerTwo :
Добавил возможность посадки TS,TP на М2. А также М3,М4,М5 на М6.
|
Это уже наглое читерство вообще-то
|
Согласен. Может убрать такую фигню?
Цитата: |
А это самое "дефолтовое" количесво щитов одинаково для всех станций или можно разбить по расам? Типа у Телади на один щит больше, у Сплитов меньше и т.д.?
|
Оно для всех одинаковое.
Хорошо бы в редакторе карты эту штуку реализовать. Т.е. не каждой станции в параметрах указывать, а скопом - для расы и для типа станции задать щит.
Dimaxx - как смотришь на это дело?
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31636
Зарегистрирован: 26.10.2003 |
|
CheckerTwo : |
Это уже наглое читерство вообще-то
Согласен. Может убрать такую фигню?
|
Убирать ничего не надо И какой нах читерство? А если планируется ввести новый тип кораблей? Лично я собираюсь класс М6 вообще выкинуть нафиг из класса боевых кораблей, бо уродство это и порнография у эгософта получилась. Вместо него будет совершенно иной класс транспорта. А если будет возможность клепать новые классы путем компоновки посадки разных классов кораблей, то это будет просто замечательно! Только если эта компоновка не повлияет на существующие классы, а добавит новые...
CheckerTwo : |
Dimaxx - как смотришь на это дело?
|
Я ему уже очередь предложений на год вперед организовал
Кстати, а нафиг хулл станциям поднимать? Он и так уже у них большой слишком, надо наоборот снижать. А если охота усилить защиту, то на это есть щиты, можно удвоить количество в редакторе игры.
|
|
|
Executor 1860 EGP
Рейтинг канала: 3(29) Репутация: 522 Сообщения: 9024 Откуда: Менск. Беларусь. Зарегистрирован: 09.05.2001 |
|
CheckerTwo : |
Согласен. Может убрать такую фигню?
|
AlexYar : |
Убирать ничего не надо И какой нах читерство? А если планируется ввести новый тип кораблей?
|
хм... С одной стороны согласен с CheckerTwo, с другой и AlexYar прав... Для Алекса это я так понимаю надо, но например в том же моде RAider'а я бы не против видеть 200 кораблей, но при этом против посадки на М6 кораблей кроме М5, а на М2 чтобы транспорты не садились.
CheckerTwo, это прописывается жестко для всего типа кораблей или нет? Если для всего, то делай две версии. одну для AlexYar, а вторую для остальных
CheckerTwo : |
Хорошо бы в редакторе карты эту штуку реализовать. Т.е. не каждой станции в параметрах указывать, а скопом - для расы и для типа станции задать щит.
Dimaxx - как смотришь на это дело?
|
А вот это классная идея!
CheckerTwo : |
Кстати, а нафиг хулл станциям поднимать?
|
Где это было?
_________________ Император Всея Галактики, Прилегающих Туманностей, Комет И Астероидов, А Также Планеты Ракксла, Буде Она Все-Таки Обнаружится :) |
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
AlexYar :
Цитата: |
Кстати, а нафиг хулл станциям поднимать? Он и так уже у них большой слишком, надо наоборот снижать. А если охота усилить защиту, то на это есть щиты, можно удвоить количество в редакторе игры.
|
Идея была - поднять хулл станциям и вратам. Вратам в первую очередь. Это все-таки инопланетная продвинутая вещь, и вообще убиваться не должна. На счет станций - станция объект стационарный и должен иметь весьма нехилый корпус, чтоб случайный астероид/кометы и пр. не разнес ее в щепки. Кроме того, для создания нормальной гравитации на станции требуется довльно крепкая конструкция. Иначе сплющит.
Executor:
Цитата: |
Мда, RAider же их лет 30 рисовать будет
|
RAider где-то на егосовтовском форуме проговорился, что будет 50 новых слотов под корабли, так они его там затоптали совсем, делить начали - кому сколько...
Executor:
Цитата: |
но при этом против посадки на М6 кораблей кроме М5, а на М2 чтобы транспорты не садились.
CheckerTwo, это прописывается жестко для всего типа кораблей или нет? Если для всего, то делай две версии. одну для AlexYar, а вторую для остальных
|
Условие посадки малых кораблей на TSHIP_CARRIER (М1,М2,TL,M6) прописывается для всего класса. Индивидуально указать не получится - слишком много править... Но в проге это галочками выставляется. Так что каждый мод можно будет настроить индивидуально.
Executor:
На предыдущей странице Dimaxx предложил.
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31636
Зарегистрирован: 26.10.2003 |
|
CheckerTwo : |
Идея была - поднять хулл станциям и вратам. Вратам в первую очередь. Это все-таки инопланетная продвинутая вещь, и вообще убиваться не должна.
|
Врата и так в Х2 бессмертны, их убить нельзя. А хулл врат задается в TShips.
CheckerTwo : |
На счет станций - станция объект стационарный и должен иметь весьма нехилый корпус, чтоб случайный астероид/кометы и пр. не разнес ее в щепки.
|
Для этих целей существует щит. Корпус не сможет защитить от астероида, каким бы толстым он не был (потому что он жесткий, сгасить и поглотить удар сможет только щит). Тоже-самое касается и кораблей, для защиты у них есть щит и поднимать им корпус - абсурд полный. Я понимаю еще, чтобы корпус как-то отображал _размер_ объекта, но чтобы влиял на защиту - абсурд
CheckerTwo : |
Кроме того, для создания нормальной гравитации на станции требуется довльно крепкая конструкция. Иначе сплющит.
|
А как ты представляешь себе механизм создания искуственной гравитации? Вращением? Абсурд. Уже доказано научно, что это утопия, и вращением кроме как нарушение работы мозга у людей ничего не создашь в космосе. Поэтому остается какой-то неведомый нам механизм на основе антигравитации, а там ни вращения не требуется, ни особопрочного корпуса (лишь бы давление воздуха внутри выдерживал, остальное щиты на себя возьмут).
CheckerTwo : |
Условие посадки малых кораблей на TSHIP_CARRIER (М1,М2,TL,M6) прописывается для всего класса.
|
А создать новый класс, например М7 - возможно?
А вот еще вопрос. Вот создам я новый кораблик, ему любой класс можно назначить, т.е. новый М6 я могу сделать, чтобы на него и М5 стыковались, и чтобы он к спец.доку , а не в шлюз стыковался?
|
|
|
RAider 405 EGP
Рейтинг канала: 2(21) Репутация: 133 Сообщения: 1294 Откуда: Таганрог Зарегистрирован: 08.07.2003 |
|
В идеале, хорошо бы прикрутить к проге "создание нового класса кораблей" - выбираем родительский класс, выбираем к какому типу дока стыкуется и какие корабли доступны для стыковки к нему (может можно для тех же CARRIER - отдельно запретить какойто класс к посадке?...).
_________________ Smart is the new Sexy. |
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
AlexYar : |
CheckerTwo : |
Кроме того, для создания нормальной гравитации на станции требуется довльно крепкая конструкция. Иначе сплющит.
|
А как ты представляешь себе механизм создания искуственной гравитации? Вращением? Абсурд. Уже доказано научно, что это утопия, и вращением кроме как нарушение работы мозга у людей ничего не создашь в космосе. Поэтому остается какой-то неведомый нам механизм на основе антигравитации, а там ни вращения не требуется, ни особопрочного корпуса (лишь бы давление воздуха внутри выдерживал, остальное щиты на себя возьмут).
|
Вращение - это прошлый век Искуственную гравитацию на станции создают гравитационные установки. И если конструкция хилая - ее раздавит совственной тяжестью. В первых эксперементах с этими гравитационными установками из-за сбоев в ПО управляющих компьютеров бывали случаи, когда установка шла в разнос и происходило гравитационное схлапывание. Сингулярностей, конечно не возникало из-за невысокой относительной мощности установок, но на месте лабораторий находили только небольшой астероид.
Ну а под понятием хула можно рассматривать интегральную характеристику для всей конструкции станции.
AlexYar : |
А создать новый класс, например М7 - возможно?
|
Пока не получается. Вообще - эта плодотворная идея. Если ее победить - можно делать не только новые классы кораблей и станций, но и квесты.
AlexYar : |
А вот еще вопрос. Вот создам я новый кораблик, ему любой класс можно назначить, т.е. новый М6 я могу сделать, чтобы на него и М5 стыковались, и чтобы он к спец.доку , а не в шлюз стыковался?
|
Э-э не понял. Так М6 и так к спец.доку, а не в шлюз. Или я чего-то не так?... Или ты про новый М7?
RAider : |
В идеале, хорошо бы прикрутить к проге "создание нового класса кораблей"
|
Да. Хорошо бы.
RAider : |
- выбираем родительский класс, выбираем к какому типу дока стыкуется и какие корабли доступны для стыковки к нему (может можно для тех же CARRIER - отдельно запретить какойто класс к посадке?...).
|
Можно. Вообще возможность посадки малых кораблей прописывается для каждого кариер-шипа отдельно. Я в патче сделал минимально возможные исправления, что б ошибок не наплодить.
|
|
|
Shadowman 265 EGP
Рейтинг канала: 1(1) Репутация: 42 Сообщения: 1392 Откуда: Альфа Центавра Зарегистрирован: 03.12.2003 |
|
А все-таки, есть ли возможность пропатчить сэйв?
Я бы попробовал, поэкспериментировал, но только информации недостаточно.
|
|
|
DarkSoul 388 EGP
Репутация: 84 Сообщения: 1146 Откуда: Одесса Зарегистрирован: 04.04.2005 |
|
Попробуй эту утилиту http://www.kerama.nm.ru/x2patch09.zip
_________________ Кто к нам с чем за чем, тот от того и того!!! |
|
|
Finist 1807 EGP
Рейтинг канала: 5(131) Репутация: 391 Сообщения: 12158 Откуда: Рязань РОССИЯ Зарегистрирован: 25.12.2003 |
|
2 DarkSoul
И что ты хочешь делать этой утилиткой?
Речь совсем о другом.
_________________ Про модераторов сказать можно много разного, вот только написать нельзя... |
|
|
Shadowman 265 EGP
Рейтинг канала: 1(1) Репутация: 42 Сообщения: 1392 Откуда: Альфа Центавра Зарегистрирован: 03.12.2003 |
|
дык мне деньги и рейтинги не надо в сейве редактировать
мне надо проделать фокус с пропатчиванием x2story.obj и x2galedit.obj, но только не перед началом новой игры, а в уже начатой (где копии этих файлов уже в сейве и нельзя увеличить, например, количество кораблей, не изменив эти данные в сейве)
|
|
|
AlexYar 1851 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31636
Зарегистрирован: 26.10.2003 |
|
А можно разрешить стыковку М5 к TS посредством пропатчивания obj? ...
А, _внимание_, TS к TS ?...
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
Shadowman:
Цитата: |
А все-таки, есть ли возможность пропатчить сэйв?
Я бы попробовал, поэкспериментировал, но только информации недостаточно.
|
К сожалению, у меня тож никакой информации про савы нет.
AlexYar:
Цитата: |
А можно разрешить стыковку М5 к TS посредством пропатчивания obj? ... А, _внимание_, TS к TS ?...
|
Неа. Стыковка разрешена только к классу TSHIP_CARRIER. В ручную править - очень много дополнительного кода наваять нужно....
|
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
Obj-скрипты в story-файле имеют две глобальные точки входа - это процедуры _Init и _Restart. _Init вызывается только при начале новой игры. _Restart - при загрузке старого save. Вставил дополнительный код в эту процедуру. Теперь новые слоты кораблей появлются в любом случае.
Остался довольно тонкий момент с возможными проблемами утечки памяти и, следовательно, с бесконтрольным ростом save-файла.
Сделал пока так: присваивается NULL глобальной переменной, содержащей массив идентификаторов кораблей, в надежде, что это присоение будет уничтожать этот массив. Далее - создается новый.
Вроде работает. Гигантского роста сава пока не наблюдается.
Как должно быть на самом деле? Может Хвала знает?
Ссылку на новый патч добавил в первом посте. Требуются экспериментаторы
|
|
|
RAider 405 EGP
Рейтинг канала: 2(21) Репутация: 133 Сообщения: 1294 Откуда: Таганрог Зарегистрирован: 08.07.2003 |
|
Аааа!
блин, цены тебе нету!)...пора тебе медаль вешать именную - "глубококоврятель Х2" ...
ЗЫ. а создание нового класса - на очереди? ... В принципе, хотя бы от Carrier производное сделать - уже М7-фрегаты можно наклепать.
ЗЗЫ. кстати, при каждой загрузке сэйва будет срабатывать это зануление массива и реинит его? "утечкой памяти" в самом деле пахнет неслабо. Ты не пробовал сэйв\лоад несколько раз? То есть, если он его не зануляет, то скорее всего сэйв\лоад раз Н-цать - и будет вылет игры(или вообще намертво повиснет).
А на размере сэйва(в долгосрочной перспективе) оно как сказывается,интересно?...
Стока вопросов - все попробую, как только просплюсь ...
ЗЗЗЫ. вооот это я и называю "глубоким тюнингом" ...
_________________ Smart is the new Sexy. |
|
|
CheckerTwo 550 EGP
Рейтинг канала: 4(96) Репутация: 103 Сообщения: 412 Откуда: Tomsk Зарегистрирован: 18.08.2004 |
|
RAider : |
ЗЫ. а создание нового класса - на очереди?
|
Пока разбираюсь как по-проще расширить таблицы имен процедур/переменных в obj-файле. Если удастся - можно и свой класс написать.
RAider : |
кстати, при каждой загрузке сэйва будет срабатывать это зануление массива и реинит его? "утечкой памяти" в самом деле пахнет неслабо. Ты не пробовал сэйв\лоад несколько раз? То есть, если он его не зануляет, то скорее всего сэйв\лоад раз Н-цать - и будет вылет игры(или вообще намертво повиснет). А на размере сэйва(в долгосрочной перспективе) оно как сказывается,интересно?..
|
Зануление срабатывает на каждый рестарт. Поэтому, если движок это отслеживает, такой метод должен работать. Пробовал сохранять/грузить много раз. Пока нормально. Сегодня продолжу до посинения...
|
|
|
RAider 405 EGP
Рейтинг канала: 2(21) Репутация: 133 Сообщения: 1294 Откуда: Таганрог Зарегистрирован: 08.07.2003 |
|
А что насчет карты?...может ее загрузку тоже можно вызывать в _Restart аналогично, как оно вызывается в _Init? только опять же - занулить, что нужно занулить.
Тогда можно будет прямо в сэйве сменить карту - добавить\убавить сектора, главное не срубить тот сектор, в котором сэйв сделан
Не cмогу спать, пока не потестю хоть чуть-чуть ...
_________________ Smart is the new Sexy. |
|
|
RAider 405 EGP
Рейтинг канала: 2(21) Репутация: 133 Сообщения: 1294 Откуда: Таганрог Зарегистрирован: 08.07.2003 |
|
Сейчас попробовал - после пары неудачных вылетов(в тшипсе немного от себя напортачил в нужной строке ) удалось лицезреть кентавра со строки 115 в загруженном сэйве !
Правда на измор сэйв-лоад потестить пока что не получится ввиду нехватки личного времени ...
Да, еще вопрос - в какой момент загрузки сэйва выполняется чтение этого массива?...то есть, когда сэйв загружен и я обнаруживаю себя в открывашке - массив уже обновлен на 100% или там уже по окончанию загрузки еще чтото выполняется? Я к тому, что у нас в моде - итак нагрузка в первые минуты после загрузки сэйва - нехилая на проц идет, когда выполняется обновление кораблей. Если там еще протормозит игра изза перезагрузки массива - то может быть 200мс цикл опять накроет медным тазом игру - и будет вылет на десктоп.(То есть в этом случае akm придется опять вставлять wait в скрипты и удлиннять процесс во времени).
_________________ Smart is the new Sexy. |
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
RAider : |
Я к тому, что у нас в моде - итак нагрузка в первые минуты после загрузки сэйва - нехилая на проц идет, когда выполняется обновление кораблей.
|
Нету этого
К тому же жалоб на вылеты во время обновления нету со времен беты 5б.
Что вылетает, так это из-за изменений моделей, т.е если кто-то на момент сейва сидел в корабле, измененном модом. Это кстати большая проблема для любого мода стандартных кораблей. И быть может, что _Init как раз поможет и эту бяку пофиксить.
CheckerTwo : |
Сделал пока так: присваивается NULL глобальной переменной, содержащей массив идентификаторов кораблей, в надежде, что это присоение будет уничтожать этот массив. Далее - создается новый
|
Т.е. я правильно понял, что теперь перегружается только массив идентификаторов при загрузке сейва? И что именно содержит этот массив, кроме класса корабля?
Скорее всего, присвоение NULL старому массиву не приведет к глюкам даже в долгосрочной перспективе. Но вот рост сейвов из-за неудаленных старых массивов вполне возможен и его непросто заметить, если этот массив мелкий.
RAider : |
блин, цены тебе нету!)...пора тебе медаль вешать именную - "глубококоврятель Х2"
|
Ага
|
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
CheckerTwo
Ты просто золото!
Мало того, что все замечательно работает, т.е. новые корабли добавляются в игру даже без необходимости начинать ее сначала, так еще и никакой дополнительной утечки памяти мне обнаружить не удалось!
Сейчас напишу подробности как тестировал...
Все тесты производил на запакованной оригинальной игре в.1.4UK (даже экзешник оригинальный без всяких но-сиди). Никаких доп. скриптов, никаких модификаций, скрипты AL-плагинов удалил. Cache3Ddata было включено.
Добавил 1 доп. строчку в TShips и активировал кораблик SH_000 в x2story.obj и x2galedit.obj. Эти 3 файла запаковал в мод-пак. Сделал естественно проверку, добавленная открываха с левым размером хулла и классом М6 была без проблем создана скриптом и отказалась стыковаться на станции, как и положено М6, но застыковалась на док оборудования в спец доке для М6 Тест делал путем загрузки сейва, сделанного в оригинальной игре без этой доп. 115й строки. Т.е. все работает, необходимости в bat-файле по большому счету нет, если только не хочется сэкономить 750 килобайт на размере мода (так жмет эти 2 ОБЖа RAR). Да и заставлять конечных пользователей распаковывать свою игру тоже нет нужды.
Результаты тестов:
Игровое время, когда производился сейв | Размер сейва в ориг. игре 1.4 | Р-р сейва в игре с подкл. мод-паком | Старт игры в custom-universe | 5:00 | 1261163 | 1262196 | 10:00 | +209 | +264 | 20:00 | +421 | +274 | Загрузка сейва "20:00" | 25:00 | +22290 | +22340 | Загрузка сейва "25:00" | 30:00 | +421 | +381 | Загрузка сейва "30:00" | 35:00 | +341 | +381 | Размеры сейвов реальные (а не размеры зазипованных игрой *.sav).
Забыл сказать, что игру начинал на тестовой карте из 2х совершенно пустых секторов, только пара ворот, звезды, планеты, 1 нова и 4 эдвансд спутника. Никуда не двигался, не поворачивался, даже никаких клавиш не нажимал, кроме <Shif-S> и включал СЕТА 10х.
Из таблички хорошо видно, что:
1. При загрузке сейва с активированными пропатченными OBJ-файлами (они в мод-паке), сейв увеличивался на 381 байт, что совершенно недостаточно ИМХО для массива идентификаторов кораблей, т.е. старый массив похоже благополучно удаляется из памяти.
2. Похоже утечка памяти есть в оригинальной немодифицированной игре, порядка 40 байт в минуту +200 байт при каждой загрузке сейва (кроме первой). Но это на нулёвой карте. А в полноценной галактике с кучей скриптов ситуация может быть в тысячи раз хуже.
|
|
|
|
|
|
Канал X2: The Threat: «Увеличиваем число доступных кораблей» |
|