Как узнать начальное число ранее созданной игры?

OpenTTD - современная игра, клон Transport Tycoon Deluxe с открытым исходным кодом, написанный на C и С++. Содержит ряд ключевых улучшений и возможность игры по сети. На данный момент это главное направление развития игры.

Модераторы: eraserkry, Mihamster, Smoky555, Группа модераторов

Как узнать начальное число ранее созданной игры?

Сообщение шумелка мышь » Вс мар 11, 2012 00:23

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

Кароче я сгенерировал игру, поиграл в неё, возникли проблемы с настройкой графики, хочу начать ещё раз (понравилась) заново играть на той же сгенерированной карте, но как узнать её начальное число из сейвов игры? Ну или в общем как узнать это число (см. картинко) ?

Изображение
Изображение
Аватара пользователя
шумелка мышь
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Ср июл 15, 2009 18:31

Re: Как узнать начальное число ранее созданной игры?

Сообщение ziond » Вс мар 11, 2012 00:27

getseed в консоли
ziond
Директор
Директор
 
Сообщения: 355
Зарегистрирован: Пт мар 13, 2009 15:59

Re: Как узнать начальное число ранее созданной игры?

Сообщение шумелка мышь » Вс мар 11, 2012 00:51

ziond
Большое спасибо!

Правда сгенерировать точно такую же карту не удалось, даже с указанием числа взятого из консольной команды, получившаяся карта вообще не похожа. Может ещё что нужно указать при генерации карты? И где это брать в таком случае?
Изображение
Аватара пользователя
шумелка мышь
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Ср июл 15, 2009 18:31

Re: Как узнать начальное число ранее созданной игры?

Сообщение Странник » Вс мар 11, 2012 05:53

Ребят! У меня все получилось. Правда, я так и не нашел консольное число, там где это указанно в справке. При создании новой карты, я просто записал начальное число, а затем сгенирировал карту. После этого, я вышел в главное меню и не трогая настроек игры, заново создал карту, в окошко с начальным числом ввел то число которое записал ранее. И все. Получилась та же самая карта. Возможно просто из-за разности версий не всегда получается сгенирировать карту по старым параметрам. У меня стоит Open TTD 1.0.4 и при запуске ранее записанной игры, узнать начальное число никак не удается.
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва

Re: Как узнать начальное число ранее созданной игры?

Сообщение шумелка мышь » Вс мар 11, 2012 07:40

У меня стоит Open TTD 1.0.4 и при запуске ранее записанной игры, узнать начальное число никак не удается.

Игра генерировалась хрен знает когда, не помню какая была версия, но точно не 1.2.0, даже не бетка. Сейчас же стоит 1.2.0. RC1, но правда все последние сейвы старой игры делались в этой версии, до которой я обновился с предыдущих беток. Начальное число консольная команда показала.

При создании новой карты, я просто записал начальное число, а затем сгенирировал карту. После этого, я вышел в главное меню и не трогая настроек игры, заново создал карту, в окошко с начальным числом ввел то число которое записал ранее.

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

Может кто знает где можно посмотреть не только начальное число, но и остальные начальные установки карты в генераторе карт новой игры при создании нужной мне карты?

Получилась та же самая карта.

А города и предприятия на тех же местах что и в первый раз?
Изображение
Аватара пользователя
шумелка мышь
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Ср июл 15, 2009 18:31

Re: Как узнать начальное число ранее созданной игры?

Сообщение Edd.Dragon » Вс мар 11, 2012 08:36

NewGRF можно добавлять и удалять в уже запущенную игру.
Т.е. фактически для наиболее сходного "повтора" делаем в консоли:
- restart
- добавление/удаление чего хотели.

Потом тестим на глюки (в основном - все ли нормально в городах и какой список транспорта). Если все ок - играем. Хотя, может restart в новой версии тоже может выдать другой результат - не знаю досконально принцип его работы.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Как узнать начальное число ранее созданной игры?

Сообщение ziond » Вс мар 11, 2012 13:04

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

начальные настройки игры можно получить из консоли в загруженной игре набрав такие команды (не знаю может еще какие есть :roll: )
Код: Выделить всё
set landscape
set snow_line
set snow_line_height
set starting_year
set land_generator
set tgen_smoothness
set variety
set generation_seed
set tree_placer
set map_x
set map_y
set water_borders
set custom_town_number
set custom_sea_level
set min_river_length
set river_route_random
set amount_of_rivers

Все команды можно посмотреть в opentttd.cfg :wink: Правда если игрался сценарий это все наверно не поможет. Ну и в точности карту повторить (с рассстановкой промышленности и городов) не получится.
ziond
Директор
Директор
 
Сообщения: 355
Зарегистрирован: Пт мар 13, 2009 15:59

Re: Как узнать начальное число ранее созданной игры?

Сообщение Edd.Dragon » Вс мар 11, 2012 23:25

Ну и в точности карту повторить (с рассстановкой промышленности и городов) не получится.

На то и нужно рестартить сохраненку, а не генерить новую.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Как узнать начальное число ранее созданной игры?

Сообщение Странник » Вс мар 11, 2012 23:59

