Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Координата точки возле Земли (скопировать для своего модуля)




ВВЕДЕНИЕ

 

Главное – терпение!

Итак, у вас есть “root-права” (ГЛАВНОЕ УСЛОВИЕ – без них редактирование и просмотр невозможен), программа “ES Проводник”, с помощью которой мы будем шарить по папкам и редактировать файлы. Приступаем.

 

 

ГДЕ НАХОДЯТСЯ ФАЙЛЫ ДЛЯ РЕДАКТИРОВАНИЯ

 

Файлы sandbox-миров находятся по адресу: /Android/data/com.nooleus.android.spaceagency/cache/

В этой папке дублируются sandbox-миры, которые, вы отправляли на почту или еще куда; если не отправляли – не появятся). Если же вы, наоборот, скачали sandbox-мир – не важно, в какую папку – просто откройте его с помощью приложения “Space Agency” - он добавится в игру.
Но редактировать будем не их, вернее, не конкретно эти файлы, и не конкретно в этой папке.
Переходим по адресу: /data/data/com.nooleus.android.spaceagency/

Здесь должно отображаться 4 папки: " cache ", " files ", " lib ", " shared_prefs " (если не отображаются или отображаются не все, проверьте ES Проводник на сопряжение с root-правами).

 

 

РЕДАКТИРОВАНИЕ КАРЬЕРЫ

 

Переходим в папку: " files " и выбираем, интересующий нас, файл: " game_state.gfs " (отвечает за общий игровой прогресс, здесь можно открыть все уровни обучения, карьеры на золото + открыть все демо-ролики и запчасти для sandbox-миров), " sandbox_000.gfs " (здесь происходит редактирование конкретного sandbox-мира, добавление кучи шаттлов и других запчастей, их копирование и изменение некоторых параметров).

 

Редактирование файла: "game_state.gfs"

system,format version,0 – пропускаем строчку (это ориентировка для алгоритма игры к конкретному файлу)

system,file type,4 – пока не понял

global,tutorials total,11 – количество открытых обучающих миссий (если поставить меньше – и в игре их будет меньше)

global,tutorial state,5,5,5,5,5,5,5,5,5,5,5 – пятерочки обозначают, что вы прошли обучение на золото (каждая пятерка привязана к конкретной миссии в обучении, по порядку), если поставить значения меньше (1 – миссия недоступна, миссия доступна, 3 – бронза, 4 – серебро, 5 - золото).

global,missions total,30 – количество открытых миссий в карьере

global,mission state,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 – оценки за миссии в карьере

global,demo state,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 –открытые демо-ролики к миссиям (0- закрыто, 1 - открыто)

global,sandbox unlock,30 – чем больше проходите карьеру, тем больше деталей открывается в песочнице (поставив показатель на 30, игра будет полагать, что вы прошли игру полностью и откроет доступ ко всем деталям), соответственно, чем показатель меньше, тем меньше будет открыто (если вы заплатили денежку за открытие модулей - они будут открыты при любом показателе в строке)

 

Редактирование файла: "sandbox_000.gfs" (000, 001, 003 – нумеруются согласно дате создания, от наименования sandbox -мира не зависит)

system,format version,0 – пропускаем

system,file type,1 – пропускаем

sandbox,version,1 – пропускаем

sandbox,high mission,30 –количество открытых деталей (будто вы прошли 30 миссий)

sandbox,name,My Sandbox –наименование файла в игре (русский язык не поддерживает)

sandbox,uid,66222491 – уникальный идентификационный номер sandbox-карты, и у каждой он свой (одинаковые не допускается, ибо могут перестать корректно работать/запускаться карты)

modspace,record count 01,1 – показатель общего количества модулей в sandbox-мире; изменение данной строчки бессмысленно, т.к., игра после редактирования файла все исправит (под реальное количество модулей).

 

РЕДАКТИРОВАНИЕ SANDBOX-МИРОВ

 

Принцип работы кода

Все кто проходил дисциплину информатики, понимает или примерно представляет, как строятся алгоритмы операций на языке техники (1 – обозначает “да”, 0 - “нет” и в зависимости от выбранного варианта выполняются те или иные операции, после которых выбор встает вновь и вновь, 1 или 0 – и сотни, а то и тысячи таких операций происходят ежесекундно в любом ЭВМ). Как-то так:


 

 

 


Итак, перейдем непосредственно к коду Space Agency. Рассмотрим на примере Шаттла (все строки которого относятся именно ему):

modspace,module save id 01,33

modspace,part id 01,140

modspace,debug id 01,6033

modspace,state 01,1

modspace,effect counter 01,0

