Может быть актуальным как для оригинальной Pacific Storm: Allies так и для модов к ней.
================================================================ I.Проблема с вылетом на раб.стол при попытке выхода из боя("PlayerId").
Решение: сохранение в начале каждого боя и игра битвы с загрузки этого сейва.
Также рекомендуется повторять эту сейв-лоад операцию каждые 5 минут боя.
Если описанное выше не помогло -что иногда случается, то нужно вносить правки в сейв так как написано здесь:
Спойлер (раскрыть)
Для этого понадобиться Total Commander или аналогичный файл менеджер. Может быть можно обойтись и без них,
но напишу, чем пользовался и как делал я.
1. Нужно извлечь из архива tools.rar, который находится в папке ...\Стальные монстры - Союзники\doc, всё
содержимое, т.е. папку tools с находящимися там файлами.
2. Копируем в эту папку (tools) последнюю тактическую сохранёнку, которая имеет проблему с вылетом при выходе с
тактики на стратегию.
3. Запускаем Total commander. Заходим в папку tools. Выделяем AttrConv.exe , жмём ctrl+enter. Затем выделяем нашу
сохранёнку и опять жмём ctrl+enter. Теперь в командной строке должно появиться типа такого : attrconv.exe save.xml.
Жмём enter.
Экзешник должен запуститься и распаковать наш сейв. Завершение работы программы зачастую сопровождается
сообщением об ошибке, но это никак не влияет на конечный результат, т.е. можно забить.
4. Теперь преступаем к правке (F4) распакованного сейва.
лучше выполнить действия в следующем порядке:
а) Меню "Поиск" -> "Найти...", вбиваем слово tactic. Ищем. Результаты должны привести на строку <object
name="TacticLevelModule">
б) повторить операцию из пункта "а)", только слово заменить цифрами 254, поставить галку "слово целиком".
Результатом должна быть строка <integer name="PlayerId" value="254"/>.
в) Теперь на что менять этот 254.
Если игрок (то есть Вы) и AI использует в битве самолёты только своего производства, то всё несколько проще.
цифры для замены:
0 - США
1 - Япония
2 -Англия
3 -Нидерланды
4 -Германия
5 - СССР
Чуть выше той строки, которую нам дал поиск, должна быть строка примерно следующего содержания: <string
name="Modification" value="Airplanes.P-40.mod0"/>. Ориентируясь по модели самолета, меняем 254 на
соответствующую цифру.
Например, если Вы играете за США, то эта строчка подсказала бы нам, что это наш самолёт. Соответственно меняем
254 на 0. Если бьемся с японцами, то строка типа <string name="Modification" value="Airplanes.D3A.mod0 (или
.Prototype)"/> подсказывает что это ихний самолёт, поэтому меняем 254 на 1.
Далее можно пользоваться комбинацией клавиш F3 (найти далее) и нужной цифры, ориентируясь на модель
самолёта. Строка с ним всегда будет в поле зрения, обычно это не более 10 строк вверх от найденной.
Есть одна проблема. Если в битве используются самолёты не собственного производства (например, у амеров B5N, а у
японцев F4F. Т.е. у Вас и у врага будут самолёты одинаковой модели), тут я не имею понятия, как будет выглядеть та
строка с названием модели самолёта. Всего скорей подсказкой она будет никудышной. Возможно, есть какой-то
другой способ идентификации юнита, но о нём я пока не знаю.
5. Закончив правку сохраните файл и перекиньте его обратно в папку с сохранениями.
II.Проблема с отказом самолетов на приказ возвращаться на свой корабль на тактике.
Решение: отмена приказа - сохранение - загрузка сейва - повторная отдача приказа на возврат.
III.Ошибка вида Stack overflow.
Необходимо править сейв так как написано здесь:
Спойлер (раскрыть)
Для тех у кого возникает такая ошибка:
Stack overflow in "_STL::pair<class _STL::basic_string<char,class _STL:
:char_traits<char>,class _STL::allocator<char> > const ,class _STL::vector<class
Ogre::ColourValue,class _STL::allocator<class Ogre::ColourValue> > >:
:pair<class _STL::basic_string<char,class _STL::char_+"
Exception code: C00000FD
Registers:
EAX: 00000074 <N/A>
EBX: 1DEA2D18 04 89 A7 00 68 EA 01 08 78 24 EA 1D 00 00 00 00 ....h...x$......
ECX: 00032D50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
EDX: AF0A1B4C <N/A>
ESI: 1DEA2D18 04 89 A7 00 68 EA 01 08 78 24 EA 1D 00 00 00 00 ....h...x$......
EDI: 000FC072 31 39 39 32 5F 35 32 36 36 5F 35 32 35 32 5F 35 1992_5266_5252_5
ESP: 0012ED48 38 ED 12 00 2E 45 66 00 7C EE 12 00 18 2D EA 1D 8....Ef.|....-..
EBP: 0012ED60 08 EE 12 00 88 4F 66 00 80 ED 12 00 24 EF 12 00 .....Of.....$...
EIP: 00995735 85 01 3D 00 10 00 00 73 EC 2B C8 8B C4 85 01 8B ..=....s.+......
CS: 001B SS: 0023 DS: 0023 ES: 0023 FS: 003B GS: 0000 EFLAGS: 00010206
Stack:
ESP->0012ED38
0066452E = _STL::pair<class _STL::basic_string<char,class _STL::char_traits<char>,class _STL:
:allocator<char> > const ,class _STL::vector<class Ogre::ColourValue,class
_STL::allocator<class Ogre::ColourValue> > >::pair<class _STL::basic_string<char,class _STL::char_+љU1сМ@™
0012EE7C 1DEA2D18 00000053
000FC072 = "1992_5266_5252_5082_2604_1813_18..."
EBP->0012EE08
00664F88 = _STL::pair<class _STL::basic_string<char,class
...
Вышеуказанным способом правите сохраненки записанные до появления
Stack overflow на предмет переполнения "ExecutedScripts" - т.е. ищете
<string name="ExecutedScripts" value=" а дальше будут цифры через нижнее
подчеркивание например: "1992_5266_5252_5082_2604_1813_18..."
- они еще указаны в файле crash.log на пятой строке раздела Stack:
Правим так, чтобы найденная строка приобрела вид:
<string name="ExecutedScripts" value=""/>
Сохраняемся, пихаем xml обратно в игру и вуаля Stack overflow отодвинут
на неопределенный срок заполнения сейва заюзанными номерами
скриптов.
PS: Для редактирования сейвов -внутриигровая настройка "архивировать сохранения" должна быть ВКЛЮЧЕНА, сжатый сейв переводится в четабельный вид с помощью стандартной проги AttrConv.exe(просто перетащить сейв на ее екзешник), после этого можно открывать и делать правки описанные выше.
Если у когото есть инфа по прочим способам обхода вылетов и ошибок,в том числе не описанных здесь - прошу описывать в этой теме.
Для редактирования сейвов -внутриигровая настройка "архивировать сохранения" должна быть ВКЛЮЧЕНА, сжатый сейв переводится в четабельный вид с помощью стандартной проги AttrConv.exe(просто перетащить сейв на ее екзешник), после этого можно открывать и делать правки описанные выше.
Для редактирования сейвов -внутриигровая настройка "архивировать сохранения" должна быть ВКЛЮЧЕНА, сжатый сейв переводится в четабельный вид с помощью стандартной проги AttrConv.exe(просто перетащить сейв на ее екзешник), после этого можно открывать и делать правки описанные выше.
У Вас что было в настройках игры?
Проще воспользоваться программой PSA Tool. Убирает переполнение стека на раз и не надо париться с распаковкой сейва.
Привет, Access violation in "bool SLZone::getBasePosition(SLMapPos*)+6" что это писец как саепало!!!! лечился откатом на сохранку перед созданием флотов с линкором Советский союз, а ща в любом случае вылет на раб.стол
Приветствую, столкнулся с проблемой: после смены настроек (графоний) игра повторно не запускается,никаких сообщений об ошибках нет. Переустановка не помогает.