шумелка мышь писал(а): А города и предприятия на тех же местах что и в первый раз?


Да, города и предприятия остались на своих местах, правда если приглядется то кое-что все-таки изменилось. А именно - ширина озер. Сравните:

Без имени, 01.01.1850#1_1.jpg
Рис 1
Без имени, 01.01.1850#1_1.jpg (26.32 Кб) Просмотров: 8783


Без имени, 02.01.1850_1.jpg
Рис 2
Без имени, 02.01.1850_1.jpg (25.25 Кб) Просмотров: 8783


Вообще-то все настройки игра хранит в в файле openttd.cfg. Все изменения в настройках записываются туда же после выхода из них. Случайное число туда не записывается, если я все правильно понял, а генирируется по ходу дела. Как я понимаю случайное число нужно для расстановки городов и предприятий в случайном порядке.
Последний раз редактировалось Странник Пн мар 12, 2012 00:15, всего редактировалось 5 раз(а).
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва

Re: Как узнать начальное число ранее созданной игры?

Сообщение ziond » Пн мар 12, 2012 00:08

Edd.Dragon писал(а):
Ну и в точности карту повторить (с рассстановкой промышленности и городов) не получится.

На то и нужно рестартить сохраненку, а не генерить новую.

restart в консоли берёт параметры генерации мира установленные в главном меню, т.е. если сохраненка сделана давно и параметры неоднократно поменялись, то такой метод не прокатит. Хотя имхо :roll:.
А по теме: не особо понятно зачем начинать по новой генерированную карту ведь можно сгенерировать новую и будет еще интереснее :wink:
ziond
Директор
Директор
 
Сообщения: 355
Зарегистрирован: Пт мар 13, 2009 15:59

Re: Как узнать начальное число ранее созданной игры?

Сообщение Edd.Dragon » Пн мар 12, 2012 00:18

Ну это когда как. Иногда генерируешь карту несколько раз, чтобы подобрать более-менее интересную конфигурацию, например, тех же лесов и полей в снежном климате. А потом вдруг хочешь сменить набор техники...
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Как узнать начальное число ранее созданной игры?

Сообщение Edd.Dragon » Пн мар 12, 2012 00:24

ziond писал(а):restart в консоли берёт параметры генерации мира установленные в главном меню, т.е. если сохраненка сделана давно и параметры неоднократно поменялись, то такой метод не прокатит. Хотя имхо :roll:.

Проведи тест. Сгенери небольшую карту. Прокрути время. Потом выйди, поменяй ВСЕ параметры, сгенери абсолютно иную карту. Загрузки прежнюю игру и набери в ней restart - получишь то, что и было.

А вот между разными версиями игры теоритически разница может быть. Я не в курсе, что именно сохраняется в сохранялке, а что генерируется по SIDу. И если в новой версии изменен хотя бы генератор случайных чисел, то все то, что restart генерирует по случ. числам, а не восстанавливает по зафиксированным данным, конечно же уже будет не таким. Но от настроек в главном окне он не зависит. Все настройки в сохранялке и с чего бы ему брать не их, а другие? Он рестартит именно загруженную игру, а не генерит новую.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Как узнать начальное число ранее созданной игры?

Сообщение ziond » Пн мар 12, 2012 00:37

Edd.Dragon писал(а):
ziond писал(а):restart в консоли берёт параметры генерации мира установленные в главном меню, т.е. если сохраненка сделана давно и параметры неоднократно поменялись, то такой метод не прокатит. Хотя имхо :roll:.

Проведи тест. Сгенери небольшую карту. Прокрути время. Потом выйди, поменяй ВСЕ параметры, сгенери абсолютно иную карту. Загрузки прежнюю игру и набери в ней restart - получишь то, что и было.

Сам то пробовал то что советуешь? Делаю как ты советуешь, получаю новую игру согласно новым (последним) настройкам. У меня trunk r23974
ziond
Директор
Директор
 
Сообщения: 355
Зарегистрирован: Пт мар 13, 2009 15:59

Re: Как узнать начальное число ранее созданной игры?

Сообщение Странник » Пн мар 12, 2012 01:28

При записи игры в файл сохраняются не только параметры игры, настроек, список подключенных grf-файлов, но и расположение каждого ТС на карте. А так же задания для ТС. Фактически карта представляет собой массив с определенным числом клеток по X и Y. В в файл она записывается ввиде такого массива, в клетках которого значение меняется, если та или иная клетка не пустая. Если клетка массива пуста - то ее значение 0. Если же нет - то ее значение записывается как совокупность значений. Например: 1R5 (Примерно так, но точнее надо у разработчиков спрашивать). Где: 1 - высота земли; R - дорога; 5 - номер ТС игрока. Примерно так.
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва

Re: Как узнать начальное число ранее созданной игры?

Сообщение Edd.Dragon » Пн мар 12, 2012 16:27

ziond писал(а):Сам то пробовал то что советуешь? Делаю как ты советуешь, получаю новую игру согласно новым (последним) настройкам. У меня trunk r23974

Конечно пробовал, но на RC1.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

След.

Вернуться в Общие вопросы по OpenTTD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18