modspace,show in selector 01,0

modspace,cargo item 01,0,503,0.00

modspace,cargo item 01,1,500,1.00

modspace,cargo item 01,2,501,1.00

modspace,air 01,1.00,0.00,0.00

modspace,power state 01,0,0,0,0

modspace,navicomp state 01,0,0,0,1.00

modspace,collision state 01,1,0

modspace,position 01,63594.238268,191676.106569,195.320000

modspace,movement 01,17.270000,0.110000,-0.050000,0.000000

modspace,launch timestamp 01,1

modspace,last used timestamp 01,1

modspace,fuel levels 01,35.00,0.00,96.00,0.00

modspace,dock point 01,0,0,0,0,-1

Общие положения и параметры по коду:

После названия каждого из параметров ставится число 01 – величина измену не подлежит (так понял, цифра описывает существование данного параметра в алгоритме игры, будь 00 – этого параметра не было бы в списке), просто примите это как должное и не обращайте на нее внимания.

Потом, в большинстве случаев, через запятую ставится вариант 0 или 1 (учтите, 0 – это не ничего, это тоже вариант). Существуют так же и другие варианты, может быть не 0 или 1, а к примеру 2 – это, скорее всего, перебор вариантов поведения параметра, с боку от которого стоит величина (их можно отредактировать и понаблюдать, как изменится поведение объекта в игре; количество вариантов ограничено рамками, запрограммированными разработчиком).

modspace,state 01, 1 – (вариантов которых всего три)

Так же, это может быть отсчет, который здесь начинается не с единицы, как мы привыкли, а с нуля. Пример в строчках грузовых ячеек шаттла:

modspace,cargo item 01, 0,503,0.00 – первая ячейка

modspace,cargo item 01, 1,500,1.00 – вторая ячейка

modspace,cargo item 01, 2,501,1.00 – третья ячейка

Детальный разбор каждой строчки:

Каждая деталь (будь то шаттл, модуль или солнечная батарея) начинается с данной строчки:

modspace,module save id 01, 33 – идентификационный номер модуля в Sandbox-мире. У каждого модуля он свой и не дублируется (а если сдублировать вручную при редактировании – то он не появится, либо исчезнет другой с таким же id). Внимание! Меньший № id всегда имеет приоритет над последующими. Т.е., когда игра считывает сохранение, первыми в sandbox-мире загружаются Id с меньшим показателем и только потом решает, стоит ли загружать остальные, ибо они могут содержать ошибки в коде (например, координаты разные объектов, а изменено, что они стыкованы в одном месте – тогда последующий id пристыкуется к предыдущему – не наоборот!).

modspace,part id 01, 140 – номер детали, каждый из которых подразумевает собой конкретную деталь (140 обозначает шаттл, допустим 102 - телескоп)

modspace,debug id 01,6033 – неизвестно (debug переводится как отлаживать/отладка), редактирование - изменений не выявило. У каждого модуля свое поведение на те или иные ситуации. Кто-то может не взрываться в атмосфере, а кто-то даже садиться на Землю. 6033 – характеристики для Шаттла. Если прописать характеристику, присущую спасательной капсуле, то шаттл будет игнорировать атмосферу, да и вообще все объекты. НО, это распространяется не на все характеристики и не на каждый объект. Почему? - пока не разобрался

Быть может, с шаттлом и не выйдет. Вот модуль с которым данный трюк я гарантирую:

А там, разобравшись, глядите и полностью въедите.

modspace,state 01, 1 – положение детали в пространстве (относительно не только окружающего мира, но и прилегающих к ней модулей), 1 - норма, 2 – объект становится неподвижен по осям x и y, но может крутиться.

modspace,effect counter 01, 0 – пока не разобрался. В корабле Союз (из 3-х модулей) у всех модулей стоит “0” за исключением того, которым управляем, т.е. последнего (нижнего), у него стоит “1”. При отстегивании ступени, у следующей ноль сменяется на единицу. Т.е. можно было бы предположить, что у кого единица – тем модулем в конструкции мы и управляем, а у кого ноль – не активны. Однако, при попытки поменять их местами, управляемым остается всеравно нижний модуль (как это обойти я не въехал, может вам пригодится).

modspace,temperature 01,0.50 – отвечает за “нагретость/красноту” модуля. “0.50” говорит о том, что модуль нагрет/красен наполовину (1.00 – максимум; 0.00 – минимум, вернее эта строчка и вовсе отсутствует, следовательно, чтобы добавить красноты модулю, нужно добавить эту строчку). Учтите, показатель красноты как “показатель жизни” в видеоиграх, чем краснее объект, тем меньше он может находиться под нагревом (даже после извлечения из теплой среды).

