• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Редактирование SAVEDAT.SAV

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Доброго времени суток, уважаемые
Вот я, как начинающий скриптописатель, долгое время искал заготовки-шаблоны(кусочки скриптов) для упрощения процесса написания конечного скрипта.
Самому пришлось все выискивать в декомпилированных скриптах.
Теперь думаю оказать посильную помощь следующим поколениям скриптописателей в (кирпичиках).
Предлагаю и остальным Гуру присоединиться к помощи начинающим выкладыванием некоторых (примитивов)

Вот примерное прибавление +2часа к игровому времени
if(Wld_IsTime(5,0,21,59))
{
if(Wld_IsTime(5,0,5,59))
{
hours = 5;
}
else if(Wld_IsTime(6,0,6,59))
{
hours = 6;
}
else if(Wld_IsTime(7,0,7,59))
{
hours = 7;
}
else if(Wld_IsTime(8,0,8,59))
{
hours = 8;
}
else if(Wld_IsTime(9,0,9,59))
{
hours = 9;
}
else if(Wld_IsTime(10,0,10,59))
{
hours = 10;
}
else if(Wld_IsTime(11,0,11,59))
{
hours = 11;
}
else if(Wld_IsTime(12,0,12,59))
{
hours = 12;
}
else if(Wld_IsTime(13,0,13,59))
{
hours = 13;
}
else if(Wld_IsTime(14,0,14,59))
{
hours = 14;
}
else if(Wld_IsTime(15,0,15,59))
{
hours = 15;
}
else if(Wld_IsTime(16,0,16,59))
{
hours = 16;
}
else if(Wld_IsTime(17,0,17,59))
{
hours = 17;
}
else if(Wld_IsTime(18,0,18,59))
{
hours = 18;
}
else if(Wld_IsTime(19,0,19,59))
{
hours = 19;
}
else if(Wld_IsTime(20,0,20,59))
{
hours = 20;
}
else if(Wld_IsTime(21,0,21,59))
{
hours = 21;
};
if(Wld_IsTime(hours,0,hours,12))
{
minits = 6;
}
else if(Wld_IsTime(hours,12,hours,24))
{
minits = 18;
}
else if(Wld_IsTime(hours,24,hours,36))
{
minits = 30;
}
else if(Wld_IsTime(hours,36,hours,48))
{
minits = 42;
}
else if(Wld_IsTime(hours,48,hours,59))
{
minits = 54;
};
Wld_SetTime(hours + 2,minits);
};
(в период с 5 до 22ч прибавляет примерно 2ч) - дальше думайте ;)
 

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Re: Кирпичики скриптов(полезно для модостроения)

Редактирование переменных в сейве с помощью Hex-редактора

Распишу принцип хранения переменных в SAVEDAT.SAV файле
Название переменной, 16 байт внутренних данных, 4 байта сама переменная (для числовых значений)

следовательно отредактировать легко и просто, ищем переменную поиском текста, отступаем 16 байт, переводим калькулятором винды из десятичной в шестнадцатеричную систему счисления (dec2hex) и записываем в найденное место младшим байтом вперед (число 01 00 00 00 = 1)

P.S. GVE хорошая програмка, но ей нужен framework
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.900
Благодарности
6.776
Баллы
1.625
Re: Кирпичики скриптов(полезно для модостроения)

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

ЗЫ. раз уж эта тема есть, то просьба расписывать подробно, желательно до каждой мелочи.
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Re: Кирпичики скриптов(полезно для модостроения)

Почему с ассемблером? Можно на C, C++....

Много какие языки позволяют.
 

vmazz

Участник форума
Регистрация
18 Дек 2008
Сообщения
218
Благодарности
1
Баллы
165
Re: Кирпичики скриптов(полезно для модостроения)

А помойму хороший пост. Правда мне кажется он немного не по теме =)
P.S. GVE хорошая програмка, но ей нужен framework
+1. А по сему есть мысль отучить ее от фреймвока... ;)
 

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Re: Кирпичики скриптов(полезно для модостроения)

MEG@VOLT, прости, а что не понятного в моем обьяснении? уже вродибы все разжевал как искать и как заменить, калькулятор в винде стандартный, HEX-редактор в Volkov Commander еще был )))
А в теме для модостроения, потомучто сам пользуюсь иногда в тестах, создаю игровые ситуации которые сложно играя вызвать

А помойму хороший пост. Правда мне кажется он немного не по теме =)