modspace,show in selector 01, 0 - пока не разобрался

modspace,cargo item 01,0,503,0.00 - грузовая ячейка №1 (0 – позиция ячейки в инвентаре, в данном случае первая сверху; будь цифра 4 – была бы ячейка первая снизу), 503 – груз (батарея), 0.00 – на сколько она заряжена (сейчас она полностью разряжена, максимум это 1.00)

modspace,cargo item 01,1,502,1.00 - грузовая ячейка №2 (1 – вторая сверху), груз (H2O), показатель 1.00 говорит, что бак с водой полон

modspace,cargo item 01,2,501,1.00 - грузовая ячейка №3 (2 – третья сверху), груз (CO2), бак полон

Т.к. у шаттла 8 ячеек (а тут представлено всего три), значит, остальные пусты. Можем в них что-то добавить, для этого копируем предыдущую строку и вносим изменения. Пример добавленной строчки в коде

 

modspace,cargo item 01,2,501,1.00 - предыдущая строчка

modspace,cargo item 01,7,500,0.50 – добавленная строчка, последняя ячейка снизу с грузом O2, израсход. наполовину

modspace,air 01,1.00,0.00,0.00 – следующая строчка

 

Далее:

moreover,cargo item 01,0,503, 1.00 – строчка отвечающая за добавление новых грузовых ячеек помимо имеющихся/отсутствующих. Особо не вникал, однако стоит сказать, что данная строчка отличается от “modspace,cargo item ” только названием в начале, и первой цифрой после “01”, отвечающей уже не только за места, где будет находиться объект, но и за саму позицию ячейки. Я вроде бы пробовал на разных модулях и не на всех сработало (толи я косячил). Вот на этом работоспособность гарантирую, а там, разобравшись, и в других освоитесь.

 

 

А вот и пример этого модуля и строчки в коде:

 

modspace,air 01,1.00,0.00,0.00 - пока не разобрался

modspace,power state 01,0,0,0,0 – обозначает активность или не активность той или иной системы модуля (снабжение или не снабжение тех или иных функций электроэнергией). ПЕРВЫЙ ноль после единцы пока не разобрался. ВТОРОЙ ноль – управление светом ЭТОГО МОДУЛЯ. ТРЕТИЙ ноль управление новигационным компьютером ЭТОГО МОДУЛЯ. ЧЕТВЕРТЫЙ ноль - пока не разобрался (то что напи сано к цифре далее – крайне маловероятно), но вробе бы, питает электроэнергией сотальные части “корабля” (см. термины в конце документа), если является частью корабля; а если нет – в никуда будет отдавать энергию и будет неуправляем, ибо теперь это элемент корабля, а не независчимый модуль (0 – стандарт, 1 - питает).

modspace,navicomp state 01, 1,0,0,1.00 – “ 1 ” обозначает, что навигационный компьютер включен (0 - выключен), остальноепока не разобрался

modspace,collision state 01,1,0 - пока не разобрался

modspace,position 01,63594.238268,191676.106569,195.320000 - местонахождение объекта на карте (изменение по оси x; изменение по оси y; изменение угла, 0.00 – шаттл ровно смотрит вниз, 90.00 – шаттл ровно смотрит влево (т.е. вращается против часовой стрелки), особенно удобно для точечного вырезания объекта в каком-нибудь фотошопе)

modspace,movement 01,17.270000,0.110000,-0.050000,0.000000 - строчка появляется только когда объект движется, “0.110000“ – движение (+ вниз относительно экрана, - вверх), “-0.050000” – вращение (- по часовой, + против часовой), остальные неведомы.

modspace,launch timestamp 01,1 – время с старта и отправки объекта в открытый космос (“1”говорит о том, что объект с начала создания карты уже находился в космосе. Изменения данной величины ни на что не повлияют)

modspace,last used timestamp 01,1 - время от начала использования объекта (в данном случае “1”говорит о том, что объект не трогали с момента создания карты. Изменения данной величины ни на что не повлияют). Обычно на месте единицы можно обнаружить колоссальные цифры, которые на самом деле являются секундами.

modspace,fuel levels 01,35.00,34.00,96.00,95.00 – показатель уровня топлива, 35.00 - объем бака двигателей сближения (можно подправить на величину побольше, тогда и топлива при каждой заправке будет помещаться больше), 34.00 – на сколько бак двигателей сближения заполнен (максимум 35.00, можно прописать и больше этой величины, все будет работать, однако заправиться в рамках игры более величины в 35.00 единиц не получится), 96.00 – объем бака двигателей ориентации (те которые пшикают), 95.00 – на сколько бак двигателей ориентации заполнен (максимум 96.00)