+1. А по сему есть мысль отучить ее от фреймвока... ;)

проще свой написать ))) или редактировать вручную )))
 

vmazz

Участник форума
Регистрация
18 Дек 2008
Сообщения
218
Благодарности
1
Баллы
165
Re: Кирпичики скриптов(полезно для модостроения)

проще свой написать )))
Ну я это и имел ввиду, просто наверно выразился неправильно =)

уже вродибы все разжевал как искать и как заменить
Это понятно, просто есть люди которые не шарят в
отступаем 16 байт
записываем в найденное место младшим байтом вперед
Вот для них бы примерчики не помешали бы. Мега наверно это и имел ввиду.

мегаугу
 

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Re: Кирпичики скриптов(полезно для модостроения)

Дополню по просьбе трудящихся
следовательно отредактировать легко и просто, ищем переменную поиском текста, отступаем 16 байт (байт - группа из 2 цифробукв видимая HEX-редактором), переводим калькулятором винды из десятичной в шестнадцатеричную (цифрами являются 0-9 и A-F) систему счисления (dec2hex) и записываем в найденное место младшим байтом вперед (число "1" запишется как "01 00 00 00")

ну вот не знаю как еще обьяснить...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Re: Кирпичики скриптов(полезно для модостроения)

Дополню по просьбе трудящихся


ну вот не знаю как еще обьяснить...

Проще всего объясняется конкретным примером, а не красивыми фразами.
 

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Re: Кирпичики скриптов(полезно для модостроения)

Dimmell,
Проще всего объясняется конкретным примером, а не красивыми фразами.
Примеров полный интернет, разбор что такое "Байт" и "Как это Младшим байтом вперед" есть основы доступные повсюду и я не думаю, что модостроители не изучали Языки программирования (Daedalus - тоже язык программирования впринципе)

Для особо не понятливых начал писать Альтернативный GVE (не использующий Framework и прочие библиотеки)

vmazz,
Нет мыслей что может жить в 16-ти байтах пропуска?
отступаем 16 байт
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Re: Кирпичики скриптов(полезно для модостроения)

Распишу принцип хранения переменных в SAVEDAT.SAV файле
Название переменной, 16 байт внутренних данных, 4 байта сама переменная (для числовых значений)

следовательно отредактировать легко и просто, ищем переменную поиском текста, отступаем 16 байт, переводим калькулятором винды из десятичной в шестнадцатеричную систему счисления (dec2hex) и записываем в найденное место младшим байтом вперед (число 01 00 00 00 = 1)

Не соответствует действительности. После названия переменной до начала названия следующей переменной находятся 18 байтов. Причем содержимое нулевого байта равно именно 18.
 

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Re: Кирпичики скриптов(полезно для модостроения)

Не соответствует действительности. После названия переменной до начала названия следующей переменной находятся 18 байтов. Причем содержимое нулевого байта равно именно 18.

поясни плиз подробнее, может просчитался *???*

ЗЫ. я не машина и тоже могу ошибиться..

просьба к модератору.. переименовать тему "Редактирование SAVEDAT.SAV" или перенести топики с номера 2, по последний в отдельную тему (заранее благодарю)

вотльготово
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Re: Кирпичики скриптов(полезно для модостроения)

Заглянул в SAVEDAT.SAV

Беру любую переменную. До начала наименования следующей переменной находятся 18 байт.
 

zauron

Участник форума
Регистрация
26 Янв 2010
Сообщения
36
Благодарности
0
Баллы
150
Re: Кирпичики скриптов(полезно для модостроения)

kraw, я смотрел по числовым переменным(4байтным), по бинарным(TRUE-FALSE) вполне возможна другая запись.. сейчас сверюсь
Код:
skillsharpsword
53 4B 49 4C 4C 53 48 41 52 50 53 57 4F 52 44 12 69 04 00 00 02 01 00 00 00 12 6A 04 00 00 02 00 00 00 00 12 6B 04 00 00 01 11 00 
skillsharp2hsword
53 4B 49 4C 4C 53 48 41 52 50 32 48 53 57 4F 52 44 12 6C 04 00 00 02 01 00 00 00 12 6D 04 00 00 02 00 00 00 00 12 6E 04 00 00 01 0D 00 
skillsharpaxe
53 4B 49 4C 4C 53 48 41 52 50 41 58 45 12 6F 04 00 00 02 01 00 00 00 12 70 04 00 00 02 00 00 00 00 12 71 04 00 00 01 0F 00 
skillsharpblade - только название
53 4B 49 4C 4C 53 48 41 52 50 42 4C 41 44 45
по моему я правильно расписывал :)

после последней буквы названия переменной всегда замечен код 0x12 (может тип данных?)
 

vmazz

Участник форума
Регистрация
18 Дек 2008
Сообщения
218
Благодарности
1
Баллы
165
Заглянул в SAVEDAT.SAV

Беру любую переменную. До начала наименования следующей переменной находятся 18 байт.

Весьма странно, хотя я подозреваю что ты сэйвы от Г1 смотришь, там не проверял, но в Г2 отступ от переменной до значения именно 16 байт.
Метода опробывана лично, и все работает.

я смотрел по числовым переменным(4байтным), по бинарным(TRUE-FALSE) вполне возможна другая запись..
В готе нет булева типа, он там представлен в виде числел 0/1, а True и False это всего-лишь константы. Так что различий нет :)

vmazz,
Нет мыслей что может жить в 16-ти байтах пропуска?
Понятия не имею, не заморачивался я еще над этим, надо подумать. Думаю VAM бы мог рассказать об этом больше чем кто-либо другой =)
 

Ice

Участник форума
Регистрация
5 Ноя 2009
Сообщения
32
Благодарности
1
Баллы
160
Структура SAVEDAT.SAV неоднородна
можно выделить такие разделы(категории):
  1. Заголовок. Общая информация о архиве. Компьютере и пользователе.
  2. Дата и время сохраниния.
  3. Диалоги. И наверное их статус.
  4. Миссии. Записи в дневник текста описания миссий. Статус.
  5. Переменные. Огромный блок переменных, в том числе массивов и их значения.
  6. Таблица отношений между гильдиями.
  7. Блок символических имён всех выше перечисленных переменных.

Есть ещё несколько технических переменных:
  1. Номер байта с которого можно "прочитать" количество символических имён переменных.
  2. Количество диалогов.
  3. "poolCount" внутри блока [% oCCSManager:zCCSManager 36865 0] []
  4. Колисчество символических имён переменных.