Так же, можно дописать топливный бак тем объектам, которые не обладают ими изначально. Для этого добавьте строчку modspace,fuel levels 01,35.00,34.00,96.00,95.00 (отредактировав ее параметры под свои нужды) в параметры модуля, не обладающего топливными баками изначально.

Примечание! Обычно, уникальные возможности, вроде топлива или модулей стыковки прописываются после строчки ”timestamp”, как в примере:

modspace,last used timestamp 01,1

modspace,fuel levels 01,35.00,34.00,96.00,95.00

modspace,dock point 01,0,0,0,0,-1

 

 

modspace,dock point 01,0,0,0,0,-1 - стыковочный модуль, последняя цифра (-1) обозначает, что стыковочный модуль ни к чему не пристыкован. Была бы любая другая цифра (в зависимости от модуля, например у Space Station Hub в стыкованном состоянии пишется 0) - пристыкован. Чтобы было понятно, вот два примера с лунным модулем, где первый случай не стыкован, а второй стыкован: ”modspace,dock point 01,0,0,0,0,-1”, ”modspace,dock point 01,0,0,0,0,5,0”, заметьте, что “-1” сменился “0”, а перед ним появилась новая цифра “5” – «это save id модуля к которому пристыкован лунный модуль». Первый “0” в цепочке обозначает номер модуля (у лунного модуля всего один стыковочный модуль, а ноль потому, что отсчет идет не с единицы в этой игре. А с нуля: 0,1,2,3 – итого 4). Таким образом можно строить целые базы без единого запуска. Важно, при правильном написании стыковки модулей между собой – не обязательно указывать координаты их обоих в пространстве, главное, указать координаты save id того, который старше (т.е. меньшей цифры), тогда тот модуль, который вы хотите пристыковать, будь он хоть в другом конце карты – пристыкуется к тому, чей save id меньше/старше (наоборот не выйдет, если только в ручную не поменять их save id местами). Таким образом можно стыковывать разные ступени и элементы ракет между собой (хотя физически они не касаются друг друга), вот пример наложения модулей друг на друга, который так же можно прописать (да что там модуленй, станций над станциями):

 

Оставшиеся три нуля перед “-1” обозначают проводку заправочного шланга, электрического кабеля, открытие/закрытие двери – именно в такой последовательности (0 – все перекрыто, 1 – все включено/открыто).

Все, больше строчек, касаемо шаттла нет.
Рассмотрим последнюю строчку, только уже не от шаттла, а от Space Station Hub, у данного модуля их четыре:

modspace,dock point 01, 0,0,0,0,9,0

modspace,dock point 01, 1,0,0,0,5,0

modspace,dock point 01, 2,0,0,0,-1

modspace,dock point 01, 3,0,0,0,6,0

 

Вот, как это выглядит в игре:

 

 

(позиции: 0,1,2,3 располагаются именно в такой последовательности: верх, низ, лево, право)

Величины, на концах которых “-1” – свободны, где “0” - стыкованы (заметьте, перед ними появляется еще одна цифра – это id модулей из строчки “modspace,module save id”)

 

Рассмотрим строчку (соединение/стыковка без стыковочного модуля)

modspace,parent module 01,2 – она есть лишь там, где существует соединение ”не с помощью” стыковочных модулей. В данном случае пристыкован советский лунный корабль к советскому лунному шасси, а эта строчка принадлежит именно лунному кораблю. Если строчку удалить (находится после ”modspace,fuel levels”) – произойдет расстыковка. Цифра 2 в конце строчки обозначает ”modspace,module save id 01,2”, т.е. привязку к id шасси. При стыковке с чем-либо, подобного рода, конструкции не распадаются на ступени.

 

Рассмотрим строчку (портал с орбиты на орбиту, плюя на координаты объекта)

modspace,orbital state 01,2,1,1627.92,291.10 – появляется в описании лишь тех объектов, которые кружат на орбите. 2- обозначение того, что объект находится на орбите (если поменять на 3 – сойдет с орбиты; если успеть затормозить до полного улета с нее, то можно полностью остановиться, находясь на орбите), 1 – планета HOM (0 – SOL, 2 – LUN, 3 – GRN, 4 – RED, 5 – YEL, 6 – ENC, 7 – PUR, 8 – GOL, 9 – BLU, 10 – KAT, 11 – EMA, 12 – JOR, 13 -), 1627.92 – высота, 291.10 – скорость.

 