Примеры:
Заголовок
Разделитель конец строки.
ZenGin Archive
0A
ver 1
0A
zCArchiverBinSafe
0A
BIN_SAFE
0A
saveGame 1
0A
date 10.1.2011 23:50:53
0A
user пк
0A
END
0A
Дата и время сохраниния.
Разделитель 0x12
12 00 00 00 00 02 02 00 00 00 //Day 2
12 01 00 00 00 02 15 00 00 00 //hour 21
12 02 00 00 00 02 10 00 00 00 //min 16
Диалоги
Разделитель 0x12. Состоит из двух переменных Told и InstName (это символические имена переменных).
12 04 00 00 00 06 00 00 00 00 //Told
12 05 00 00 00 01 0C 00 PC_CIRCLE_01 //InstName
12 04 00 00 00 06 00 00 00 00 //Told
12 05 00 00 00 01 0F 00 DIA_URSHAK_EXIT //InstName
Миссии
Разделитель 0x12. Состоит из шести переменных:
TOPICDESCRIPTION, TOPICSECTION, TOPICSTATUS, LOGTOPICENTRYCOUNT, LOGMANAGERENTRYCOUNT, ENTRYDESCRIPTION (это символические имена переменных)
Причем количество ENTRYDESCRIPTION определяется значением LOGTOPICENTRYCOUNT.
12 07 00 00 00 01 09 00 Хранители //TOPICDESCRIPTION
12 08 00 00 00 11 00 00 00 00 //TOPICSECTION
12 09 00 00 00 11 01 00 00 00 //TOPICSTATUS
12 0A 00 00 00 02 05 00 00 00 //LOGTOPICENTRYCOUNT 0x05 = 5
12 0B 00 00 00 02 05 00 00 00 //LOGMANAGERENTRYCOUNT
12 0C 00 00 00 01 CC 00 На мой вопрос как я могу стать Хранителем, Дагот.. . //ENTRYDESCRIPTION 1
12 0C 00 00 00 01 27 04 В одной из пещер, наши пути с Хранителем пересекл... //ENTRYDESCRIPTION 2
12 0C 00 00 00 01 4A 00 Ксардас сказал, что я еще встречу Хранителя, но т... //ENTRYDESCRIPTION 3
12 0C 00 00 00 01 EB 00 Я принял его предложение - вступить на путь Храни... //ENTRYDESCRIPTION 4
12 0C 00 00 00 01 67 00 В башне Ксардаса, я встретил одного из хранителей... //ENTRYDESCRIPTION 5
Переменные
Разделитель 0x12. Состоит из трёх переменных:
symName№ - символическое имя переменной (symName0 или symName5325)
symName№cnt - Количесвтво значений (если массив то более 1)
symValue№_0 - Значение(я)
12 78 00 00 00 01 1D 00PLAYER_TALENT_FOREIGNLANGUAGE //symName№
12 79 00 00 00 02 04 00 00 00 //symName№cnt - 4 штуки смотри ниже от 0 до 3
12 7A 00 00 00 02 00 00 00 00 // symValue№_0
12 7B 00 00 00 02 00 00 00 00 // symValue№_1
12 7C 00 00 00 02 00 00 00 00 // symValue№_2
12 7D 00 00 00 02 00 00 00 00 // symValue№_3
Таблица гильдиий
массив размерности 66*66 из значений от 0 д0 3 без разделителя
02 02 02 02 02 02 02 02 02...
Cимволические имена
Без разделителя.
Первый байт определяет длинну строки(колечество байт) имени
Номер переменной к которой относится символичесмкое имя определяется только 2ым, 3им, и 4ым байтами.
5 байт вместе с 2ым, 3им, и 4ым формирует уникальный, последовательный номер символического имени в файле.
0E 00 2D 49 00 00 00 00 symName6113cnt //0E = 14 символов строки "symName6113cnt"
0B 00 1A 49 00 00 00 00 symName6107 //1A 49 ссылка на переменную
0B 00 A3 47 AC 00 00 00 symName5982
0E 00 62 47 00 00 00 00 symName5960cnt
Структура переменной
12 1A 49 00 00 11 01 00 00 00
Первый байт 0x12 - разделитель
Следующие 4 байта номер-ссылка на симовлическое имя из секции символических имён.
Т.е. для переменной с номером 1A 49 00 00 существует символическое имя с номером 00 1A 49!
Причём 2ой и 3й байты переменной соответствуют 3ему и 4му байту символического имени.
(1A 49 00 00 -> 00 1A 49)
Шестой байт "тип". 01 означает что следующие 2а байта(7 и 8) кодируют длинну строки идущую сразу следом.
Встречаются "типы" 01, 02, 06, 09, 11

Следует подчеркнуть, что характеристик персонажа в файле SAVEDAT.SAV НЕТ.
Они закодированы в фалйе NEWWORLD.SAV в такой секции:
PC_HERO
00
00 00 80 3F
00 00 80 3F
00 00 80 3F
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 00 00 00 //4 Ранг!
87 2A 00 00 // 87 2A Опыт!

3E 2D 00 00 //3E 2D Следующий уровень!
10 00 00 00 // 10=16 LP!
16 00 00 00 // =22?
0E
00 00 00 00 00 00 00 00 00 25 00 25 00 24 00 00 00 01 FC 04 00 00 00 25 00
oCNpcTalent
00 01 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 FC 05 00 00 00 25 00
oCNpcTalent
00 02 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 FC 06 00 00 00 25 00
oCNpcTalent
00 03 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 FC 07 00 00 00 25 00
oCNpcTalent
00 04 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 FC 08 00 00 00 25 00
oCNpcTalent
00 05 00 00 00 00 00 00 00 01 00 00 00 24 00 00 00 01 FC 09 00 00 00 25 00
oCNpcTalent
00 06 00 00 00 00 00 00 00 0B 00 00 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 24 00 00 00 01 FC 0A 00 00 00 25 00
oCNpcTalent
00 09 00 00 00 00 00 00 00 0D 00 00 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 24 00 00 00 01 FC 0B 00 00 00 25 00
oCNpcTalent
00 0F 00 00 00 00 00 00 00 01 00 00 00 24 00 00 00 01 FC 0C 00 00 00 25 00
oCNpcTalent
00 10 00 00 00 00 00 00 00 01 00 00 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 0E
00 00 00 00 00 00 00 00 00 25 00 25 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 01 44 //68 Здоровье текущее
00 00 00 4E //78 Здоровье полное
00 00 00 03 //03 Мана текущ
00 00 00 0E //14 Мана полная
00 00 00 0B //11 Сила
00 00 00 0B //11 Сила
00 00 00 00
00 00 00 00
00 00 00 07 //07 Одноручн
00 00 00 05 //05 Двуруч
00 00 00 05 //05 Лук
00 00 00 05 //05 Арбалет
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
74 04 00 00 //1140?
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
09 00 00 00 //?
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0A
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
AC 0D 00 00 //3500?
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 0B 00 00 //11 Ловкость
00 0B 00 00 //11 Ловкость
00 0D 00 00 //13 Интеллект
00 07 00 00 //07 Одноручн
00 05 00 00 //05 Двуруч
00 05 00 00 //05 Лук
00 05 00 00 //05 Арбалет
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 02 00
00 00 02 00

Посту ниже.
Структура NEWWORLD.SAV сложна для понимания. Если есть иходники Готического(от движка игры ) парсера сейвов, то программа будет.

THUMB.SAV (миниизображение сохранения) имеет отношение к файлам текстур zTex, но GoMan-ом его открыть не получилось. Нужны библиотеки и где почитать про этот формат.
 

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
Ice, выражаю огромную благодарность.
Отсюда следует.... кто-то может и должен (:D) просто написать программку. :)
для удобного редактирования не только переменных как в GVE, а всего, что есть. *flowers*
 

Kerrax

Почетный форумчанин
Регистрация
19 Фев 2008
Сообщения
222
Благодарности
682
Баллы
220
Не вполне понятно, зачем нужна программа для редактирования сохраненок. Ведь лучший редактор сохраненок - это сама Готика! А уровень ГГ и прочие силу с ловкостью можно всегда подправить марвином.

Но если надо, могу немного информации дать, возможно будет полезной. Сейв готики - это zen-архив, а структуру zen-архива я разбирал (для моего проекта "Готогр"). Не знаю, нужно ли, но могу дать ссылку на кусок кода готогра, отвечающий за чтение zen-архивов (хоть Ascii, хоть BinSafe)
https://gothogre.svn.sourceforge.net/svnroot/gothogre/InsideGothOgre/GothOgre/
каталоги header, include, src, файлы GothOgre_ZenArchive*.h и .сpp
 

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
Не вполне понятно, зачем нужна программа для редактирования сохраненок. Ведь лучший редактор сохраненок - это сама Готика! А уровень ГГ и прочие силу с ловкостью можно всегда подправить марвином.
1) не нужна сама готика и её запуск.
2) редактирование каких-то мест, не способных редактироваться марвином. (я вот лично не знаю, можно ли присвоить инстанции диалога статус "прослушан").
3) уже приходилось пользоваться GVE для тестирования/прохождения сюжета, который не мог быть пройден, не изменяя скрипты (а это запуск новой игры)
 

Ice

Участник форума
Регистрация
5 Ноя 2009
Сообщения
32
Благодарности
1
Баллы
160
Прототип редактора сохранений для Готик 2. (альтернатива Gothic Variablen Editor (далее GVE))
Screen.jpg
Программа предназначена для Модмейкеров и продвинутых пользователей знакомых со скриптами Готики.
Прототип позволяет просматривать содержимое основных(*1) фалов сохранения, и сравнивать файлы сохранения по содержимому.
Одной из целей, является конвертирование сохранений между различными версиями модов.
(Возможность изменять и сохранять отредактированные файлы появится в следующих версиях программы. )
Важно! При нажатии кнопки "Save" в папке открытого сохранения создаётся файл "SAVEDAT.SAV_DEBUG". Это отредактированная копия исходного файла SAVEDAT.SAV - используется как демонстрация возможностей программы. Перед запуском игры удалите файл из папки сохранения!

Для работы программы необходима Java (скачать около 16 Мб )

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

PS
*1 Важные файлы (Несут основной объём информации, для своего изменения требуют специальных средств)
  • Save info.sav - Информация о текущем сохранении.
  • Save dat.sav - Переменные, переменные, переменные.
  • <World>.sav - Состояние объектов мира и персонажей. (в т.ч. Безымянного)

Прототип является альфа версией программы, содержит недоделки, способные привести к появлению ошибок или неверному отображению. Прототип не изменяет никаких данных в исходных файлах - безопасен для использования (Не забудьте удалить "SAVEDAT.SAV_DEBUG" в папке сохранения если нажимали кнопку "Save").
 

Вложения

  • GVEj.zip
    1 MB · Просмотры: 390
Сверху Снизу