Рассмотрим строчку (солнечные батареи/открытие, закрытие/регулировка длины и их наличие)

modspace,solar panel state 01,3,1.00 – строчка обладателей солнечными батареями, 3 – батарея раскрыта (1 – закроет ее, 2 – откроет), но всегда после сохранения стоять будет 3. Так же встречается 0 – состояние до ее первой эксплуатации (будь то под обтекателями).

Далее: 1.00 – длина солнечной батареи (можно удлинить или укоротить до нуля – на количество вырабатываемой энергии это не повлияет).

 

 

Рассмотрим строчку (крепление ”без модулей стыковки”)

modspace,payload parent 01,1 – строчка принадлежит оранжевому кораблю (всегда в аналогичных ситуациях), а не тому объекту, который ”тащит”. В данном случае ”1” - save id белого двигателя. Для копирования подобного рода конструкций, не стоит забывать изменять save id и в этой строчке. На скриншоте они разъединены, т.к. вместо единицы стоит “0” (кстати, save id ”0” тоже может быть). А так, они соединены. При стыковке с чем-либо, белый объект отстегнется в никуда.

 

Рассмотрим строчку

modspace,side panel state 01,3,121.000000,121.000000,0.00 – да нечего ее разбирать, т.к. не въехал

 

 

Пару слов о строчках ”navicomp”:

Они маркеры/точки, которые служат ориентиром координат тех или иных планет. Вот пример Земли и установленной точки лично:

navicomp,label,HOM – наименование точки

navicomp,center,-13860.00,-180000.00 – изменение по оси x, изменение по оси y.

navicomp,position,-13298.163086,-185121.500000– не въехал

navicomp,object radius,600.000000 – не въехал

navicomp,orbit radius,5920.000000 – не въехал

navicomp,rescale radius,10800.000000 – на каком расстоянии от объекта будет происходить увеличение движущегося к нему объекта (фокусировка), измеряется не в тех единицах, что отсчитывает навигационный компьютер, а в величинах самого кода (поэтому отслеживать не удобно)

navicomp,scale,1.00 – не въехал

navicomp,end – подразумевает конец данной координаты

Эти все строчки, в принципе, можно удалить для удобной работы с файлом. Учтите, что при отсутствии всех модулей и навигационных точек сохранение может не запуститься (не то, чтобы обязательно не будет работать; просто наводка тем, кто чутка где-то подкосячил, например указал другое общее количество модулей и т.д.)

 

Своя точка (прямо над орбитой Земли):

navicomp,label,TRE – вооот…

navicomp,center,-14402.36,-186072.56 – вооот…

navicomp,position,-14402.356445,-186072.562500 – не въехал

navicomp,object radius,0.000000– не въехал

navicomp,orbit radius,0.000000– не въехал

navicomp,rescale radius,0.000000 – вооот…

navicomp,scale,1.00– не въехал

navicomp,end – вооот…

 

 

ДРУГОЕ ПОЛЕЗНОЕ

 

Для новичков в root-редактировании!

Чтобы было проще во всем разобраться, я сделал несколько скриншотов модулей из игры, представив их полный код под фотографией. Пример, где каждый из цветов что-то обозначает:
- черный (без изменений)
- синий (новодобавленные строки)
- красный (измененные строки)

Если, по какой-то причине, эти фотокоды не приложены к данному документу, их и другие файлы к игре можно найти здесь:

https://vk.com/topic-121108885_33828514

 

Координата точки возле Земли (скопировать для своего модуля)

Строки кода вражеского спутника. Собственно, из всего полезного здесь - это только красные строки (его part id и координаты), относящиеся к скриншоту выше “точке TRE”. Можно использовать эти координаты для добавления своих других модулей. Если лень, к примеру, искать координаты самому. Скопируйте их в свой модуль и он появится в этой точке ”TRE”.

modspace,module save id 01,1

modspace,part id 01,103

modspace,debug id 01,1003

modspace,state 01,1

modspace,effect counter 01,1

modspace,show in selector 01,0

modspace,cargo item 01,0,503,1.00

modspace,cargo item 01,1,503,1.00

modspace,cargo item 01,2,503,1.00

modspace,air 01,1.00,0.00,0.00

modspace,power state 01,1,1,1,0

modspace,navicomp state 01,1,0,0,1.00

modspace,collision state 01,1,0

modspace,position 01,-14402.356835,-186072.562273,180.000000

modspace,launch timestamp 01,1463689416

modspace,last used timestamp 01,1463689831

modspace,fuel levels 01,0.00,0.00,20.00,20.00

modspace,dock point 01,0,0,0,0,-1

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...